feat: support balance pay
This commit is contained in:
11
backend/database/migrations/20250512113213_alter_user.sql
Normal file
11
backend/database/migrations/20250512113213_alter_user.sql
Normal file
@@ -0,0 +1,11 @@
|
||||
-- +goose Up
|
||||
-- +goose StatementBegin
|
||||
ALTER TABLE public.users
|
||||
ADD balance int8 DEFAULT 0 NOT NULL;
|
||||
-- +goose StatementEnd
|
||||
|
||||
-- +goose Down
|
||||
-- +goose StatementBegin
|
||||
ALTER TABLE public.users
|
||||
DROP COLUMN balance;
|
||||
-- +goose StatementEnd
|
||||
@@ -19,6 +19,6 @@ type Medias struct {
|
||||
MimeType string `json:"mime_type"`
|
||||
Size int64 `json:"size"`
|
||||
Path string `json:"path"`
|
||||
Hash string `json:"hash"`
|
||||
Metas fields.Json[fields.MediaMetas] `json:"metas"`
|
||||
Hash string `json:"hash"`
|
||||
}
|
||||
|
||||
@@ -19,6 +19,7 @@ type Posts struct {
|
||||
DeletedAt *time.Time `json:"deleted_at"`
|
||||
Status fields.PostStatus `json:"status"`
|
||||
Title string `json:"title"`
|
||||
HeadImages fields.Json[[]int64] `json:"head_images"`
|
||||
Description string `json:"description"`
|
||||
Content string `json:"content"`
|
||||
Price int64 `json:"price"`
|
||||
@@ -27,5 +28,4 @@ type Posts struct {
|
||||
Likes int64 `json:"likes"`
|
||||
Tags fields.Json[[]string] `json:"tags"`
|
||||
Assets fields.Json[[]fields.MediaAsset] `json:"assets"`
|
||||
HeadImages fields.Json[[]int64] `json:"head_images"`
|
||||
}
|
||||
|
||||
@@ -23,4 +23,5 @@ type Users struct {
|
||||
Avatar *string `json:"avatar"`
|
||||
Metas fields.Json[fields.UserMetas] `json:"metas"`
|
||||
AuthToken fields.Json[fields.UserAuthToken] `json:"auth_token"`
|
||||
Balance int64 `json:"balance"`
|
||||
}
|
||||
|
||||
@@ -23,8 +23,8 @@ type mediasTable struct {
|
||||
MimeType postgres.ColumnString
|
||||
Size postgres.ColumnInteger
|
||||
Path postgres.ColumnString
|
||||
Hash postgres.ColumnString
|
||||
Metas postgres.ColumnString
|
||||
Hash postgres.ColumnString
|
||||
|
||||
AllColumns postgres.ColumnList
|
||||
MutableColumns postgres.ColumnList
|
||||
@@ -71,10 +71,10 @@ func newMediasTableImpl(schemaName, tableName, alias string) mediasTable {
|
||||
MimeTypeColumn = postgres.StringColumn("mime_type")
|
||||
SizeColumn = postgres.IntegerColumn("size")
|
||||
PathColumn = postgres.StringColumn("path")
|
||||
HashColumn = postgres.StringColumn("hash")
|
||||
MetasColumn = postgres.StringColumn("metas")
|
||||
allColumns = postgres.ColumnList{IDColumn, CreatedAtColumn, NameColumn, MimeTypeColumn, SizeColumn, PathColumn, HashColumn, MetasColumn}
|
||||
mutableColumns = postgres.ColumnList{CreatedAtColumn, NameColumn, MimeTypeColumn, SizeColumn, PathColumn, HashColumn, MetasColumn}
|
||||
HashColumn = postgres.StringColumn("hash")
|
||||
allColumns = postgres.ColumnList{IDColumn, CreatedAtColumn, NameColumn, MimeTypeColumn, SizeColumn, PathColumn, MetasColumn, HashColumn}
|
||||
mutableColumns = postgres.ColumnList{CreatedAtColumn, NameColumn, MimeTypeColumn, SizeColumn, PathColumn, MetasColumn, HashColumn}
|
||||
)
|
||||
|
||||
return mediasTable{
|
||||
@@ -87,8 +87,8 @@ func newMediasTableImpl(schemaName, tableName, alias string) mediasTable {
|
||||
MimeType: MimeTypeColumn,
|
||||
Size: SizeColumn,
|
||||
Path: PathColumn,
|
||||
Hash: HashColumn,
|
||||
Metas: MetasColumn,
|
||||
Hash: HashColumn,
|
||||
|
||||
AllColumns: allColumns,
|
||||
MutableColumns: mutableColumns,
|
||||
|
||||
@@ -23,6 +23,7 @@ type postsTable struct {
|
||||
DeletedAt postgres.ColumnTimestamp
|
||||
Status postgres.ColumnInteger
|
||||
Title postgres.ColumnString
|
||||
HeadImages postgres.ColumnString
|
||||
Description postgres.ColumnString
|
||||
Content postgres.ColumnString
|
||||
Price postgres.ColumnInteger
|
||||
@@ -31,7 +32,6 @@ type postsTable struct {
|
||||
Likes postgres.ColumnInteger
|
||||
Tags postgres.ColumnString
|
||||
Assets postgres.ColumnString
|
||||
HeadImages postgres.ColumnString
|
||||
|
||||
AllColumns postgres.ColumnList
|
||||
MutableColumns postgres.ColumnList
|
||||
@@ -78,6 +78,7 @@ func newPostsTableImpl(schemaName, tableName, alias string) postsTable {
|
||||
DeletedAtColumn = postgres.TimestampColumn("deleted_at")
|
||||
StatusColumn = postgres.IntegerColumn("status")
|
||||
TitleColumn = postgres.StringColumn("title")
|
||||
HeadImagesColumn = postgres.StringColumn("head_images")
|
||||
DescriptionColumn = postgres.StringColumn("description")
|
||||
ContentColumn = postgres.StringColumn("content")
|
||||
PriceColumn = postgres.IntegerColumn("price")
|
||||
@@ -86,9 +87,8 @@ func newPostsTableImpl(schemaName, tableName, alias string) postsTable {
|
||||
LikesColumn = postgres.IntegerColumn("likes")
|
||||
TagsColumn = postgres.StringColumn("tags")
|
||||
AssetsColumn = postgres.StringColumn("assets")
|
||||
HeadImagesColumn = postgres.StringColumn("head_images")
|
||||
allColumns = postgres.ColumnList{IDColumn, CreatedAtColumn, UpdatedAtColumn, DeletedAtColumn, StatusColumn, TitleColumn, DescriptionColumn, ContentColumn, PriceColumn, DiscountColumn, ViewsColumn, LikesColumn, TagsColumn, AssetsColumn, HeadImagesColumn}
|
||||
mutableColumns = postgres.ColumnList{CreatedAtColumn, UpdatedAtColumn, DeletedAtColumn, StatusColumn, TitleColumn, DescriptionColumn, ContentColumn, PriceColumn, DiscountColumn, ViewsColumn, LikesColumn, TagsColumn, AssetsColumn, HeadImagesColumn}
|
||||
allColumns = postgres.ColumnList{IDColumn, CreatedAtColumn, UpdatedAtColumn, DeletedAtColumn, StatusColumn, TitleColumn, HeadImagesColumn, DescriptionColumn, ContentColumn, PriceColumn, DiscountColumn, ViewsColumn, LikesColumn, TagsColumn, AssetsColumn}
|
||||
mutableColumns = postgres.ColumnList{CreatedAtColumn, UpdatedAtColumn, DeletedAtColumn, StatusColumn, TitleColumn, HeadImagesColumn, DescriptionColumn, ContentColumn, PriceColumn, DiscountColumn, ViewsColumn, LikesColumn, TagsColumn, AssetsColumn}
|
||||
)
|
||||
|
||||
return postsTable{
|
||||
@@ -101,6 +101,7 @@ func newPostsTableImpl(schemaName, tableName, alias string) postsTable {
|
||||
DeletedAt: DeletedAtColumn,
|
||||
Status: StatusColumn,
|
||||
Title: TitleColumn,
|
||||
HeadImages: HeadImagesColumn,
|
||||
Description: DescriptionColumn,
|
||||
Content: ContentColumn,
|
||||
Price: PriceColumn,
|
||||
@@ -109,7 +110,6 @@ func newPostsTableImpl(schemaName, tableName, alias string) postsTable {
|
||||
Likes: LikesColumn,
|
||||
Tags: TagsColumn,
|
||||
Assets: AssetsColumn,
|
||||
HeadImages: HeadImagesColumn,
|
||||
|
||||
AllColumns: allColumns,
|
||||
MutableColumns: mutableColumns,
|
||||
|
||||
@@ -27,6 +27,7 @@ type usersTable struct {
|
||||
Avatar postgres.ColumnString
|
||||
Metas postgres.ColumnString
|
||||
AuthToken postgres.ColumnString
|
||||
Balance postgres.ColumnInteger
|
||||
|
||||
AllColumns postgres.ColumnList
|
||||
MutableColumns postgres.ColumnList
|
||||
@@ -77,8 +78,9 @@ func newUsersTableImpl(schemaName, tableName, alias string) usersTable {
|
||||
AvatarColumn = postgres.StringColumn("avatar")
|
||||
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}
|
||||
BalanceColumn = postgres.IntegerColumn("balance")
|
||||
allColumns = postgres.ColumnList{IDColumn, CreatedAtColumn, UpdatedAtColumn, DeletedAtColumn, StatusColumn, OpenIDColumn, UsernameColumn, AvatarColumn, MetasColumn, AuthTokenColumn, BalanceColumn}
|
||||
mutableColumns = postgres.ColumnList{CreatedAtColumn, UpdatedAtColumn, DeletedAtColumn, StatusColumn, OpenIDColumn, UsernameColumn, AvatarColumn, MetasColumn, AuthTokenColumn, BalanceColumn}
|
||||
)
|
||||
|
||||
return usersTable{
|
||||
@@ -95,6 +97,7 @@ func newUsersTableImpl(schemaName, tableName, alias string) usersTable {
|
||||
Avatar: AvatarColumn,
|
||||
Metas: MetasColumn,
|
||||
AuthToken: AuthTokenColumn,
|
||||
Balance: BalanceColumn,
|
||||
|
||||
AllColumns: allColumns,
|
||||
MutableColumns: mutableColumns,
|
||||
|
||||
Reference in New Issue
Block a user