feat: update
This commit is contained in:
@@ -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"`
|
||||
}
|
||||
|
||||
18
backend/database/migrations/20250430014015_alter_user.sql
Normal file
18
backend/database/migrations/20250430014015_alter_user.sql
Normal 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
|
||||
@@ -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"`
|
||||
}
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -21,6 +21,8 @@ types:
|
||||
|
||||
users:
|
||||
status: UserStatus
|
||||
metas: Json[UserMetas]
|
||||
auth_token: Json[UserAuthToken]
|
||||
|
||||
orders:
|
||||
status: OrderStatus
|
||||
|
||||
Reference in New Issue
Block a user