mirror of
				https://github.com/TeaOSLab/EdgeCommon.git
				synced 2025-11-04 05:00:24 +08:00 
			
		
		
		
	增加用户系统门户页、文章相关管理
This commit is contained in:
		
							
								
								
									
										288
									
								
								build/rpc.json
									
									
									
									
									
								
							
							
						
						
									
										288
									
								
								build/rpc.json
									
									
									
									
									
								
							@@ -3789,7 +3789,10 @@
 | 
			
		||||
          "responseMessageName": "ListAllIPItemIdsResponse",
 | 
			
		||||
          "code": "rpc listAllIPItemIds(ListAllIPItemIdsRequest) returns (ListAllIPItemIdsResponse);",
 | 
			
		||||
          "doc": "列出所有名单中的IP ID",
 | 
			
		||||
          "roles": [],
 | 
			
		||||
          "roles": [
 | 
			
		||||
            "admin",
 | 
			
		||||
            "user"
 | 
			
		||||
          ],
 | 
			
		||||
          "isDeprecated": false
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
@@ -9553,6 +9556,174 @@
 | 
			
		||||
      "filename": "service_plan.proto",
 | 
			
		||||
      "doc": "套餐相关服务"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "name": "PostService",
 | 
			
		||||
      "methods": [
 | 
			
		||||
        {
 | 
			
		||||
          "name": "createPost",
 | 
			
		||||
          "requestMessageName": "CreatePostRequest",
 | 
			
		||||
          "responseMessageName": "CreatePostResponse",
 | 
			
		||||
          "code": "rpc createPost(CreatePostRequest) returns (CreatePostResponse);",
 | 
			
		||||
          "doc": "创建文章",
 | 
			
		||||
          "roles": [
 | 
			
		||||
            "admin"
 | 
			
		||||
          ],
 | 
			
		||||
          "isDeprecated": false
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "name": "updatePost",
 | 
			
		||||
          "requestMessageName": "UpdatePostRequest",
 | 
			
		||||
          "responseMessageName": "RPCSuccess",
 | 
			
		||||
          "code": "rpc updatePost(UpdatePostRequest) returns (RPCSuccess);",
 | 
			
		||||
          "doc": "修改文章",
 | 
			
		||||
          "roles": [
 | 
			
		||||
            "admin"
 | 
			
		||||
          ],
 | 
			
		||||
          "isDeprecated": false
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "name": "deletePost",
 | 
			
		||||
          "requestMessageName": "DeletePostRequest",
 | 
			
		||||
          "responseMessageName": "RPCSuccess",
 | 
			
		||||
          "code": "rpc deletePost(DeletePostRequest) returns (RPCSuccess);",
 | 
			
		||||
          "doc": "删除文章",
 | 
			
		||||
          "roles": [
 | 
			
		||||
            "admin"
 | 
			
		||||
          ],
 | 
			
		||||
          "isDeprecated": false
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "name": "publishPost",
 | 
			
		||||
          "requestMessageName": "PublishPostRequest",
 | 
			
		||||
          "responseMessageName": "RPCSuccess",
 | 
			
		||||
          "code": "rpc publishPost(PublishPostRequest) returns (RPCSuccess);",
 | 
			
		||||
          "doc": "发布文章",
 | 
			
		||||
          "roles": [
 | 
			
		||||
            "admin"
 | 
			
		||||
          ],
 | 
			
		||||
          "isDeprecated": false
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "name": "countPosts",
 | 
			
		||||
          "requestMessageName": "CountPostsRequest",
 | 
			
		||||
          "responseMessageName": "RPCCountResponse",
 | 
			
		||||
          "code": "rpc countPosts(CountPostsRequest) returns (RPCCountResponse);",
 | 
			
		||||
          "doc": "计算文章数量",
 | 
			
		||||
          "roles": [
 | 
			
		||||
            "admin"
 | 
			
		||||
          ],
 | 
			
		||||
          "isDeprecated": false
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "name": "listPosts",
 | 
			
		||||
          "requestMessageName": "ListPostsRequest",
 | 
			
		||||
          "responseMessageName": "ListPostsResponse",
 | 
			
		||||
          "code": "rpc listPosts(ListPostsRequest) returns (ListPostsResponse);",
 | 
			
		||||
          "doc": "列出单页文章",
 | 
			
		||||
          "roles": [
 | 
			
		||||
            "admin",
 | 
			
		||||
            "user"
 | 
			
		||||
          ],
 | 
			
		||||
          "isDeprecated": false
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "name": "findPost",
 | 
			
		||||
          "requestMessageName": "FindPostRequest",
 | 
			
		||||
          "responseMessageName": "FindPostResponse",
 | 
			
		||||
          "code": "rpc findPost(FindPostRequest) returns (FindPostResponse);",
 | 
			
		||||
          "doc": "查询单篇文章",
 | 
			
		||||
          "roles": [
 | 
			
		||||
            "admin",
 | 
			
		||||
            "user"
 | 
			
		||||
          ],
 | 
			
		||||
          "isDeprecated": false
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
      "filename": "service_post.proto",
 | 
			
		||||
      "doc": "文章管理服务"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "name": "PostCategoryService",
 | 
			
		||||
      "methods": [
 | 
			
		||||
        {
 | 
			
		||||
          "name": "createPostCategory",
 | 
			
		||||
          "requestMessageName": "CreatePostCategoryRequest",
 | 
			
		||||
          "responseMessageName": "CreatePostCategoryResponse",
 | 
			
		||||
          "code": "rpc createPostCategory(CreatePostCategoryRequest) returns (CreatePostCategoryResponse);",
 | 
			
		||||
          "doc": "创建分类",
 | 
			
		||||
          "roles": [
 | 
			
		||||
            "admin"
 | 
			
		||||
          ],
 | 
			
		||||
          "isDeprecated": false
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "name": "updatePostCategory",
 | 
			
		||||
          "requestMessageName": "UpdatePostCategoryRequest",
 | 
			
		||||
          "responseMessageName": "RPCSuccess",
 | 
			
		||||
          "code": "rpc updatePostCategory(UpdatePostCategoryRequest) returns (RPCSuccess);",
 | 
			
		||||
          "doc": "修改分类",
 | 
			
		||||
          "roles": [
 | 
			
		||||
            "admin"
 | 
			
		||||
          ],
 | 
			
		||||
          "isDeprecated": false
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "name": "deletePostCategory",
 | 
			
		||||
          "requestMessageName": "DeletePostCategoryRequest",
 | 
			
		||||
          "responseMessageName": "RPCSuccess",
 | 
			
		||||
          "code": "rpc deletePostCategory(DeletePostCategoryRequest) returns (RPCSuccess);",
 | 
			
		||||
          "doc": "删除分类",
 | 
			
		||||
          "roles": [
 | 
			
		||||
            "admin"
 | 
			
		||||
          ],
 | 
			
		||||
          "isDeprecated": false
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "name": "findAllPostCategories",
 | 
			
		||||
          "requestMessageName": "FindAllPostCategoriesRequest",
 | 
			
		||||
          "responseMessageName": "FindAllPostCategoriesResponse",
 | 
			
		||||
          "code": "rpc findAllPostCategories(FindAllPostCategoriesRequest) returns (FindAllPostCategoriesResponse);",
 | 
			
		||||
          "doc": "列出所有分类",
 | 
			
		||||
          "roles": [
 | 
			
		||||
            "admin"
 | 
			
		||||
          ],
 | 
			
		||||
          "isDeprecated": false
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "name": "findAllAvailablePostCategories",
 | 
			
		||||
          "requestMessageName": "FindAllAvailablePostCategoriesRequest",
 | 
			
		||||
          "responseMessageName": "FindAllAvailablePostCategoriesResponse",
 | 
			
		||||
          "code": "rpc findAllAvailablePostCategories(FindAllAvailablePostCategoriesRequest) returns (FindAllAvailablePostCategoriesResponse);",
 | 
			
		||||
          "doc": "列出所有可用分类",
 | 
			
		||||
          "roles": [],
 | 
			
		||||
          "isDeprecated": false
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "name": "findPostCategory",
 | 
			
		||||
          "requestMessageName": "FindPostCategoryRequest",
 | 
			
		||||
          "responseMessageName": "FindPostCategoryResponse",
 | 
			
		||||
          "code": "rpc findPostCategory(FindPostCategoryRequest) returns (FindPostCategoryResponse);",
 | 
			
		||||
          "doc": "查询单个分类",
 | 
			
		||||
          "roles": [
 | 
			
		||||
            "admin"
 | 
			
		||||
          ],
 | 
			
		||||
          "isDeprecated": false
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "name": "sortPostCategories",
 | 
			
		||||
          "requestMessageName": "SortPostCategoriesRequest",
 | 
			
		||||
          "responseMessageName": "RPCSuccess",
 | 
			
		||||
          "code": "rpc sortPostCategories(SortPostCategoriesRequest) returns (RPCSuccess);",
 | 
			
		||||
          "doc": "对分类进行排序",
 | 
			
		||||
          "roles": [
 | 
			
		||||
            "admin"
 | 
			
		||||
          ],
 | 
			
		||||
          "isDeprecated": false
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
      "filename": "service_post_category.proto",
 | 
			
		||||
      "doc": "文章分类管理服务"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "name": "PriceService",
 | 
			
		||||
      "methods": [
 | 
			
		||||
@@ -14789,6 +14960,11 @@
 | 
			
		||||
      "code": "message CountNodeLogsRequest {\n\tint64 nodeClusterId = 11;\n\tint64 nodeId = 1;\n\tstring role = 2;\n\tstring dayFrom = 3;\n\tstring dayTo = 4;\n\tstring keyword = 5;\n\tstring level = 6;\n\tint64 serverId = 7;\n\tint64 originId = 8;\n\tbool isUnread = 9;\n\tstring tag = 10;\n\tint32 fixedState = 12;\n\tbool allServers = 13; // 是否获取所有服务相关的日志\n}",
 | 
			
		||||
      "doc": "查询日志数量"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "name": "CountPostsRequest",
 | 
			
		||||
      "code": "message CountPostsRequest {\n\tint64 postCategoryId = 1; // 分类ID\n\tstring productCode = 2; // 产品代号\n\tbool publishedOnly = 3; // 只列出已发布的\n}",
 | 
			
		||||
      "doc": "计算文章数量"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "name": "CountSSLCertRequest",
 | 
			
		||||
      "code": "message CountSSLCertRequest {\n\tbool isCA = 1; // 可选项,是否为CA证书\n\tbool isAvailable = 2; // 可选项,是否可用(在有效期内)\n\tbool isExpired = 3; // 可选项,是否已过期\n\tint32 expiringDays = 4; // 可选项,离过期日的天数\n\tstring keyword = 5; // 可选项,关键词\n\tint64 userId = 6; // 可选项,用户ID,不填则表示读取管理员上传的证书\n\trepeated string domains = 7; // 可选项,搜索使用的域名列表\n\tbool userOnly = 8; // 可选项,只列出用户上传的证书\n}",
 | 
			
		||||
@@ -15654,6 +15830,26 @@
 | 
			
		||||
      "code": "message CreatePlanResponse {\n\tint64 planId = 1;\n}",
 | 
			
		||||
      "doc": ""
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "name": "CreatePostCategoryRequest",
 | 
			
		||||
      "code": "message CreatePostCategoryRequest {\n\tstring name = 1; // 分类名称\n\tstring code = 2; // 分类代号\n}",
 | 
			
		||||
      "doc": "创建分类"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "name": "CreatePostCategoryResponse",
 | 
			
		||||
      "code": "message CreatePostCategoryResponse {\n\tint64 postCategoryId = 1; // 分类ID\n}",
 | 
			
		||||
      "doc": ""
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "name": "CreatePostRequest",
 | 
			
		||||
      "code": "message CreatePostRequest {\n\tint64 postCategoryId = 1; // 文章分类ID\n\tstring type = 2; // 类型:normal, url\n\tstring productCode = 3; // 产品代号\n\tstring subject = 4; // 标题\n\tstring url = 5; // 跳转的URL(type=url)\n\tstring body = 6; // 文章内容(type=normal)\n}",
 | 
			
		||||
      "doc": "创建文章"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "name": "CreatePostResponse",
 | 
			
		||||
      "code": "message CreatePostResponse {\n\tint64 postId = 1; // 文章ID\n}",
 | 
			
		||||
      "doc": ""
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "name": "CreateReportNodeGroupRequest",
 | 
			
		||||
      "code": "message CreateReportNodeGroupRequest {\n\tstring name = 1;\n}",
 | 
			
		||||
@@ -16249,6 +16445,16 @@
 | 
			
		||||
      "code": "message DeletePlanRequest {\n\tint64 planId = 1; // 套餐ID\n}",
 | 
			
		||||
      "doc": "删除套餐"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "name": "DeletePostCategoryRequest",
 | 
			
		||||
      "code": "message DeletePostCategoryRequest {\n\tint64 postCategoryId = 1; // 分类ID\n}",
 | 
			
		||||
      "doc": "删除分类"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "name": "DeletePostRequest",
 | 
			
		||||
      "code": "message DeletePostRequest {\n\tint64 postId = 1; // 文章ID\n}",
 | 
			
		||||
      "doc": "删除文章"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "name": "DeleteReportNodeGroupRequest",
 | 
			
		||||
      "code": "message DeleteReportNodeGroupRequest {\n\tint64 reportNodeGroupId = 1;\n}",
 | 
			
		||||
@@ -16799,6 +17005,16 @@
 | 
			
		||||
      "code": "message FindAllAvailablePlansResponse {\n\trepeated Plan plans = 1; // 套餐列表\n}",
 | 
			
		||||
      "doc": ""
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "name": "FindAllAvailablePostCategoriesRequest",
 | 
			
		||||
      "code": "message FindAllAvailablePostCategoriesRequest {\n\n}",
 | 
			
		||||
      "doc": "列出所有可用分类"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "name": "FindAllAvailablePostCategoriesResponse",
 | 
			
		||||
      "code": "message FindAllAvailablePostCategoriesResponse {\n\trepeated PostCategory postCategories = 1; // 分类列表\n}",
 | 
			
		||||
      "doc": ""
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "name": "FindAllAvailableTrafficPackagePeriodsRequest",
 | 
			
		||||
      "code": "message FindAllAvailableTrafficPackagePeriodsRequest {\n\n}",
 | 
			
		||||
@@ -17524,6 +17740,16 @@
 | 
			
		||||
      "code": "message FindAllNotInstalledNodesWithNodeClusterIdResponse {\n\trepeated Node nodes = 1;\n}",
 | 
			
		||||
      "doc": ""
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "name": "FindAllPostCategoriesRequest",
 | 
			
		||||
      "code": "message FindAllPostCategoriesRequest {\n\n}",
 | 
			
		||||
      "doc": "列出所有分类"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "name": "FindAllPostCategoriesResponse",
 | 
			
		||||
      "code": "message FindAllPostCategoriesResponse {\n\trepeated PostCategory postCategories = 1; // 分类列表\n}",
 | 
			
		||||
      "doc": ""
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "name": "FindAllPublicRoutesRequest",
 | 
			
		||||
      "code": "message FindAllPublicRoutesRequest {\n\n}",
 | 
			
		||||
@@ -19654,6 +19880,26 @@
 | 
			
		||||
      "code": "message FindNotifyingNodeTasksResponse {\n\trepeated NodeTask nodeTasks = 1;\n}",
 | 
			
		||||
      "doc": ""
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "name": "FindPostCategoryRequest",
 | 
			
		||||
      "code": "message FindPostCategoryRequest {\n\tint64 postCategoryId = 1; // 分类ID\n}",
 | 
			
		||||
      "doc": "查询单个分类"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "name": "FindPostCategoryResponse",
 | 
			
		||||
      "code": "message FindPostCategoryResponse {\n\tPostCategory postCategory = 1; // 分类信息\n}",
 | 
			
		||||
      "doc": ""
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "name": "FindPostRequest",
 | 
			
		||||
      "code": "message FindPostRequest {\n\tint64 postId = 1; // 文章ID\n}",
 | 
			
		||||
      "doc": "查询单篇文章"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "name": "FindPostResponse",
 | 
			
		||||
      "code": "message FindPostResponse {\n\tPost post = 1; // 文章信息\n}",
 | 
			
		||||
      "doc": ""
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "name": "FindPublicIPLibraryArtifactRequest",
 | 
			
		||||
      "code": "message FindPublicIPLibraryArtifactRequest {\n\n}",
 | 
			
		||||
@@ -20859,6 +21105,16 @@
 | 
			
		||||
      "code": "message ListNodeValuesResponse {\n\trepeated NodeValue nodeValues = 1;\n}",
 | 
			
		||||
      "doc": ""
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "name": "ListPostsRequest",
 | 
			
		||||
      "code": "message ListPostsRequest {\n\tint64 offset = 1;\n\tint64 size = 2;\n\n\tstring productCode = 3; // 产品代号\n\tint64 postCategoryId = 4; // 分类ID\n\tstring postCategoryCode = 5; // 分类代号\n\tstring excludingPostCategoryCode = 6; // 排除的分类代号\n\tbool publishedOnly = 7; // 只列出已发布的\n\tbool containsBody = 8; // 是否包含文章内容\n}",
 | 
			
		||||
      "doc": "列出单页文章"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "name": "ListPostsResponse",
 | 
			
		||||
      "code": "message ListPostsResponse {\n\trepeated Post posts = 1; // 文章列表\n}",
 | 
			
		||||
      "doc": ""
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "name": "ListReportNodeTasksRequest",
 | 
			
		||||
      "code": "message ListReportNodeTasksRequest {\n\tstring role = 1;\n\tint64 nodeClusterId = 2;\n\tstring type = 3;\n\tint64 offset = 4;\n\tint64 size = 5;\n}",
 | 
			
		||||
@@ -21394,6 +21650,21 @@
 | 
			
		||||
      "code": "message Plan {\n\tint64 id = 1; // 套餐ID\n\tbool isOn = 2; // 是否启用\n\tstring name = 3; // 套餐名称\n\tstring description = 21; // 套餐简介\n\tint64 clusterId = 4;  // 集群ID\n\tbytes trafficLimitJSON = 5; // 流量限制\n\tbool hasFullFeatures = 20; // 是否有所有权限\n\tbytes featuresJSON = 6; // 权限列表,[code1, code2, ...]\n\tstring priceType = 7; // 价格类型:traffic, bandwidth, period\n\tbytes trafficPriceJSON = 8; // 流量价格配置\n\tbytes bandwidthPriceJSON = 12; // 带宽价格配置\n\tdouble monthlyPrice = 9; // 月度价格\n\tdouble seasonallyPrice = 10;  // 季度价格\n\tdouble yearlyPrice = 11;  // 年度价格\n\tint32 totalServers = 13; // 可以添加的网站数\n\tint32 totalServerNamesPerServer = 14; // 每个网站可以添加的域名数\n\tint32 totalServerNames = 15; // 可以添加的域名总数\n\tint64 dailyRequests = 16; // 每日访问量额度\n\tint64 monthlyRequests = 17; // 每月访问量额度\n\tint64 dailyWebsocketConnections = 18; // 每日Websocket连接数额度\n\tint64 monthlyWebsocketConnections = 19; // 每月Websocket连接数额度\n}",
 | 
			
		||||
      "doc": ""
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "name": "Post",
 | 
			
		||||
      "code": "message Post {\n\tint64 id = 1; // ID\n\tint64 postCategoryId = 2; // 分类ID\n\tstring productCode = 3; // 产品代号\n\tstring type = 4; // 类型:normal, url\n\tstring subject = 5; // 标题\n\tstring url = 6; // URL\n\tstring body = 7; // 内容\n\tint64 createdAt = 8; // 创建时间\n\tbool isPublished = 9; // 是否已发布\n\tint64 publishedAt = 10; // 发布时间\n\n\tPostCategory postCategory = 30; // 分类信息\n}",
 | 
			
		||||
      "doc": "文章"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "name": "PostCategory",
 | 
			
		||||
      "code": "message PostCategory {\n\tint64 id = 1; // ID\n\tstring name = 2; // 名称\n\tstring code = 3; // 文章代号\n\tbool isOn = 4; // 是否启用\n}",
 | 
			
		||||
      "doc": "文章分类"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "name": "PublishPostRequest",
 | 
			
		||||
      "code": "message PublishPostRequest {\n\tint64 postId = 1; // 文章ID\n}",
 | 
			
		||||
      "doc": "发布文章"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "name": "PublishScriptsRequest",
 | 
			
		||||
      "code": "message PublishScriptsRequest {\n\tint64  userId = 1;\n}",
 | 
			
		||||
@@ -21719,6 +21990,11 @@
 | 
			
		||||
      "code": "message SortPlansRequest {\n\trepeated int64 planIds = 1; // 排序后的套餐ID列表\n}",
 | 
			
		||||
      "doc": "对套餐进行排序"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "name": "SortPostCategoriesRequest",
 | 
			
		||||
      "code": "message SortPostCategoriesRequest {\n\trepeated int64 postCategoryIds = 1; // 分类ID列表\n}",
 | 
			
		||||
      "doc": "对分类进行排序"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "name": "StartNSNodeRequest",
 | 
			
		||||
      "code": "message StartNSNodeRequest {\n\tint64 nsNodeId = 1;\n}",
 | 
			
		||||
@@ -22794,6 +23070,16 @@
 | 
			
		||||
      "code": "message UpdatePlanRequest {\n\tint64 planId = 1; // 套餐ID\n\tstring name = 2; // 套餐名称\n\tstring description = 21; // 套餐简介\n\tbool isOn = 3; // 是否启用\n\tint64 clusterId = 4; // 集群ID\n\tbytes trafficLimitJSON = 5; // 流量限制\n\tbool hasFullFeatures = 20; // 是否有所有权限\n\tbytes featuresJSON = 6; // 权限列表,[code1, code2, ...]\n\tstring priceType = 7; // 价格类型:traffic, bandwidth, period\n\tbytes trafficPriceJSON = 8; // 流量价格配置\n\tbytes bandwidthPriceJSON = 12; // 带宽价格配置\n\tfloat monthlyPrice = 9; // 月费用\n\tfloat seasonallyPrice = 10; // 季度费用\n\tfloat yearlyPrice = 11; // 年度费用\n\tint32 totalServers = 13; // 可以添加的网站数\n\tint32 totalServerNamesPerServer = 14; // 每个网站可以添加的域名数\n\tint32 totalServerNames = 15; // 可以添加的域名总数\n\tint64 dailyRequests = 16; // 每日访问量额度\n\tint64 monthlyRequests = 17; // 每月访问量额度\n\tint64 dailyWebsocketConnections = 18; // 每日Websocket连接数额度\n\tint64 monthlyWebsocketConnections = 19; // 每月Websocket连接数额度\n}",
 | 
			
		||||
      "doc": "修改套餐"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "name": "UpdatePostCategoryRequest",
 | 
			
		||||
      "code": "message UpdatePostCategoryRequest {\n\tint64 postCategoryId = 1; // 分类ID\n\tstring name = 2; // 分类名称\n\tstring code = 3; // 分类代号\n\tbool isOn = 4; // 是否启用\n}",
 | 
			
		||||
      "doc": "修改分类"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "name": "UpdatePostRequest",
 | 
			
		||||
      "code": "message UpdatePostRequest {\n\tint64 postId = 1; // 文章ID\n\tint64 postCategoryId = 2; // 文章分类ID\n\tstring productCode = 3; // 产品代号\n\tstring subject = 4; // 标题\n\tstring type = 5; // 类型:normal, url\n\tstring url = 6; // 跳转的URL(type=url)\n\tstring body = 7; // 文章内容(type=normal)\n}",
 | 
			
		||||
      "doc": "修改文章"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "name": "UpdateRegionCityCustomRequest",
 | 
			
		||||
      "code": "message UpdateRegionCityCustomRequest {\n\tint64 regionCityId = 1;\n\tstring customName = 2;\n\trepeated string customCodes = 3;\n}",
 | 
			
		||||
 
 | 
			
		||||
@@ -449,6 +449,11 @@ const (
 | 
			
		||||
	Plan_LogDeletePlan                                          langs.MessageCode = "plan@log_delete_plan"                                                // 删除套餐 %d
 | 
			
		||||
	Plan_LogSortPlans                                           langs.MessageCode = "plan@log_sort_plans"                                                 // 对套餐进行排序
 | 
			
		||||
	Plan_LogUpdatePlan                                          langs.MessageCode = "plan@log_update_plan"                                                // 修改套餐 %d
 | 
			
		||||
	Post_LogCreatePost                                          langs.MessageCode = "post@log_create_post"                                                // 创建文章 %d
 | 
			
		||||
	Post_LogDeletePost                                          langs.MessageCode = "post@log_delete_post"                                                // 删除文章 %d
 | 
			
		||||
	Post_LogPublishPost                                         langs.MessageCode = "post@log_publish_post"                                               // 发布文章 %d
 | 
			
		||||
	Post_LogUpdatePost                                          langs.MessageCode = "post@log_update_post"                                                // 修改文章 %d
 | 
			
		||||
	Post_ProductGlobal                                          langs.MessageCode = "post@product_global"                                                 // 全站
 | 
			
		||||
	RegionCity_LogAddRegionCityCode                             langs.MessageCode = "region_city@log_add_region_city_code"                                // 添加城市/市 %d 别名 %s
 | 
			
		||||
	RegionCity_LogUpdateRegionCityCustom                        langs.MessageCode = "region_city@log_update_region_city_custom"                           // 定制城市 %d 信息
 | 
			
		||||
	RegionCountry_LogAddRegionCountryCode                       langs.MessageCode = "region_country@log_add_region_country_code"                          // 添加国家/地区 %d 别名 %s
 | 
			
		||||
 
 | 
			
		||||
@@ -450,6 +450,11 @@ func init() {
 | 
			
		||||
		"plan@log_delete_plan":                                                "",
 | 
			
		||||
		"plan@log_sort_plans":                                                 "",
 | 
			
		||||
		"plan@log_update_plan":                                                "",
 | 
			
		||||
		"post@log_create_post":                                                "",
 | 
			
		||||
		"post@log_delete_post":                                                "",
 | 
			
		||||
		"post@log_publish_post":                                               "",
 | 
			
		||||
		"post@log_update_post":                                                "",
 | 
			
		||||
		"post@product_global":                                                 "",
 | 
			
		||||
		"region_city@log_add_region_city_code":                                "",
 | 
			
		||||
		"region_city@log_update_region_city_custom":                           "",
 | 
			
		||||
		"region_country@log_add_region_country_code":                          "",
 | 
			
		||||
 
 | 
			
		||||
@@ -450,6 +450,11 @@ func init() {
 | 
			
		||||
		"plan@log_delete_plan":                                                "删除套餐 %d",
 | 
			
		||||
		"plan@log_sort_plans":                                                 "对套餐进行排序",
 | 
			
		||||
		"plan@log_update_plan":                                                "修改套餐 %d",
 | 
			
		||||
		"post@log_create_post":                                                "创建文章 %d",
 | 
			
		||||
		"post@log_delete_post":                                                "删除文章 %d",
 | 
			
		||||
		"post@log_publish_post":                                               "发布文章 %d",
 | 
			
		||||
		"post@log_update_post":                                                "修改文章 %d",
 | 
			
		||||
		"post@product_global":                                                 "全站",
 | 
			
		||||
		"region_city@log_add_region_city_code":                                "添加城市/市 %d 别名 %s",
 | 
			
		||||
		"region_city@log_update_region_city_custom":                           "定制城市 %d 信息",
 | 
			
		||||
		"region_country@log_add_region_country_code":                          "添加国家/地区 %d 别名 %s",
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										8
									
								
								pkg/langs/protos/zh-cn/post.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								pkg/langs/protos/zh-cn/post.json
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,8 @@
 | 
			
		||||
{
 | 
			
		||||
  "product_global": "全站",
 | 
			
		||||
 | 
			
		||||
  "log_create_post": "创建文章 %d",
 | 
			
		||||
  "log_publish_post": "发布文章 %d",
 | 
			
		||||
  "log_delete_post": "删除文章 %d",
 | 
			
		||||
  "log_update_post": "修改文章 %d"
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										246
									
								
								pkg/rpc/pb/model_post.pb.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										246
									
								
								pkg/rpc/pb/model_post.pb.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,246 @@
 | 
			
		||||
// Code generated by protoc-gen-go. DO NOT EDIT.
 | 
			
		||||
// versions:
 | 
			
		||||
// 	protoc-gen-go v1.31.0
 | 
			
		||||
// 	protoc        v3.19.4
 | 
			
		||||
// source: models/model_post.proto
 | 
			
		||||
 | 
			
		||||
package pb
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
 | 
			
		||||
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
 | 
			
		||||
	reflect "reflect"
 | 
			
		||||
	sync "sync"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	// Verify that this generated code is sufficiently up-to-date.
 | 
			
		||||
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
 | 
			
		||||
	// Verify that runtime/protoimpl is sufficiently up-to-date.
 | 
			
		||||
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// 文章
 | 
			
		||||
type Post struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	Id             int64         `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`                         // ID
 | 
			
		||||
	PostCategoryId int64         `protobuf:"varint,2,opt,name=postCategoryId,proto3" json:"postCategoryId,omitempty"` // 分类ID
 | 
			
		||||
	ProductCode    string        `protobuf:"bytes,3,opt,name=productCode,proto3" json:"productCode,omitempty"`        // 产品代号
 | 
			
		||||
	Type           string        `protobuf:"bytes,4,opt,name=type,proto3" json:"type,omitempty"`                      // 类型:normal, url
 | 
			
		||||
	Subject        string        `protobuf:"bytes,5,opt,name=subject,proto3" json:"subject,omitempty"`                // 标题
 | 
			
		||||
	Url            string        `protobuf:"bytes,6,opt,name=url,proto3" json:"url,omitempty"`                        // URL
 | 
			
		||||
	Body           string        `protobuf:"bytes,7,opt,name=body,proto3" json:"body,omitempty"`                      // 内容
 | 
			
		||||
	CreatedAt      int64         `protobuf:"varint,8,opt,name=createdAt,proto3" json:"createdAt,omitempty"`           // 创建时间
 | 
			
		||||
	IsPublished    bool          `protobuf:"varint,9,opt,name=isPublished,proto3" json:"isPublished,omitempty"`       // 是否已发布
 | 
			
		||||
	PublishedAt    int64         `protobuf:"varint,10,opt,name=publishedAt,proto3" json:"publishedAt,omitempty"`      // 发布时间
 | 
			
		||||
	PostCategory   *PostCategory `protobuf:"bytes,30,opt,name=postCategory,proto3" json:"postCategory,omitempty"`     // 分类信息
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *Post) Reset() {
 | 
			
		||||
	*x = Post{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_models_model_post_proto_msgTypes[0]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *Post) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*Post) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *Post) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_models_model_post_proto_msgTypes[0]
 | 
			
		||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		if ms.LoadMessageInfo() == nil {
 | 
			
		||||
			ms.StoreMessageInfo(mi)
 | 
			
		||||
		}
 | 
			
		||||
		return ms
 | 
			
		||||
	}
 | 
			
		||||
	return mi.MessageOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Deprecated: Use Post.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*Post) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_models_model_post_proto_rawDescGZIP(), []int{0}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *Post) GetId() int64 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Id
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *Post) GetPostCategoryId() int64 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.PostCategoryId
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *Post) GetProductCode() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.ProductCode
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *Post) GetType() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Type
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *Post) GetSubject() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Subject
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *Post) GetUrl() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Url
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *Post) GetBody() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Body
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *Post) GetCreatedAt() int64 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.CreatedAt
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *Post) GetIsPublished() bool {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.IsPublished
 | 
			
		||||
	}
 | 
			
		||||
	return false
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *Post) GetPublishedAt() int64 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.PublishedAt
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *Post) GetPostCategory() *PostCategory {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.PostCategory
 | 
			
		||||
	}
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var File_models_model_post_proto protoreflect.FileDescriptor
 | 
			
		||||
 | 
			
		||||
