pico

created pr with 97.1 on 2025-12-18T04:19:09Z · by c8ef7d19
added 97.2 on 2025-12-18T04:36:52Z · by c8ef7d19
1: fdc255e = 1: fdc255e refactor: remove unused db methods
2: 3f855f6 = 2: 3f855f6 chore: add tests for postgres db impl
3: 7cd29a6 = 3: 7cd29a6 refactor: use sqlx interface
4: acd449e = 4: acd449e chore: add db tags
5: f6ed0d7 = 5: f6ed0d7 refactor: use sqlx
6: 29035c6 = 6: 29035c6 refactor: replace custom sql functions with sqlx
7: d4ea6d9 = 7: d4ea6d9 refactor: inline all sql queries
-: ------- > 8: 4bd37ed refactor: use `select * from` where possible
cmds
checkout latest patchset:
ssh pr.pico.sh print 97 | git am -3
checkout any patchset in a patch request:
ssh pr.pico.sh print 97.[rev] | git am -3
add changes to patch request:
git format-patch main --stdout | ssh pr.pico.sh pr add 97

Patchset 97.1 on 2025-12-18T04:19:09Z · commit fdc255e

refactor: remove unused db methods
Eric Bower 2025-12-18T03:03:10Z
Semantic diff summary
5 added, 17 modified, 0 signature changed, 28 removed across 3 analyzed files (1 file skipped: unsupported file type)
+1 -0 .gitignore #
......@@ -16,3 +16,4 @@ __debug_bin
1616 .aider*
1717 ssh
1818 web
19+.beads/
+1 -14 pkg/db/db.go #
......@@ -389,28 +389,21 @@ var DenyList = []string{
389389
390390 type DB interface {
391391 RegisterUser(name, pubkey, comment string) (*User, error)
392- RemoveUsers(userIDs []string) error
393392 UpdatePublicKey(pubkeyID, name string) (*PublicKey, error)
394393 InsertPublicKey(userID, pubkey, name string, tx *sql.Tx) error
395- FindPublicKeyForKey(pubkey string) (*PublicKey, error)
396- FindPublicKey(pubkeyID string) (*PublicKey, error)
397394 FindKeysForUser(user *User) ([]*PublicKey, error)
398395 RemoveKeys(pubkeyIDs []string) error
399396
400397 FindUsers() ([]*User, error)
401398 FindUserByName(name string) (*User, error)
402- FindUserForNameAndKey(name string, pubkey string) (*User, error)
403399 FindUserForKey(name string, pubkey string) (*User, error)
404400 FindUserByPubkey(pubkey string) (*User, error)
405401 FindUser(userID string) (*User, error)
406- ValidateName(name string) (bool, error)
407- SetUserName(userID string, name string) error
408402
409403 FindUserForToken(token string) (*User, error)
410404 FindTokensForUser(userID string) ([]*Token, error)
411405 InsertToken(userID, name string) (string, error)
412406 UpsertToken(userID, name string) (string, error)
413- FindTokenByName(userID, name string) (string, error)
414407 RemoveToken(tokenID string) error
415408
416409 FindPosts() ([]*Post, error)
......@@ -418,13 +411,10 @@ type DB interface {
418411 FindPostsForUser(pager *Pager, userID string, space string) (*Paginate[*Post], error)
419412 FindAllPostsForUser(userID string, space string) ([]*Post, error)
420413 FindUsersWithPost(space string) ([]*User, error)
421- FindPostsBeforeDate(date *time.Time, space string) ([]*Post, error)
422414 FindExpiredPosts(space string) ([]*Post, error)
423- FindUpdatedPostsForUser(userID string, space string) ([]*Post, error)
424415 FindPostWithFilename(filename string, userID string, space string) (*Post, error)
425416 FindPostWithSlug(slug string, userID string, space string) (*Post, error)
426417 FindPostsForFeed(pager *Pager, space string) (*Paginate[*Post], error)
427- FindAllUpdatedPosts(pager *Pager, space string) (*Paginate[*Post], error)
428418 InsertPost(post *Post) (*Post, error)
429419 UpdatePost(post *Post) (*Post, error)
430420 RemovePosts(postIDs []string) error
......@@ -433,9 +423,6 @@ type DB interface {
433423 FindUserPostsByTag(pager *Pager, tag, userID, space string) (*Paginate[*Post], error)
434424 FindPostsByTag(pager *Pager, tag, space string) (*Paginate[*Post], error)
435425 FindPopularTags(space string) ([]string, error)
436- FindTagsForPost(postID string) ([]string, error)
437- FindTagsForUser(userID string, space string) ([]string, error)
438-
439426 ReplaceAliasesForPost(aliases []string, postID string) error
440427
441428 InsertVisit(view *AnalyticsVisits) error
......@@ -447,7 +434,7 @@ type DB interface {
447434 FindFeature(userID string, feature string) (*FeatureFlag, error)
448435 FindFeaturesForUser(userID string) ([]*FeatureFlag, error)
449436 HasFeatureForUser(userID string, feature string) bool
450- FindTotalSizeForUser(userID string) (int, error)
437+
451438 InsertFeature(userID, name string, expiresAt time.Time) (*FeatureFlag, error)
452439 RemoveFeature(userID, names string) error
453440
+14 -176 pkg/db/postgres/storage.go #
......@@ -29,12 +29,6 @@ var (
2929 FROM posts
3030 LEFT JOIN app_users ON app_users.id = posts.user_id`, SelectPost)
3131
32- sqlSelectPostsBeforeDate = fmt.Sprintf(`
33- SELECT %s
34- FROM posts
35- LEFT JOIN app_users ON app_users.id = posts.user_id
36- WHERE publish_at::date <= $1 AND cur_space = $2`, SelectPost)
37-
3832 sqlSelectPostWithFilename = fmt.Sprintf(`
3933 SELECT %s, STRING_AGG(coalesce(post_tags.name, ''), ',') tags
4034 FROM posts
......@@ -57,13 +51,6 @@ var (
5751 LEFT JOIN app_users ON app_users.id = posts.user_id
5852 WHERE posts.id = $1`, SelectPost)
5953
60- sqlSelectUpdatedPostsForUser = fmt.Sprintf(`
61- SELECT %s
62- FROM posts
63- LEFT JOIN app_users ON app_users.id = posts.user_id
64- WHERE user_id = $1 AND publish_at::date <= CURRENT_DATE AND cur_space = $2
65- ORDER BY posts.updated_at DESC`, SelectPost)
66-
6754 sqlSelectExpiredPosts = fmt.Sprintf(`
6855 SELECT %s
6956 FROM posts
......@@ -153,7 +140,6 @@ const (
153140 sqlSelectTokenByNameForUser = `SELECT token FROM tokens WHERE user_id = $1 AND name = $2`
154141
155142 sqlSelectFeatureForUser = `SELECT id, user_id, payment_history_id, name, data, created_at, expires_at FROM feature_flags WHERE user_id = $1 AND name = $2 ORDER BY expires_at DESC LIMIT 1`
156- sqlSelectSizeForUser = `SELECT COALESCE(sum(file_size), 0) FROM posts WHERE user_id = $1`
157143
158144 sqlSelectPostIdByAliasSlug = `SELECT post_id FROM post_aliases WHERE slug = $1`
159145 sqlSelectTagPostCount = `
......@@ -161,25 +147,7 @@ const (
161147 FROM posts
162148 LEFT JOIN post_tags ON post_tags.post_id = posts.id
163149 WHERE hidden = FALSE AND cur_space=$1 and post_tags.name = $2`
164- sqlSelectPostCount = `SELECT count(id) FROM posts WHERE hidden = FALSE AND cur_space=$1`
165- sqlSelectAllUpdatedPosts = `
166- SELECT
167- posts.id,
168- user_id,
169- filename,
170- slug,
171- title,
172- text,
173- description,
174- publish_at,
175- app_users.name as username,
176- posts.updated_at,
177- posts.mime_type
178- FROM posts
179- LEFT JOIN app_users ON app_users.id = posts.user_id
180- WHERE hidden = FALSE AND publish_at::date <= CURRENT_DATE AND cur_space = $3
181- ORDER BY updated_at DESC
182- LIMIT $1 OFFSET $2`
150+ sqlSelectPostCount = `SELECT count(id) FROM posts WHERE hidden = FALSE AND cur_space=$1`
183151 // add some users to deny list since they are robogenerating a bunch of posts
184152 // per day and are creating a lot of noise.
185153 sqlSelectPostsByRank = `
......@@ -216,13 +184,6 @@ const (
216184 GROUP BY name
217185 ORDER BY tally DESC
218186 LIMIT 5`
219- sqlSelectTagsForUser = `
220- SELECT name
221- FROM post_tags
222- LEFT JOIN posts ON posts.id = post_id
223- WHERE posts.user_id = $1 AND posts.cur_space = $2
224- GROUP BY name`
225- sqlSelectTagsForPost = `SELECT name FROM post_tags WHERE post_id=$1`
226187 sqlSelectFeedItemsByPost = `SELECT id, post_id, guid, data, created_at FROM feed_items WHERE post_id=$1`
227188
228189 sqlInsertPost = `
......@@ -241,13 +202,11 @@ const (
241202 SET slug = $1, title = $2, text = $3, description = $4, updated_at = $5, publish_at = $6,
242203 file_size = $7, shasum = $8, data = $9, hidden = $11, expires_at = $12
243204 WHERE id = $10`
244- sqlUpdateUserName = `UPDATE app_users SET name = $1 WHERE id = $2`
245205
246206 sqlRemoveAliasesByPost = `DELETE FROM post_aliases WHERE post_id = $1`
247207 sqlRemoveTagsByPost = `DELETE FROM post_tags WHERE post_id = $1`
248208 sqlRemovePosts = `DELETE FROM posts WHERE id = ANY($1::uuid[])`
249209 sqlRemoveKeys = `DELETE FROM public_keys WHERE id = ANY($1::uuid[])`
250- sqlRemoveUsers = `DELETE FROM app_users WHERE id = ANY($1::uuid[])`
251210
252211 sqlInsertProject = `INSERT INTO projects (user_id, name, project_dir) VALUES ($1, $2, $3) RETURNING id;`
253212 sqlUpdateProject = `UPDATE projects SET updated_at = $3 WHERE user_id = $1 AND name = $2;`
......@@ -348,7 +307,7 @@ func NewDB(databaseUrl string, logger *slog.Logger) *PsqlDB {
348307
349308 func (me *PsqlDB) RegisterUser(username, pubkey, comment string) (*db.User, error) {
350309 lowerName := strings.ToLower(username)
351- valid, err := me.ValidateName(lowerName)
310+ valid, err := me.validateName(lowerName)
352311 if !valid {
353312 return nil, err
354313 }
......@@ -389,14 +348,8 @@ func (me *PsqlDB) RegisterUser(username, pubkey, comment string) (*db.User, erro
389348 return me.FindUserForKey(username, pubkey)
390349 }
391350
392-func (me *PsqlDB) RemoveUsers(userIDs []string) error {
393- param := "{" + strings.Join(userIDs, ",") + "}"
394- _, err := me.Db.Exec(sqlRemoveUsers, param)
395- return err
396-}
397-
398351 func (me *PsqlDB) InsertPublicKey(userID, key, name string, tx *sql.Tx) error {
399- pk, _ := me.FindPublicKeyForKey(key)
352+ pk, _ := me.findPublicKeyForKey(key)
400353 if pk != nil {
401354 return db.ErrPublicKeyTaken
402355 }
......@@ -415,7 +368,7 @@ func (me *PsqlDB) InsertPublicKey(userID, key, name string, tx *sql.Tx) error {
415368 }
416369
417370 func (me *PsqlDB) UpdatePublicKey(pubkeyID, name string) (*db.PublicKey, error) {
418- pk, err := me.FindPublicKey(pubkeyID)
371+ pk, err := me.findPublicKey(pubkeyID)
419372 if err != nil {
420373 return nil, err
421374 }
......@@ -426,14 +379,14 @@ func (me *PsqlDB) UpdatePublicKey(pubkeyID, name string) (*db.PublicKey, error)
426379 return nil, err
427380 }
428381
429- pk, err = me.FindPublicKey(pubkeyID)
382+ pk, err = me.findPublicKey(pubkeyID)
430383 if err != nil {
431384 return nil, err
432385 }
433386 return pk, nil
434387 }
435388
436-func (me *PsqlDB) FindPublicKeyForKey(key string) (*db.PublicKey, error) {
389+func (me *PsqlDB) findPublicKeyForKey(key string) (*db.PublicKey, error) {
437390 var keys []*db.PublicKey
438391 rs, err := me.Db.Query(sqlSelectPublicKey, key)
439392 if err != nil {
......@@ -469,7 +422,7 @@ func (me *PsqlDB) FindPublicKeyForKey(key string) (*db.PublicKey, error) {
469422 return keys[0], nil
470423 }
471424
472-func (me *PsqlDB) FindPublicKey(pubkeyID string) (*db.PublicKey, error) {
425+func (me *PsqlDB) findPublicKey(pubkeyID string) (*db.PublicKey, error) {
473426 var keys []*db.PublicKey
474427 rs, err := me.Db.Query(`SELECT id, user_id, name, public_key, created_at FROM public_keys WHERE id = $1`, pubkeyID)
475428 if err != nil {
......@@ -524,28 +477,6 @@ func (me *PsqlDB) RemoveKeys(keyIDs []string) error {
524477 return err
525478 }
526479
527-func (me *PsqlDB) FindPostsBeforeDate(date *time.Time, space string) ([]*db.Post, error) {
528- // now := time.Now()
529- // expired := now.AddDate(0, 0, -3)
530- var posts []*db.Post
531- rs, err := me.Db.Query(sqlSelectPostsBeforeDate, date, space)
532- if err != nil {
533- return posts, err
534- }
535- for rs.Next() {
536- post, err := CreatePostFromRow(rs)
537- if err != nil {
538- return nil, err
539- }
540-
541- posts = append(posts, post)
542- }
543- if rs.Err() != nil {
544- return posts, rs.Err()
545- }
546- return posts, nil
547-}
548-
549480 func (me *PsqlDB) FindUsersWithPost(space string) ([]*db.User, error) {
550481 var users []*db.User
551482 rs, err := me.Db.Query(
......@@ -582,7 +513,7 @@ func (me *PsqlDB) FindUsersWithPost(space string) ([]*db.User, error) {
582513
583514 func (me *PsqlDB) FindUserForKey(username string, key string) (*db.User, error) {
584515 me.Logger.Info("attempting to find user with only public key", "key", key)
585- pk, err := me.FindPublicKeyForKey(key)
516+ pk, err := me.findPublicKeyForKey(key)
586517 if err == nil {
587518 me.Logger.Info("found pubkey, looking for user", "key", key, "userId", pk.UserID)
588519 user, err := me.FindUser(pk.UserID)
......@@ -595,7 +526,7 @@ func (me *PsqlDB) FindUserForKey(username string, key string) (*db.User, error)
595526
596527 if errors.Is(err, &db.ErrMultiplePublicKeys{}) {
597528 me.Logger.Info("detected multiple users with same public key", "user", username)
598- user, err := me.FindUserForNameAndKey(username, key)
529+ user, err := me.findUserForNameAndKey(username, key)
599530 if err != nil {
600531 me.Logger.Info("could not find user by username and public key", "user", username, "key", key)
601532 // this is a little hacky but if we cannot find a user by name and public key
......@@ -611,7 +542,7 @@ func (me *PsqlDB) FindUserForKey(username string, key string) (*db.User, error)
611542
612543 func (me *PsqlDB) FindUserByPubkey(key string) (*db.User, error) {
613544 me.Logger.Info("attempting to find user with only public key", "key", key)
614- pk, err := me.FindPublicKeyForKey(key)
545+ pk, err := me.findPublicKeyForKey(key)
615546 if err != nil {
616547 return nil, err
617548 }
......@@ -639,7 +570,7 @@ func (me *PsqlDB) FindUser(userID string) (*db.User, error) {
639570 return user, nil
640571 }
641572
642-func (me *PsqlDB) ValidateName(name string) (bool, error) {
573+func (me *PsqlDB) validateName(name string) (bool, error) {
643574 lower := strings.ToLower(name)
644575 if slices.Contains(db.DenyList, lower) {
645576 return false, fmt.Errorf("%s is on deny list: %w", lower, db.ErrNameDenied)
......@@ -665,7 +596,7 @@ func (me *PsqlDB) FindUserByName(name string) (*db.User, error) {
665596 return user, nil
666597 }
667598
668-func (me *PsqlDB) FindUserForNameAndKey(name string, key string) (*db.User, error) {
599+func (me *PsqlDB) findUserForNameAndKey(name string, key string) (*db.User, error) {
669600 user := &db.User{}
670601 pk := &db.PublicKey{}
671602
......@@ -691,17 +622,6 @@ func (me *PsqlDB) FindUserForToken(token string) (*db.User, error) {
691622 return user, nil
692623 }
693624
694-func (me *PsqlDB) SetUserName(userID string, name string) error {
695- lowerName := strings.ToLower(name)
696- valid, err := me.ValidateName(lowerName)
697- if !valid {
698- return err
699- }
700-
701- _, err = me.Db.Exec(sqlUpdateUserName, lowerName, userID)
702- return err
703-}
704-
705625 func (me *PsqlDB) FindPostWithFilename(filename string, persona_id string, space string) (*db.Post, error) {
706626 r := me.Db.QueryRow(sqlSelectPostWithFilename, filename, persona_id, space)
707627 post, err := CreatePostWithTagsFromRow(r)
......@@ -794,14 +714,6 @@ func (me *PsqlDB) FindPostsForFeed(page *db.Pager, space string) (*db.Paginate[*
794714 return me.postPager(rs, page.Num, space, "")
795715 }
796716
797-func (me *PsqlDB) FindAllUpdatedPosts(page *db.Pager, space string) (*db.Paginate[*db.Post], error) {
798- rs, err := me.Db.Query(sqlSelectAllUpdatedPosts, page.Num, page.Num*page.Page, space)
799- if err != nil {
800- return nil, err
801- }
802- return me.postPager(rs, page.Num, space, "")
803-}
804-
805717 func (me *PsqlDB) InsertPost(post *db.Post) (*db.Post, error) {
806718 var id string
807719 err := me.Db.QueryRow(
......@@ -956,26 +868,6 @@ func (me *PsqlDB) FindExpiredPosts(space string) ([]*db.Post, error) {
956868 return posts, nil
957869 }
958870
959-func (me *PsqlDB) FindUpdatedPostsForUser(userID string, space string) ([]*db.Post, error) {
960- var posts []*db.Post
961- rs, err := me.Db.Query(sqlSelectUpdatedPostsForUser, userID, space)
962- if err != nil {
963- return posts, err
964- }
965- for rs.Next() {
966- post, err := CreatePostFromRow(rs)
967- if err != nil {
968- return nil, err
969- }
970-
971- posts = append(posts, post)
972- }
973- if rs.Err() != nil {
974- return posts, rs.Err()
975- }
976- return posts, nil
977-}
978-
979871 func (me *PsqlDB) Close() error {
980872 me.Logger.Info("Closing db")
981873 return me.Db.Close()
......@@ -1447,51 +1339,6 @@ func (me *PsqlDB) FindPopularTags(space string) ([]string, error) {
14471339 return tags, nil
14481340 }
14491341
1450-func (me *PsqlDB) FindTagsForUser(userID string, space string) ([]string, error) {
1451- tags := []string{}
1452- rs, err := me.Db.Query(sqlSelectTagsForUser, userID, space)
1453- if err != nil {
1454- return tags, err
1455- }
1456- for rs.Next() {
1457- name := ""
1458- err := rs.Scan(&name)
1459- if err != nil {
1460- return tags, err
1461- }
1462-
1463- tags = append(tags, name)
1464- }
1465- if rs.Err() != nil {
1466- return tags, rs.Err()
1467- }
1468- return tags, nil
1469-}
1470-
1471-func (me *PsqlDB) FindTagsForPost(postID string) ([]string, error) {
1472- tags := make([]string, 0)
1473- rs, err := me.Db.Query(sqlSelectTagsForPost, postID)
1474- if err != nil {
1475- return tags, err
1476- }
1477-
1478- for rs.Next() {
1479- name := ""
1480- err := rs.Scan(&name)
1481- if err != nil {
1482- return tags, err
1483- }
1484-
1485- tags = append(tags, name)
1486- }
1487-
1488- if rs.Err() != nil {
1489- return tags, rs.Err()
1490- }
1491-
1492- return tags, nil
1493-}
1494-
14951342 func (me *PsqlDB) FindFeature(userID string, feature string) (*db.FeatureFlag, error) {
14961343 ff := &db.FeatureFlag{}
14971344 // payment history is allowed to be null
......@@ -1560,15 +1407,6 @@ func (me *PsqlDB) HasFeatureForUser(userID string, feature string) bool {
15601407 return ff.IsValid()
15611408 }
15621409
1563-func (me *PsqlDB) FindTotalSizeForUser(userID string) (int, error) {
1564- var fileSize int
1565- err := me.Db.QueryRow(sqlSelectSizeForUser, userID).Scan(&fileSize)
1566- if err != nil {
1567- return 0, err
1568- }
1569- return fileSize, nil
1570-}
1571-
15721410 func (me *PsqlDB) InsertFeedItems(postID string, items []*db.FeedItem) error {
15731411 ctx := context.Background()
15741412 tx, err := me.Db.BeginTx(ctx, nil)
......@@ -1677,7 +1515,7 @@ func (me *PsqlDB) InsertToken(userID, name string) (string, error) {
16771515 }
16781516
16791517 func (me *PsqlDB) UpsertToken(userID, name string) (string, error) {
1680- token, _ := me.FindTokenByName(userID, name)
1518+ token, _ := me.findTokenByName(userID, name)
16811519 if token != "" {
16821520 return token, nil
16831521 }
......@@ -1686,7 +1524,7 @@ func (me *PsqlDB) UpsertToken(userID, name string) (string, error) {
16861524 return token, err
16871525 }
16881526
1689-func (me *PsqlDB) FindTokenByName(userID, name string) (string, error) {
1527+func (me *PsqlDB) findTokenByName(userID, name string) (string, error) {
16901528 var token string
16911529 err := me.Db.QueryRow(sqlSelectTokenByNameForUser, userID, name).Scan(&token)
16921530 if err != nil {
+2 -62 pkg/db/stub/stub.go #
......@@ -29,24 +29,12 @@ func (me *StubDB) RegisterUser(username, pubkey, comment string) (*db.User, erro
2929 return nil, errNotImpl
3030 }
3131
32-func (me *StubDB) RemoveUsers(userIDs []string) error {
33- return errNotImpl
34-}
35-
36-func (me *StubDB) InsertPublicKey(userID, key, name string, tx *sql.Tx) error {
37- return errNotImpl
38-}
39-
4032 func (me *StubDB) UpdatePublicKey(pubkeyID, name string) (*db.PublicKey, error) {
4133 return nil, errNotImpl
4234 }
4335
44-func (me *StubDB) FindPublicKeyForKey(key string) (*db.PublicKey, error) {
45- return nil, errNotImpl
46-}
47-
48-func (me *StubDB) FindPublicKey(pubkeyID string) (*db.PublicKey, error) {
49- return nil, errNotImpl
36+func (me *StubDB) InsertPublicKey(userID, key, name string, tx *sql.Tx) error {
37+ return errNotImpl
5038 }
5139
5240 func (me *StubDB) FindKeysForUser(user *db.User) ([]*db.PublicKey, error) {
......@@ -57,10 +45,6 @@ func (me *StubDB) RemoveKeys(keyIDs []string) error {
5745 return errNotImpl
5846 }
5947
60-func (me *StubDB) FindPostsBeforeDate(date *time.Time, space string) ([]*db.Post, error) {
61- return []*db.Post{}, errNotImpl
62-}
63-
6448 func (me *StubDB) FindUserForKey(username string, key string) (*db.User, error) {
6549 return nil, errNotImpl
6650 }
......@@ -73,26 +57,14 @@ func (me *StubDB) FindUser(userID string) (*db.User, error) {
7357 return nil, errNotImpl
7458 }
7559
76-func (me *StubDB) ValidateName(name string) (bool, error) {
77- return false, errNotImpl
78-}
79-
8060 func (me *StubDB) FindUserByName(name string) (*db.User, error) {
8161 return nil, errNotImpl
8262 }
8363
84-func (me *StubDB) FindUserForNameAndKey(name string, key string) (*db.User, error) {
85- return nil, errNotImpl
86-}
87-
8864 func (me *StubDB) FindUserForToken(token string) (*db.User, error) {
8965 return nil, errNotImpl
9066 }
9167
92-func (me *StubDB) SetUserName(userID string, name string) error {
93- return errNotImpl
94-}
95-
9668 func (me *StubDB) FindPostWithFilename(filename string, persona_id string, space string) (*db.Post, error) {
9769 return nil, errNotImpl
9870 }
......@@ -109,10 +81,6 @@ func (me *StubDB) FindPostsForFeed(page *db.Pager, space string) (*db.Paginate[*
10981 return &db.Paginate[*db.Post]{}, errNotImpl
11082 }
11183
112-func (me *StubDB) FindAllUpdatedPosts(page *db.Pager, space string) (*db.Paginate[*db.Post], error) {
113- return &db.Paginate[*db.Post]{}, errNotImpl
114-}
115-
11684 func (me *StubDB) InsertPost(post *db.Post) (*db.Post, error) {
11785 return nil, errNotImpl
11886 }
......@@ -141,10 +109,6 @@ func (me *StubDB) FindExpiredPosts(space string) ([]*db.Post, error) {
141109 return []*db.Post{}, errNotImpl
142110 }
143111
144-func (me *StubDB) FindUpdatedPostsForUser(userID string, space string) ([]*db.Post, error) {
145- return []*db.Post{}, errNotImpl
146-}
147-
148112 func (me *StubDB) Close() error {
149113 return errNotImpl
150114 }
......@@ -185,10 +149,6 @@ func (me *StubDB) FindPopularTags(space string) ([]string, error) {
185149 return []string{}, errNotImpl
186150 }
187151
188-func (me *StubDB) FindTagsForPost(postID string) ([]string, error) {
189- return []string{}, errNotImpl
190-}
191-
192152 func (me *StubDB) FindFeature(userID string, feature string) (*db.FeatureFlag, error) {
193153 return nil, errNotImpl
194154 }
......@@ -201,10 +161,6 @@ func (me *StubDB) HasFeatureForUser(userID string, feature string) bool {
201161 return false
202162 }
203163
204-func (me *StubDB) FindTotalSizeForUser(userID string) (int, error) {
205- return 0, errNotImpl
206-}
207-
208164 func (me *StubDB) InsertFeedItems(postID string, items []*db.FeedItem) error {
209165 return errNotImpl
210166 }
......@@ -217,14 +173,6 @@ func (me *StubDB) UpsertProject(userID, name, projectDir string) (*db.Project, e
217173 return nil, errNotImpl
218174 }
219175
220-func (me *StubDB) InsertProject(userID, name, projectDir string) (string, error) {
221- return "", errNotImpl
222-}
223-
224-func (me *StubDB) UpdateProject(userID, name string) error {
225- return errNotImpl
226-}
227-
228176 func (me *StubDB) FindProjectByName(userID, name string) (*db.Project, error) {
229177 return &db.Project{}, errNotImpl
230178 }
......@@ -237,10 +185,6 @@ func (me *StubDB) UpsertToken(userID, name string) (string, error) {
237185 return "", errNotImpl
238186 }
239187
240-func (me *StubDB) FindTokenByName(userID, name string) (string, error) {
241- return "", errNotImpl
242-}
243-
244188 func (me *StubDB) RemoveToken(tokenID string) error {
245189 return errNotImpl
246190 }
......@@ -261,10 +205,6 @@ func (me *StubDB) AddPicoPlusUser(username, email, paymentType, txId string) err
261205 return errNotImpl
262206 }
263207
264-func (me *StubDB) FindTagsForUser(userID string, tag string) ([]string, error) {
265- return []string{}, errNotImpl
266-}
267-
268208 func (me *StubDB) FindUserStats(userID string) (*db.UserStats, error) {
269209 return nil, errNotImpl
270210 }
Back to top