Refactor: Remove deprecated gRPC service files and implement new API structure

- 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`.
This commit is contained in:
wwweww
2026-02-28 18:35:56 +08:00
parent d2f33b4b96
commit 19cc7a778c
349 changed files with 42548 additions and 1453 deletions
+97 -101
View File
@@ -1,121 +1,117 @@
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
}
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
@server (
prefix: api/v1
group: community
)
service juwan-api {
@doc "获取帖子列表"
@handler ListPosts
get /posts (PostListReq) returns (PostListResp)
service community-api {
@doc "获取帖子列表"
@handler ListPosts
get /posts (PostListReq) returns (PostListResp)
@doc "获取帖子详情"
@handler GetPost
get /posts/:id (PathId) returns (Post)
@doc "获取帖子详情"
@handler GetPost
get /posts/:id (PathId) returns (Post)
@doc "获取帖子评论"
@handler ListComments
get /posts/:id/comments (ListCommentsReq ) returns (CommentListResp)
@doc "获取帖子评论"
@handler ListComments
get /posts/:id/comments (ListCommentsReq) returns (CommentListResp)
@doc "获取用户帖子"
@handler ListUserPosts
get /users/:id/posts (ListCommentsReq ) returns (PostListResp)
@doc "获取用户帖子"
@handler ListUserPosts
get /users/:id/posts (ListCommentsReq) returns (PostListResp)
}
@server(
prefix: api/v1
group: community
@server (
prefix: api/v1
group: community
)
service juwan-api {
@doc "发布帖子"
@handler CreatePost
post /posts (CreatePostReq) returns (Post)
service community-api {
@doc "发布帖子"
@handler CreatePost
post /posts (CreatePostReq) returns (Post)
@doc "点赞帖子"
@handler LikePost
post /posts/:id/like (PathId) returns (EmptyResp)
@doc "点赞帖子"
@handler LikePost
post /posts/:id/like (PathId) returns (EmptyResp)
@doc "取消点赞帖子"
@handler UnlikePost
delete /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 PinPost
post /posts/:id/pin (PathId) returns (EmptyResp)
@doc "取消置顶"
@handler UnpinPost
delete /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 CreateComment
post /posts/:id/comments (CreateCommentReq) returns (Comment)
@doc "点赞评论"
@handler LikeComment
post /comments/:id/like (PathId) returns (EmptyResp)
@doc "点赞评论"
@handler LikeComment
post /comments/:id/like (PathId) returns (EmptyResp)
@doc "取消点赞评论"
@handler UnlikeComment
delete /comments/:id/like (PathId) returns (EmptyResp)
}
@doc "取消点赞评论"
@handler UnlikeComment
delete /comments/:id/like (PathId) returns (EmptyResp)
}