var file_models_model_post_proto_rawDesc = []byte{
 | 
			
		||||
	0x0a, 0x17, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x70,
 | 
			
		||||
	0x6f, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x1a, 0x20, 0x6d,
 | 
			
		||||
	0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x70, 0x6f, 0x73, 0x74,
 | 
			
		||||
	0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
 | 
			
		||||
	0xcc, 0x02, 0x0a, 0x04, 0x50, 0x6f, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01,
 | 
			
		||||
	0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x70, 0x6f, 0x73, 0x74,
 | 
			
		||||
	0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03,
 | 
			
		||||
	0x52, 0x0e, 0x70, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64,
 | 
			
		||||
	0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18,
 | 
			
		||||
	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x43, 0x6f,
 | 
			
		||||
	0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
 | 
			
		||||
	0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63,
 | 
			
		||||
	0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74,
 | 
			
		||||
	0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75,
 | 
			
		||||
	0x72, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09,
 | 
			
		||||
	0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
 | 
			
		||||
	0x64, 0x41, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74,
 | 
			
		||||
	0x65, 0x64, 0x41, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x73, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73,
 | 
			
		||||
	0x68, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x50, 0x75, 0x62,
 | 
			
		||||
	0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73,
 | 
			
		||||
	0x68, 0x65, 0x64, 0x41, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x70, 0x75, 0x62,
 | 
			
		||||
	0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x41, 0x74, 0x12, 0x34, 0x0a, 0x0c, 0x70, 0x6f, 0x73, 0x74,
 | 
			
		||||
	0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10,
 | 
			
		||||
	0x2e, 0x70, 0x62, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79,
 | 
			
		||||
	0x52, 0x0c, 0x70, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x42, 0x06,
 | 
			
		||||
	0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var (
 | 
			
		||||
	file_models_model_post_proto_rawDescOnce sync.Once
 | 
			
		||||
	file_models_model_post_proto_rawDescData = file_models_model_post_proto_rawDesc
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func file_models_model_post_proto_rawDescGZIP() []byte {
 | 
			
		||||
	file_models_model_post_proto_rawDescOnce.Do(func() {
 | 
			
		||||
		file_models_model_post_proto_rawDescData = protoimpl.X.CompressGZIP(file_models_model_post_proto_rawDescData)
 | 
			
		||||
	})
 | 
			
		||||
	return file_models_model_post_proto_rawDescData
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var file_models_model_post_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
 | 
			
		||||
var file_models_model_post_proto_goTypes = []interface{}{
 | 
			
		||||
	(*Post)(nil),         // 0: pb.Post
 | 
			
		||||
	(*PostCategory)(nil), // 1: pb.PostCategory
 | 
			
		||||
}
 | 
			
		||||
var file_models_model_post_proto_depIdxs = []int32{
 | 
			
		||||
	1, // 0: pb.Post.postCategory:type_name -> pb.PostCategory
 | 
			
		||||
	1, // [1:1] is the sub-list for method output_type
 | 
			
		||||
	1, // [1:1] is the sub-list for method input_type
 | 
			
		||||
	1, // [1:1] is the sub-list for extension type_name
 | 
			
		||||
	1, // [1:1] is the sub-list for extension extendee
 | 
			
		||||
	0, // [0:1] is the sub-list for field type_name
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func init() { file_models_model_post_proto_init() }
 | 
			
		||||
func file_models_model_post_proto_init() {
 | 
			
		||||
	if File_models_model_post_proto != nil {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
	file_models_model_post_category_proto_init()
 | 
			
		||||
	if !protoimpl.UnsafeEnabled {
 | 
			
		||||
		file_models_model_post_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*Post); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
				return &v.sizeCache
 | 
			
		||||
			case 2:
 | 
			
		||||
				return &v.unknownFields
 | 
			
		||||
			default:
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	type x struct{}
 | 
			
		||||
	out := protoimpl.TypeBuilder{
 | 
			
		||||
		File: protoimpl.DescBuilder{
 | 
			
		||||
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
 | 
			
		||||
			RawDescriptor: file_models_model_post_proto_rawDesc,
 | 
			
		||||
			NumEnums:      0,
 | 
			
		||||
			NumMessages:   1,
 | 
			
		||||
			NumExtensions: 0,
 | 
			
		||||
			NumServices:   0,
 | 
			
		||||
		},
 | 
			
		||||
		GoTypes:           file_models_model_post_proto_goTypes,
 | 
			
		||||
		DependencyIndexes: file_models_model_post_proto_depIdxs,
 | 
			
		||||
		MessageInfos:      file_models_model_post_proto_msgTypes,
 | 
			
		||||
	}.Build()
 | 
			
		||||
	File_models_model_post_proto = out.File
 | 
			
		||||
	file_models_model_post_proto_rawDesc = nil
 | 
			
		||||
	file_models_model_post_proto_goTypes = nil
 | 
			
		||||
	file_models_model_post_proto_depIdxs = nil
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										171
									
								
								pkg/rpc/pb/model_post_category.pb.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										171
									
								
								pkg/rpc/pb/model_post_category.pb.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,171 @@
 | 
			
		||||
// Code generated by protoc-gen-go. DO NOT EDIT.
 | 
			
		||||
// versions:
 | 
			
		||||
// 	protoc-gen-go v1.31.0
 | 
			
		||||
// 	protoc        v3.19.4
 | 
			
		||||
// source: models/model_post_category.proto
 | 
			
		||||
 | 
			
		||||
package pb
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
 | 
			
		||||
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
 | 
			
		||||
	reflect "reflect"
 | 
			
		||||
	sync "sync"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	// Verify that this generated code is sufficiently up-to-date.
 | 
			
		||||
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
 | 
			
		||||
	// Verify that runtime/protoimpl is sufficiently up-to-date.
 | 
			
		||||
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// 文章分类
 | 
			
		||||
type PostCategory struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	Id   int64  `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`     // ID
 | 
			
		||||
	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`  // 名称
 | 
			
		||||
	Code string `protobuf:"bytes,3,opt,name=code,proto3" json:"code,omitempty"`  // 文章代号
 | 
			
		||||
	IsOn bool   `protobuf:"varint,4,opt,name=isOn,proto3" json:"isOn,omitempty"` // 是否启用
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *PostCategory) Reset() {
 | 
			
		||||
	*x = PostCategory{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_models_model_post_category_proto_msgTypes[0]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *PostCategory) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*PostCategory) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *PostCategory) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_models_model_post_category_proto_msgTypes[0]
 | 
			
		||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		if ms.LoadMessageInfo() == nil {
 | 
			
		||||
			ms.StoreMessageInfo(mi)
 | 
			
		||||
		}
 | 
			
		||||
		return ms
 | 
			
		||||
	}
 | 
			
		||||
	return mi.MessageOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Deprecated: Use PostCategory.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*PostCategory) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_models_model_post_category_proto_rawDescGZIP(), []int{0}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *PostCategory) GetId() int64 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Id
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *PostCategory) GetName() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Name
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *PostCategory) GetCode() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Code
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *PostCategory) GetIsOn() bool {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.IsOn
 | 
			
		||||
	}
 | 
			
		||||
	return false
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var File_models_model_post_category_proto protoreflect.FileDescriptor
 | 
			
		||||
 | 
			
		||||
var file_models_model_post_category_proto_rawDesc = []byte{
 | 
			
		||||
	0x0a, 0x20, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x70,
 | 
			
		||||
	0x6f, 0x73, 0x74, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f,
 | 
			
		||||
	0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x22, 0x5a, 0x0a, 0x0c, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x61,
 | 
			
		||||
	0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
 | 
			
		||||
	0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02,
 | 
			
		||||
	0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f,
 | 
			
		||||
	0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x12,
 | 
			
		||||
	0x0a, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73,
 | 
			
		||||
	0x4f, 0x6e, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
 | 
			
		||||
	0x6f, 0x33,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var (
 | 
			
		||||
	file_models_model_post_category_proto_rawDescOnce sync.Once
 | 
			
		||||
	file_models_model_post_category_proto_rawDescData = file_models_model_post_category_proto_rawDesc
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func file_models_model_post_category_proto_rawDescGZIP() []byte {
 | 
			
		||||
	file_models_model_post_category_proto_rawDescOnce.Do(func() {
 | 
			
		||||
		file_models_model_post_category_proto_rawDescData = protoimpl.X.CompressGZIP(file_models_model_post_category_proto_rawDescData)
 | 
			
		||||
	})
 | 
			
		||||
	return file_models_model_post_category_proto_rawDescData
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var file_models_model_post_category_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
 | 
			
		||||
var file_models_model_post_category_proto_goTypes = []interface{}{
 | 
			
		||||
	(*PostCategory)(nil), // 0: pb.PostCategory
 | 
			
		||||
}
 | 
			
		||||
var file_models_model_post_category_proto_depIdxs = []int32{
 | 
			
		||||
	0, // [0:0] is the sub-list for method output_type
 | 
			
		||||
	0, // [0:0] is the sub-list for method input_type
 | 
			
		||||
	0, // [0:0] is the sub-list for extension type_name
 | 
			
		||||
	0, // [0:0] is the sub-list for extension extendee
 | 
			
		||||
	0, // [0:0] is the sub-list for field type_name
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func init() { file_models_model_post_category_proto_init() }
 | 
			
		||||
func file_models_model_post_category_proto_init() {
 | 
			
		||||
	if File_models_model_post_category_proto != nil {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
	if !protoimpl.UnsafeEnabled {
 | 
			
		||||
		file_models_model_post_category_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*PostCategory); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
				return &v.sizeCache
 | 
			
		||||
			case 2:
 | 
			
		||||
				return &v.unknownFields
 | 
			
		||||
			default:
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	type x struct{}
 | 
			
		||||
	out := protoimpl.TypeBuilder{
 | 
			
		||||
		File: protoimpl.DescBuilder{
 | 
			
		||||
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
 | 
			
		||||
			RawDescriptor: file_models_model_post_category_proto_rawDesc,
 | 
			
		||||
			NumEnums:      0,
 | 
			
		||||
			NumMessages:   1,
 | 
			
		||||
			NumExtensions: 0,
 | 
			
		||||
			NumServices:   0,
 | 
			
		||||
		},
 | 
			
		||||
		GoTypes:           file_models_model_post_category_proto_goTypes,
 | 
			
		||||
		DependencyIndexes: file_models_model_post_category_proto_depIdxs,
 | 
			
		||||
		MessageInfos:      file_models_model_post_category_proto_msgTypes,
 | 
			
		||||
	}.Build()
 | 
			
		||||
	File_models_model_post_category_proto = out.File
 | 
			
		||||
	file_models_model_post_category_proto_rawDesc = nil
 | 
			
		||||
	file_models_model_post_category_proto_goTypes = nil
 | 
			
		||||
	file_models_model_post_category_proto_depIdxs = nil
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										966
									
								
								pkg/rpc/pb/service_post.pb.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										966
									
								
								pkg/rpc/pb/service_post.pb.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,966 @@
 | 
			
		||||
// Code generated by protoc-gen-go. DO NOT EDIT.
 | 
			
		||||
// versions:
 | 
			
		||||
// 	protoc-gen-go v1.31.0
 | 
			
		||||
// 	protoc        v3.19.4
 | 
			
		||||
// source: service_post.proto
 | 
			
		||||
 | 
			
		||||
package pb
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
 | 
			
		||||
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
 | 
			
		||||
	reflect "reflect"
 | 
			
		||||
	sync "sync"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	// Verify that this generated code is sufficiently up-to-date.
 | 
			
		||||
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
 | 
			
		||||
	// Verify that runtime/protoimpl is sufficiently up-to-date.
 | 
			
		||||
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// 创建文章
 | 
			
		||||
type CreatePostRequest struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	PostCategoryId int64  `protobuf:"varint,1,opt,name=postCategoryId,proto3" json:"postCategoryId,omitempty"` // 文章分类ID
 | 
			
		||||
	Type           string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"`                      // 类型:normal, url
 | 
			
		||||
	ProductCode    string `protobuf:"bytes,3,opt,name=productCode,proto3" json:"productCode,omitempty"`        // 产品代号
 | 
			
		||||
	Subject        string `protobuf:"bytes,4,opt,name=subject,proto3" json:"subject,omitempty"`                // 标题
 | 
			
		||||
	Url            string `protobuf:"bytes,5,opt,name=url,proto3" json:"url,omitempty"`                        // 跳转的URL(type=url)
 | 
			
		||||
	Body           string `protobuf:"bytes,6,opt,name=body,proto3" json:"body,omitempty"`                      // 文章内容(type=normal)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *CreatePostRequest) Reset() {
 | 
			
		||||
	*x = CreatePostRequest{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_post_proto_msgTypes[0]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *CreatePostRequest) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*CreatePostRequest) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *CreatePostRequest) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_post_proto_msgTypes[0]
 | 
			
		||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		if ms.LoadMessageInfo() == nil {
 | 
			
		||||
			ms.StoreMessageInfo(mi)
 | 
			
		||||
		}
 | 
			
		||||
		return ms
 | 
			
		||||
	}
 | 
			
		||||
	return mi.MessageOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Deprecated: Use CreatePostRequest.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*CreatePostRequest) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_post_proto_rawDescGZIP(), []int{0}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *CreatePostRequest) GetPostCategoryId() int64 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.PostCategoryId
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *CreatePostRequest) GetType() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Type
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *CreatePostRequest) GetProductCode() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.ProductCode
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *CreatePostRequest) GetSubject() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Subject
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *CreatePostRequest) GetUrl() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Url
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *CreatePostRequest) GetBody() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Body
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type CreatePostResponse struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	PostId int64 `protobuf:"varint,1,opt,name=postId,proto3" json:"postId,omitempty"` // 文章ID
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *CreatePostResponse) Reset() {
 | 
			
		||||
	*x = CreatePostResponse{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_post_proto_msgTypes[1]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *CreatePostResponse) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*CreatePostResponse) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *CreatePostResponse) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_post_proto_msgTypes[1]
 | 
			
		||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		if ms.LoadMessageInfo() == nil {
 | 
			
		||||
			ms.StoreMessageInfo(mi)
 | 
			
		||||
		}
 | 
			
		||||
		return ms
 | 
			
		||||
	}
 | 
			
		||||
	return mi.MessageOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Deprecated: Use CreatePostResponse.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*CreatePostResponse) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_post_proto_rawDescGZIP(), []int{1}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *CreatePostResponse) GetPostId() int64 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.PostId
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 修改文章
 | 
			
		||||
