// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.2.0
// - protoc             v3.12.4
// source: v1/collection.proto

package v1

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

// CollectionServiceClient is the client API for CollectionService 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 CollectionServiceClient interface {
	CreateCollection(ctx context.Context, in *CreateCollectionRequest, opts ...grpc.CallOption) (*CreateCollectionResponse, error)
	GetCollectionById(ctx context.Context, in *GetCollectionByIdRequest, opts ...grpc.CallOption) (*GetCollectionByIdResponse, error)
	RemoveCollection(ctx context.Context, in *RemoveCollectionRequest, opts ...grpc.CallOption) (*RemoveCollectionResponse, error)
	ListCollection(ctx context.Context, in *ListCollectionRequest, opts ...grpc.CallOption) (*ListCollectionResponse, error)
	UpdateCollection(ctx context.Context, in *UpdateCollectionRequest, opts ...grpc.CallOption) (*UpdateCollectionResponse, error)
	AddVideo2Collection(ctx context.Context, in *AddVideo2CollectionRequest, opts ...grpc.CallOption) (*AddVideo2CollectionResponse, error)
	RemoveVideoFromCollection(ctx context.Context, in *RemoveVideoFromCollectionRequest, opts ...grpc.CallOption) (*RemoveVideoFromCollectionResponse, error)
	ListCollectionVideo(ctx context.Context, in *ListCollectionVideoRequest, opts ...grpc.CallOption) (*ListCollectionVideoResponse, error)
	IsCollected(ctx context.Context, in *IsCollectedRequest, opts ...grpc.CallOption) (*IsCollectedResponse, error)
	CountCollect4Video(ctx context.Context, in *CountCollect4VideoRequest, opts ...grpc.CallOption) (*CountCollect4VideoResponse, error)
}

type collectionServiceClient struct {
	cc grpc.ClientConnInterface
}

func NewCollectionServiceClient(cc grpc.ClientConnInterface) CollectionServiceClient {
	return &collectionServiceClient{cc}
}

