19cc7a778c
- Deleted old gRPC service definitions in `game_grpc.pb.go` and `public.go`. - Added new API server implementations for objectstory, player, and shop services. - Introduced configuration files for new APIs in `etc/*.yaml`. - Created main entry points for each service in `objectstory.go`, `player.go`, and `shop.go`. - Removed unused user update handler and user API files. - Added utility functions for context management and HTTP header parsing. - Introduced PostgreSQL backup configuration in `backup/postgreSql.yaml`.
118 lines
2.7 KiB
Plaintext
118 lines
2.7 KiB
Plaintext
syntax = "v1"
|
|
|
|
import "common.api"
|
|
|
|
type (
|
|
PathId {
|
|
Id int64 `path:"id"`
|
|
}
|
|
Post {
|
|
Id int64 `json:"id"`
|
|
Title string `json:"title"`
|
|
Content string `json:"content"`
|
|
Images []string `json:"images"`
|
|
Tags []string `json:"tags"`
|
|
LikeCount int64 `json:"likeCount"`
|
|
CommentCount int64 `json:"commentCount"`
|
|
Liked bool `json:"liked"`
|
|
Author UserProfile `json:"author"`
|
|
CreatedAt string `json:"createdAt"`
|
|
}
|
|
CreatePostReq {
|
|
Title string `json:"title"`
|
|
Content string `json:"content"`
|
|
Images []string `json:"images"`
|
|
Tags []string `json:"tags"`
|
|
LinkedOrderId string `json:"linkedOrderId,optional"`
|
|
}
|
|
PostListReq {
|
|
PageReq
|
|
Tags string `form:"tags,optional"`
|
|
SortBy string `form:"sortBy,optional"`
|
|
}
|
|
PostListResp {
|
|
Items []Post `json:"items"`
|
|
Meta PageMeta `json:"meta"`
|
|
}
|
|
Comment {
|
|
Id int64 `json:"id"`
|
|
Content string `json:"content"`
|
|
Author UserProfile `json:"author"`
|
|
LikeCount int64 `json:"likeCount"`
|
|
Liked bool `json:"liked"`
|
|
CreatedAt string `json:"createdAt"`
|
|
}
|
|
CommentListResp {
|
|
Items []Comment `json:"items"`
|
|
Meta PageMeta `json:"meta"`
|
|
}
|
|
CreateCommentReq {
|
|
Content string `json:"content"`
|
|
}
|
|
ListCommentsReq {
|
|
PathId
|
|
PageReq
|
|
}
|
|
)
|
|
|
|
@server (
|
|
prefix: api/v1
|
|
group: community
|
|
)
|
|
service community-api {
|
|
@doc "获取帖子列表"
|
|
@handler ListPosts
|
|
get /posts (PostListReq) returns (PostListResp)
|
|
|
|
@doc "获取帖子详情"
|
|
@handler GetPost
|
|
get /posts/:id (PathId) returns (Post)
|
|
|
|
@doc "获取帖子评论"
|
|
@handler ListComments
|
|
get /posts/:id/comments (ListCommentsReq) returns (CommentListResp)
|
|
|
|
@doc "获取用户帖子"
|
|
@handler ListUserPosts
|
|
get /users/:id/posts (ListCommentsReq) returns (PostListResp)
|
|
}
|
|
|
|
@server (
|
|
prefix: api/v1
|
|
group: community
|
|
)
|
|
service community-api {
|
|
@doc "发布帖子"
|
|
@handler CreatePost
|
|
post /posts (CreatePostReq) returns (Post)
|
|
|
|
@doc "点赞帖子"
|
|
@handler LikePost
|
|
post /posts/:id/like (PathId) returns (EmptyResp)
|
|
|
|
@doc "取消点赞帖子"
|
|
@handler UnlikePost
|
|
delete /posts/:id/like (PathId) returns (EmptyResp)
|
|
|
|
@doc "置顶帖子"
|
|
@handler PinPost
|
|
post /posts/:id/pin (PathId) returns (EmptyResp)
|
|
|
|
@doc "取消置顶"
|
|
@handler UnpinPost
|
|
delete /posts/:id/pin (PathId) returns (EmptyResp)
|
|
|
|
@doc "发表评论"
|
|
@handler CreateComment
|
|
post /posts/:id/comments (CreateCommentReq) returns (Comment)
|
|
|
|
@doc "点赞评论"
|
|
@handler LikeComment
|
|
post /comments/:id/like (PathId) returns (EmptyResp)
|
|
|
|
@doc "取消点赞评论"
|
|
@handler UnlikeComment
|
|
delete /comments/:id/like (PathId) returns (EmptyResp)
|
|
}
|
|
|