type UpdatePostRequest struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	PostId         int64  `protobuf:"varint,1,opt,name=postId,proto3" json:"postId,omitempty"`                 // 文章ID
 | 
			
		||||
	PostCategoryId int64  `protobuf:"varint,2,opt,name=postCategoryId,proto3" json:"postCategoryId,omitempty"` // 文章分类ID
 | 
			
		||||
	ProductCode    string `protobuf:"bytes,3,opt,name=productCode,proto3" json:"productCode,omitempty"`        // 产品代号
 | 
			
		||||
	Subject        string `protobuf:"bytes,4,opt,name=subject,proto3" json:"subject,omitempty"`                // 标题
 | 
			
		||||
	Type           string `protobuf:"bytes,5,opt,name=type,proto3" json:"type,omitempty"`                      // 类型:normal, url
 | 
			
		||||
	Url            string `protobuf:"bytes,6,opt,name=url,proto3" json:"url,omitempty"`                        // 跳转的URL(type=url)
 | 
			
		||||
	Body           string `protobuf:"bytes,7,opt,name=body,proto3" json:"body,omitempty"`                      // 文章内容(type=normal)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UpdatePostRequest) Reset() {
 | 
			
		||||
	*x = UpdatePostRequest{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_post_proto_msgTypes[2]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UpdatePostRequest) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*UpdatePostRequest) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *UpdatePostRequest) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_post_proto_msgTypes[2]
 | 
			
		||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		if ms.LoadMessageInfo() == nil {
 | 
			
		||||
			ms.StoreMessageInfo(mi)
 | 
			
		||||
		}
 | 
			
		||||
		return ms
 | 
			
		||||
	}
 | 
			
		||||
	return mi.MessageOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Deprecated: Use UpdatePostRequest.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*UpdatePostRequest) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_post_proto_rawDescGZIP(), []int{2}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UpdatePostRequest) GetPostId() int64 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.PostId
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UpdatePostRequest) GetPostCategoryId() int64 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.PostCategoryId
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UpdatePostRequest) GetProductCode() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.ProductCode
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UpdatePostRequest) GetSubject() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Subject
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UpdatePostRequest) GetType() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Type
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UpdatePostRequest) GetUrl() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Url
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UpdatePostRequest) GetBody() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Body
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 删除文章
 | 
			
		||||
type DeletePostRequest struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	PostId int64 `protobuf:"varint,1,opt,name=postId,proto3" json:"postId,omitempty"` // 文章ID
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *DeletePostRequest) Reset() {
 | 
			
		||||
	*x = DeletePostRequest{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_post_proto_msgTypes[3]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *DeletePostRequest) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*DeletePostRequest) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *DeletePostRequest) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_post_proto_msgTypes[3]
 | 
			
		||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		if ms.LoadMessageInfo() == nil {
 | 
			
		||||
			ms.StoreMessageInfo(mi)
 | 
			
		||||
		}
 | 
			
		||||
		return ms
 | 
			
		||||
	}
 | 
			
		||||
	return mi.MessageOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Deprecated: Use DeletePostRequest.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*DeletePostRequest) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_post_proto_rawDescGZIP(), []int{3}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *DeletePostRequest) GetPostId() int64 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.PostId
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 发布文章
 | 
			
		||||
type PublishPostRequest struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	PostId int64 `protobuf:"varint,1,opt,name=postId,proto3" json:"postId,omitempty"` // 文章ID
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *PublishPostRequest) Reset() {
 | 
			
		||||
	*x = PublishPostRequest{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_post_proto_msgTypes[4]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *PublishPostRequest) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*PublishPostRequest) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *PublishPostRequest) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_post_proto_msgTypes[4]
 | 
			
		||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		if ms.LoadMessageInfo() == nil {
 | 
			
		||||
			ms.StoreMessageInfo(mi)
 | 
			
		||||
		}
 | 
			
		||||
		return ms
 | 
			
		||||
	}
 | 
			
		||||
	return mi.MessageOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Deprecated: Use PublishPostRequest.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*PublishPostRequest) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_post_proto_rawDescGZIP(), []int{4}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *PublishPostRequest) GetPostId() int64 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.PostId
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 计算文章数量
 | 
			
		||||
type CountPostsRequest struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	PostCategoryId int64  `protobuf:"varint,1,opt,name=postCategoryId,proto3" json:"postCategoryId,omitempty"` // 分类ID
 | 
			
		||||
	ProductCode    string `protobuf:"bytes,2,opt,name=productCode,proto3" json:"productCode,omitempty"`        // 产品代号
 | 
			
		||||
	PublishedOnly  bool   `protobuf:"varint,3,opt,name=publishedOnly,proto3" json:"publishedOnly,omitempty"`   // 只列出已发布的
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *CountPostsRequest) Reset() {
 | 
			
		||||
	*x = CountPostsRequest{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_post_proto_msgTypes[5]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *CountPostsRequest) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*CountPostsRequest) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *CountPostsRequest) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_post_proto_msgTypes[5]
 | 
			
		||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		if ms.LoadMessageInfo() == nil {
 | 
			
		||||
			ms.StoreMessageInfo(mi)
 | 
			
		||||
		}
 | 
			
		||||
		return ms
 | 
			
		||||
	}
 | 
			
		||||
	return mi.MessageOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Deprecated: Use CountPostsRequest.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*CountPostsRequest) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_post_proto_rawDescGZIP(), []int{5}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *CountPostsRequest) GetPostCategoryId() int64 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.PostCategoryId
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *CountPostsRequest) GetProductCode() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.ProductCode
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *CountPostsRequest) GetPublishedOnly() bool {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.PublishedOnly
 | 
			
		||||
	}
 | 
			
		||||
	return false
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 列出单页文章
 | 
			
		||||
type ListPostsRequest struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	Offset                    int64  `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"`
 | 
			
		||||
	Size                      int64  `protobuf:"varint,2,opt,name=size,proto3" json:"size,omitempty"`
 | 
			
		||||
	ProductCode               string `protobuf:"bytes,3,opt,name=productCode,proto3" json:"productCode,omitempty"`                             // 产品代号
 | 
			
		||||
	PostCategoryId            int64  `protobuf:"varint,4,opt,name=postCategoryId,proto3" json:"postCategoryId,omitempty"`                      // 分类ID
 | 
			
		||||
	PostCategoryCode          string `protobuf:"bytes,5,opt,name=postCategoryCode,proto3" json:"postCategoryCode,omitempty"`                   // 分类代号
 | 
			
		||||
	ExcludingPostCategoryCode string `protobuf:"bytes,6,opt,name=excludingPostCategoryCode,proto3" json:"excludingPostCategoryCode,omitempty"` // 排除的分类代号
 | 
			
		||||
	PublishedOnly             bool   `protobuf:"varint,7,opt,name=publishedOnly,proto3" json:"publishedOnly,omitempty"`                        // 只列出已发布的
 | 
			
		||||
	ContainsBody              bool   `protobuf:"varint,8,opt,name=containsBody,proto3" json:"containsBody,omitempty"`                          // 是否包含文章内容
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListPostsRequest) Reset() {
 | 
			
		||||
	*x = ListPostsRequest{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_post_proto_msgTypes[6]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListPostsRequest) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*ListPostsRequest) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *ListPostsRequest) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_post_proto_msgTypes[6]
 | 
			
		||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		if ms.LoadMessageInfo() == nil {
 | 
			
		||||
			ms.StoreMessageInfo(mi)
 | 
			
		||||
		}
 | 
			
		||||
		return ms
 | 
			
		||||
	}
 | 
			
		||||
	return mi.MessageOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Deprecated: Use ListPostsRequest.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*ListPostsRequest) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_post_proto_rawDescGZIP(), []int{6}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListPostsRequest) GetOffset() int64 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Offset
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListPostsRequest) GetSize() int64 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Size
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListPostsRequest) GetProductCode() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.ProductCode
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListPostsRequest) GetPostCategoryId() int64 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.PostCategoryId
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListPostsRequest) GetPostCategoryCode() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.PostCategoryCode
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListPostsRequest) GetExcludingPostCategoryCode() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.ExcludingPostCategoryCode
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListPostsRequest) GetPublishedOnly() bool {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.PublishedOnly
 | 
			
		||||
	}
 | 
			
		||||
	return false
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListPostsRequest) GetContainsBody() bool {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.ContainsBody
 | 
			
		||||
	}
 | 
			
		||||
	return false
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type ListPostsResponse struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	Posts []*Post `protobuf:"bytes,1,rep,name=posts,proto3" json:"posts,omitempty"` // 文章列表
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListPostsResponse) Reset() {
 | 
			
		||||
	*x = ListPostsResponse{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_post_proto_msgTypes[7]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListPostsResponse) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*ListPostsResponse) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *ListPostsResponse) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_post_proto_msgTypes[7]
 | 
			
		||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		if ms.LoadMessageInfo() == nil {
 | 
			
		||||
			ms.StoreMessageInfo(mi)
 | 
			
		||||
		}
 | 
			
		||||
		return ms
 | 
			
		||||
	}
 | 
			
		||||
	return mi.MessageOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Deprecated: Use ListPostsResponse.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*ListPostsResponse) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_post_proto_rawDescGZIP(), []int{7}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListPostsResponse) GetPosts() []*Post {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Posts
 | 
			
		||||
	}
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 查询单篇文章
 | 
			
		||||