func (c *collectionServiceClient) CreateCollection(ctx context.Context, in *CreateCollectionRequest, opts ...grpc.CallOption) (*CreateCollectionResponse, error) {
	out := new(CreateCollectionResponse)
	err := c.cc.Invoke(ctx, "/shortVideoCoreService.api.v1.CollectionService/CreateCollection", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *collectionServiceClient) GetCollectionById(ctx context.Context, in *GetCollectionByIdRequest, opts ...grpc.CallOption) (*GetCollectionByIdResponse, error) {
	out := new(GetCollectionByIdResponse)
	err := c.cc.Invoke(ctx, "/shortVideoCoreService.api.v1.CollectionService/GetCollectionById", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *collectionServiceClient) RemoveCollection(ctx context.Context, in *RemoveCollectionRequest, opts ...grpc.CallOption) (*RemoveCollectionResponse, error) {
	out := new(RemoveCollectionResponse)
	err := c.cc.Invoke(ctx, "/shortVideoCoreService.api.v1.CollectionService/RemoveCollection", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *collectionServiceClient) ListCollection(ctx context.Context, in *ListCollectionRequest, opts ...grpc.CallOption) (*ListCollectionResponse, error) {
	out := new(ListCollectionResponse)
	err := c.cc.Invoke(ctx, "/shortVideoCoreService.api.v1.CollectionService/ListCollection", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *collectionServiceClient) UpdateCollection(ctx context.Context, in *UpdateCollectionRequest, opts ...grpc.CallOption) (*UpdateCollectionResponse, error) {
	out := new(UpdateCollectionResponse)
	err := c.cc.Invoke(ctx, "/shortVideoCoreService.api.v1.CollectionService/UpdateCollection", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *collectionServiceClient) AddVideo2Collection(ctx context.Context, in *AddVideo2CollectionRequest, opts ...grpc.CallOption) (*AddVideo2CollectionResponse, error) {
	out := new(AddVideo2CollectionResponse)
	err := c.cc.Invoke(ctx, "/shortVideoCoreService.api.v1.CollectionService/AddVideo2Collection", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *collectionServiceClient) RemoveVideoFromCollection(ctx context.Context, in *RemoveVideoFromCollectionRequest, opts ...grpc.CallOption) (*RemoveVideoFromCollectionResponse, error) {
	out := new(RemoveVideoFromCollectionResponse)
	err := c.cc.Invoke(ctx, "/shortVideoCoreService.api.v1.CollectionService/RemoveVideoFromCollection", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *collectionServiceClient) ListCollectionVideo(ctx context.Context, in *ListCollectionVideoRequest, opts ...grpc.CallOption) (*ListCollectionVideoResponse, error) {
	out := new(ListCollectionVideoResponse)
	err := c.cc.Invoke(ctx, "/shortVideoCoreService.api.v1.CollectionService/ListCollectionVideo", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *collectionServiceClient) IsCollected(ctx context.Context, in *IsCollectedRequest, opts ...grpc.CallOption) (*IsCollectedResponse, error) {
	out := new(IsCollectedResponse)
	err := c.cc.Invoke(ctx, "/shortVideoCoreService.api.v1.CollectionService/IsCollected", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *collectionServiceClient) CountCollect4Video(ctx context.Context, in *CountCollect4VideoRequest, opts ...grpc.CallOption) (*CountCollect4VideoResponse, error) {
	out := new(CountCollect4VideoResponse)
	err := c.cc.Invoke(ctx, "/shortVideoCoreService.api.v1.CollectionService/CountCollect4Video", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// CollectionServiceServer is the server API for CollectionService service.
// All implementations must embed UnimplementedCollectionServiceServer
// for forward compatibility
type CollectionServiceServer interface {
	CreateCollection(context.Context, *CreateCollectionRequest) (*CreateCollectionResponse, error)
	GetCollectionById(context.Context, *GetCollectionByIdRequest) (*GetCollectionByIdResponse, error)
	RemoveCollection(context.Context, *RemoveCollectionRequest) (*RemoveCollectionResponse, error)
	ListCollection(context.Context, *ListCollectionRequest) (*ListCollectionResponse, error)
	UpdateCollection(context.Context, *UpdateCollectionRequest) (*UpdateCollectionResponse, error)
	AddVideo2Collection(context.Context, *AddVideo2CollectionRequest) (*AddVideo2CollectionResponse, error)
	RemoveVideoFromCollection(context.Context, *RemoveVideoFromCollectionRequest) (*RemoveVideoFromCollectionResponse, error)
	ListCollectionVideo(context.Context, *ListCollectionVideoRequest) (*ListCollectionVideoResponse, error)
	IsCollected(context.Context, *IsCollectedRequest) (*IsCollectedResponse, error)
	CountCollect4Video(context.Context, *CountCollect4VideoRequest) (*CountCollect4VideoResponse, error)
	mustEmbedUnimplementedCollectionServiceServer()
}

// UnimplementedCollectionServiceServer must be embedded to have forward compatible implementations.
type UnimplementedCollectionServiceServer struct {
}

func (UnimplementedCollectionServiceServer) CreateCollection(context.Context, *CreateCollectionRequest) (*CreateCollectionResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateCollection not implemented")
}
func (UnimplementedCollectionServiceServer) GetCollectionById(context.Context, *GetCollectionByIdRequest) (*GetCollectionByIdResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetCollectionById not implemented")
}
func (UnimplementedCollectionServiceServer) RemoveCollection(context.Context, *RemoveCollectionRequest) (*RemoveCollectionResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method RemoveCollection not implemented")
}
func (UnimplementedCollectionServiceServer) ListCollection(context.Context, *ListCollectionRequest) (*ListCollectionResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListCollection not implemented")
}
func (UnimplementedCollectionServiceServer) UpdateCollection(context.Context, *UpdateCollectionRequest) (*UpdateCollectionResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateCollection not implemented")
}
func (UnimplementedCollectionServiceServer) AddVideo2Collection(context.Context, *AddVideo2CollectionRequest) (*AddVideo2CollectionResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method AddVideo2Collection not implemented")
}
func (UnimplementedCollectionServiceServer) RemoveVideoFromCollection(context.Context, *RemoveVideoFromCollectionRequest) (*RemoveVideoFromCollectionResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method RemoveVideoFromCollection not implemented")
}
func (UnimplementedCollectionServiceServer) ListCollectionVideo(context.Context, *ListCollectionVideoRequest) (*ListCollectionVideoResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListCollectionVideo not implemented")
}
func (UnimplementedCollectionServiceServer) IsCollected(context.Context, *IsCollectedRequest) (*IsCollectedResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method IsCollected not implemented")
}
func (UnimplementedCollectionServiceServer) CountCollect4Video(context.Context, *CountCollect4VideoRequest) (*CountCollect4VideoResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CountCollect4Video not implemented")
}
func (UnimplementedCollectionServiceServer) mustEmbedUnimplementedCollectionServiceServer() {}

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

func RegisterCollectionServiceServer(s grpc.ServiceRegistrar, srv CollectionServiceServer) {
	s.RegisterService(&CollectionService_ServiceDesc, srv)
}

func _CollectionService_CreateCollection_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateCollectionRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(CollectionServiceServer).CreateCollection(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/shortVideoCoreService.api.v1.CollectionService/CreateCollection",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(CollectionServiceServer).CreateCollection(ctx, req.(*CreateCollectionRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _CollectionService_GetCollectionById_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetCollectionByIdRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(CollectionServiceServer).GetCollectionById(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/shortVideoCoreService.api.v1.CollectionService/GetCollectionById",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(CollectionServiceServer).GetCollectionById(ctx, req.(*GetCollectionByIdRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _CollectionService_RemoveCollection_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(RemoveCollectionRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(CollectionServiceServer).RemoveCollection(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/shortVideoCoreService.api.v1.CollectionService/RemoveCollection",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(CollectionServiceServer).RemoveCollection(ctx, req.(*RemoveCollectionRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _CollectionService_ListCollection_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListCollectionRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(CollectionServiceServer).ListCollection(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/shortVideoCoreService.api.v1.CollectionService/ListCollection",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(CollectionServiceServer).ListCollection(ctx, req.(*ListCollectionRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _CollectionService_UpdateCollection_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateCollectionRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(CollectionServiceServer).UpdateCollection(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/shortVideoCoreService.api.v1.CollectionService/UpdateCollection",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(CollectionServiceServer).UpdateCollection(ctx, req.(*UpdateCollectionRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _CollectionService_AddVideo2Collection_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AddVideo2CollectionRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(CollectionServiceServer).AddVideo2Collection(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/shortVideoCoreService.api.v1.CollectionService/AddVideo2Collection",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(CollectionServiceServer).AddVideo2Collection(ctx, req.(*AddVideo2CollectionRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _CollectionService_RemoveVideoFromCollection_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(RemoveVideoFromCollectionRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(CollectionServiceServer).RemoveVideoFromCollection(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/shortVideoCoreService.api.v1.CollectionService/RemoveVideoFromCollection",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(CollectionServiceServer).RemoveVideoFromCollection(ctx, req.(*RemoveVideoFromCollectionRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _CollectionService_ListCollectionVideo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListCollectionVideoRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(CollectionServiceServer).ListCollectionVideo(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/shortVideoCoreService.api.v1.CollectionService/ListCollectionVideo",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(CollectionServiceServer).ListCollectionVideo(ctx, req.(*ListCollectionVideoRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _CollectionService_IsCollected_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(IsCollectedRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(CollectionServiceServer).IsCollected(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/shortVideoCoreService.api.v1.CollectionService/IsCollected",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(CollectionServiceServer).IsCollected(ctx, req.(*IsCollectedRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _CollectionService_CountCollect4Video_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CountCollect4VideoRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(CollectionServiceServer).CountCollect4Video(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/shortVideoCoreService.api.v1.CollectionService/CountCollect4Video",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(CollectionServiceServer).CountCollect4Video(ctx, req.(*CountCollect4VideoRequest))
	}
	return interceptor(ctx, in, info, handler)
}

// CollectionService_ServiceDesc is the grpc.ServiceDesc for CollectionService service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var CollectionService_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "shortVideoCoreService.api.v1.CollectionService",
	HandlerType: (*CollectionServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "CreateCollection",
			Handler:    _CollectionService_CreateCollection_Handler,
		},
		{
			MethodName: "GetCollectionById",
			Handler:    _CollectionService_GetCollectionById_Handler,
		},
		{
			MethodName: "RemoveCollection",
			Handler:    _CollectionService_RemoveCollection_Handler,
		},
		{
			MethodName: "ListCollection",
			Handler:    _CollectionService_ListCollection_Handler,
		},
		{
			MethodName: "UpdateCollection",
			Handler:    _CollectionService_UpdateCollection_Handler,
		},
		{
			MethodName: "AddVideo2Collection",
			Handler:    _CollectionService_AddVideo2Collection_Handler,
		},
		{
			MethodName: "RemoveVideoFromCollection",
			Handler:    _CollectionService_RemoveVideoFromCollection_Handler,
		},
		{
			MethodName: "ListCollectionVideo",
			Handler:    _CollectionService_ListCollectionVideo_Handler,
		},
		{
			MethodName: "IsCollected",
			Handler:    _CollectionService_IsCollected_Handler,
		},
		{
			MethodName: "CountCollect4Video",
			Handler:    _CollectionService_CountCollect4Video_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "v1/collection.proto",
}
