dashboard / erock/pico / refactor: remove unused db methods #97 rss

open · opened on 2025-12-18T04:19:09Z by erock
Help
checkout latest patchset:
ssh pr.pico.sh print pr-97 | git am -3
checkout any patchset in a patch request:
ssh pr.pico.sh print ps-X | git am -3
add changes to patch request:
git format-patch main --stdout | ssh pr.pico.sh pr add 97
add review to patch request:
git format-patch main --stdout | ssh pr.pico.sh pr add --review 97
accept PR:
ssh pr.pico.sh pr accept 97
close PR:
ssh pr.pico.sh pr close 97

Logs

erock created pr with ps-176 on 2025-12-18T04:19:09Z
erock added ps-177 on 2025-12-18T04:36:52Z

Patchsets

ps-176 by erock on 2025-12-18T04:19:09Z
Range Diff ↕ rd-177
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
ps-177 by erock on 2025-12-18T04:36:52Z

Range-diff rd-177

title
refactor: remove unused db methods
description
Patch equal
old #1
fdc255e
new #1
fdc255e
title
chore: add tests for postgres db impl
description
Patch equal
old #2
3f855f6
new #2
3f855f6
title
refactor: use sqlx interface
description
Patch equal
old #3
7cd29a6
new #3
7cd29a6
title
chore: add db tags
description
Patch equal
old #4
acd449e
new #4
acd449e
title
refactor: use sqlx
description
Patch equal
old #5
f6ed0d7
new #5
f6ed0d7
title
refactor: replace custom sql functions with sqlx
description
Patch equal
old #6
29035c6
new #6
29035c6
title
refactor: inline all sql queries
description
Patch equal
old #7
d4ea6d9
new #7
d4ea6d9
title
refactor: use `select * from` where possible
description
Patch added
old #0
(none)
new #8
4bd37ed
Back to top
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

old


                    

new

old:pkg/db/db.go new:pkg/db/db.go
 	ContentType string `json:"content_type" db:"content_type"`
 }
 
+type AccessLogData struct{}
+
+func (p *AccessLogData) Scan(value any) error {
+	b, err := tcast(value)
+	if err != nil {
+		return err
+	}
+
+	return json.Unmarshal(b, &p)
+}
+
 type AccessLog struct {
-	ID        string     `json:"id" db:"id"`
-	UserID    string     `json:"user_id" db:"user_id"`
-	Service   string     `json:"service" db:"service"`
-	Pubkey    string     `json:"pubkey" db:"pubkey"`
-	Identity  string     `json:"identity" db:"identity"`
-	CreatedAt *time.Time `json:"created_at" db:"created_at"`
+	ID        string        `json:"id" db:"id"`
+	UserID    string        `json:"user_id" db:"user_id"`
+	Service   string        `json:"service" db:"service"`
+	Pubkey    string        `json:"pubkey" db:"pubkey"`
+	Identity  string        `json:"identity" db:"identity"`
+	Data      AccessLogData `json:"data" db:"data"`
+	CreatedAt *time.Time    `json:"created_at" db:"created_at"`
 }
 
 type Pager struct {
 	ID        string     `json:"id" db:"id"`
 	UserID    string     `json:"user_id" db:"user_id"`
 	Name      string     `json:"name" db:"name"`
+	Token     string     `json:"token" db:"token"`
 	CreatedAt *time.Time `json:"created_at" db:"created_at"`
 	ExpiresAt *time.Time `json:"expires_at" db:"expires_at"`
 }

old


                    

new