type FindPostRequest struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	PostId int64 `protobuf:"varint,1,opt,name=postId,proto3" json:"postId,omitempty"` // 文章ID
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindPostRequest) Reset() {
 | 
			
		||||
	*x = FindPostRequest{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_post_proto_msgTypes[8]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindPostRequest) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*FindPostRequest) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *FindPostRequest) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_post_proto_msgTypes[8]
 | 
			
		||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		if ms.LoadMessageInfo() == nil {
 | 
			
		||||
			ms.StoreMessageInfo(mi)
 | 
			
		||||
		}
 | 
			
		||||
		return ms
 | 
			
		||||
	}
 | 
			
		||||
	return mi.MessageOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Deprecated: Use FindPostRequest.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*FindPostRequest) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_post_proto_rawDescGZIP(), []int{8}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindPostRequest) GetPostId() int64 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.PostId
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type FindPostResponse struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	Post *Post `protobuf:"bytes,1,opt,name=post,proto3" json:"post,omitempty"` // 文章信息
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindPostResponse) Reset() {
 | 
			
		||||
	*x = FindPostResponse{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_post_proto_msgTypes[9]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindPostResponse) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*FindPostResponse) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *FindPostResponse) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_post_proto_msgTypes[9]
 | 
			
		||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		if ms.LoadMessageInfo() == nil {
 | 
			
		||||
			ms.StoreMessageInfo(mi)
 | 
			
		||||
		}
 | 
			
		||||
		return ms
 | 
			
		||||
	}
 | 
			
		||||
	return mi.MessageOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Deprecated: Use FindPostResponse.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*FindPostResponse) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_post_proto_rawDescGZIP(), []int{9}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindPostResponse) GetPost() *Post {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Post
 | 
			
		||||
	}
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var File_service_post_proto protoreflect.FileDescriptor
 | 
			
		||||
 | 
			
		||||
var file_service_post_proto_rawDesc = []byte{
 | 
			
		||||
	0x0a, 0x12, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x73, 0x74, 0x2e, 0x70,
 | 
			
		||||
	0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x1a, 0x17, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73,
 | 
			
		||||
	0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x70, 0x6f, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74,
 | 
			
		||||
	0x6f, 0x1a, 0x19, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x72, 0x70, 0x63, 0x5f, 0x6d, 0x65,
 | 
			
		||||
	0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb1, 0x01, 0x0a,
 | 
			
		||||
	0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
 | 
			
		||||
	0x73, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x70, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f,
 | 
			
		||||
	0x72, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x70, 0x6f, 0x73, 0x74,
 | 
			
		||||
	0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79,
 | 
			
		||||
	0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x20,
 | 
			
		||||
	0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20,
 | 
			
		||||
	0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x43, 0x6f, 0x64, 0x65,
 | 
			
		||||
	0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28,
 | 
			
		||||
	0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72,
 | 
			
		||||
	0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x12, 0x0a, 0x04,
 | 
			
		||||
	0x62, 0x6f, 0x64, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79,
 | 
			
		||||
	0x22, 0x2c, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x65,
 | 
			
		||||
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x73, 0x74, 0x49, 0x64,
 | 
			
		||||
	0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x70, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x22, 0xc9,
 | 
			
		||||
	0x01, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x71,
 | 
			
		||||
	0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x18, 0x01,
 | 
			
		||||
	0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x70, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0e,
 | 
			
		||||
	0x70, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x18, 0x02,
 | 
			
		||||
	0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x70, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f,
 | 
			
		||||
	0x72, 0x79, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x43,
 | 
			
		||||
	0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75,
 | 
			
		||||
	0x63, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63,
 | 
			
		||||
	0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74,
 | 
			
		||||
	0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
 | 
			
		||||
	0x74, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28,
 | 
			
		||||
	0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x07,
 | 
			
		||||
	0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x22, 0x2b, 0x0a, 0x11, 0x44, 0x65,
 | 
			
		||||
	0x6c, 0x65, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
 | 
			
		||||
	0x16, 0x0a, 0x06, 0x70, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52,
 | 
			
		||||
	0x06, 0x70, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x22, 0x2c, 0x0a, 0x12, 0x50, 0x75, 0x62, 0x6c, 0x69,
 | 
			
		||||
	0x73, 0x68, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a,
 | 
			
		||||
	0x06, 0x70, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x70,
 | 
			
		||||
	0x6f, 0x73, 0x74, 0x49, 0x64, 0x22, 0x83, 0x01, 0x0a, 0x11, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x50,
 | 
			
		||||
	0x6f, 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x70,
 | 
			
		||||
	0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20,
 | 
			
		||||
	0x01, 0x28, 0x03, 0x52, 0x0e, 0x70, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72,
 | 
			
		||||
	0x79, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x43, 0x6f,
 | 
			
		||||
	0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63,
 | 
			
		||||
	0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68,
 | 
			
		||||
	0x65, 0x64, 0x4f, 0x6e, 0x6c, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x70, 0x75,
 | 
			
		||||
	0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x4f, 0x6e, 0x6c, 0x79, 0x22, 0xbc, 0x02, 0x0a, 0x10,
 | 
			
		||||
	0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
 | 
			
		||||
	0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
 | 
			
		||||
	0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65,
 | 
			
		||||
	0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x20, 0x0a, 0x0b,
 | 
			
		||||
	0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
 | 
			
		||||
	0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x26,
 | 
			
		||||
	0x0a, 0x0e, 0x70, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64,
 | 
			
		||||
	0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x70, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65,
 | 
			
		||||
	0x67, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x70, 0x6f, 0x73, 0x74, 0x43, 0x61,
 | 
			
		||||
	0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
 | 
			
		||||
	0x52, 0x10, 0x70, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x43, 0x6f,
 | 
			
		||||
	0x64, 0x65, 0x12, 0x3c, 0x0a, 0x19, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x69, 0x6e, 0x67, 0x50,
 | 
			
		||||
	0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x18,
 | 
			
		||||
	0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x19, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x69, 0x6e, 0x67,
 | 
			
		||||
	0x50, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x43, 0x6f, 0x64, 0x65,
 | 
			
		||||
	0x12, 0x24, 0x0a, 0x0d, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x4f, 0x6e, 0x6c,
 | 
			
		||||
	0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68,
 | 
			
		||||
	0x65, 0x64, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69,
 | 
			
		||||
	0x6e, 0x73, 0x42, 0x6f, 0x64, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x63, 0x6f,
 | 
			
		||||
	0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x42, 0x6f, 0x64, 0x79, 0x22, 0x33, 0x0a, 0x11, 0x4c, 0x69,
 | 
			
		||||
	0x73, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
 | 
			
		||||
	0x1e, 0x0a, 0x05, 0x70, 0x6f, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x08,
 | 
			
		||||
	0x2e, 0x70, 0x62, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x05, 0x70, 0x6f, 0x73, 0x74, 0x73, 0x22,
 | 
			
		||||
	0x29, 0x0a, 0x0f, 0x46, 0x69, 0x6e, 0x64, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
 | 
			
		||||
	0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01,
 | 
			
		||||
	0x28, 0x03, 0x52, 0x06, 0x70, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x22, 0x30, 0x0a, 0x10, 0x46, 0x69,
 | 
			
		||||
	0x6e, 0x64, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c,
 | 
			
		||||
	0x0a, 0x04, 0x70, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x70,
 | 
			
		||||
	0x62, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x04, 0x70, 0x6f, 0x73, 0x74, 0x32, 0x97, 0x03, 0x0a,
 | 
			
		||||
	0x0b, 0x50, 0x6f, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x3b, 0x0a, 0x0a,
 | 
			
		||||
	0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x12, 0x15, 0x2e, 0x70, 0x62, 0x2e,
 | 
			
		||||
	0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
 | 
			
		||||
	0x74, 0x1a, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x73,
 | 
			
		||||
	0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x0a, 0x75, 0x70, 0x64,
 | 
			
		||||
	0x61, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x12, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64,
 | 
			
		||||
	0x61, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e,
 | 
			
		||||
	0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x33,
 | 
			
		||||
	0x0a, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x12, 0x15, 0x2e, 0x70,
 | 
			
		||||
	0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75,
 | 
			
		||||
	0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63,
 | 
			
		||||
	0x65, 0x73, 0x73, 0x12, 0x35, 0x0a, 0x0b, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x50, 0x6f,
 | 
			
		||||
	0x73, 0x74, 0x12, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x50,
 | 
			
		||||
	0x6f, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e,
 | 
			
		||||
	0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x6f,
 | 
			
		||||
	0x75, 0x6e, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x73, 0x12, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f,
 | 
			
		||||
	0x75, 0x6e, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
 | 
			
		||||
	0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73,
 | 
			
		||||
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x09, 0x6c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x73,
 | 
			
		||||
	0x74, 0x73, 0x12, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x73, 0x74,
 | 
			
		||||
	0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69,
 | 
			
		||||
	0x73, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
 | 
			
		||||
	0x35, 0x0a, 0x08, 0x66, 0x69, 0x6e, 0x64, 0x50, 0x6f, 0x73, 0x74, 0x12, 0x13, 0x2e, 0x70, 0x62,
 | 
			
		||||
	0x2e, 0x46, 0x69, 0x6e, 0x64, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
 | 
			
		||||
	0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x65,
 | 
			
		||||
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06,
 | 
			
		||||
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var (
 | 
			
		||||
	file_service_post_proto_rawDescOnce sync.Once
 | 
			
		||||
	file_service_post_proto_rawDescData = file_service_post_proto_rawDesc
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func file_service_post_proto_rawDescGZIP() []byte {
 | 
			
		||||
	file_service_post_proto_rawDescOnce.Do(func() {
 | 
			
		||||
		file_service_post_proto_rawDescData = protoimpl.X.CompressGZIP(file_service_post_proto_rawDescData)
 | 
			
		||||
	})
 | 
			
		||||
	return file_service_post_proto_rawDescData
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var file_service_post_proto_msgTypes = make([]protoimpl.MessageInfo, 10)
 | 
			
		||||
var file_service_post_proto_goTypes = []interface{}{
 | 
			
		||||
	(*CreatePostRequest)(nil),  // 0: pb.CreatePostRequest
 | 
			
		||||
	(*CreatePostResponse)(nil), // 1: pb.CreatePostResponse
 | 
			
		||||
	(*UpdatePostRequest)(nil),  // 2: pb.UpdatePostRequest
 | 
			
		||||
	(*DeletePostRequest)(nil),  // 3: pb.DeletePostRequest
 | 
			
		||||
	(*PublishPostRequest)(nil), // 4: pb.PublishPostRequest
 | 
			
		||||
	(*CountPostsRequest)(nil),  // 5: pb.CountPostsRequest
 | 
			
		||||
	(*ListPostsRequest)(nil),   // 6: pb.ListPostsRequest
 | 
			
		||||
	(*ListPostsResponse)(nil),  // 7: pb.ListPostsResponse
 | 
			
		||||
	(*FindPostRequest)(nil),    // 8: pb.FindPostRequest
 | 
			
		||||
	(*FindPostResponse)(nil),   // 9: pb.FindPostResponse
 | 
			
		||||
	(*Post)(nil),               // 10: pb.Post
 | 
			
		||||
	(*RPCSuccess)(nil),         // 11: pb.RPCSuccess
 | 
			
		||||
	(*RPCCountResponse)(nil),   // 12: pb.RPCCountResponse
 | 
			
		||||
}
 | 
			
		||||
var file_service_post_proto_depIdxs = []int32{
 | 
			
		||||
	10, // 0: pb.ListPostsResponse.posts:type_name -> pb.Post
 | 
			
		||||
	10, // 1: pb.FindPostResponse.post:type_name -> pb.Post
 | 
			
		||||
	0,  // 2: pb.PostService.createPost:input_type -> pb.CreatePostRequest
 | 
			
		||||
	2,  // 3: pb.PostService.updatePost:input_type -> pb.UpdatePostRequest
 | 
			
		||||
	3,  // 4: pb.PostService.deletePost:input_type -> pb.DeletePostRequest
 | 
			
		||||
	4,  // 5: pb.PostService.publishPost:input_type -> pb.PublishPostRequest
 | 
			
		||||
	5,  // 6: pb.PostService.countPosts:input_type -> pb.CountPostsRequest
 | 
			
		||||
	6,  // 7: pb.PostService.listPosts:input_type -> pb.ListPostsRequest
 | 
			
		||||
	8,  // 8: pb.PostService.findPost:input_type -> pb.FindPostRequest
 | 
			
		||||
	1,  // 9: pb.PostService.createPost:output_type -> pb.CreatePostResponse
 | 
			
		||||
	11, // 10: pb.PostService.updatePost:output_type -> pb.RPCSuccess
 | 
			
		||||
	11, // 11: pb.PostService.deletePost:output_type -> pb.RPCSuccess
 | 
			
		||||
	11, // 12: pb.PostService.publishPost:output_type -> pb.RPCSuccess
 | 
			
		||||
	12, // 13: pb.PostService.countPosts:output_type -> pb.RPCCountResponse
 | 
			
		||||
	7,  // 14: pb.PostService.listPosts:output_type -> pb.ListPostsResponse
 | 
			
		||||
	9,  // 15: pb.PostService.findPost:output_type -> pb.FindPostResponse
 | 
			
		||||
	9,  // [9:16] is the sub-list for method output_type
 | 
			
		||||
	2,  // [2:9] is the sub-list for method input_type
 | 
			
		||||
	2,  // [2:2] is the sub-list for extension type_name
 | 
			
		||||
	2,  // [2:2] is the sub-list for extension extendee
 | 
			
		||||
	0,  // [0:2] is the sub-list for field type_name
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func init() { file_service_post_proto_init() }
 | 
			
		||||
func file_service_post_proto_init() {
 | 
			
		||||
	if File_service_post_proto != nil {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
	file_models_model_post_proto_init()
 | 
			
		||||
	file_models_rpc_messages_proto_init()
 | 
			
		||||
	if !protoimpl.UnsafeEnabled {
 | 
			
		||||
		file_service_post_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*CreatePostRequest); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
				return &v.sizeCache
 | 
			
		||||
			case 2:
 | 
			
		||||
				return &v.unknownFields
 | 
			
		||||
			default:
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_post_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*CreatePostResponse); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
				return &v.sizeCache
 | 
			
		||||
			case 2:
 | 
			
		||||
				return &v.unknownFields
 | 
			
		||||
			default:
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_post_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*UpdatePostRequest); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
				return &v.sizeCache
 | 
			
		||||
			case 2:
 | 
			
		||||
				return &v.unknownFields
 | 
			
		||||
			default:
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_post_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*DeletePostRequest); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
				return &v.sizeCache
 | 
			
		||||
			case 2:
 | 
			
		||||
				return &v.unknownFields
 | 
			
		||||
			default:
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_post_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*PublishPostRequest); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
				return &v.sizeCache
 | 
			
		||||
			case 2:
 | 
			
		||||
				return &v.unknownFields
 | 
			
		||||
			default:
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_post_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*CountPostsRequest); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
				return &v.sizeCache
 | 
			
		||||
			case 2:
 | 
			
		||||
				return &v.unknownFields
 | 
			
		||||
			default:
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_post_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*ListPostsRequest); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
				return &v.sizeCache
 | 
			
		||||
			case 2:
 | 
			
		||||
				return &v.unknownFields
 | 
			
		||||
			default:
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_post_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*ListPostsResponse); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
				return &v.sizeCache
 | 
			
		||||
			case 2:
 | 
			
		||||
				return &v.unknownFields
 | 
			
		||||
			default:
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_post_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*FindPostRequest); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
				return &v.sizeCache
 | 
			
		||||
			case 2:
 | 
			
		||||
				return &v.unknownFields
 | 
			
		||||
			default:
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_post_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*FindPostResponse); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
				return &v.sizeCache
 | 
			
		||||
			case 2:
 | 
			
		||||
				return &v.unknownFields
 | 
			
		||||
			default:
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	type x struct{}
 | 
			
		||||
	out := protoimpl.TypeBuilder{
 | 
			
		||||
		File: protoimpl.DescBuilder{
 | 
			
		||||
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
 | 
			
		||||
			RawDescriptor: file_service_post_proto_rawDesc,
 | 
			
		||||
			NumEnums:      0,
 | 
			
		||||
			NumMessages:   10,
 | 
			
		||||
			NumExtensions: 0,
 | 
			
		||||
			NumServices:   1,
 | 
			
		||||
		},
 | 
			
		||||
		GoTypes:           file_service_post_proto_goTypes,
 | 
			
		||||
		DependencyIndexes: file_service_post_proto_depIdxs,
 | 
			
		||||
		MessageInfos:      file_service_post_proto_msgTypes,
 | 
			
		||||
	}.Build()
 | 
			
		||||
	File_service_post_proto = out.File
 | 
			
		||||
	file_service_post_proto_rawDesc = nil
 | 
			
		||||
	file_service_post_proto_goTypes = nil
 | 
			
		||||
	file_service_post_proto_depIdxs = nil
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										875
									
								
								pkg/rpc/pb/service_post_category.pb.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										875
									
								
								pkg/rpc/pb/service_post_category.pb.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,875 @@
 | 
			
		||||
// Code generated by protoc-gen-go. DO NOT EDIT.
 | 
			
		||||
// versions:
 | 
			
		||||
// 	protoc-gen-go v1.31.0
 | 
			
		||||
// 	protoc        v3.19.4
 | 
			
		||||
// source: service_post_category.proto
 | 
			
		||||
 | 
			
		||||
package pb
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
 | 
			
		||||
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
 | 
			
		||||
	reflect "reflect"
 | 
			
		||||
	sync "sync"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	// Verify that this generated code is sufficiently up-to-date.
 | 
			
		||||
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
 | 
			
		||||
	// Verify that runtime/protoimpl is sufficiently up-to-date.
 | 
			
		||||
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// 创建分类
 | 
			
		||||
