feat: add frpc
This commit is contained in:
@@ -80,6 +80,7 @@ func (ctl *posts) List(ctx fiber.Ctx, pagination *requests.Pagination, query *Li
|
||||
}
|
||||
|
||||
type PostItem struct {
|
||||
Bought bool `json:"bought"`
|
||||
Title string `json:"title"`
|
||||
Description string `json:"description"`
|
||||
Content string `json:"content"`
|
||||
@@ -94,7 +95,8 @@ type PostItem struct {
|
||||
// Show
|
||||
// @Router /api/posts/:id [get]
|
||||
// @Bind id path
|
||||
func (ctl *posts) Show(ctx fiber.Ctx, id int64) (*PostItem, error) {
|
||||
// @Bind user local
|
||||
func (ctl *posts) Show(ctx fiber.Ctx, id int64, user *model.Users) (*PostItem, error) {
|
||||
log.Infof("Fetching post with ID: %d", id)
|
||||
post, err := models.Posts.GetByID(ctx.Context(), id)
|
||||
if err != nil {
|
||||
@@ -102,6 +104,11 @@ func (ctl *posts) Show(ctx fiber.Ctx, id int64) (*PostItem, error) {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
bought, err := models.Users.HasBought(ctx.Context(), user.ID, post.ID)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
medias, err := models.Posts.GetMediaByIds(ctx.Context(), post.HeadImages.Data)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
@@ -125,6 +132,7 @@ func (ctl *posts) Show(ctx fiber.Ctx, id int64) (*PostItem, error) {
|
||||
Likes: post.Likes,
|
||||
Tags: post.Tags.Data,
|
||||
HeadImages: mediaUrls,
|
||||
Bought: bought,
|
||||
}, nil
|
||||
}
|
||||
|
||||
|
||||
@@ -58,9 +58,10 @@ func (r *Routes) Register(router fiber.Router) {
|
||||
Local[*model.Users]("user"),
|
||||
))
|
||||
|
||||
router.Get("/api/posts/:id", DataFunc1(
|
||||
router.Get("/api/posts/:id", DataFunc2(
|
||||
r.posts.Show,
|
||||
PathParam[int64]("id"),
|
||||
Local[*model.Users]("user"),
|
||||
))
|
||||
|
||||
router.Get("/api/posts/:id/play", DataFunc2(
|
||||
|
||||
Reference in New Issue
Block a user