diff --git a/backend/app/http/admin/posts.go b/backend/app/http/admin/posts.go index 7f59ca9..c5c845a 100644 --- a/backend/app/http/admin/posts.go +++ b/backend/app/http/admin/posts.go @@ -28,12 +28,13 @@ func (ctl *posts) List(ctx fiber.Ctx, pagination *requests.Pagination, query *Li type PostForm struct { Title string `json:"title"` - HeadImage int64 `json:"head_image"` + HeadImageIds []int64 `json:"head_image_ids"` Price int64 `json:"price"` Discount int16 `json:"discount"` Introduction string `json:"introduction"` Medias []int64 `json:"medias"` Status fields.PostStatus `json:"status"` + Content string `json:"content"` } // Create @@ -42,11 +43,12 @@ type PostForm struct { func (ctl *posts) Create(ctx fiber.Ctx, form *PostForm) error { post := model.Posts{ Title: form.Title, + HeadImages: fields.ToJson(form.HeadImageIds), Price: form.Price, Discount: form.Discount, Description: form.Introduction, Status: form.Status, - Content: "", + Content: form.Content, Tags: fields.Json[[]string]{}, Assets: fields.Json[[]fields.MediaAsset]{}, } @@ -84,11 +86,12 @@ func (ctl *posts) Update(ctx fiber.Ctx, id int64, form *PostForm) error { post := &model.Posts{ Title: form.Title, + HeadImages: fields.ToJson(form.HeadImageIds), Price: form.Price, Discount: form.Discount, Description: form.Introduction, Status: form.Status, - Content: "", + Content: form.Content, Tags: fields.Json[[]string]{}, Assets: fields.Json[[]fields.MediaAsset]{}, CreatedAt: oldPost.CreatedAt, diff --git a/backend/database/schemas/public/model/posts.go b/backend/database/schemas/public/model/posts.go index 306f4e8..e344d69 100644 --- a/backend/database/schemas/public/model/posts.go +++ b/backend/database/schemas/public/model/posts.go @@ -27,5 +27,5 @@ type Posts struct { Likes int64 `json:"likes"` Tags fields.Json[[]string] `json:"tags"` Assets fields.Json[[]fields.MediaAsset] `json:"assets"` - HeadImages string `json:"head_images"` + HeadImages fields.Json[[]int64] `json:"head_images"` } diff --git a/backend/database/transform.yaml b/backend/database/transform.yaml index 49410fc..9d48d5e 100644 --- a/backend/database/transform.yaml +++ b/backend/database/transform.yaml @@ -17,6 +17,7 @@ types: assets: Json[[]MediaAsset] tags: Json[[]string] meta: Json[PostMeta] + head_images: Json[[]int64] users: status: UserStatus diff --git a/frontend/admin/src/pages/PostCreatePage.vue b/frontend/admin/src/pages/PostCreatePage.vue index b57d859..03cb18e 100644 --- a/frontend/admin/src/pages/PostCreatePage.vue +++ b/frontend/admin/src/pages/PostCreatePage.vue @@ -1,6 +1,8 @@