// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.6.2
// - protoc             v7.35.1
// source: module/base/cms/proto/post.proto

package cms

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.64.0 or later.
const _ = grpc.SupportPackageIsVersion9

const (
	Post_Fetch_FullMethodName             = "/cms.Post/Fetch"
	Post_GetByIdentity_FullMethodName     = "/cms.Post/GetByIdentity"
	Post_GetByKey_FullMethodName          = "/cms.Post/GetByKey"
	Post_Search_FullMethodName            = "/cms.Post/Search"
	Post_Create_FullMethodName            = "/cms.Post/Create"
	Post_Modify_FullMethodName            = "/cms.Post/Modify"
	Post_Delete_FullMethodName            = "/cms.Post/Delete"
	Post_IncrPostLike_FullMethodName      = "/cms.Post/IncrPostLike"
	Post_DescPostLike_FullMethodName      = "/cms.Post/DescPostLike"
	Post_IncrPostUnlike_FullMethodName    = "/cms.Post/IncrPostUnlike"
	Post_DescPostUnlike_FullMethodName    = "/cms.Post/DescPostUnlike"
	Post_CommentList_FullMethodName       = "/cms.Post/CommentList"
	Post_AddComment_FullMethodName        = "/cms.Post/AddComment"
	Post_ModifyComment_FullMethodName     = "/cms.Post/ModifyComment"
	Post_DeleteComment_FullMethodName     = "/cms.Post/DeleteComment"
	Post_IncrCommentLike_FullMethodName   = "/cms.Post/IncrCommentLike"
	Post_DescCommentLike_FullMethodName   = "/cms.Post/DescCommentLike"
	Post_IncrCommentUnlike_FullMethodName = "/cms.Post/IncrCommentUnlike"
	Post_DescCommentUnlike_FullMethodName = "/cms.Post/DescCommentUnlike"
)

// PostClient is the client API for Post 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 PostClient interface {
	// 文章列表
	Fetch(ctx context.Context, in *PostListRequest, opts ...grpc.CallOption) (*PostListReply, error)
	// 获取文章详情 By Identity
	GetByIdentity(ctx context.Context, in *GetPostRequest, opts ...grpc.CallOption) (*PostItem, error)
	// 获取文章详情 By Key
	GetByKey(ctx context.Context, in *GetPostByKeyRequest, opts ...grpc.CallOption) (*PostItem, error)
	// 搜索文章
	Search(ctx context.Context, in *CmsSearchRequest, opts ...grpc.CallOption) (*PostListReply, error)
	// 发布文章
	Create(ctx context.Context, in *PostItem, opts ...grpc.CallOption) (*StatusReply, error)
	// 修改文章
	Modify(ctx context.Context, in *PostItem, opts ...grpc.CallOption) (*StatusReply, error)
	// 删除文章
	Delete(ctx context.Context, in *IdentRequest, opts ...grpc.CallOption) (*StatusReply, error)
	// 文章点赞处理
	IncrPostLike(ctx context.Context, in *PostOpIdentityRequest, opts ...grpc.CallOption) (*StatusReply, error)
	// 文章点赞取消处理
	DescPostLike(ctx context.Context, in *PostOpIdentityRequest, opts ...grpc.CallOption) (*StatusReply, error)
	// 文章点踩处理
	IncrPostUnlike(ctx context.Context, in *PostOpIdentityRequest, opts ...grpc.CallOption) (*StatusReply, error)
	// 文章点踩取消处理
	DescPostUnlike(ctx context.Context, in *PostOpIdentityRequest, opts ...grpc.CallOption) (*StatusReply, error)
	// 评论列表
	CommentList(ctx context.Context, in *CommentListRequest, opts ...grpc.CallOption) (*CommentListResponse, error)
	// 发布评论
	AddComment(ctx context.Context, in *CommentItem, opts ...grpc.CallOption) (*StatusReply, error)
	// 修改评论
	ModifyComment(ctx context.Context, in *CommentItem, opts ...grpc.CallOption) (*StatusReply, error)
	// 删除评论
	DeleteComment(ctx context.Context, in *DeleteCommentRequest, opts ...grpc.CallOption) (*StatusReply, error)
	// 评论点赞处理
	IncrCommentLike(ctx context.Context, in *CommentOpIdentityRequest, opts ...grpc.CallOption) (*StatusReply, error)
	// 评论点赞取消处理
	DescCommentLike(ctx context.Context, in *CommentOpIdentityRequest, opts ...grpc.CallOption) (*StatusReply, error)
	// 评论点踩处理
	IncrCommentUnlike(ctx context.Context, in *CommentOpIdentityRequest, opts ...grpc.CallOption) (*StatusReply, error)
	// 评论点踩取消处理
	DescCommentUnlike(ctx context.Context, in *CommentOpIdentityRequest, opts ...grpc.CallOption) (*StatusReply, error)
}