type CreatePostCategoryRequest struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // 分类名称
 | 
			
		||||
	Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"` // 分类代号
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *CreatePostCategoryRequest) Reset() {
 | 
			
		||||
	*x = CreatePostCategoryRequest{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_post_category_proto_msgTypes[0]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *CreatePostCategoryRequest) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*CreatePostCategoryRequest) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *CreatePostCategoryRequest) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_post_category_proto_msgTypes[0]
 | 
			
		||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		if ms.LoadMessageInfo() == nil {
 | 
			
		||||
			ms.StoreMessageInfo(mi)
 | 
			
		||||
		}
 | 
			
		||||
		return ms
 | 
			
		||||
	}
 | 
			
		||||
	return mi.MessageOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Deprecated: Use CreatePostCategoryRequest.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*CreatePostCategoryRequest) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_post_category_proto_rawDescGZIP(), []int{0}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *CreatePostCategoryRequest) GetName() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Name
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *CreatePostCategoryRequest) GetCode() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Code
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type CreatePostCategoryResponse struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	PostCategoryId int64 `protobuf:"varint,1,opt,name=postCategoryId,proto3" json:"postCategoryId,omitempty"` // 分类ID
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *CreatePostCategoryResponse) Reset() {
 | 
			
		||||
	*x = CreatePostCategoryResponse{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_post_category_proto_msgTypes[1]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *CreatePostCategoryResponse) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*CreatePostCategoryResponse) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *CreatePostCategoryResponse) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_post_category_proto_msgTypes[1]
 | 
			
		||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		if ms.LoadMessageInfo() == nil {
 | 
			
		||||
			ms.StoreMessageInfo(mi)
 | 
			
		||||
		}
 | 
			
		||||
		return ms
 | 
			
		||||
	}
 | 
			
		||||
	return mi.MessageOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Deprecated: Use CreatePostCategoryResponse.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*CreatePostCategoryResponse) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_post_category_proto_rawDescGZIP(), []int{1}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *CreatePostCategoryResponse) GetPostCategoryId() int64 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.PostCategoryId
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 修改分类
 | 
			
		||||
