Files
full/module/base/cms/proto/post.proto

187 lines
8.1 KiB
Protocol Buffer
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
syntax = "proto3";
package cms;
option go_package = "bsm/full/module/base/cms/pb;cms";
import "protobuf/blocks.proto";
// 正文
service Post{
//文章列表
rpc Fetch(PostListRequest) returns (PostListReply) {};
//获取文章详情 By Identity
rpc GetByIdentity (GetPostRequest) returns (PostItem) {};
//获取文章详情 By Key
rpc GetByKey (GetPostByKeyRequest) returns (PostItem) {};
//搜索文章
rpc Search (blocks.CmsSearchRequest) returns (PostListReply) {};
//发布文章
rpc Create(PostItem) returns (blocks.StatusReply) {};
//修改文章
rpc Modify(PostItem) returns (blocks.StatusReply) {};
//删除文章
rpc Delete(blocks.IdentRequest) returns (blocks.StatusReply) {};
// 文章点赞处理
rpc IncrPostLike(PostOpIdentityRequest) returns (blocks.StatusReply) {};
// 文章点赞取消处理
rpc DescPostLike(PostOpIdentityRequest) returns (blocks.StatusReply) {};
// 文章点踩处理
rpc IncrPostUnlike(PostOpIdentityRequest) returns (blocks.StatusReply) {};
// 文章点踩取消处理
rpc DescPostUnlike(PostOpIdentityRequest) returns (blocks.StatusReply) {};
//评论列表
rpc CommentList(CommentListRequest) returns (CommentListResponse) {};
//发布评论
rpc AddComment(CommentItem) returns (blocks.StatusReply) {};
//修改评论
rpc ModifyComment(CommentItem) returns (blocks.StatusReply) {};
//删除评论
rpc DeleteComment(DeleteCommentRequest) returns (blocks.StatusReply) {};
// 评论点赞处理
rpc IncrCommentLike(CommentOpIdentityRequest) returns (blocks.StatusReply) {};
// 评论点赞取消处理
rpc DescCommentLike(CommentOpIdentityRequest) returns (blocks.StatusReply) {};
// 评论点踩处理
rpc IncrCommentUnlike(CommentOpIdentityRequest) returns (blocks.StatusReply) {};
// 评论点踩取消处理
rpc DescCommentUnlike(CommentOpIdentityRequest) returns (blocks.StatusReply) {};
}
// 删除评论
message DeleteCommentRequest{
string identity = 1; // 需要删除的评论的唯一标识
string post_identity = 2 [json_name = "post_identity"]; // 文章唯一标识
}
// 根据KEY获取内容请求
message GetPostByKeyRequest{
string key = 3; //<必传> 内容页的key
}
// 文章
message PostItem{
string site_identity = 1 [json_name = "site_identity"];
string identity = 2; // 文章唯一标识
int64 owner_id = 3 [json_name = "owner_id"]; // 作者ID
string owner_identity = 4 [json_name = "owner_identity"]; // 作者唯一标识
repeated string category_identity_array = 5 [json_name = "category_identity_array"]; // <必传>,所属分类Identity 列表
repeated string tags_identity_array = 6 [json_name = "tags_identity_array"]; // 标签集Identity 列表
string title = 7; // <必传>,标题
string cover_path = 8 [json_name = "cover_path"]; //封面
string author = 9; // 作者
string author_identity = 10 [json_name = "author_identity"];
string content = 11; // <必传>,内容
string target_url = 12 [json_name = "target_url"]; // 跳转目标地址
string source_url = 13 [json_name = "source_url"]; // 文章来源地址
int64 hits = 14; //点击量
repeated string accessory_identity_array = 15 [json_name = "accessory_identity_array"]; //附件Identity 列表
bool has_accessory = 16 [json_name = "has_accessory"]; //是否有附件,默认没有
string created_at = 17 [json_name = "created_at"]; // 创建时间
string updated_at = 18 [json_name = "updated_at"]; //更新时间
string description = 19; //简介
int64 like_hits = 20 [json_name = "like_hits"]; //点赞量
int64 unlike_hits = 21 [json_name = "unlike_hits"]; //点踩量
int64 comment_hits = 22 [json_name = "comment_hits"]; //评论量
int32 post_type = 23 [json_name = "post_type"]; // 用户自定义文章类型
string rights = 24; //权限
string key = 25; // content key
repeated blocks.CmsCategoryItem category_data = 26 [json_name = "category_data"]; // 分类数据
repeated blocks.CmsTagsItem tags_data = 27 [json_name = "tags_data"]; // 标签数据
repeated blocks.CmsAccessoryItem accessory_data = 28 [json_name = "accessory_data"]; //附件数据
string lang = 29 [json_name = "lang"]; // 语言
string source_origin = 30 [json_name = "source_origin"]; // 来源方简称
string extend_url = 31 [json_name = "extend_url"]; // 扩展URL
string extend_data = 32 [json_name = "extend_data"]; // 扩展:数据
string extend_img = 33 [json_name = "extend_img"]; // 扩展:图片
string extend_desc = 34 [json_name = "extend_desc"]; // 扩展:描述
string published = 35 [json_name = "published"]; // 事件发生时间
// 扩展文章唯一键值用于URL等
string hash = 36 [json_name = "hash"];
}
// 文章列表请求
message PostListRequest{
int64 page = 1; // 页码,默认第一页
int64 size = 2; // 单页显示数量,默认10,最多50
string author_identity = 3 [json_name = "author_identity"]; //发布者唯一标识,可选
string category_identity = 4 [json_name = "category_identity"]; // 文章类型,可选
string keyword = 5; // 根据文章名称模糊查找
int32 type = 6; // 根据用户自定义文章类型过滤,可选,默认0,全部查找
}
// 文章列表回复
message PostListReply{
repeated PostItem data = 1; // 数据
int64 count = 2; // 总数量
}
// 获取文章详情请求
message GetPostRequest {
string identity = 1; // 必传唯一标识
string author_identity = 2 [json_name = "author_identity"]; // 必传作者唯一标识
}
// 评论
message CommentItem {
string identity = 1; // 评论唯一标识
string post_identity = 2 [json_name = "post_identity"]; // 文章唯一标识
int64 parent_id = 3 [json_name = "parent_id"]; // 为空表示顶级评论
string Cms = 4; // 评论内容
string reply_identity = 5 [json_name = "reply_identity"]; // 回复者唯一 标识
string created_at = 6 [json_name = "created_at"]; // 创建时间
string updated_at = 7 [json_name = "updated_at"]; // 更新时间
repeated CommentItem list = 8; //回复列表
int64 like_hits = 9 [json_name = "like_hits"]; // 点赞量
int64 unlike_hits = 10 [json_name = "unlike_hits"]; // 点踩量
int64 comment_hits = 11 [json_name = "comment_hits"]; // 评论量
string owner_name = 12 [json_name = "owner_name"]; // 作者名称
string owner_identity = 13 [json_name = "owner_identity"]; // 作者标识
string role = 14 [json_name = "role"]; // 角色
}
// 评论列表
message CommentListRequest{
string post_identity = 1 [json_name = "post_identity"]; //必填 评论唯一标识
int64 page = 2; // 页码,默认第一页
int64 size = 3; // 单页显示数量,默认10,最多50
}
// 评论列表回复
message CommentListResponse{
repeated CommentItem list = 1; // 数据
int64 count = 2; // 总数量
}
// 文章点赞处理请求
message PostOpIdentityRequest{
string post_identity = 1 [json_name = "post_identity"]; //必传 文章唯一标识
string op_identity = 2 [json_name = "op_identity"]; // 必传 操作者唯一标识
}
// 评论点赞处理请求
message CommentOpIdentityRequest{
string comment_identity = 1 [json_name = "comment_identity"]; //必填 评论唯一标识
string op_identity = 2 [json_name = "op_identity"]; //必填 操作者唯一标识
}