Logs
Patchsets
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
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
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 }