Eric Bower
·
2026-01-08
stub.go
1package stub
2
3import (
4 "fmt"
5 "log/slog"
6 "time"
7
8 "github.com/picosh/pico/pkg/db"
9)
10
11type StubDB struct {
12 Logger *slog.Logger
13}
14
15var _ db.DB = (*StubDB)(nil)
16
17func NewStubDB(logger *slog.Logger) *StubDB {
18 d := &StubDB{
19 Logger: logger,
20 }
21 d.Logger.Info("Connecting to test database")
22 return d
23}
24
25var errNotImpl = fmt.Errorf("not implemented")
26
27func (me *StubDB) RegisterUser(username, pubkey, comment string) (*db.User, error) {
28 return nil, errNotImpl
29}
30
31func (me *StubDB) UpdatePublicKey(pubkeyID, name string) (*db.PublicKey, error) {
32 return nil, errNotImpl
33}
34
35func (me *StubDB) InsertPublicKey(userID, key, name string) error {
36 return errNotImpl
37}
38
39func (me *StubDB) FindKeysByUser(user *db.User) ([]*db.PublicKey, error) {
40 return []*db.PublicKey{}, errNotImpl
41}
42
43func (me *StubDB) RemoveKeys(keyIDs []string) error {
44 return errNotImpl
45}
46
47func (me *StubDB) FindUserByKey(username string, key string) (*db.User, error) {
48 return nil, errNotImpl
49}
50
51func (me *StubDB) FindUserByPubkey(key string) (*db.User, error) {
52 return nil, errNotImpl
53}
54
55func (me *StubDB) FindUser(userID string) (*db.User, error) {
56 return nil, errNotImpl
57}
58
59func (me *StubDB) FindUserByName(name string) (*db.User, error) {
60 return nil, errNotImpl
61}
62
63func (me *StubDB) FindUserByToken(token string) (*db.User, error) {
64 return nil, errNotImpl
65}
66
67func (me *StubDB) FindPostWithFilename(filename string, persona_id string, space string) (*db.Post, error) {
68 return nil, errNotImpl
69}
70
71func (me *StubDB) FindPostWithSlug(slug string, user_id string, space string) (*db.Post, error) {
72 return nil, errNotImpl
73}
74
75func (me *StubDB) FindPost(postID string) (*db.Post, error) {
76 return nil, errNotImpl
77}
78
79func (me *StubDB) FindPostsByFeed(page *db.Pager, space string) (*db.Paginate[*db.Post], error) {
80 return &db.Paginate[*db.Post]{}, errNotImpl
81}
82
83func (me *StubDB) InsertPost(post *db.Post) (*db.Post, error) {
84 return nil, errNotImpl
85}
86
87func (me *StubDB) UpdatePost(post *db.Post) (*db.Post, error) {
88 return nil, errNotImpl
89}
90
91func (me *StubDB) RemovePosts(postIDs []string) error {
92 return errNotImpl
93}
94
95func (me *StubDB) FindPostsByUser(page *db.Pager, userID string, space string) (*db.Paginate[*db.Post], error) {
96 return &db.Paginate[*db.Post]{}, errNotImpl
97}
98
99func (me *StubDB) FindAllPostsByUser(userID string, space string) ([]*db.Post, error) {
100 return []*db.Post{}, errNotImpl
101}
102
103func (me *StubDB) FindPosts() ([]*db.Post, error) {
104 return []*db.Post{}, errNotImpl
105}
106
107func (me *StubDB) FindExpiredPosts(space string) ([]*db.Post, error) {
108 return []*db.Post{}, errNotImpl
109}
110
111func (me *StubDB) Close() error {
112 return errNotImpl
113}
114
115func (me *StubDB) InsertVisit(view *db.AnalyticsVisits) error {
116 return errNotImpl
117}
118
119func (me *StubDB) VisitSummary(opts *db.SummaryOpts) (*db.SummaryVisits, error) {
120 return &db.SummaryVisits{}, errNotImpl
121}
122
123func (me *StubDB) FindVisitSiteList(opts *db.SummaryOpts) ([]*db.VisitUrl, error) {
124 return []*db.VisitUrl{}, errNotImpl
125}
126
127func (me *StubDB) FindUsers() ([]*db.User, error) {
128 return []*db.User{}, errNotImpl
129}
130
131func (me *StubDB) ReplaceTagsByPost(tags []string, postID string) error {
132 return errNotImpl
133}
134
135func (me *StubDB) ReplaceAliasesByPost(aliases []string, postID string) error {
136 return errNotImpl
137}
138
139func (me *StubDB) FindUserPostsByTag(page *db.Pager, tag, userID, space string) (*db.Paginate[*db.Post], error) {
140 return &db.Paginate[*db.Post]{}, errNotImpl
141}
142
143func (me *StubDB) FindPostsByTag(pager *db.Pager, tag, space string) (*db.Paginate[*db.Post], error) {
144 return &db.Paginate[*db.Post]{}, errNotImpl
145}
146
147func (me *StubDB) FindPopularTags(space string) ([]string, error) {
148 return []string{}, errNotImpl
149}
150
151func (me *StubDB) FindFeature(userID string, feature string) (*db.FeatureFlag, error) {
152 return nil, errNotImpl
153}
154
155func (me *StubDB) FindFeaturesByUser(userID string) ([]*db.FeatureFlag, error) {
156 return []*db.FeatureFlag{}, errNotImpl
157}
158
159func (me *StubDB) HasFeatureByUser(userID string, feature string) bool {
160 return false
161}
162
163func (me *StubDB) InsertFeedItems(postID string, items []*db.FeedItem) error {
164 return errNotImpl
165}
166
167func (me *StubDB) FindFeedItemsByPostID(postID string) ([]*db.FeedItem, error) {
168 return []*db.FeedItem{}, errNotImpl
169}
170
171func (me *StubDB) UpsertProject(userID, name, projectDir string) (*db.Project, error) {
172 return nil, errNotImpl
173}
174
175func (me *StubDB) FindProjectByName(userID, name string) (*db.Project, error) {
176 return &db.Project{}, errNotImpl
177}
178
179func (me *StubDB) InsertToken(userID, name string) (string, error) {
180 return "", errNotImpl
181}
182
183func (me *StubDB) UpsertToken(userID, name string) (string, error) {
184 return "", errNotImpl
185}
186
187func (me *StubDB) RemoveToken(tokenID string) error {
188 return errNotImpl
189}
190
191func (me *StubDB) FindTokensByUser(userID string) ([]*db.Token, error) {
192 return []*db.Token{}, errNotImpl
193}
194
195func (me *StubDB) InsertFeature(userID, name string, expiresAt time.Time) (*db.FeatureFlag, error) {
196 return nil, errNotImpl
197}
198
199func (me *StubDB) RemoveFeature(userID string, name string) error {
200 return errNotImpl
201}
202
203func (me *StubDB) AddPicoPlusUser(username, email, paymentType, txId string) error {
204 return errNotImpl
205}
206
207func (me *StubDB) FindUserStats(userID string) (*db.UserStats, error) {
208 return nil, errNotImpl
209}
210
211func (me *StubDB) InsertTunsEventLog(log *db.TunsEventLog) error {
212 return errNotImpl
213}
214
215func (me *StubDB) FindTunsEventLogsByAddr(userID, addr string) ([]*db.TunsEventLog, error) {
216 return nil, errNotImpl
217}
218
219func (me *StubDB) FindTunsEventLogs(userID string) ([]*db.TunsEventLog, error) {
220 return nil, errNotImpl
221}
222
223func (me *StubDB) VisitUrlNotFound(opts *db.SummaryOpts) ([]*db.VisitUrl, error) {
224 return nil, errNotImpl
225}
226
227func (me *StubDB) FindUsersWithPost(space string) ([]*db.User, error) {
228 return nil, errNotImpl
229}
230
231func (me *StubDB) FindAccessLogs(userID string, fromDate *time.Time) ([]*db.AccessLog, error) {
232 return nil, errNotImpl
233}
234
235func (me *StubDB) FindAccessLogsByPubkey(pubkey string, fromDate *time.Time) ([]*db.AccessLog, error) {
236 return nil, errNotImpl
237}
238
239func (me *StubDB) FindPubkeysInAccessLogs(userID string) ([]string, error) {
240 return []string{}, errNotImpl
241}
242
243func (me *StubDB) InsertAccessLog(log *db.AccessLog) error {
244 return errNotImpl
245}
246
247func (me *StubDB) UpsertPipeMonitor(userID, topic string, dur time.Duration, winEnd *time.Time) error {
248 return errNotImpl
249}
250
251func (me *StubDB) UpdatePipeMonitorLastPing(userID, topic string, lastPing *time.Time) error {
252 return errNotImpl
253}
254
255func (me *StubDB) RemovePipeMonitor(userID, topic string) error {
256 return errNotImpl
257}
258
259func (me *StubDB) FindPipeMonitorByTopic(userID, topic string) (*db.PipeMonitor, error) {
260 return nil, errNotImpl
261}
262
263func (me *StubDB) FindPipeMonitorsByUser(userID string) ([]*db.PipeMonitor, error) {
264 return nil, errNotImpl
265}
266
267func (me *StubDB) InsertPipeMonitorHistory(monitorID string, windowDur time.Duration, windowEnd, lastPing *time.Time) error {
268 return errNotImpl
269}
270
271func (me *StubDB) FindPipeMonitorHistory(monitorID string, from, to time.Time) ([]*db.PipeMonitorHistory, error) {
272 return nil, errNotImpl
273}