type UpdatePostCategoryRequest struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	PostCategoryId int64  `protobuf:"varint,1,opt,name=postCategoryId,proto3" json:"postCategoryId,omitempty"` // 分类ID
 | 
			
		||||
	Name           string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`                      // 分类名称
 | 
			
		||||
	Code           string `protobuf:"bytes,3,opt,name=code,proto3" json:"code,omitempty"`                      // 分类代号
 | 
			
		||||
	IsOn           bool   `protobuf:"varint,4,opt,name=isOn,proto3" json:"isOn,omitempty"`                     // 是否启用
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UpdatePostCategoryRequest) Reset() {
 | 
			
		||||
	*x = UpdatePostCategoryRequest{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_post_category_proto_msgTypes[2]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UpdatePostCategoryRequest) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*UpdatePostCategoryRequest) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *UpdatePostCategoryRequest) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_post_category_proto_msgTypes[2]
 | 
			
		||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		if ms.LoadMessageInfo() == nil {
 | 
			
		||||
			ms.StoreMessageInfo(mi)
 | 
			
		||||
		}
 | 
			
		||||
		return ms
 | 
			
		||||
	}
 | 
			
		||||
	return mi.MessageOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Deprecated: Use UpdatePostCategoryRequest.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*UpdatePostCategoryRequest) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_post_category_proto_rawDescGZIP(), []int{2}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UpdatePostCategoryRequest) GetPostCategoryId() int64 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.PostCategoryId
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UpdatePostCategoryRequest) GetName() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Name
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UpdatePostCategoryRequest) GetCode() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Code
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UpdatePostCategoryRequest) GetIsOn() bool {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.IsOn
 | 
			
		||||
	}
 | 
			
		||||
	return false
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 删除分类
 | 
			
		||||
type DeletePostCategoryRequest struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	PostCategoryId int64 `protobuf:"varint,1,opt,name=postCategoryId,proto3" json:"postCategoryId,omitempty"` // 分类ID
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *DeletePostCategoryRequest) Reset() {
 | 
			
		||||
	*x = DeletePostCategoryRequest{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_post_category_proto_msgTypes[3]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *DeletePostCategoryRequest) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*DeletePostCategoryRequest) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *DeletePostCategoryRequest) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_post_category_proto_msgTypes[3]
 | 
			
		||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		if ms.LoadMessageInfo() == nil {
 | 
			
		||||
			ms.StoreMessageInfo(mi)
 | 
			
		||||
		}
 | 
			
		||||
		return ms
 | 
			
		||||
	}
 | 
			
		||||
	return mi.MessageOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Deprecated: Use DeletePostCategoryRequest.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*DeletePostCategoryRequest) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_post_category_proto_rawDescGZIP(), []int{3}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *DeletePostCategoryRequest) GetPostCategoryId() int64 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.PostCategoryId
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 列出所有分类
 | 
			
		||||
type FindAllPostCategoriesRequest struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindAllPostCategoriesRequest) Reset() {
 | 
			
		||||
	*x = FindAllPostCategoriesRequest{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_post_category_proto_msgTypes[4]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindAllPostCategoriesRequest) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*FindAllPostCategoriesRequest) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *FindAllPostCategoriesRequest) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_post_category_proto_msgTypes[4]
 | 
			
		||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		if ms.LoadMessageInfo() == nil {
 | 
			
		||||
			ms.StoreMessageInfo(mi)
 | 
			
		||||
		}
 | 
			
		||||
		return ms
 | 
			
		||||
	}
 | 
			
		||||
	return mi.MessageOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Deprecated: Use FindAllPostCategoriesRequest.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*FindAllPostCategoriesRequest) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_post_category_proto_rawDescGZIP(), []int{4}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type FindAllPostCategoriesResponse struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	PostCategories []*PostCategory `protobuf:"bytes,1,rep,name=postCategories,proto3" json:"postCategories,omitempty"` // 分类列表
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindAllPostCategoriesResponse) Reset() {
 | 
			
		||||
	*x = FindAllPostCategoriesResponse{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_post_category_proto_msgTypes[5]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindAllPostCategoriesResponse) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*FindAllPostCategoriesResponse) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *FindAllPostCategoriesResponse) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_post_category_proto_msgTypes[5]
 | 
			
		||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		if ms.LoadMessageInfo() == nil {
 | 
			
		||||
			ms.StoreMessageInfo(mi)
 | 
			
		||||
		}
 | 
			
		||||
		return ms
 | 
			
		||||
	}
 | 
			
		||||
	return mi.MessageOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Deprecated: Use FindAllPostCategoriesResponse.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*FindAllPostCategoriesResponse) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_post_category_proto_rawDescGZIP(), []int{5}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindAllPostCategoriesResponse) GetPostCategories() []*PostCategory {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.PostCategories
 | 
			
		||||
	}
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 列出所有可用分类
 | 
			
		||||
type FindAllAvailablePostCategoriesRequest struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindAllAvailablePostCategoriesRequest) Reset() {
 | 
			
		||||
	*x = FindAllAvailablePostCategoriesRequest{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_post_category_proto_msgTypes[6]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindAllAvailablePostCategoriesRequest) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*FindAllAvailablePostCategoriesRequest) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *FindAllAvailablePostCategoriesRequest) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_post_category_proto_msgTypes[6]
 | 
			
		||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		if ms.LoadMessageInfo() == nil {
 | 
			
		||||
			ms.StoreMessageInfo(mi)
 | 
			
		||||
		}
 | 
			
		||||
		return ms
 | 
			
		||||
	}
 | 
			
		||||
	return mi.MessageOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Deprecated: Use FindAllAvailablePostCategoriesRequest.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*FindAllAvailablePostCategoriesRequest) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_post_category_proto_rawDescGZIP(), []int{6}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type FindAllAvailablePostCategoriesResponse struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	PostCategories []*PostCategory `protobuf:"bytes,1,rep,name=postCategories,proto3" json:"postCategories,omitempty"` // 分类列表
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindAllAvailablePostCategoriesResponse) Reset() {
 | 
			
		||||
	*x = FindAllAvailablePostCategoriesResponse{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_post_category_proto_msgTypes[7]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindAllAvailablePostCategoriesResponse) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*FindAllAvailablePostCategoriesResponse) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *FindAllAvailablePostCategoriesResponse) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_post_category_proto_msgTypes[7]
 | 
			
		||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		if ms.LoadMessageInfo() == nil {
 | 
			
		||||
			ms.StoreMessageInfo(mi)
 | 
			
		||||
		}
 | 
			
		||||
		return ms
 | 
			
		||||
	}
 | 
			
		||||
	return mi.MessageOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Deprecated: Use FindAllAvailablePostCategoriesResponse.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*FindAllAvailablePostCategoriesResponse) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_post_category_proto_rawDescGZIP(), []int{7}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindAllAvailablePostCategoriesResponse) GetPostCategories() []*PostCategory {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.PostCategories
 | 
			
		||||
	}
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 查询单个分类
 | 
			
		||||
type FindPostCategoryRequest struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	PostCategoryId int64 `protobuf:"varint,1,opt,name=postCategoryId,proto3" json:"postCategoryId,omitempty"` // 分类ID
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindPostCategoryRequest) Reset() {
 | 
			
		||||
	*x = FindPostCategoryRequest{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_post_category_proto_msgTypes[8]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindPostCategoryRequest) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*FindPostCategoryRequest) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *FindPostCategoryRequest) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_post_category_proto_msgTypes[8]
 | 
			
		||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		if ms.LoadMessageInfo() == nil {
 | 
			
		||||
			ms.StoreMessageInfo(mi)
 | 
			
		||||
		}
 | 
			
		||||
		return ms
 | 
			
		||||
	}
 | 
			
		||||
	return mi.MessageOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Deprecated: Use FindPostCategoryRequest.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*FindPostCategoryRequest) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_post_category_proto_rawDescGZIP(), []int{8}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindPostCategoryRequest) GetPostCategoryId() int64 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.PostCategoryId
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type FindPostCategoryResponse struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	PostCategory *PostCategory `protobuf:"bytes,1,opt,name=postCategory,proto3" json:"postCategory,omitempty"` // 分类信息
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindPostCategoryResponse) Reset() {
 | 
			
		||||
	*x = FindPostCategoryResponse{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_post_category_proto_msgTypes[9]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindPostCategoryResponse) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*FindPostCategoryResponse) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *FindPostCategoryResponse) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_post_category_proto_msgTypes[9]
 | 
			
		||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		if ms.LoadMessageInfo() == nil {
 | 
			
		||||
			ms.StoreMessageInfo(mi)
 | 
			
		||||
		}
 | 
			
		||||
		return ms
 | 
			
		||||
	}
 | 
			
		||||
	return mi.MessageOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Deprecated: Use FindPostCategoryResponse.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*FindPostCategoryResponse) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_post_category_proto_rawDescGZIP(), []int{9}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindPostCategoryResponse) GetPostCategory() *PostCategory {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.PostCategory
 | 
			
		||||
	}
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 对分类进行排序
 | 
			
		||||
type SortPostCategoriesRequest struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	PostCategoryIds []int64 `protobuf:"varint,1,rep,packed,name=postCategoryIds,proto3" json:"postCategoryIds,omitempty"` // 分类ID列表
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *SortPostCategoriesRequest) Reset() {
 | 
			
		||||
	*x = SortPostCategoriesRequest{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_post_category_proto_msgTypes[10]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *SortPostCategoriesRequest) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*SortPostCategoriesRequest) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *SortPostCategoriesRequest) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_post_category_proto_msgTypes[10]
 | 
			
		||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		if ms.LoadMessageInfo() == nil {
 | 
			
		||||
			ms.StoreMessageInfo(mi)
 | 
			
		||||
		}
 | 
			
		||||
		return ms
 | 
			
		||||
	}
 | 
			
		||||
	return mi.MessageOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Deprecated: Use SortPostCategoriesRequest.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*SortPostCategoriesRequest) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_post_category_proto_rawDescGZIP(), []int{10}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *SortPostCategoriesRequest) GetPostCategoryIds() []int64 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.PostCategoryIds
 | 
			
		||||
	}
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var File_service_post_category_proto protoreflect.FileDescriptor
 | 
			
		||||
 | 
			
		||||
var file_service_post_category_proto_rawDesc = []byte{
 | 
			
		||||
	0x0a, 0x1b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x73, 0x74, 0x5f, 0x63,
 | 
			
		||||
	0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70,
 | 
			
		||||
	0x62, 0x1a, 0x20, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f,
 | 
			
		||||
	0x70, 0x6f, 0x73, 0x74, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x2e, 0x70, 0x72,
 | 
			
		||||
	0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x72, 0x70, 0x63, 0x5f,
 | 
			
		||||
	0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x43,
 | 
			
		||||
	0x0a, 0x19, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65,
 | 
			
		||||
	0x67, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e,
 | 
			
		||||
	0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
 | 
			
		||||
	0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63,
 | 
			
		||||
	0x6f, 0x64, 0x65, 0x22, 0x44, 0x0a, 0x1a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x73,
 | 
			
		||||
	0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
 | 
			
		||||
	0x65, 0x12, 0x26, 0x0a, 0x0e, 0x70, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72,
 | 
			
		||||
	0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x70, 0x6f, 0x73, 0x74, 0x43,
 | 
			
		||||
	0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x22, 0x7f, 0x0a, 0x19, 0x55, 0x70, 0x64,
 | 
			
		||||
	0x61, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52,
 | 
			
		||||
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x70, 0x6f, 0x73, 0x74, 0x43, 0x61,
 | 
			
		||||
	0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e,
 | 
			
		||||
	0x70, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x12, 0x12,
 | 
			
		||||
	0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61,
 | 
			
		||||
	0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
 | 
			
		||||
	0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x18, 0x04,
 | 
			
		||||
	0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x22, 0x43, 0x0a, 0x19, 0x44, 0x65,
 | 
			
		||||
	0x6c, 0x65, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79,
 | 
			
		||||
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x70, 0x6f, 0x73, 0x74, 0x43,
 | 
			
		||||
	0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52,
 | 
			
		||||
	0x0e, 0x70, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x22,
 | 
			
		||||
	0x1e, 0x0a, 0x1c, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x61,
 | 
			
		||||
	0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22,
 | 
			
		||||
	0x59, 0x0a, 0x1d, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x61,
 | 
			
		||||
	0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
 | 
			
		||||
	0x12, 0x38, 0x0a, 0x0e, 0x70, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69,
 | 
			
		||||
	0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x62, 0x2e, 0x50, 0x6f,
 | 
			
		||||
	0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x0e, 0x70, 0x6f, 0x73, 0x74,
 | 
			
		||||
	0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x22, 0x27, 0x0a, 0x25, 0x46, 0x69,
 | 
			
		||||
	0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x6f,
 | 
			
		||||
	0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75,
 | 
			
		||||
	0x65, 0x73, 0x74, 0x22, 0x62, 0x0a, 0x26, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x41, 0x76,
 | 
			
		||||
	0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67,
 | 
			
		||||
	0x6f, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a,
 | 
			
		||||
	0x0e, 0x70, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x18,
 | 
			
		||||
	0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x62, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x43,
 | 
			
		||||
	0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x0e, 0x70, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74,
 | 
			
		||||
	0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x22, 0x41, 0x0a, 0x17, 0x46, 0x69, 0x6e, 0x64, 0x50,
 | 
			
		||||
	0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65,
 | 
			
		||||
	0x73, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x70, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f,
 | 
			
		||||
	0x72, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x70, 0x6f, 0x73, 0x74,
 | 
			
		||||
	0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x22, 0x50, 0x0a, 0x18, 0x46, 0x69,
 | 
			
		||||
	0x6e, 0x64, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x65,
 | 
			
		||||
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x0c, 0x70, 0x6f, 0x73, 0x74, 0x43, 0x61,
 | 
			
		||||
	0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70,
 | 
			
		||||
	0x62, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x0c,
 | 
			
		||||
	0x70, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x22, 0x45, 0x0a, 0x19,
 | 
			
		||||
	0x53, 0x6f, 0x72, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69,
 | 
			
		||||
	0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x0f, 0x70, 0x6f, 0x73,
 | 
			
		||||
	0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03,
 | 
			
		||||
	0x28, 0x03, 0x52, 0x0f, 0x70, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79,
 | 
			
		||||
	0x49, 0x64, 0x73, 0x32, 0xdf, 0x04, 0x0a, 0x13, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65,
 | 
			
		||||
	0x67, 0x6f, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x53, 0x0a, 0x12, 0x63,
 | 
			
		||||
	0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72,
 | 
			
		||||
	0x79, 0x12, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x73,
 | 
			
		||||
	0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
 | 
			
		||||
	0x1a, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74,
 | 
			
		||||
	0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
 | 
			
		||||
	0x12, 0x43, 0x0a, 0x12, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x61,
 | 
			
		||||
	0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61,
 | 
			
		||||
	0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x65,
 | 
			
		||||
	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75,
 | 
			
		||||
	0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x43, 0x0a, 0x12, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50,
 | 
			
		||||
	0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x1d, 0x2e, 0x70, 0x62,
 | 
			
		||||
	0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67,
 | 
			
		||||
	0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e,
 | 
			
		||||
	0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x5c, 0x0a, 0x15, 0x66, 0x69,
 | 
			
		||||
	0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72,
 | 
			
		||||
	0x69, 0x65, 0x73, 0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c,
 | 
			
		||||
	0x50, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65,
 | 
			
		||||
	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41,
 | 
			
		||||
	0x6c, 0x6c, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73,
 | 
			
		||||
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x77, 0x0a, 0x1e, 0x66, 0x69, 0x6e, 0x64,
 | 
			
		||||
	0x41, 0x6c, 0x6c, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x6f, 0x73, 0x74,
 | 
			
		||||
	0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12, 0x29, 0x2e, 0x70, 0x62, 0x2e,
 | 
			
		||||
	0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65,
 | 
			
		||||
	0x50, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65,
 | 
			
		||||
	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41,
 | 
			
		||||
	0x6c, 0x6c, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x6f, 0x73, 0x74, 0x43,
 | 
			
		||||
	0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
 | 
			
		||||
	0x65, 0x12, 0x4d, 0x0a, 0x10, 0x66, 0x69, 0x6e, 0x64, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74,
 | 
			
		||||
	0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x50,
 | 
			
		||||
	0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65,
 | 
			
		||||
	0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x50, 0x6f, 0x73, 0x74,
 | 
			
		||||
	0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
 | 
			
		||||
	0x12, 0x43, 0x0a, 0x12, 0x73, 0x6f, 0x72, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65,
 | 
			
		||||
	0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x6f, 0x72, 0x74,
 | 
			
		||||
	0x50, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65,
 | 
			
		||||
	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75,
 | 
			
		||||
	0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70,
 | 
			
		||||
	0x72, 0x6f, 0x74, 0x6f, 0x33,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var (
 | 
			
		||||
	file_service_post_category_proto_rawDescOnce sync.Once
 | 
			
		||||
	file_service_post_category_proto_rawDescData = file_service_post_category_proto_rawDesc
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func file_service_post_category_proto_rawDescGZIP() []byte {
 | 
			
		||||
	file_service_post_category_proto_rawDescOnce.Do(func() {
 | 
			
		||||
		file_service_post_category_proto_rawDescData = protoimpl.X.CompressGZIP(file_service_post_category_proto_rawDescData)
 | 
			
		||||
	})
 | 
			
		||||
	return file_service_post_category_proto_rawDescData
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var file_service_post_category_proto_msgTypes = make([]protoimpl.MessageInfo, 11)
 | 
			
		||||
var file_service_post_category_proto_goTypes = []interface{}{
 | 
			
		||||
	(*CreatePostCategoryRequest)(nil),              // 0: pb.CreatePostCategoryRequest
 | 
			
		||||
	(*CreatePostCategoryResponse)(nil),             // 1: pb.CreatePostCategoryResponse
 | 
			
		||||
	(*UpdatePostCategoryRequest)(nil),              // 2: pb.UpdatePostCategoryRequest
 | 
			
		||||
	(*DeletePostCategoryRequest)(nil),              // 3: pb.DeletePostCategoryRequest
 | 
			
		||||
	(*FindAllPostCategoriesRequest)(nil),           // 4: pb.FindAllPostCategoriesRequest
 | 
			
		||||
	(*FindAllPostCategoriesResponse)(nil),          // 5: pb.FindAllPostCategoriesResponse
 | 
			
		||||
	(*FindAllAvailablePostCategoriesRequest)(nil),  // 6: pb.FindAllAvailablePostCategoriesRequest
 | 
			
		||||
	(*FindAllAvailablePostCategoriesResponse)(nil), // 7: pb.FindAllAvailablePostCategoriesResponse
 | 
			
		||||
	(*FindPostCategoryRequest)(nil),                // 8: pb.FindPostCategoryRequest
 | 
			
		||||
	(*FindPostCategoryResponse)(nil),               // 9: pb.FindPostCategoryResponse
 | 
			
		||||
	(*SortPostCategoriesRequest)(nil),              // 10: pb.SortPostCategoriesRequest
 | 
			
		||||
	(*PostCategory)(nil),                           // 11: pb.PostCategory
 | 
			
		||||
	(*RPCSuccess)(nil),                             // 12: pb.RPCSuccess
 | 
			
		||||
}
 | 
			
		||||
var file_service_post_category_proto_depIdxs = []int32{
 | 
			
		||||
	11, // 0: pb.FindAllPostCategoriesResponse.postCategories:type_name -> pb.PostCategory
 | 
			
		||||
	11, // 1: pb.FindAllAvailablePostCategoriesResponse.postCategories:type_name -> pb.PostCategory
 | 
			
		||||
	11, // 2: pb.FindPostCategoryResponse.postCategory:type_name -> pb.PostCategory
 | 
			
		||||
	0,  // 3: pb.PostCategoryService.createPostCategory:input_type -> pb.CreatePostCategoryRequest
 | 
			
		||||
	2,  // 4: pb.PostCategoryService.updatePostCategory:input_type -> pb.UpdatePostCategoryRequest
 | 
			
		||||
	3,  // 5: pb.PostCategoryService.deletePostCategory:input_type -> pb.DeletePostCategoryRequest
 | 
			
		||||
	4,  // 6: pb.PostCategoryService.findAllPostCategories:input_type -> pb.FindAllPostCategoriesRequest
 | 
			
		||||
	6,  // 7: pb.PostCategoryService.findAllAvailablePostCategories:input_type -> pb.FindAllAvailablePostCategoriesRequest
 | 
			
		||||
	8,  // 8: pb.PostCategoryService.findPostCategory:input_type -> pb.FindPostCategoryRequest
 | 
			
		||||
	10, // 9: pb.PostCategoryService.sortPostCategories:input_type -> pb.SortPostCategoriesRequest
 | 
			
		||||
	1,  // 10: pb.PostCategoryService.createPostCategory:output_type -> pb.CreatePostCategoryResponse
 | 
			
		||||
	12, // 11: pb.PostCategoryService.updatePostCategory:output_type -> pb.RPCSuccess
 | 
			
		||||
	12, // 12: pb.PostCategoryService.deletePostCategory:output_type -> pb.RPCSuccess
 | 
			
		||||
	5,  // 13: pb.PostCategoryService.findAllPostCategories:output_type -> pb.FindAllPostCategoriesResponse
 | 
			
		||||
	7,  // 14: pb.PostCategoryService.findAllAvailablePostCategories:output_type -> pb.FindAllAvailablePostCategoriesResponse
 | 
			
		||||
	9,  // 15: pb.PostCategoryService.findPostCategory:output_type -> pb.FindPostCategoryResponse
 | 
			
		||||
	12, // 16: pb.PostCategoryService.sortPostCategories:output_type -> pb.RPCSuccess
 | 
			
		||||
	10, // [10:17] is the sub-list for method output_type
 | 
			
		||||
	3,  // [3:10] is the sub-list for method input_type
 | 
			
		||||
	3,  // [3:3] is the sub-list for extension type_name
 | 
			
		||||
	3,  // [3:3] is the sub-list for extension extendee
 | 
			
		||||
	0,  // [0:3] is the sub-list for field type_name
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func init() { file_service_post_category_proto_init() }
 | 
			
		||||
func file_service_post_category_proto_init() {
 | 
			
		||||
	if File_service_post_category_proto != nil {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
	file_models_model_post_category_proto_init()
 | 
			
		||||
	file_models_rpc_messages_proto_init()
 | 
			
		||||
	if !protoimpl.UnsafeEnabled {
 | 
			
		||||
		file_service_post_category_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*CreatePostCategoryRequest); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
				return &v.sizeCache
 | 
			
		||||
			case 2:
 | 
			
		||||
				return &v.unknownFields
 | 
			
		||||
			default:
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_post_category_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*CreatePostCategoryResponse); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
				return &v.sizeCache
 | 
			
		||||
			case 2:
 | 
			
		||||
				return &v.unknownFields
 | 
			
		||||
			default:
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_post_category_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*UpdatePostCategoryRequest); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
				return &v.sizeCache
 | 
			
		||||
			case 2:
 | 
			
		||||
				return &v.unknownFields
 | 
			
		||||
			default:
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_post_category_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*DeletePostCategoryRequest); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
				return &v.sizeCache
 | 
			
		||||
			case 2:
 | 
			
		||||
				return &v.unknownFields
 | 
			
		||||
			default:
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_post_category_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*FindAllPostCategoriesRequest); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
				return &v.sizeCache
 | 
			
		||||
			case 2:
 | 
			
		||||
				return &v.unknownFields
 | 
			
		||||
			default:
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_post_category_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*FindAllPostCategoriesResponse); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
				return &v.sizeCache
 | 
			
		||||
			case 2:
 | 
			
		||||
				return &v.unknownFields
 | 
			
		||||
			default:
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_post_category_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*FindAllAvailablePostCategoriesRequest); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
				return &v.sizeCache
 | 
			
		||||
			case 2:
 | 
			
		||||
				return &v.unknownFields
 | 
			
		||||
			default:
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_post_category_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*FindAllAvailablePostCategoriesResponse); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
				return &v.sizeCache
 | 
			
		||||
			case 2:
 | 
			
		||||
				return &v.unknownFields
 | 
			
		||||
			default:
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_post_category_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*FindPostCategoryRequest); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
				return &v.sizeCache
 | 
			
		||||
			case 2:
 | 
			
		||||
				return &v.unknownFields
 | 
			
		||||
			default:
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_post_category_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*FindPostCategoryResponse); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
				return &v.sizeCache
 | 
			
		||||
			case 2:
 | 
			
		||||
				return &v.unknownFields
 | 
			
		||||
			default:
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_post_category_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*SortPostCategoriesRequest); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
				return &v.sizeCache
 | 
			
		||||
			case 2:
 | 
			
		||||
				return &v.unknownFields
 | 
			
		||||
			default:
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	type x struct{}
 | 
			
		||||
	out := protoimpl.TypeBuilder{
 | 
			
		||||
		File: protoimpl.DescBuilder{
 | 
			
		||||
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
 | 
			
		||||
			RawDescriptor: file_service_post_category_proto_rawDesc,
 | 
			
		||||
			NumEnums:      0,
 | 
			
		||||
			NumMessages:   11,
 | 
			
		||||
			NumExtensions: 0,
 | 
			
		||||
			NumServices:   1,
 | 
			
		||||
		},
 | 
			
		||||
		GoTypes:           file_service_post_category_proto_goTypes,
 | 
			
		||||
		DependencyIndexes: file_service_post_category_proto_depIdxs,
 | 
			
		||||
		MessageInfos:      file_service_post_category_proto_msgTypes,
 | 
			
		||||
	}.Build()
 | 
			
		||||
	File_service_post_category_proto = out.File
 | 
			
		||||
	file_service_post_category_proto_rawDesc = nil
 | 
			
		||||
	file_service_post_category_proto_goTypes = nil
 | 
			
		||||
	file_service_post_category_proto_depIdxs = nil
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										343
									
								
								pkg/rpc/pb/service_post_category_grpc.pb.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										343
									
								
								pkg/rpc/pb/service_post_category_grpc.pb.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,343 @@
 | 
			
		||||
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
 | 
			
		||||
// versions:
 | 
			
		||||
// - protoc-gen-go-grpc v1.3.0
 | 
			
		||||
// - protoc             v3.19.4
 | 
			
		||||
// source: service_post_category.proto
 | 
			
		||||
 | 
			
		||||
package pb
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	context "context"
 | 
			
		||||
	grpc "google.golang.org/grpc"
 | 
			
		||||
	codes "google.golang.org/grpc/codes"
 | 
			
		||||
	status "google.golang.org/grpc/status"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// This is a compile-time assertion to ensure that this generated file
 | 
			
		||||
// is compatible with the grpc package it is being compiled against.
 | 
			
		||||
// Requires gRPC-Go v1.32.0 or later.
 | 
			
		||||
const _ = grpc.SupportPackageIsVersion7
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	PostCategoryService_CreatePostCategory_FullMethodName             = "/pb.PostCategoryService/createPostCategory"
 | 
			
		||||
	PostCategoryService_UpdatePostCategory_FullMethodName             = "/pb.PostCategoryService/updatePostCategory"
 | 
			
		||||
	PostCategoryService_DeletePostCategory_FullMethodName             = "/pb.PostCategoryService/deletePostCategory"
 | 
			
		||||
	PostCategoryService_FindAllPostCategories_FullMethodName          = "/pb.PostCategoryService/findAllPostCategories"
 | 
			
		||||
	PostCategoryService_FindAllAvailablePostCategories_FullMethodName = "/pb.PostCategoryService/findAllAvailablePostCategories"
 | 
			
		||||
	PostCategoryService_FindPostCategory_FullMethodName               = "/pb.PostCategoryService/findPostCategory"
 | 
			
		||||
	PostCategoryService_SortPostCategories_FullMethodName             = "/pb.PostCategoryService/sortPostCategories"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// PostCategoryServiceClient is the client API for PostCategoryService service.
 | 
			
		||||
//
 | 
			
		||||
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
 | 
			
		||||
type PostCategoryServiceClient interface {
 | 
			
		||||
	// 创建分类
 | 
			
		||||
	CreatePostCategory(ctx context.Context, in *CreatePostCategoryRequest, opts ...grpc.CallOption) (*CreatePostCategoryResponse, error)
 | 
			
		||||
	// 修改分类
 | 
			
		||||
	UpdatePostCategory(ctx context.Context, in *UpdatePostCategoryRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
 | 
			
		||||
	// 删除分类
 | 
			
		||||
	DeletePostCategory(ctx context.Context, in *DeletePostCategoryRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
 | 
			
		||||
	// 列出所有分类
 | 
			
		||||
	FindAllPostCategories(ctx context.Context, in *FindAllPostCategoriesRequest, opts ...grpc.CallOption) (*FindAllPostCategoriesResponse, error)
 | 
			
		||||
	// 列出所有可用分类
 | 
			
		||||
	FindAllAvailablePostCategories(ctx context.Context, in *FindAllAvailablePostCategoriesRequest, opts ...grpc.CallOption) (*FindAllAvailablePostCategoriesResponse, error)
 | 
			
		||||
	// 查询单个分类
 | 
			
		||||
	FindPostCategory(ctx context.Context, in *FindPostCategoryRequest, opts ...grpc.CallOption) (*FindPostCategoryResponse, error)
 | 
			
		||||
	// 对分类进行排序
 | 
			
		||||
	SortPostCategories(ctx context.Context, in *SortPostCategoriesRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type postCategoryServiceClient struct {
 | 
			
		||||
	cc grpc.ClientConnInterface
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func NewPostCategoryServiceClient(cc grpc.ClientConnInterface) PostCategoryServiceClient {
 | 
			
		||||
	return &postCategoryServiceClient{cc}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (c *postCategoryServiceClient) CreatePostCategory(ctx context.Context, in *CreatePostCategoryRequest, opts ...grpc.CallOption) (*CreatePostCategoryResponse, error) {
 | 
			
		||||
	out := new(CreatePostCategoryResponse)
 | 
			
		||||
	err := c.cc.Invoke(ctx, PostCategoryService_CreatePostCategory_FullMethodName, in, out, opts...)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	return out, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (c *postCategoryServiceClient) UpdatePostCategory(ctx context.Context, in *UpdatePostCategoryRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
 | 
			
		||||
	out := new(RPCSuccess)
 | 
			
		||||
	err := c.cc.Invoke(ctx, PostCategoryService_UpdatePostCategory_FullMethodName, in, out, opts...)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	return out, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (c *postCategoryServiceClient) DeletePostCategory(ctx context.Context, in *DeletePostCategoryRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
 | 
			
		||||
	out := new(RPCSuccess)
 | 
			
		||||
	err := c.cc.Invoke(ctx, PostCategoryService_DeletePostCategory_FullMethodName, in, out, opts...)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	return out, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (c *postCategoryServiceClient) FindAllPostCategories(ctx context.Context, in *FindAllPostCategoriesRequest, opts ...grpc.CallOption) (*FindAllPostCategoriesResponse, error) {
 | 
			
		||||
	out := new(FindAllPostCategoriesResponse)
 | 
			
		||||
	err := c.cc.Invoke(ctx, PostCategoryService_FindAllPostCategories_FullMethodName, in, out, opts...)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	return out, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (c *postCategoryServiceClient) FindAllAvailablePostCategories(ctx context.Context, in *FindAllAvailablePostCategoriesRequest, opts ...grpc.CallOption) (*FindAllAvailablePostCategoriesResponse, error) {
 | 
			
		||||
	out := new(FindAllAvailablePostCategoriesResponse)
 | 
			
		||||
	err := c.cc.Invoke(ctx, PostCategoryService_FindAllAvailablePostCategories_FullMethodName, in, out, opts...)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	return out, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (c *postCategoryServiceClient) FindPostCategory(ctx context.Context, in *FindPostCategoryRequest, opts ...grpc.CallOption) (*FindPostCategoryResponse, error) {
 | 
			
		||||
	out := new(FindPostCategoryResponse)
 | 
			
		||||
	err := c.cc.Invoke(ctx, PostCategoryService_FindPostCategory_FullMethodName, in, out, opts...)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	return out, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (c *postCategoryServiceClient) SortPostCategories(ctx context.Context, in *SortPostCategoriesRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
 | 
			
		||||
	out := new(RPCSuccess)
 | 
			
		||||
	err := c.cc.Invoke(ctx, PostCategoryService_SortPostCategories_FullMethodName, in, out, opts...)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	return out, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// PostCategoryServiceServer is the server API for PostCategoryService service.
 | 
			
		||||
// All implementations should embed UnimplementedPostCategoryServiceServer
 | 
			
		||||
// for forward compatibility
 | 
			
		||||
type PostCategoryServiceServer interface {
 | 
			
		||||
	// 创建分类
 | 
			
		||||
	CreatePostCategory(context.Context, *CreatePostCategoryRequest) (*CreatePostCategoryResponse, error)
 | 
			
		||||
	// 修改分类
 | 
			
		||||
	UpdatePostCategory(context.Context, *UpdatePostCategoryRequest) (*RPCSuccess, error)
 | 
			
		||||
	// 删除分类
 | 
			
		||||
	DeletePostCategory(context.Context, *DeletePostCategoryRequest) (*RPCSuccess, error)
 | 
			
		||||
	// 列出所有分类
 | 
			
		||||
	FindAllPostCategories(context.Context, *FindAllPostCategoriesRequest) (*FindAllPostCategoriesResponse, error)
 | 
			
		||||
	// 列出所有可用分类
 | 
			
		||||
	FindAllAvailablePostCategories(context.Context, *FindAllAvailablePostCategoriesRequest) (*FindAllAvailablePostCategoriesResponse, error)
 | 
			
		||||
	// 查询单个分类
 | 
			
		||||
	FindPostCategory(context.Context, *FindPostCategoryRequest) (*FindPostCategoryResponse, error)
 | 
			
		||||
	// 对分类进行排序
 | 
			
		||||
	SortPostCategories(context.Context, *SortPostCategoriesRequest) (*RPCSuccess, error)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// UnimplementedPostCategoryServiceServer should be embedded to have forward compatible implementations.
 | 
			
		||||
type UnimplementedPostCategoryServiceServer struct {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (UnimplementedPostCategoryServiceServer) CreatePostCategory(context.Context, *CreatePostCategoryRequest) (*CreatePostCategoryResponse, error) {
 | 
			
		||||
	return nil, status.Errorf(codes.Unimplemented, "method CreatePostCategory not implemented")
 | 
			
		||||
}
 | 
			
		||||
func (UnimplementedPostCategoryServiceServer) UpdatePostCategory(context.Context, *UpdatePostCategoryRequest) (*RPCSuccess, error) {
 | 
			
		||||
	return nil, status.Errorf(codes.Unimplemented, "method UpdatePostCategory not implemented")
 | 
			
		||||
}
 | 
			
		||||
func (UnimplementedPostCategoryServiceServer) DeletePostCategory(context.Context, *DeletePostCategoryRequest) (*RPCSuccess, error) {
 | 
			
		||||
	return nil, status.Errorf(codes.Unimplemented, "method DeletePostCategory not implemented")
 | 
			
		||||
}
 | 
			
		||||
func (UnimplementedPostCategoryServiceServer) FindAllPostCategories(context.Context, *FindAllPostCategoriesRequest) (*FindAllPostCategoriesResponse, error) {
 | 
			
		||||
	return nil, status.Errorf(codes.Unimplemented, "method FindAllPostCategories not implemented")
 | 
			
		||||
}
 | 
			
		||||
func (UnimplementedPostCategoryServiceServer) FindAllAvailablePostCategories(context.Context, *FindAllAvailablePostCategoriesRequest) (*FindAllAvailablePostCategoriesResponse, error) {
 | 
			
		||||
	return nil, status.Errorf(codes.Unimplemented, "method FindAllAvailablePostCategories not implemented")
 | 
			
		||||
}
 | 
			
		||||
func (UnimplementedPostCategoryServiceServer) FindPostCategory(context.Context, *FindPostCategoryRequest) (*FindPostCategoryResponse, error) {
 | 
			
		||||
	return nil, status.Errorf(codes.Unimplemented, "method FindPostCategory not implemented")
 | 
			
		||||
}
 | 
			
		||||
func (UnimplementedPostCategoryServiceServer) SortPostCategories(context.Context, *SortPostCategoriesRequest) (*RPCSuccess, error) {
 | 
			
		||||
	return nil, status.Errorf(codes.Unimplemented, "method SortPostCategories not implemented")
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// UnsafePostCategoryServiceServer may be embedded to opt out of forward compatibility for this service.
 | 
			
		||||
// Use of this interface is not recommended, as added methods to PostCategoryServiceServer will
 | 
			
		||||
// result in compilation errors.
 | 
			
		||||
type UnsafePostCategoryServiceServer interface {
 | 
			
		||||
	mustEmbedUnimplementedPostCategoryServiceServer()
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func RegisterPostCategoryServiceServer(s grpc.ServiceRegistrar, srv PostCategoryServiceServer) {
 | 
			
		||||
	s.RegisterService(&PostCategoryService_ServiceDesc, srv)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func _PostCategoryService_CreatePostCategory_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
			
		||||
	in := new(CreatePostCategoryRequest)
 | 
			
		||||
	if err := dec(in); err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	if interceptor == nil {
 | 
			
		||||
		return srv.(PostCategoryServiceServer).CreatePostCategory(ctx, in)
 | 
			
		||||
	}
 | 
			
		||||
	info := &grpc.UnaryServerInfo{
 | 
			
		||||
		Server:     srv,
 | 
			
		||||
		FullMethod: PostCategoryService_CreatePostCategory_FullMethodName,
 | 
			
		||||
	}
 | 
			
		||||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
			
		||||
		return srv.(PostCategoryServiceServer).CreatePostCategory(ctx, req.(*CreatePostCategoryRequest))
 | 
			
		||||
	}
 | 
			
		||||
	return interceptor(ctx, in, info, handler)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func _PostCategoryService_UpdatePostCategory_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
			
		||||
	in := new(UpdatePostCategoryRequest)
 | 
			
		||||
	if err := dec(in); err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	if interceptor == nil {
 | 
			
		||||
		return srv.(PostCategoryServiceServer).UpdatePostCategory(ctx, in)
 | 
			
		||||
	}
 | 
			
		||||
	info := &grpc.UnaryServerInfo{
 | 
			
		||||
		Server:     srv,
 | 
			
		||||
		FullMethod: PostCategoryService_UpdatePostCategory_FullMethodName,
 | 
			
		||||
	}
 | 
			
		||||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
			
		||||
		return srv.(PostCategoryServiceServer).UpdatePostCategory(ctx, req.(*UpdatePostCategoryRequest))
 | 
			
		||||
	}
 | 
			
		||||
	return interceptor(ctx, in, info, handler)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func _PostCategoryService_DeletePostCategory_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
			
		||||
	in := new(DeletePostCategoryRequest)
 | 
			
		||||
	if err := dec(in); err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	if interceptor == nil {
 | 
			
		||||
		return srv.(PostCategoryServiceServer).DeletePostCategory(ctx, in)
 | 
			
		||||
	}
 | 
			
		||||
	info := &grpc.UnaryServerInfo{
 | 
			
		||||
		Server:     srv,
 | 
			
		||||
		FullMethod: PostCategoryService_DeletePostCategory_FullMethodName,
 | 
			
		||||
	}
 | 
			
		||||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
			
		||||
		return srv.(PostCategoryServiceServer).DeletePostCategory(ctx, req.(*DeletePostCategoryRequest))
 | 
			
		||||
	}
 | 
			
		||||
	return interceptor(ctx, in, info, handler)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func _PostCategoryService_FindAllPostCategories_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
			
		||||
	in := new(FindAllPostCategoriesRequest)
 | 
			
		||||
	if err := dec(in); err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	if interceptor == nil {
 | 
			
		||||
		return srv.(PostCategoryServiceServer).FindAllPostCategories(ctx, in)
 | 
			
		||||
	}
 | 
			
		||||
	info := &grpc.UnaryServerInfo{
 | 
			
		||||
		Server:     srv,
 | 
			
		||||
		FullMethod: PostCategoryService_FindAllPostCategories_FullMethodName,
 | 
			
		||||
	}
 | 
			
		||||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
			
		||||
		return srv.(PostCategoryServiceServer).FindAllPostCategories(ctx, req.(*FindAllPostCategoriesRequest))
 | 
			
		||||
	}
 | 
			
		||||
	return interceptor(ctx, in, info, handler)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func _PostCategoryService_FindAllAvailablePostCategories_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
			
		||||
	in := new(FindAllAvailablePostCategoriesRequest)
 | 
			
		||||
	if err := dec(in); err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	if interceptor == nil {
 | 
			
		||||
		return srv.(PostCategoryServiceServer).FindAllAvailablePostCategories(ctx, in)
 | 
			
		||||
	}
 | 
			
		||||
	info := &grpc.UnaryServerInfo{
 | 
			
		||||
		Server:     srv,
 | 
			
		||||
		FullMethod: PostCategoryService_FindAllAvailablePostCategories_FullMethodName,
 | 
			
		||||
	}
 | 
			
		||||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
			
		||||
		return srv.(PostCategoryServiceServer).FindAllAvailablePostCategories(ctx, req.(*FindAllAvailablePostCategoriesRequest))
 | 
			
		||||
	}
 | 
			
		||||
	return interceptor(ctx, in, info, handler)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func _PostCategoryService_FindPostCategory_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
			
		||||
	in := new(FindPostCategoryRequest)
 | 
			
		||||
	if err := dec(in); err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	if interceptor == nil {
 | 
			
		||||
		return srv.(PostCategoryServiceServer).FindPostCategory(ctx, in)
 | 
			
		||||
	}
 | 
			
		||||
	info := &grpc.UnaryServerInfo{
 | 
			
		||||
		Server:     srv,
 | 
			
		||||
		FullMethod: PostCategoryService_FindPostCategory_FullMethodName,
 | 
			
		||||
	}
 | 
			
		||||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
			
		||||
		return srv.(PostCategoryServiceServer).FindPostCategory(ctx, req.(*FindPostCategoryRequest))
 | 
			
		||||
	}
 | 
			
		||||
	return interceptor(ctx, in, info, handler)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func _PostCategoryService_SortPostCategories_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
			
		||||
	in := new(SortPostCategoriesRequest)
 | 
			
		||||
	if err := dec(in); err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	if interceptor == nil {
 | 
			
		||||
		return srv.(PostCategoryServiceServer).SortPostCategories(ctx, in)
 | 
			
		||||
	}
 | 
			
		||||
	info := &grpc.UnaryServerInfo{
 | 
			
		||||
		Server:     srv,
 | 
			
		||||
		FullMethod: PostCategoryService_SortPostCategories_FullMethodName,
 | 
			
		||||
	}
 | 
			
		||||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
			
		||||
		return srv.(PostCategoryServiceServer).SortPostCategories(ctx, req.(*SortPostCategoriesRequest))
 | 
			
		||||
	}
 | 
			
		||||
	return interceptor(ctx, in, info, handler)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// PostCategoryService_ServiceDesc is the grpc.ServiceDesc for PostCategoryService service.
 | 
			
		||||
// It's only intended for direct use with grpc.RegisterService,
 | 
			
		||||
// and not to be introspected or modified (even as a copy)
 | 
			
		||||
var PostCategoryService_ServiceDesc = grpc.ServiceDesc{
 | 
			
		||||
	ServiceName: "pb.PostCategoryService",
 | 
			
		||||
	HandlerType: (*PostCategoryServiceServer)(nil),
 | 
			
		||||
	Methods: []grpc.MethodDesc{
 | 
			
		||||
		{
 | 
			
		||||
			MethodName: "createPostCategory",
 | 
			
		||||
			Handler:    _PostCategoryService_CreatePostCategory_Handler,
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			MethodName: "updatePostCategory",
 | 
			
		||||
			Handler:    _PostCategoryService_UpdatePostCategory_Handler,
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			MethodName: "deletePostCategory",
 | 
			
		||||
			Handler:    _PostCategoryService_DeletePostCategory_Handler,
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			MethodName: "findAllPostCategories",
 | 
			
		||||
			Handler:    _PostCategoryService_FindAllPostCategories_Handler,
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			MethodName: "findAllAvailablePostCategories",
 | 
			
		||||
			Handler:    _PostCategoryService_FindAllAvailablePostCategories_Handler,
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			MethodName: "findPostCategory",
 | 
			
		||||
			Handler:    _PostCategoryService_FindPostCategory_Handler,
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			MethodName: "sortPostCategories",
 | 
			
		||||
			Handler:    _PostCategoryService_SortPostCategories_Handler,
 | 
			
		||||
		},
 | 
			
		||||
	},
 | 
			
		||||
	Streams:  []grpc.StreamDesc{},
 | 
			
		||||
	Metadata: "service_post_category.proto",
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										343
									
								
								pkg/rpc/pb/service_post_grpc.pb.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										343
									
								
								pkg/rpc/pb/service_post_grpc.pb.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,343 @@
 | 
			
		||||
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
 | 
			
		||||
// versions:
 | 
			
		||||
// - protoc-gen-go-grpc v1.3.0
 | 
			
		||||
// - protoc             v3.19.4
 | 
			
		||||
// source: service_post.proto
 | 
			
		||||
 | 
			
		||||
package pb
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	context "context"
 | 
			
		||||
	grpc "google.golang.org/grpc"
 | 
			
		||||
	codes "google.golang.org/grpc/codes"
 | 
			
		||||
	status "google.golang.org/grpc/status"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// This is a compile-time assertion to ensure that this generated file
 | 
			
		||||
// is compatible with the grpc package it is being compiled against.
 | 
			
		||||
// Requires gRPC-Go v1.32.0 or later.
 | 
			
		||||
const _ = grpc.SupportPackageIsVersion7
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	PostService_CreatePost_FullMethodName  = "/pb.PostService/createPost"
 | 
			
		||||
	PostService_UpdatePost_FullMethodName  = "/pb.PostService/updatePost"
 | 
			
		||||
	PostService_DeletePost_FullMethodName  = "/pb.PostService/deletePost"
 | 
			
		||||
	PostService_PublishPost_FullMethodName = "/pb.PostService/publishPost"
 | 
			
		||||
	PostService_CountPosts_FullMethodName  = "/pb.PostService/countPosts"
 | 
			
		||||
	PostService_ListPosts_FullMethodName   = "/pb.PostService/listPosts"
 | 
			
		||||
	PostService_FindPost_FullMethodName    = "/pb.PostService/findPost"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// PostServiceClient is the client API for PostService service.
 | 
			
		||||
//
 | 
			
		||||
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
 | 
			
		||||
type PostServiceClient interface {
 | 
			
		||||
	// 创建文章
 | 
			
		||||
	CreatePost(ctx context.Context, in *CreatePostRequest, opts ...grpc.CallOption) (*CreatePostResponse, error)
 | 
			
		||||
	// 修改文章
 | 
			
		||||
	UpdatePost(ctx context.Context, in *UpdatePostRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
 | 
			
		||||
	// 删除文章
 | 
			
		||||
	DeletePost(ctx context.Context, in *DeletePostRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
 | 
			
		||||
	// 发布文章
 | 
			
		||||
	PublishPost(ctx context.Context, in *PublishPostRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
 | 
			
		||||
	// 计算文章数量
 | 
			
		||||
	CountPosts(ctx context.Context, in *CountPostsRequest, opts ...grpc.CallOption) (*RPCCountResponse, error)
 | 
			
		||||
	// 列出单页文章
 | 
			
		||||
	ListPosts(ctx context.Context, in *ListPostsRequest, opts ...grpc.CallOption) (*ListPostsResponse, error)
 | 
			
		||||
	// 查询单篇文章
 | 
			
		||||
	FindPost(ctx context.Context, in *FindPostRequest, opts ...grpc.CallOption) (*FindPostResponse, error)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type postServiceClient struct {
 | 
			
		||||
	cc grpc.ClientConnInterface
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func NewPostServiceClient(cc grpc.ClientConnInterface) PostServiceClient {
 | 
			
		||||
	return &postServiceClient{cc}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (c *postServiceClient) CreatePost(ctx context.Context, in *CreatePostRequest, opts ...grpc.CallOption) (*CreatePostResponse, error) {
 | 
			
		||||
	out := new(CreatePostResponse)
 | 
			
		||||
	err := c.cc.Invoke(ctx, PostService_CreatePost_FullMethodName, in, out, opts...)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	return out, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (c *postServiceClient) UpdatePost(ctx context.Context, in *UpdatePostRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
 | 
			
		||||
	out := new(RPCSuccess)
 | 
			
		||||
	err := c.cc.Invoke(ctx, PostService_UpdatePost_FullMethodName, in, out, opts...)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	return out, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (c *postServiceClient) DeletePost(ctx context.Context, in *DeletePostRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
 | 
			
		||||
	out := new(RPCSuccess)
 | 
			
		||||
	err := c.cc.Invoke(ctx, PostService_DeletePost_FullMethodName, in, out, opts...)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	return out, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (c *postServiceClient) PublishPost(ctx context.Context, in *PublishPostRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
 | 
			
		||||
	out := new(RPCSuccess)
 | 
			
		||||
	err := c.cc.Invoke(ctx, PostService_PublishPost_FullMethodName, in, out, opts...)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	return out, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (c *postServiceClient) CountPosts(ctx context.Context, in *CountPostsRequest, opts ...grpc.CallOption) (*RPCCountResponse, error) {
 | 
			
		||||
	out := new(RPCCountResponse)
 | 
			
		||||
	err := c.cc.Invoke(ctx, PostService_CountPosts_FullMethodName, in, out, opts...)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	return out, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (c *postServiceClient) ListPosts(ctx context.Context, in *ListPostsRequest, opts ...grpc.CallOption) (*ListPostsResponse, error) {
 | 
			
		||||
	out := new(ListPostsResponse)
 | 
			
		||||
	err := c.cc.Invoke(ctx, PostService_ListPosts_FullMethodName, in, out, opts...)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	return out, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (c *postServiceClient) FindPost(ctx context.Context, in *FindPostRequest, opts ...grpc.CallOption) (*FindPostResponse, error) {
 | 
			
		||||
	out := new(FindPostResponse)
 | 
			
		||||
	err := c.cc.Invoke(ctx, PostService_FindPost_FullMethodName, in, out, opts...)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	return out, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// PostServiceServer is the server API for PostService service.
 | 
			
		||||
// All implementations should embed UnimplementedPostServiceServer
 | 
			
		||||
// for forward compatibility
 | 
			
		||||
type PostServiceServer interface {
 | 
			
		||||
	// 创建文章
 | 
			
		||||
	CreatePost(context.Context, *CreatePostRequest) (*CreatePostResponse, error)
 | 
			
		||||
	// 修改文章
 | 
			
		||||
	UpdatePost(context.Context, *UpdatePostRequest) (*RPCSuccess, error)
 | 
			
		||||
	// 删除文章
 | 
			
		||||
	DeletePost(context.Context, *DeletePostRequest) (*RPCSuccess, error)
 | 
			
		||||
	// 发布文章
 | 
			
		||||
	PublishPost(context.Context, *PublishPostRequest) (*RPCSuccess, error)
 | 
			
		||||
	// 计算文章数量
 | 
			
		||||
	CountPosts(context.Context, *CountPostsRequest) (*RPCCountResponse, error)
 | 
			
		||||
	// 列出单页文章
 | 
			
		||||
	ListPosts(context.Context, *ListPostsRequest) (*ListPostsResponse, error)
 | 
			
		||||
	// 查询单篇文章
 | 
			
		||||
	FindPost(context.Context, *FindPostRequest) (*FindPostResponse, error)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// UnimplementedPostServiceServer should be embedded to have forward compatible implementations.
 | 
			
		||||
type UnimplementedPostServiceServer struct {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (UnimplementedPostServiceServer) CreatePost(context.Context, *CreatePostRequest) (*CreatePostResponse, error) {
 | 
			
		||||
	return nil, status.Errorf(codes.Unimplemented, "method CreatePost not implemented")
 | 
			
		||||
}
 | 
			
		||||
func (UnimplementedPostServiceServer) UpdatePost(context.Context, *UpdatePostRequest) (*RPCSuccess, error) {
 | 
			
		||||
	return nil, status.Errorf(codes.Unimplemented, "method UpdatePost not implemented")
 | 
			
		||||
}
 | 
			
		||||
func (UnimplementedPostServiceServer) DeletePost(context.Context, *DeletePostRequest) (*RPCSuccess, error) {
 | 
			
		||||
	return nil, status.Errorf(codes.Unimplemented, "method DeletePost not implemented")
 | 
			
		||||
}
 | 
			
		||||
func (UnimplementedPostServiceServer) PublishPost(context.Context, *PublishPostRequest) (*RPCSuccess, error) {
 | 
			
		||||
	return nil, status.Errorf(codes.Unimplemented, "method PublishPost not implemented")
 | 
			
		||||
}
 | 
			
		||||
func (UnimplementedPostServiceServer) CountPosts(context.Context, *CountPostsRequest) (*RPCCountResponse, error) {
 | 
			
		||||
	return nil, status.Errorf(codes.Unimplemented, "method CountPosts not implemented")
 | 
			
		||||
}
 | 
			
		||||
func (UnimplementedPostServiceServer) ListPosts(context.Context, *ListPostsRequest) (*ListPostsResponse, error) {
 | 
			
		||||
	return nil, status.Errorf(codes.Unimplemented, "method ListPosts not implemented")
 | 
			
		||||
}
 | 
			
		||||
func (UnimplementedPostServiceServer) FindPost(context.Context, *FindPostRequest) (*FindPostResponse, error) {
 | 
			
		||||
	return nil, status.Errorf(codes.Unimplemented, "method FindPost not implemented")
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// UnsafePostServiceServer may be embedded to opt out of forward compatibility for this service.
 | 
			
		||||
// Use of this interface is not recommended, as added methods to PostServiceServer will
 | 
			
		||||
// result in compilation errors.
 | 
			
		||||
type UnsafePostServiceServer interface {
 | 
			
		||||
	mustEmbedUnimplementedPostServiceServer()
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func RegisterPostServiceServer(s grpc.ServiceRegistrar, srv PostServiceServer) {
 | 
			
		||||
	s.RegisterService(&PostService_ServiceDesc, srv)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func _PostService_CreatePost_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
			
		||||
	in := new(CreatePostRequest)
 | 
			
		||||
	if err := dec(in); err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	if interceptor == nil {
 | 
			
		||||
		return srv.(PostServiceServer).CreatePost(ctx, in)
 | 
			
		||||
	}
 | 
			
		||||
	info := &grpc.UnaryServerInfo{
 | 
			
		||||
		Server:     srv,
 | 
			
		||||
		FullMethod: PostService_CreatePost_FullMethodName,
 | 
			
		||||
	}
 | 
			
		||||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
			
		||||
		return srv.(PostServiceServer).CreatePost(ctx, req.(*CreatePostRequest))
 | 
			
		||||
	}
 | 
			
		||||
	return interceptor(ctx, in, info, handler)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func _PostService_UpdatePost_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
			
		||||
	in := new(UpdatePostRequest)
 | 
			
		||||
	if err := dec(in); err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	if interceptor == nil {
 | 
			
		||||
		return srv.(PostServiceServer).UpdatePost(ctx, in)
 | 
			
		||||
	}
 | 
			
		||||
	info := &grpc.UnaryServerInfo{
 | 
			
		||||
		Server:     srv,
 | 
			
		||||
		FullMethod: PostService_UpdatePost_FullMethodName,
 | 
			
		||||
	}
 | 
			
		||||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
			
		||||
		return srv.(PostServiceServer).UpdatePost(ctx, req.(*UpdatePostRequest))
 | 
			
		||||
	}
 | 
			
		||||
	return interceptor(ctx, in, info, handler)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func _PostService_DeletePost_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
			
		||||
	in := new(DeletePostRequest)
 | 
			
		||||
	if err := dec(in); err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	if interceptor == nil {
 | 
			
		||||
		return srv.(PostServiceServer).DeletePost(ctx, in)
 | 
			
		||||
	}
 | 
			
		||||
	info := &grpc.UnaryServerInfo{
 | 
			
		||||
		Server:     srv,
 | 
			
		||||
		FullMethod: PostService_DeletePost_FullMethodName,
 | 
			
		||||
	}
 | 
			
		||||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
			
		||||
		return srv.(PostServiceServer).DeletePost(ctx, req.(*DeletePostRequest))
 | 
			
		||||
	}
 | 
			
		||||
	return interceptor(ctx, in, info, handler)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func _PostService_PublishPost_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
			
		||||
	in := new(PublishPostRequest)
 | 
			
		||||
	if err := dec(in); err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	if interceptor == nil {
 | 
			
		||||
		return srv.(PostServiceServer).PublishPost(ctx, in)
 | 
			
		||||
	}
 | 
			
		||||
	info := &grpc.UnaryServerInfo{
 | 
			
		||||
		Server:     srv,
 | 
			
		||||
		FullMethod: PostService_PublishPost_FullMethodName,
 | 
			
		||||
	}
 | 
			
		||||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
			
		||||
		return srv.(PostServiceServer).PublishPost(ctx, req.(*PublishPostRequest))
 | 
			
		||||
	}
 | 
			
		||||
	return interceptor(ctx, in, info, handler)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func _PostService_CountPosts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
			
		||||
	in := new(CountPostsRequest)
 | 
			
		||||
	if err := dec(in); err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	if interceptor == nil {
 | 
			
		||||
		return srv.(PostServiceServer).CountPosts(ctx, in)
 | 
			
		||||
	}
 | 
			
		||||
	info := &grpc.UnaryServerInfo{
 | 
			
		||||
		Server:     srv,
 | 
			
		||||
		FullMethod: PostService_CountPosts_FullMethodName,
 | 
			
		||||
	}
 | 
			
		||||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
			
		||||
		return srv.(PostServiceServer).CountPosts(ctx, req.(*CountPostsRequest))
 | 
			
		||||
	}
 | 
			
		||||
	return interceptor(ctx, in, info, handler)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func _PostService_ListPosts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
			
		||||
	in := new(ListPostsRequest)
 | 
			
		||||
	if err := dec(in); err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	if interceptor == nil {
 | 
			
		||||
		return srv.(PostServiceServer).ListPosts(ctx, in)
 | 
			
		||||
	}
 | 
			
		||||
	info := &grpc.UnaryServerInfo{
 | 
			
		||||
		Server:     srv,
 | 
			
		||||
		FullMethod: PostService_ListPosts_FullMethodName,
 | 
			
		||||
	}
 | 
			
		||||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
			
		||||
		return srv.(PostServiceServer).ListPosts(ctx, req.(*ListPostsRequest))
 | 
			
		||||
	}
 | 
			
		||||
	return interceptor(ctx, in, info, handler)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func _PostService_FindPost_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
			
		||||
	in := new(FindPostRequest)
 | 
			
		||||
	if err := dec(in); err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	if interceptor == nil {
 | 
			
		||||
		return srv.(PostServiceServer).FindPost(ctx, in)
 | 
			
		||||
	}
 | 
			
		||||
	info := &grpc.UnaryServerInfo{
 | 
			
		||||
		Server:     srv,
 | 
			
		||||
		FullMethod: PostService_FindPost_FullMethodName,
 | 
			
		||||
	}
 | 
			
		||||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
			
		||||
		return srv.(PostServiceServer).FindPost(ctx, req.(*FindPostRequest))
 | 
			
		||||
	}
 | 
			
		||||
	return interceptor(ctx, in, info, handler)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// PostService_ServiceDesc is the grpc.ServiceDesc for PostService service.
 | 
			
		||||
// It's only intended for direct use with grpc.RegisterService,
 | 
			
		||||
// and not to be introspected or modified (even as a copy)
 | 
			
		||||
var PostService_ServiceDesc = grpc.ServiceDesc{
 | 
			
		||||
	ServiceName: "pb.PostService",
 | 
			
		||||
	HandlerType: (*PostServiceServer)(nil),
 | 
			
		||||
	Methods: []grpc.MethodDesc{
 | 
			
		||||
		{
 | 
			
		||||
			MethodName: "createPost",
 | 
			
		||||
			Handler:    _PostService_CreatePost_Handler,
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			MethodName: "updatePost",
 | 
			
		||||
			Handler:    _PostService_UpdatePost_Handler,
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			MethodName: "deletePost",
 | 
			
		||||
			Handler:    _PostService_DeletePost_Handler,
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			MethodName: "publishPost",
 | 
			
		||||
			Handler:    _PostService_PublishPost_Handler,
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			MethodName: "countPosts",
 | 
			
		||||
			Handler:    _PostService_CountPosts_Handler,
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			MethodName: "listPosts",
 | 
			
		||||
			Handler:    _PostService_ListPosts_Handler,
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			MethodName: "findPost",
 | 
			
		||||
			Handler:    _PostService_FindPost_Handler,
 | 
			
		||||
		},
 | 
			
		||||
	},
 | 
			
		||||
	Streams:  []grpc.StreamDesc{},
 | 
			
		||||
	Metadata: "service_post.proto",
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										22
									
								
								pkg/rpc/protos/models/model_post.proto
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								pkg/rpc/protos/models/model_post.proto
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,22 @@
 | 
			
		||||
syntax = "proto3";
 | 
			
		||||
option go_package = "./pb";
 | 
			
		||||
 | 
			
		||||
package pb;
 | 
			
		||||
 | 
			
		||||
import "models/model_post_category.proto";
 | 
			
		||||
 | 
			
		||||
// 文章
 | 
			
		||||
message Post {
 | 
			
		||||
	int64 id = 1; // ID
 | 
			
		||||
	int64 postCategoryId = 2; // 分类ID
 | 
			
		||||
	string productCode = 3; // 产品代号
 | 
			
		||||
	string type = 4; // 类型:normal, url
 | 
			
		||||
	string subject = 5; // 标题
 | 
			
		||||
	string url = 6; // URL
 | 
			
		||||
	string body = 7; // 内容
 | 
			
		||||
	int64 createdAt = 8; // 创建时间
 | 
			
		||||
	bool isPublished = 9; // 是否已发布
 | 
			
		||||
	int64 publishedAt = 10; // 发布时间
 | 
			
		||||
 | 
			
		||||
	PostCategory postCategory = 30; // 分类信息
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										12
									
								
								pkg/rpc/protos/models/model_post_category.proto
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								pkg/rpc/protos/models/model_post_category.proto
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,12 @@
 | 
			
		||||
syntax = "proto3";
 | 
			
		||||
option go_package = "./pb";
 | 
			
		||||
 | 
			
		||||
package pb;
 | 
			
		||||
 | 
			
		||||
// 文章分类
 | 
			
		||||
message PostCategory {
 | 
			
		||||
	int64 id = 1; // ID
 | 
			
		||||
	string name = 2; // 名称
 | 
			
		||||
	string code = 3; // 文章代号
 | 
			
		||||
	bool isOn = 4; // 是否启用
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										99
									
								
								pkg/rpc/protos/service_post.proto
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										99
									
								
								pkg/rpc/protos/service_post.proto
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,99 @@
 | 
			
		||||
syntax = "proto3";
 | 
			
		||||
option go_package = "./pb";
 | 
			
		||||
 | 
			
		||||
package pb;
 | 
			
		||||
 | 
			
		||||
import "models/model_post.proto";
 | 
			
		||||
import "models/rpc_messages.proto";
 | 
			
		||||
 | 
			
		||||
// 文章管理服务
 | 
			
		||||
service PostService {
 | 
			
		||||
	// 创建文章
 | 
			
		||||
	rpc createPost(CreatePostRequest) returns (CreatePostResponse);
 | 
			
		||||
 | 
			
		||||
	// 修改文章
 | 
			
		||||
	rpc updatePost(UpdatePostRequest) returns (RPCSuccess);
 | 
			
		||||
 | 
			
		||||
	// 删除文章
 | 
			
		||||
	rpc deletePost(DeletePostRequest) returns (RPCSuccess);
 | 
			
		||||
 | 
			
		||||
	// 发布文章
 | 
			
		||||
	rpc publishPost(PublishPostRequest) returns (RPCSuccess);
 | 
			
		||||
 | 
			
		||||
	// 计算文章数量
 | 
			
		||||
	rpc countPosts(CountPostsRequest) returns (RPCCountResponse);
 | 
			
		||||
 | 
			
		||||
	// 列出单页文章
 | 
			
		||||
	rpc listPosts(ListPostsRequest) returns (ListPostsResponse);
 | 
			
		||||
 | 
			
		||||
	// 查询单篇文章
 | 
			
		||||
	rpc findPost(FindPostRequest) returns (FindPostResponse);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 创建文章
 | 
			
		||||
message CreatePostRequest {
 | 
			
		||||
	int64 postCategoryId = 1; // 文章分类ID
 | 
			
		||||
	string type = 2; // 类型:normal, url
 | 
			
		||||
	string productCode = 3; // 产品代号
 | 
			
		||||
	string subject = 4; // 标题
 | 
			
		||||
	string url = 5; // 跳转的URL(type=url)
 | 
			
		||||
	string body = 6; // 文章内容(type=normal)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
message CreatePostResponse {
 | 
			
		||||
	int64 postId = 1; // 文章ID
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 修改文章
 | 
			
		||||
message UpdatePostRequest {
 | 
			
		||||
	int64 postId = 1; // 文章ID
 | 
			
		||||
	int64 postCategoryId = 2; // 文章分类ID
 | 
			
		||||
	string productCode = 3; // 产品代号
 | 
			
		||||
	string subject = 4; // 标题
 | 
			
		||||
	string type = 5; // 类型:normal, url
 | 
			
		||||
	string url = 6; // 跳转的URL(type=url)
 | 
			
		||||
	string body = 7; // 文章内容(type=normal)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 删除文章
 | 
			
		||||
message DeletePostRequest {
 | 
			
		||||
	int64 postId = 1; // 文章ID
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 发布文章
 | 
			
		||||
message PublishPostRequest {
 | 
			
		||||
	int64 postId = 1; // 文章ID
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 计算文章数量
 | 
			
		||||
message CountPostsRequest {
 | 
			
		||||
	int64 postCategoryId = 1; // 分类ID
 | 
			
		||||
	string productCode = 2; // 产品代号
 | 
			
		||||
	bool publishedOnly = 3; // 只列出已发布的
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 列出单页文章
 | 
			
		||||
message ListPostsRequest {
 | 
			
		||||
	int64 offset = 1;
 | 
			
		||||
	int64 size = 2;
 | 
			
		||||
 | 
			
		||||
	string productCode = 3; // 产品代号
 | 
			
		||||
	int64 postCategoryId = 4; // 分类ID
 | 
			
		||||
	string postCategoryCode = 5; // 分类代号
 | 
			
		||||
	string excludingPostCategoryCode = 6; // 排除的分类代号
 | 
			
		||||
	bool publishedOnly = 7; // 只列出已发布的
 | 
			
		||||
	bool containsBody = 8; // 是否包含文章内容
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
message ListPostsResponse {
 | 
			
		||||
	repeated Post posts = 1; // 文章列表
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 查询单篇文章
 | 
			
		||||
message FindPostRequest {
 | 
			
		||||
	int64 postId = 1; // 文章ID
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
message FindPostResponse {
 | 
			
		||||
	Post post = 1; // 文章信息
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										86
									
								
								pkg/rpc/protos/service_post_category.proto
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										86
									
								
								pkg/rpc/protos/service_post_category.proto
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,86 @@
 | 
			
		||||
syntax = "proto3";
 | 
			
		||||
option go_package = "./pb";
 | 
			
		||||
 | 
			
		||||
package pb;
 | 
			
		||||
 | 
			
		||||
import "models/model_post_category.proto";
 | 
			
		||||
import "models/rpc_messages.proto";
 | 
			
		||||
 | 
			
		||||
// 文章分类管理服务
 | 
			
		||||
service PostCategoryService {
 | 
			
		||||
	// 创建分类
 | 
			
		||||
	rpc createPostCategory(CreatePostCategoryRequest) returns (CreatePostCategoryResponse);
 | 
			
		||||
 | 
			
		||||
	// 修改分类
 | 
			
		||||
	rpc updatePostCategory(UpdatePostCategoryRequest) returns (RPCSuccess);
 | 
			
		||||
 | 
			
		||||
	// 删除分类
 | 
			
		||||
	rpc deletePostCategory(DeletePostCategoryRequest) returns (RPCSuccess);
 | 
			
		||||
 | 
			
		||||
	// 列出所有分类
 | 
			
		||||
	rpc findAllPostCategories(FindAllPostCategoriesRequest) returns (FindAllPostCategoriesResponse);
 | 
			
		||||
 | 
			
		||||
	// 列出所有可用分类
 | 
			
		||||
	rpc findAllAvailablePostCategories(FindAllAvailablePostCategoriesRequest) returns (FindAllAvailablePostCategoriesResponse);
 | 
			
		||||
 | 
			
		||||
	// 查询单个分类
 | 
			
		||||
	rpc findPostCategory(FindPostCategoryRequest) returns (FindPostCategoryResponse);
 | 
			
		||||
 | 
			
		||||
	// 对分类进行排序
 | 
			
		||||
	rpc sortPostCategories(SortPostCategoriesRequest) returns (RPCSuccess);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 创建分类
 | 
			
		||||
message CreatePostCategoryRequest {
 | 
			
		||||
	string name = 1; // 分类名称
 | 
			
		||||
	string code = 2; // 分类代号
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
message CreatePostCategoryResponse {
 | 
			
		||||
	int64 postCategoryId = 1; // 分类ID
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 修改分类
 | 
			
		||||
message UpdatePostCategoryRequest {
 | 
			
		||||
	int64 postCategoryId = 1; // 分类ID
 | 
			
		||||
	string name = 2; // 分类名称
 | 
			
		||||
	string code = 3; // 分类代号
 | 
			
		||||
	bool isOn = 4; // 是否启用
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 删除分类
 | 
			
		||||
message DeletePostCategoryRequest {
 | 
			
		||||
	int64 postCategoryId = 1; // 分类ID
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 列出所有分类
 | 
			
		||||
message FindAllPostCategoriesRequest {
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
message FindAllPostCategoriesResponse {
 | 
			
		||||
	repeated PostCategory postCategories = 1; // 分类列表
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 列出所有可用分类
 | 
			
		||||
message FindAllAvailablePostCategoriesRequest {
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
message FindAllAvailablePostCategoriesResponse {
 | 
			
		||||
	repeated PostCategory postCategories = 1; // 分类列表
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 查询单个分类
 | 
			
		||||
message FindPostCategoryRequest {
 | 
			
		||||
	int64 postCategoryId = 1; // 分类ID
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
message FindPostCategoryResponse {
 | 
			
		||||
	PostCategory postCategory = 1; // 分类信息
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 对分类进行排序
 | 
			
		||||
message SortPostCategoriesRequest {
 | 
			
		||||
	repeated int64 postCategoryIds = 1; // 分类ID列表
 | 
			
		||||
}
 | 
			
		||||
@@ -16,8 +16,9 @@ type UserUIConfig struct {
 | 
			
		||||
	Version        string `json:"version"`        // 显示的版本号
 | 
			
		||||
	ShowFinance    bool   `json:"showFinance"`    // 是否显示财务相关信息
 | 
			
		||||
	FaviconFileId  int64  `json:"faviconFileId"`  // Favicon文件ID
 | 
			
		||||
	LogoFileId     int64  `json:"logoFileId"`     // Logo文件ID
 | 
			
		||||
	TimeZone       string `json:"timeZone"`       // 时区
 | 
			
		||||
	LogoFileId     int64  `json:"logoFileId"`     // 控制面板Logo文件ID
 | 
			
		||||
 | 
			
		||||
	TimeZone string `json:"timeZone"` // 时区
 | 
			
		||||
 | 
			
		||||
	ClientIPHeaderNames string `json:"clientIPHeaderNames"` // 客户端IP获取报头名称列表
 | 
			
		||||
 | 
			
		||||
@@ -36,6 +37,11 @@ type UserUIConfig struct {
 | 
			
		||||
		BandwidthAlgo             BandwidthAlgo `json:"bandwidthAlgo"`             // 带宽算法
 | 
			
		||||
	} `json:"trafficStats"` // 流量统计相关设置
 | 
			
		||||
 | 
			
		||||
	Portal struct {
 | 
			
		||||
		IsOn       bool  `json:"isOn"`       // 是否启用
 | 
			
		||||
		LogoFileId int64 `json:"logoFileId"` // Logo文件ID
 | 
			
		||||
	} `json:"portal"` // 门户页面相关设置
 | 
			
		||||
 | 
			
		||||
	Theme ThemeConfig `yaml:"theme" json:"theme"` // 风格模板
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user