Add go:generate command and new field to user
Some checks are pending
/ test (push) Waiting to run

This commit is contained in:
Melody Becker 2025-03-31 08:08:01 +02:00
parent 8ba5e98c50
commit 582988add2
Signed by: mstar
SSH key fingerprint: SHA256:vkXfS9FG2pVNVfvDrzd1VW9n8VJzqqdKQGljxxX8uK8
4 changed files with 50 additions and 35 deletions

View file

@ -28,6 +28,7 @@ func newLoginProcessToken(db *gorm.DB, opts ...gen.DOOption) loginProcessToken {
_loginProcessToken.ALL = field.NewAsterisk(tableName) _loginProcessToken.ALL = field.NewAsterisk(tableName)
_loginProcessToken.UserId = field.NewString(tableName, "user_id") _loginProcessToken.UserId = field.NewString(tableName, "user_id")
_loginProcessToken.Token = field.NewString(tableName, "token") _loginProcessToken.Token = field.NewString(tableName, "token")
_loginProcessToken.ExpiresAt = field.NewTime(tableName, "expires_at")
_loginProcessToken.User = loginProcessTokenBelongsToUser{ _loginProcessToken.User = loginProcessTokenBelongsToUser{
db: db.Session(&gorm.Session{}), db: db.Session(&gorm.Session{}),
@ -180,6 +181,7 @@ type loginProcessToken struct {
ALL field.Asterisk ALL field.Asterisk
UserId field.String UserId field.String
Token field.String Token field.String
ExpiresAt field.Time
User loginProcessTokenBelongsToUser User loginProcessTokenBelongsToUser
fieldMap map[string]field.Expr fieldMap map[string]field.Expr
@ -199,6 +201,7 @@ func (l *loginProcessToken) updateTableName(table string) *loginProcessToken {
l.ALL = field.NewAsterisk(table) l.ALL = field.NewAsterisk(table)
l.UserId = field.NewString(table, "user_id") l.UserId = field.NewString(table, "user_id")
l.Token = field.NewString(table, "token") l.Token = field.NewString(table, "token")
l.ExpiresAt = field.NewTime(table, "expires_at")
l.fillFieldMap() l.fillFieldMap()
@ -215,9 +218,10 @@ func (l *loginProcessToken) GetFieldByName(fieldName string) (field.OrderExpr, b
} }
func (l *loginProcessToken) fillFieldMap() { func (l *loginProcessToken) fillFieldMap() {
l.fieldMap = make(map[string]field.Expr, 3) l.fieldMap = make(map[string]field.Expr, 4)
l.fieldMap["user_id"] = l.UserId l.fieldMap["user_id"] = l.UserId
l.fieldMap["token"] = l.Token l.fieldMap["token"] = l.Token
l.fieldMap["expires_at"] = l.ExpiresAt
} }

View file

@ -36,14 +36,16 @@ func newUser(db *gorm.DB, opts ...gen.DOOption) user {
_user.Description = field.NewString(tableName, "description") _user.Description = field.NewString(tableName, "description")
_user.IsBot = field.NewBool(tableName, "is_bot") _user.IsBot = field.NewBool(tableName, "is_bot")
_user.IconId = field.NewString(tableName, "icon_id") _user.IconId = field.NewString(tableName, "icon_id")
_user.BackgroundId = field.NewString(tableName, "background_id") _user.BackgroundId = field.NewField(tableName, "background_id")
_user.BannerId = field.NewString(tableName, "banner_id") _user.BannerId = field.NewField(tableName, "banner_id")
_user.Indexable = field.NewBool(tableName, "indexable") _user.Indexable = field.NewBool(tableName, "indexable")
_user.PublicKey = field.NewBytes(tableName, "public_key") _user.PublicKey = field.NewBytes(tableName, "public_key")
_user.RestrictedFollow = field.NewBool(tableName, "restricted_follow") _user.RestrictedFollow = field.NewBool(tableName, "restricted_follow")
_user.Location = field.NewString(tableName, "location") _user.Location = field.NewField(tableName, "location")
_user.Birthday = field.NewTime(tableName, "birthday") _user.Birthday = field.NewField(tableName, "birthday")
_user.Verified = field.NewBool(tableName, "verified") _user.Verified = field.NewBool(tableName, "verified")
_user.PasskeyId = field.NewBytes(tableName, "passkey_id")
_user.FinishedRegistration = field.NewBool(tableName, "finished_registration")
_user.RemoteInfo = userHasOneRemoteInfo{ _user.RemoteInfo = userHasOneRemoteInfo{
db: db.Session(&gorm.Session{}), db: db.Session(&gorm.Session{}),
@ -321,14 +323,16 @@ type user struct {
Description field.String Description field.String
IsBot field.Bool IsBot field.Bool
IconId field.String IconId field.String
BackgroundId field.String BackgroundId field.Field
BannerId field.String BannerId field.Field
Indexable field.Bool Indexable field.Bool
PublicKey field.Bytes PublicKey field.Bytes
RestrictedFollow field.Bool RestrictedFollow field.Bool
Location field.String Location field.Field
Birthday field.Time Birthday field.Field
Verified field.Bool Verified field.Bool
PasskeyId field.Bytes
FinishedRegistration field.Bool
RemoteInfo userHasOneRemoteInfo RemoteInfo userHasOneRemoteInfo
InfoFields userHasManyInfoFields InfoFields userHasManyInfoFields
@ -376,14 +380,16 @@ func (u *user) updateTableName(table string) *user {
u.Description = field.NewString(table, "description") u.Description = field.NewString(table, "description")
u.IsBot = field.NewBool(table, "is_bot") u.IsBot = field.NewBool(table, "is_bot")
u.IconId = field.NewString(table, "icon_id") u.IconId = field.NewString(table, "icon_id")
u.BackgroundId = field.NewString(table, "background_id") u.BackgroundId = field.NewField(table, "background_id")
u.BannerId = field.NewString(table, "banner_id") u.BannerId = field.NewField(table, "banner_id")
u.Indexable = field.NewBool(table, "indexable") u.Indexable = field.NewBool(table, "indexable")
u.PublicKey = field.NewBytes(table, "public_key") u.PublicKey = field.NewBytes(table, "public_key")
u.RestrictedFollow = field.NewBool(table, "restricted_follow") u.RestrictedFollow = field.NewBool(table, "restricted_follow")
u.Location = field.NewString(table, "location") u.Location = field.NewField(table, "location")
u.Birthday = field.NewTime(table, "birthday") u.Birthday = field.NewField(table, "birthday")
u.Verified = field.NewBool(table, "verified") u.Verified = field.NewBool(table, "verified")
u.PasskeyId = field.NewBytes(table, "passkey_id")
u.FinishedRegistration = field.NewBool(table, "finished_registration")
u.fillFieldMap() u.fillFieldMap()
@ -400,7 +406,7 @@ func (u *user) GetFieldByName(fieldName string) (field.OrderExpr, bool) {
} }
func (u *user) fillFieldMap() { func (u *user) fillFieldMap() {
u.fieldMap = make(map[string]field.Expr, 29) u.fieldMap = make(map[string]field.Expr, 31)
u.fieldMap["id"] = u.ID u.fieldMap["id"] = u.ID
u.fieldMap["username"] = u.Username u.fieldMap["username"] = u.Username
u.fieldMap["created_at"] = u.CreatedAt u.fieldMap["created_at"] = u.CreatedAt
@ -419,6 +425,8 @@ func (u *user) fillFieldMap() {
u.fieldMap["location"] = u.Location u.fieldMap["location"] = u.Location
u.fieldMap["birthday"] = u.Birthday u.fieldMap["birthday"] = u.Birthday
u.fieldMap["verified"] = u.Verified u.fieldMap["verified"] = u.Verified
u.fieldMap["passkey_id"] = u.PasskeyId
u.fieldMap["finished_registration"] = u.FinishedRegistration
} }

View file

@ -71,6 +71,7 @@ type User struct {
// In theory, could also slash Id in half, but that would be a lot more calculations than the // In theory, could also slash Id in half, but that would be a lot more calculations than the
// saved space is worth // saved space is worth
PasskeyId []byte PasskeyId []byte
FinishedRegistration bool // Whether this account has completed registration yet
// ---- "Remote" linked values // ---- "Remote" linked values
InfoFields []UserInfoField InfoFields []UserInfoField

View file

@ -1 +1,3 @@
package storage package storage
//go:generate go run ../cmd/NewRoleHelperGenerator/main.go -input ./models/Role.go -output role_generated.go -mod storage