type postClient struct {
	cc grpc.ClientConnInterface
}

func NewPostClient(cc grpc.ClientConnInterface) PostClient {
	return &postClient{cc}
}

func (c *postClient) Fetch(ctx context.Context, in *PostListRequest, opts ...grpc.CallOption) (*PostListReply, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(PostListReply)
	err := c.cc.Invoke(ctx, Post_Fetch_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *postClient) GetByIdentity(ctx context.Context, in *GetPostRequest, opts ...grpc.CallOption) (*PostItem, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(PostItem)
	err := c.cc.Invoke(ctx, Post_GetByIdentity_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *postClient) GetByKey(ctx context.Context, in *GetPostByKeyRequest, opts ...grpc.CallOption) (*PostItem, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(PostItem)
	err := c.cc.Invoke(ctx, Post_GetByKey_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *postClient) Search(ctx context.Context, in *CmsSearchRequest, opts ...grpc.CallOption) (*PostListReply, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(PostListReply)
	err := c.cc.Invoke(ctx, Post_Search_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *postClient) Create(ctx context.Context, in *PostItem, opts ...grpc.CallOption) (*StatusReply, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(StatusReply)
	err := c.cc.Invoke(ctx, Post_Create_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *postClient) Modify(ctx context.Context, in *PostItem, opts ...grpc.CallOption) (*StatusReply, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(StatusReply)
	err := c.cc.Invoke(ctx, Post_Modify_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *postClient) Delete(ctx context.Context, in *IdentRequest, opts ...grpc.CallOption) (*StatusReply, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(StatusReply)
	err := c.cc.Invoke(ctx, Post_Delete_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *postClient) IncrPostLike(ctx context.Context, in *PostOpIdentityRequest, opts ...grpc.CallOption) (*StatusReply, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(StatusReply)
	err := c.cc.Invoke(ctx, Post_IncrPostLike_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *postClient) DescPostLike(ctx context.Context, in *PostOpIdentityRequest, opts ...grpc.CallOption) (*StatusReply, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(StatusReply)
	err := c.cc.Invoke(ctx, Post_DescPostLike_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *postClient) IncrPostUnlike(ctx context.Context, in *PostOpIdentityRequest, opts ...grpc.CallOption) (*StatusReply, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(StatusReply)
	err := c.cc.Invoke(ctx, Post_IncrPostUnlike_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *postClient) DescPostUnlike(ctx context.Context, in *PostOpIdentityRequest, opts ...grpc.CallOption) (*StatusReply, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(StatusReply)
	err := c.cc.Invoke(ctx, Post_DescPostUnlike_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *postClient) CommentList(ctx context.Context, in *CommentListRequest, opts ...grpc.CallOption) (*CommentListResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(CommentListResponse)
	err := c.cc.Invoke(ctx, Post_CommentList_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *postClient) AddComment(ctx context.Context, in *CommentItem, opts ...grpc.CallOption) (*StatusReply, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(StatusReply)
	err := c.cc.Invoke(ctx, Post_AddComment_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *postClient) ModifyComment(ctx context.Context, in *CommentItem, opts ...grpc.CallOption) (*StatusReply, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(StatusReply)
	err := c.cc.Invoke(ctx, Post_ModifyComment_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *postClient) DeleteComment(ctx context.Context, in *DeleteCommentRequest, opts ...grpc.CallOption) (*StatusReply, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(StatusReply)
	err := c.cc.Invoke(ctx, Post_DeleteComment_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *postClient) IncrCommentLike(ctx context.Context, in *CommentOpIdentityRequest, opts ...grpc.CallOption) (*StatusReply, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(StatusReply)
	err := c.cc.Invoke(ctx, Post_IncrCommentLike_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *postClient) DescCommentLike(ctx context.Context, in *CommentOpIdentityRequest, opts ...grpc.CallOption) (*StatusReply, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(StatusReply)
	err := c.cc.Invoke(ctx, Post_DescCommentLike_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *postClient) IncrCommentUnlike(ctx context.Context, in *CommentOpIdentityRequest, opts ...grpc.CallOption) (*StatusReply, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(StatusReply)
	err := c.cc.Invoke(ctx, Post_IncrCommentUnlike_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *postClient) DescCommentUnlike(ctx context.Context, in *CommentOpIdentityRequest, opts ...grpc.CallOption) (*StatusReply, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(StatusReply)
	err := c.cc.Invoke(ctx, Post_DescCommentUnlike_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// PostServer is the server API for Post service.
// All implementations should embed UnimplementedPostServer
// for forward compatibility.
//
// 正文
type PostServer interface {
	// 文章列表
	Fetch(context.Context, *PostListRequest) (*PostListReply, error)
	// 获取文章详情 By Identity
	GetByIdentity(context.Context, *GetPostRequest) (*PostItem, error)
	// 获取文章详情 By Key
	GetByKey(context.Context, *GetPostByKeyRequest) (*PostItem, error)
	// 搜索文章
	Search(context.Context, *CmsSearchRequest) (*PostListReply, error)
	// 发布文章
	Create(context.Context, *PostItem) (*StatusReply, error)
	// 修改文章
	Modify(context.Context, *PostItem) (*StatusReply, error)
	// 删除文章
	Delete(context.Context, *IdentRequest) (*StatusReply, error)
	// 文章点赞处理
	IncrPostLike(context.Context, *PostOpIdentityRequest) (*StatusReply, error)
	// 文章点赞取消处理
	DescPostLike(context.Context, *PostOpIdentityRequest) (*StatusReply, error)
	// 文章点踩处理
	IncrPostUnlike(context.Context, *PostOpIdentityRequest) (*StatusReply, error)
	// 文章点踩取消处理
	DescPostUnlike(context.Context, *PostOpIdentityRequest) (*StatusReply, error)
	// 评论列表
	CommentList(context.Context, *CommentListRequest) (*CommentListResponse, error)
	// 发布评论
	AddComment(context.Context, *CommentItem) (*StatusReply, error)
	// 修改评论
	ModifyComment(context.Context, *CommentItem) (*StatusReply, error)
	// 删除评论
	DeleteComment(context.Context, *DeleteCommentRequest) (*StatusReply, error)
	// 评论点赞处理
	IncrCommentLike(context.Context, *CommentOpIdentityRequest) (*StatusReply, error)
	// 评论点赞取消处理
	DescCommentLike(context.Context, *CommentOpIdentityRequest) (*StatusReply, error)
	// 评论点踩处理
	IncrCommentUnlike(context.Context, *CommentOpIdentityRequest) (*StatusReply, error)
	// 评论点踩取消处理
	DescCommentUnlike(context.Context, *CommentOpIdentityRequest) (*StatusReply, error)
}

// UnimplementedPostServer should be embedded to have
// forward compatible implementations.
//
// NOTE: this should be embedded by value instead of pointer to avoid a nil
// pointer dereference when methods are called.
type UnimplementedPostServer struct{}

func (UnimplementedPostServer) Fetch(context.Context, *PostListRequest) (*PostListReply, error) {
	return nil, status.Error(codes.Unimplemented, "method Fetch not implemented")
}
func (UnimplementedPostServer) GetByIdentity(context.Context, *GetPostRequest) (*PostItem, error) {
	return nil, status.Error(codes.Unimplemented, "method GetByIdentity not implemented")
}
func (UnimplementedPostServer) GetByKey(context.Context, *GetPostByKeyRequest) (*PostItem, error) {
	return nil, status.Error(codes.Unimplemented, "method GetByKey not implemented")
}
func (UnimplementedPostServer) Search(context.Context, *CmsSearchRequest) (*PostListReply, error) {
	return nil, status.Error(codes.Unimplemented, "method Search not implemented")
}
func (UnimplementedPostServer) Create(context.Context, *PostItem) (*StatusReply, error) {
	return nil, status.Error(codes.Unimplemented, "method Create not implemented")
}
func (UnimplementedPostServer) Modify(context.Context, *PostItem) (*StatusReply, error) {
	return nil, status.Error(codes.Unimplemented, "method Modify not implemented")
}
func (UnimplementedPostServer) Delete(context.Context, *IdentRequest) (*StatusReply, error) {
	return nil, status.Error(codes.Unimplemented, "method Delete not implemented")
}
func (UnimplementedPostServer) IncrPostLike(context.Context, *PostOpIdentityRequest) (*StatusReply, error) {
	return nil, status.Error(codes.Unimplemented, "method IncrPostLike not implemented")
}
func (UnimplementedPostServer) DescPostLike(context.Context, *PostOpIdentityRequest) (*StatusReply, error) {
	return nil, status.Error(codes.Unimplemented, "method DescPostLike not implemented")
}
func (UnimplementedPostServer) IncrPostUnlike(context.Context, *PostOpIdentityRequest) (*StatusReply, error) {
	return nil, status.Error(codes.Unimplemented, "method IncrPostUnlike not implemented")
}
func (UnimplementedPostServer) DescPostUnlike(context.Context, *PostOpIdentityRequest) (*StatusReply, error) {
	return nil, status.Error(codes.Unimplemented, "method DescPostUnlike not implemented")
}
func (UnimplementedPostServer) CommentList(context.Context, *CommentListRequest) (*CommentListResponse, error) {
	return nil, status.Error(codes.Unimplemented, "method CommentList not implemented")
}
func (UnimplementedPostServer) AddComment(context.Context, *CommentItem) (*StatusReply, error) {
	return nil, status.Error(codes.Unimplemented, "method AddComment not implemented")
}
func (UnimplementedPostServer) ModifyComment(context.Context, *CommentItem) (*StatusReply, error) {
	return nil, status.Error(codes.Unimplemented, "method ModifyComment not implemented")
}
func (UnimplementedPostServer) DeleteComment(context.Context, *DeleteCommentRequest) (*StatusReply, error) {
	return nil, status.Error(codes.Unimplemented, "method DeleteComment not implemented")
}
func (UnimplementedPostServer) IncrCommentLike(context.Context, *CommentOpIdentityRequest) (*StatusReply, error) {
	return nil, status.Error(codes.Unimplemented, "method IncrCommentLike not implemented")
}
func (UnimplementedPostServer) DescCommentLike(context.Context, *CommentOpIdentityRequest) (*StatusReply, error) {
	return nil, status.Error(codes.Unimplemented, "method DescCommentLike not implemented")
}
func (UnimplementedPostServer) IncrCommentUnlike(context.Context, *CommentOpIdentityRequest) (*StatusReply, error) {
	return nil, status.Error(codes.Unimplemented, "method IncrCommentUnlike not implemented")
}
func (UnimplementedPostServer) DescCommentUnlike(context.Context, *CommentOpIdentityRequest) (*StatusReply, error) {
	return nil, status.Error(codes.Unimplemented, "method DescCommentUnlike not implemented")
}
func (UnimplementedPostServer) testEmbeddedByValue() {}

// UnsafePostServer may be embedded to opt out of forward compatibility for this service.
// Use of this interface is not recommended, as added methods to PostServer will
// result in compilation errors.
type UnsafePostServer interface {
	mustEmbedUnimplementedPostServer()
}

func RegisterPostServer(s grpc.ServiceRegistrar, srv PostServer) {
	// If the following call panics, it indicates UnimplementedPostServer was
	// embedded by pointer and is nil.  This will cause panics if an
	// unimplemented method is ever invoked, so we test this at initialization
	// time to prevent it from happening at runtime later due to I/O.
	if t, ok := srv.(interface{ testEmbeddedByValue() }); ok {
		t.testEmbeddedByValue()
	}
	s.RegisterService(&Post_ServiceDesc, srv)
}

func _Post_Fetch_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(PostListRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(PostServer).Fetch(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Post_Fetch_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(PostServer).Fetch(ctx, req.(*PostListRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Post_GetByIdentity_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetPostRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(PostServer).GetByIdentity(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Post_GetByIdentity_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(PostServer).GetByIdentity(ctx, req.(*GetPostRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Post_GetByKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetPostByKeyRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(PostServer).GetByKey(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Post_GetByKey_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(PostServer).GetByKey(ctx, req.(*GetPostByKeyRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Post_Search_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CmsSearchRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(PostServer).Search(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Post_Search_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(PostServer).Search(ctx, req.(*CmsSearchRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Post_Create_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(PostItem)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(PostServer).Create(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Post_Create_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(PostServer).Create(ctx, req.(*PostItem))
	}
	return interceptor(ctx, in, info, handler)
}

func _Post_Modify_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(PostItem)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(PostServer).Modify(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Post_Modify_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(PostServer).Modify(ctx, req.(*PostItem))
	}
	return interceptor(ctx, in, info, handler)
}

func _Post_Delete_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(IdentRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(PostServer).Delete(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Post_Delete_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(PostServer).Delete(ctx, req.(*IdentRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Post_IncrPostLike_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(PostOpIdentityRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(PostServer).IncrPostLike(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Post_IncrPostLike_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(PostServer).IncrPostLike(ctx, req.(*PostOpIdentityRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Post_DescPostLike_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(PostOpIdentityRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(PostServer).DescPostLike(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Post_DescPostLike_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(PostServer).DescPostLike(ctx, req.(*PostOpIdentityRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Post_IncrPostUnlike_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(PostOpIdentityRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(PostServer).IncrPostUnlike(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Post_IncrPostUnlike_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(PostServer).IncrPostUnlike(ctx, req.(*PostOpIdentityRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Post_DescPostUnlike_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(PostOpIdentityRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(PostServer).DescPostUnlike(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Post_DescPostUnlike_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(PostServer).DescPostUnlike(ctx, req.(*PostOpIdentityRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Post_CommentList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CommentListRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(PostServer).CommentList(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Post_CommentList_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(PostServer).CommentList(ctx, req.(*CommentListRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Post_AddComment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CommentItem)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(PostServer).AddComment(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Post_AddComment_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(PostServer).AddComment(ctx, req.(*CommentItem))
	}
	return interceptor(ctx, in, info, handler)
}

func _Post_ModifyComment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CommentItem)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(PostServer).ModifyComment(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Post_ModifyComment_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(PostServer).ModifyComment(ctx, req.(*CommentItem))
	}
	return interceptor(ctx, in, info, handler)
}

func _Post_DeleteComment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteCommentRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(PostServer).DeleteComment(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Post_DeleteComment_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(PostServer).DeleteComment(ctx, req.(*DeleteCommentRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Post_IncrCommentLike_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CommentOpIdentityRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(PostServer).IncrCommentLike(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Post_IncrCommentLike_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(PostServer).IncrCommentLike(ctx, req.(*CommentOpIdentityRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Post_DescCommentLike_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CommentOpIdentityRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(PostServer).DescCommentLike(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Post_DescCommentLike_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(PostServer).DescCommentLike(ctx, req.(*CommentOpIdentityRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Post_IncrCommentUnlike_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CommentOpIdentityRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(PostServer).IncrCommentUnlike(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Post_IncrCommentUnlike_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(PostServer).IncrCommentUnlike(ctx, req.(*CommentOpIdentityRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Post_DescCommentUnlike_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CommentOpIdentityRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(PostServer).DescCommentUnlike(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Post_DescCommentUnlike_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(PostServer).DescCommentUnlike(ctx, req.(*CommentOpIdentityRequest))
	}
	return interceptor(ctx, in, info, handler)
}

// Post_ServiceDesc is the grpc.ServiceDesc for Post service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var Post_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "cms.Post",
	HandlerType: (*PostServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "Fetch",
			Handler:    _Post_Fetch_Handler,
		},
		{
			MethodName: "GetByIdentity",
			Handler:    _Post_GetByIdentity_Handler,
		},
		{
			MethodName: "GetByKey",
			Handler:    _Post_GetByKey_Handler,
		},
		{
			MethodName: "Search",
			Handler:    _Post_Search_Handler,
		},
		{
			MethodName: "Create",
			Handler:    _Post_Create_Handler,
		},
		{
			MethodName: "Modify",
			Handler:    _Post_Modify_Handler,
		},
		{
			MethodName: "Delete",
			Handler:    _Post_Delete_Handler,
		},
		{
			MethodName: "IncrPostLike",
			Handler:    _Post_IncrPostLike_Handler,
		},
		{
			MethodName: "DescPostLike",
			Handler:    _Post_DescPostLike_Handler,
		},
		{
			MethodName: "IncrPostUnlike",
			Handler:    _Post_IncrPostUnlike_Handler,
		},
		{
			MethodName: "DescPostUnlike",
			Handler:    _Post_DescPostUnlike_Handler,
		},
		{
			MethodName: "CommentList",
			Handler:    _Post_CommentList_Handler,
		},
		{
			MethodName: "AddComment",
			Handler:    _Post_AddComment_Handler,
		},
		{
			MethodName: "ModifyComment",
			Handler:    _Post_ModifyComment_Handler,
		},
		{
			MethodName: "DeleteComment",
			Handler:    _Post_DeleteComment_Handler,
		},
		{
			MethodName: "IncrCommentLike",
			Handler:    _Post_IncrCommentLike_Handler,
		},
		{
			MethodName: "DescCommentLike",
			Handler:    _Post_DescCommentLike_Handler,
		},
		{
			MethodName: "IncrCommentUnlike",
			Handler:    _Post_IncrCommentUnlike_Handler,
		},
		{
			MethodName: "DescCommentUnlike",
			Handler:    _Post_DescCommentUnlike_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "module/base/cms/proto/post.proto",
}