old:pkg/db/postgres/storage.go new:pkg/db/postgres/storage.go
 
 func (me *PsqlDB) findPublicKey(pubkeyID string) (*db.PublicKey, error) {
 	pk := &db.PublicKey{}
-	err := me.Db.Get(pk, `SELECT id, user_id, name, public_key, created_at FROM public_keys WHERE id = $1`, pubkeyID)
+	err := me.Db.Get(pk, `SELECT * FROM public_keys WHERE id = $1`, pubkeyID)
 	if err != nil {
 		return nil, err
 	}
 
 func (me *PsqlDB) FindKeysForUser(user *db.User) ([]*db.PublicKey, error) {
 	var keys []*db.PublicKey
-	err := me.Db.Select(&keys, `SELECT id, user_id, name, public_key, created_at FROM public_keys WHERE user_id = $1 ORDER BY created_at ASC`, user.ID)
+	err := me.Db.Select(&keys, `SELECT * FROM public_keys WHERE user_id = $1 ORDER BY created_at ASC`, user.ID)
 	if err != nil {
 		return nil, err
 	}
 
 func (me *PsqlDB) FindUserByName(name string) (*db.User, error) {
 	user := &db.User{}
-	err := me.Db.Get(user, `SELECT id, name, created_at FROM app_users WHERE name = $1`, strings.ToLower(name))
+	err := me.Db.Get(user, `SELECT * FROM app_users WHERE name = $1`, strings.ToLower(name))
 	if err != nil {
 		return nil, err
 	}
 
 func (me *PsqlDB) FindFeature(userID string, feature string) (*db.FeatureFlag, error) {
 	ff := &db.FeatureFlag{}
-	err := me.Db.Get(ff, `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`, userID, feature)
+	err := me.Db.Get(ff, `SELECT * FROM feature_flags WHERE user_id = $1 AND name = $2 ORDER BY expires_at DESC LIMIT 1`, userID, feature)
 	if err != nil {
 		return nil, err
 	}
 func (me *PsqlDB) FindFeaturesForUser(userID string) ([]*db.FeatureFlag, error) {
 	var features []*db.FeatureFlag
 	// https://stackoverflow.com/a/16920077
-	query := `SELECT DISTINCT ON (name)
-			id, user_id, payment_history_id, name, data, created_at, expires_at
+	query := `SELECT DISTINCT ON (name) *
 		FROM feature_flags
 		WHERE user_id=$1
 		ORDER BY name, expires_at DESC;`
 
 func (me *PsqlDB) FindFeedItemsByPostID(postID string) ([]*db.FeedItem, error) {
 	var items []*db.FeedItem
-	err := me.Db.Select(&items, `SELECT id, post_id, guid, data, created_at FROM feed_items WHERE post_id=$1`, postID)
+	err := me.Db.Select(&items, `SELECT * FROM feed_items WHERE post_id=$1`, postID)
 	if err != nil {
 		return nil, err
 	}
 
 func (me *PsqlDB) FindProjectByName(userID, name string) (*db.Project, error) {
 	project := &db.Project{}
-	err := me.Db.Get(project, `SELECT id, user_id, name, project_dir, acl, blocked, created_at, updated_at FROM projects WHERE user_id = $1 AND name = $2;`, userID, name)
+	err := me.Db.Get(project, `SELECT * FROM projects WHERE user_id = $1 AND name = $2;`, userID, name)
 	if err != nil {
 		return nil, err
 	}
 
 func (me *PsqlDB) FindTokensForUser(userID string) ([]*db.Token, error) {
 	var tokens []*db.Token
-	err := me.Db.Select(&tokens, `SELECT id, user_id, name, created_at, expires_at FROM tokens WHERE user_id = $1`, userID)
+	err := me.Db.Select(&tokens, `SELECT * FROM tokens WHERE user_id = $1`, userID)
 	if err != nil {
 		return nil, err
 	}
 func (me *PsqlDB) FindTunsEventLogsByAddr(userID, addr string) ([]*db.TunsEventLog, error) {
 	var logs []*db.TunsEventLog
 	err := me.Db.Select(&logs,
-		`SELECT id, user_id, server_id, remote_addr, event_type, tunnel_type, connection_type, tunnel_id, created_at
-		FROM tuns_event_logs WHERE user_id=$1 AND tunnel_id=$2 ORDER BY created_at DESC`, userID, addr)
+		`SELECT * FROM tuns_event_logs WHERE user_id=$1 AND tunnel_id=$2 ORDER BY created_at DESC`, userID, addr)
 	if err != nil {
 		return nil, err
 	}
 func (me *PsqlDB) FindTunsEventLogs(userID string) ([]*db.TunsEventLog, error) {
 	var logs []*db.TunsEventLog
 	err := me.Db.Select(&logs,
-		`SELECT id, user_id, server_id, remote_addr, event_type, tunnel_type, connection_type, tunnel_id, created_at
-		FROM tuns_event_logs WHERE user_id=$1 ORDER BY created_at DESC`, userID)
+		`SELECT * FROM tuns_event_logs WHERE user_id=$1 ORDER BY created_at DESC`, userID)
 	if err != nil {
 		return nil, err
 	}
 
 func (me *PsqlDB) FindAccessLogs(userID string, fromDate *time.Time) ([]*db.AccessLog, error) {
 	var logs []*db.AccessLog
-	err := me.Db.Select(&logs, `SELECT id, user_id, service, pubkey, identity, created_at FROM access_logs WHERE user_id=$1 AND created_at >= $2 ORDER BY created_at DESC`, userID, fromDate)
+	err := me.Db.Select(&logs, `SELECT * FROM access_logs WHERE user_id=$1 AND created_at >= $2 ORDER BY created_at DESC`, userID, fromDate)
 	if err != nil {
 		return nil, err
 	}
 
 func (me *PsqlDB) FindAccessLogsByPubkey(pubkey string, fromDate *time.Time) ([]*db.AccessLog, error) {
 	var logs []*db.AccessLog
-	err := me.Db.Select(&logs, `SELECT id, user_id, service, pubkey, identity, created_at FROM access_logs WHERE pubkey=$1 AND created_at >= $2 ORDER BY created_at DESC`, pubkey, fromDate)
+	err := me.Db.Select(&logs, `SELECT * FROM access_logs WHERE pubkey=$1 AND created_at >= $2 ORDER BY created_at DESC`, pubkey, fromDate)
 	if err != nil {
 		return nil, err
 	}