feat: update

This commit is contained in:
yanghao05
2025-04-30 13:59:39 +08:00
parent 91dcc60588
commit 070bec536b
12 changed files with 104 additions and 35 deletions

View File

@@ -1,5 +1,25 @@
package fields
import "time"
// swagger:enum PostStatus
// ENUM( ok, banned, blocked)
type UserStatus int16
type UserMetas struct {
City string `json:"city,omitempty"`
Country string `json:"country,omitempty"`
HeadImageUrl string `json:"head_image_url,omitempty"`
Nickname string `json:"nickname,omitempty"`
Privilege []string `json:"privilege,omitempty"`
Province string `json:"province,omitempty"`
Sex int64 `json:"sex,omitempty"`
}
type UserAuthToken struct {
AccessToken string `json:"access_token,omitempty"`
ExpiresAt time.Time `json:"expires_at,omitempty"`
IsSnapshotuser int64 `json:"is_snapshotuser,omitempty"`
RefreshToken string `json:"refresh_token,omitempty"`
Scope string `json:"scope,omitempty"`
}

View File

@@ -0,0 +1,18 @@
-- +goose Up
-- +goose StatementBegin
ALTER TABLE public.users
ADD metas jsonb DEFAULT '{}'::jsonb NOT NULL;
ALTER TABLE public.users
ADD auth_token jsonb DEFAULT '{}'::jsonb NOT NULL;
-- +goose StatementEnd
-- +goose Down
-- +goose StatementBegin
ALTER TABLE public.users
DROP COLUMN metas;
ALTER TABLE public.users
DROP COLUMN auth_token;
-- +goose StatementEnd

View File

@@ -13,12 +13,14 @@ import (
)
type Users struct {
ID int64 `sql:"primary_key" json:"id"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
DeletedAt *time.Time `json:"deleted_at"`
Status fields.UserStatus `json:"status"`
OpenID string `json:"open_id"`
Username string `json:"username"`
Avatar *string `json:"avatar"`
ID int64 `sql:"primary_key" json:"id"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
DeletedAt *time.Time `json:"deleted_at"`
Status fields.UserStatus `json:"status"`
OpenID string `json:"open_id"`
Username string `json:"username"`
Avatar *string `json:"avatar"`
Metas fields.Json[fields.UserMetas] `json:"metas"`
AuthToken fields.Json[fields.UserAuthToken] `json:"auth_token"`
}

View File

@@ -25,6 +25,8 @@ type usersTable struct {
OpenID postgres.ColumnString
Username postgres.ColumnString
Avatar postgres.ColumnString
Metas postgres.ColumnString
AuthToken postgres.ColumnString
AllColumns postgres.ColumnList
MutableColumns postgres.ColumnList
@@ -73,8 +75,10 @@ func newUsersTableImpl(schemaName, tableName, alias string) usersTable {
OpenIDColumn = postgres.StringColumn("open_id")
UsernameColumn = postgres.StringColumn("username")
AvatarColumn = postgres.StringColumn("avatar")
allColumns = postgres.ColumnList{IDColumn, CreatedAtColumn, UpdatedAtColumn, DeletedAtColumn, StatusColumn, OpenIDColumn, UsernameColumn, AvatarColumn}
mutableColumns = postgres.ColumnList{CreatedAtColumn, UpdatedAtColumn, DeletedAtColumn, StatusColumn, OpenIDColumn, UsernameColumn, AvatarColumn}
MetasColumn = postgres.StringColumn("metas")
AuthTokenColumn = postgres.StringColumn("auth_token")
allColumns = postgres.ColumnList{IDColumn, CreatedAtColumn, UpdatedAtColumn, DeletedAtColumn, StatusColumn, OpenIDColumn, UsernameColumn, AvatarColumn, MetasColumn, AuthTokenColumn}
mutableColumns = postgres.ColumnList{CreatedAtColumn, UpdatedAtColumn, DeletedAtColumn, StatusColumn, OpenIDColumn, UsernameColumn, AvatarColumn, MetasColumn, AuthTokenColumn}
)
return usersTable{
@@ -89,6 +93,8 @@ func newUsersTableImpl(schemaName, tableName, alias string) usersTable {
OpenID: OpenIDColumn,
Username: UsernameColumn,
Avatar: AvatarColumn,
Metas: MetasColumn,
AuthToken: AuthTokenColumn,
AllColumns: allColumns,
MutableColumns: mutableColumns,

View File

@@ -21,6 +21,8 @@ types:
users:
status: UserStatus
metas: Json[UserMetas]
auth_token: Json[UserAuthToken]
orders:
status: OrderStatus