// Code generated by protoc-gen-go. DO NOT EDIT.
// source: api/noteservice/noteservice.proto

package noteservice

import (
	context "context"
	fmt "fmt"
	proto "github.com/golang/protobuf/proto"
	grpc "google.golang.org/grpc"
	codes "google.golang.org/grpc/codes"
	status "google.golang.org/grpc/status"
	math "math"
)

// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf

// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package

type NoteRequest struct {
	Ids                  []string `protobuf:"bytes,1,rep,name=ids,proto3" json:"ids,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *NoteRequest) Reset()         { *m = NoteRequest{} }
func (m *NoteRequest) String() string { return proto.CompactTextString(m) }
func (*NoteRequest) ProtoMessage()    {}
func (*NoteRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_e218fabe57d6f4de, []int{0}
}

func (m *NoteRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_NoteRequest.Unmarshal(m, b)
}
func (m *NoteRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_NoteRequest.Marshal(b, m, deterministic)
}
func (m *NoteRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_NoteRequest.Merge(m, src)
}
func (m *NoteRequest) XXX_Size() int {
	return xxx_messageInfo_NoteRequest.Size(m)
}
func (m *NoteRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_NoteRequest.DiscardUnknown(m)
}

var xxx_messageInfo_NoteRequest proto.InternalMessageInfo

func (m *NoteRequest) GetIds() []string {
	if m != nil {
		return m.Ids
	}
	return nil
}

type NoteOperationRequest struct {
	Note                 *Note    `protobuf:"bytes,1,opt,name=note,proto3" json:"note,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *NoteOperationRequest) Reset()         { *m = NoteOperationRequest{} }
func (m *NoteOperationRequest) String() string { return proto.CompactTextString(m) }
func (*NoteOperationRequest) ProtoMessage()    {}
func (*NoteOperationRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_e218fabe57d6f4de, []int{1}
}

func (m *NoteOperationRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_NoteOperationRequest.Unmarshal(m, b)
}
func (m *NoteOperationRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_NoteOperationRequest.Marshal(b, m, deterministic)
}
func (m *NoteOperationRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_NoteOperationRequest.Merge(m, src)
}
func (m *NoteOperationRequest) XXX_Size() int {
	return xxx_messageInfo_NoteOperationRequest.Size(m)
}
func (m *NoteOperationRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_NoteOperationRequest.DiscardUnknown(m)
}

var xxx_messageInfo_NoteOperationRequest proto.InternalMessageInfo

func (m *NoteOperationRequest) GetNote() *Note {
	if m != nil {
		return m.Note
	}
	return nil
}

type DeleteRequest struct {
	Id                   string   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *DeleteRequest) Reset()         { *m = DeleteRequest{} }
func (m *DeleteRequest) String() string { return proto.CompactTextString(m) }
func (*DeleteRequest) ProtoMessage()    {}
func (*DeleteRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_e218fabe57d6f4de, []int{2}
}

func (m *DeleteRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DeleteRequest.Unmarshal(m, b)
}
func (m *DeleteRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DeleteRequest.Marshal(b, m, deterministic)
}
func (m *DeleteRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DeleteRequest.Merge(m, src)
}
func (m *DeleteRequest) XXX_Size() int {
	return xxx_messageInfo_DeleteRequest.Size(m)
}
func (m *DeleteRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_DeleteRequest.DiscardUnknown(m)
}

var xxx_messageInfo_DeleteRequest proto.InternalMessageInfo

func (m *DeleteRequest) GetId() string {
	if m != nil {
		return m.Id
	}
	return ""
}

type NoteResponse struct {
	Notes                []*Note  `protobuf:"bytes,1,rep,name=notes,proto3" json:"notes,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *NoteResponse) Reset()         { *m = NoteResponse{} }
func (m *NoteResponse) String() string { return proto.CompactTextString(m) }
func (*NoteResponse) ProtoMessage()    {}
func (*NoteResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_e218fabe57d6f4de, []int{3}
}

func (m *NoteResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_NoteResponse.Unmarshal(m, b)
}
func (m *NoteResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_NoteResponse.Marshal(b, m, deterministic)
}
func (m *NoteResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_NoteResponse.Merge(m, src)
}
func (m *NoteResponse) XXX_Size() int {
	return xxx_messageInfo_NoteResponse.Size(m)
}
func (m *NoteResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_NoteResponse.DiscardUnknown(m)
}

var xxx_messageInfo_NoteResponse proto.InternalMessageInfo

func (m *NoteResponse) GetNotes() []*Note {
	if m != nil {
		return m.Notes
	}
	return nil
}

type Response struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *Response) Reset()         { *m = Response{} }
func (m *Response) String() string { return proto.CompactTextString(m) }
func (*Response) ProtoMessage()    {}
func (*Response) Descriptor() ([]byte, []int) {
	return fileDescriptor_e218fabe57d6f4de, []int{4}
}

func (m *Response) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Response.Unmarshal(m, b)
}
func (m *Response) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Response.Marshal(b, m, deterministic)
}
func (m *Response) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Response.Merge(m, src)
}
func (m *Response) XXX_Size() int {
	return xxx_messageInfo_Response.Size(m)
}
func (m *Response) XXX_DiscardUnknown() {
	xxx_messageInfo_Response.DiscardUnknown(m)
}

var xxx_messageInfo_Response proto.InternalMessageInfo

type Note struct {
	Id                   string   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Title                string   `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"`
	Body                 string   `protobuf:"bytes,3,opt,name=body,proto3" json:"body,omitempty"`
	Categories           []string `protobuf:"bytes,4,rep,name=categories,proto3" json:"categories,omitempty"`
	Encrypted            bool     `protobuf:"varint,5,opt,name=encrypted,proto3" json:"encrypted,omitempty"`
	Alias                string   `protobuf:"bytes,6,opt,name=alias,proto3" json:"alias,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *Note) Reset()         { *m = Note{} }
func (m *Note) String() string { return proto.CompactTextString(m) }
func (*Note) ProtoMessage()    {}
func (*Note) Descriptor() ([]byte, []int) {
	return fileDescriptor_e218fabe57d6f4de, []int{5}
}

func (m *Note) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Note.Unmarshal(m, b)
}
func (m *Note) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Note.Marshal(b, m, deterministic)
}
func (m *Note) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Note.Merge(m, src)
}
func (m *Note) XXX_Size() int {
	return xxx_messageInfo_Note.Size(m)
}
func (m *Note) XXX_DiscardUnknown() {
	xxx_messageInfo_Note.DiscardUnknown(m)
}

var xxx_messageInfo_Note proto.InternalMessageInfo

func (m *Note) GetId() string {
	if m != nil {
		return m.Id
	}
	return ""
}

func (m *Note) GetTitle() string {
	if m != nil {
		return m.Title
	}
	return ""
}

func (m *Note) GetBody() string {
	if m != nil {
		return m.Body
	}
	return ""
}

func (m *Note) GetCategories() []string {
	if m != nil {
		return m.Categories
	}
	return nil
}

func (m *Note) GetEncrypted() bool {
	if m != nil {
		return m.Encrypted
	}
	return false
}

func (m *Note) GetAlias() string {
	if m != nil {
		return m.Alias
	}
	return ""
}

func init() {
	proto.RegisterType((*NoteRequest)(nil), "noteservice.NoteRequest")
	proto.RegisterType((*NoteOperationRequest)(nil), "noteservice.NoteOperationRequest")
	proto.RegisterType((*DeleteRequest)(nil), "noteservice.DeleteRequest")
	proto.RegisterType((*NoteResponse)(nil), "noteservice.NoteResponse")
	proto.RegisterType((*Response)(nil), "noteservice.Response")
	proto.RegisterType((*Note)(nil), "noteservice.Note")
}

func init() { proto.RegisterFile("api/noteservice/noteservice.proto", fileDescriptor_e218fabe57d6f4de) }

var fileDescriptor_e218fabe57d6f4de = []byte{
	// 329 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xa4, 0x52, 0xc1, 0x4e, 0x02, 0x31,
	0x10, 0x15, 0x58, 0x08, 0x0c, 0x6a, 0xb4, 0xc1, 0xa4, 0x6e, 0x8c, 0xca, 0x26, 0x46, 0x4e, 0x98,
	0xe0, 0xc1, 0x93, 0x07, 0x12, 0xce, 0x9a, 0xac, 0x5f, 0xb0, 0xd0, 0x09, 0x69, 0x42, 0xb6, 0xb5,
	0x2d, 0x26, 0xfc, 0x87, 0x77, 0x7f, 0xd5, 0x76, 0x2a, 0x61, 0x61, 0xb9, 0x79, 0x9b, 0xbe, 0x99,
	0x79, 0xef, 0xcd, 0x4c, 0x61, 0x58, 0x68, 0xf9, 0x54, 0x2a, 0x87, 0x16, 0xcd, 0x97, 0x5c, 0x60,
	0x35, 0x1e, 0x6b, 0xa3, 0x9c, 0x62, 0xfd, 0x0a, 0x94, 0xdd, 0x41, 0xff, 0xcd, 0x3f, 0x73, 0xfc,
	0x5c, 0xa3, 0x75, 0xec, 0x02, 0x5a, 0x52, 0x58, 0xde, 0xb8, 0x6f, 0x8d, 0x7a, 0x79, 0x08, 0xb3,
	0x57, 0x18, 0x84, 0x82, 0x77, 0x8d, 0xa6, 0x70, 0x52, 0x95, 0xdb, 0xca, 0x07, 0x48, 0x02, 0x8f,
	0x2f, 0x6d, 0x8c, 0xfa, 0x93, 0xcb, 0x71, 0x55, 0x87, 0x18, 0x29, 0xed, 0xf9, 0xcf, 0x66, 0xb8,
	0xc2, 0x9d, 0xc2, 0x39, 0x34, 0xa5, 0xa0, 0xae, 0x5e, 0xee, 0xa3, 0xec, 0x05, 0x4e, 0xa3, 0x01,
	0xab, 0x55, 0x69, 0x91, 0x3d, 0x42, 0x9b, 0xa8, 0xc8, 0xc3, 0x51, 0xe2, 0x98, 0xcf, 0x00, 0xba,
	0xdb, 0xa6, 0xec, 0xbb, 0x01, 0x49, 0xc8, 0x1d, 0xb2, 0xb3, 0x01, 0xb4, 0x9d, 0x74, 0x2b, 0xe4,
	0x4d, 0x82, 0xe2, 0x83, 0x31, 0x48, 0xe6, 0x4a, 0x6c, 0x78, 0x8b, 0x40, 0x8a, 0xd9, 0x2d, 0xc0,
	0xa2, 0x70, 0xb8, 0x54, 0x46, 0x7a, 0xf1, 0x84, 0x16, 0x50, 0x41, 0xd8, 0x0d, 0xf4, 0xb0, 0x5c,
	0x98, 0x8d, 0x76, 0x28, 0x78, 0xdb, 0x37, 0x76, 0xf3, 0x1d, 0x10, 0x74, 0x8a, 0x95, 0x2c, 0x2c,
	0xef, 0x44, 0x1d, 0x7a, 0x4c, 0x7e, 0x9a, 0x71, 0xbb, 0x1f, 0xd1, 0x3e, 0x9b, 0x42, 0x77, 0x89,
	0x2e, 0x20, 0x96, 0xf1, 0xfa, 0x60, 0x71, 0x43, 0xe9, 0xf5, 0x91, 0xcc, 0xdf, 0x9c, 0x27, 0x6c,
	0xe6, 0x6d, 0x1a, 0xf4, 0xb6, 0x68, 0xdc, 0x61, 0xad, 0xf4, 0xf0, 0x4e, 0x69, 0x7d, 0x81, 0x91,
	0x65, 0xad, 0xc5, 0x7f, 0x59, 0xa6, 0x00, 0x82, 0x6e, 0x4b, 0x2c, 0xe9, 0x5e, 0xc9, 0xde, 0xd1,
	0xd3, 0xab, 0xbd, 0xdc, 0x6e, 0x9c, 0x79, 0x87, 0xbe, 0xe4, 0xf3, 0x6f, 0x00, 0x00, 0x00, 0xff,
	0xff, 0x76, 0x1e, 0xb9, 0x1a, 0xb7, 0x02, 0x00, 0x00,
}

// Reference imports to suppress errors if they are not otherwise used.
var _ context.Context
var _ grpc.ClientConn

// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
const _ = grpc.SupportPackageIsVersion4

// NoteServiceClient is the client API for NoteService service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type NoteServiceClient interface {
	GetNotes(ctx context.Context, in *NoteRequest, opts ...grpc.CallOption) (*NoteResponse, error)
	CreateNote(ctx context.Context, in *NoteOperationRequest, opts ...grpc.CallOption) (*Note, error)
	UpdateNote(ctx context.Context, in *NoteOperationRequest, opts ...grpc.CallOption) (*Note, error)
	DeleteNote(ctx context.Context, in *DeleteRequest, opts ...grpc.CallOption) (*Response, error)
}

type noteServiceClient struct {
	cc *grpc.ClientConn
}

func NewNoteServiceClient(cc *grpc.ClientConn) NoteServiceClient {
	return &noteServiceClient{cc}
}

func (c *noteServiceClient) GetNotes(ctx context.Context, in *NoteRequest, opts ...grpc.CallOption) (*NoteResponse, error) {
	out := new(NoteResponse)
	err := c.cc.Invoke(ctx, "/noteservice.NoteService/getNotes", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *noteServiceClient) CreateNote(ctx context.Context, in *NoteOperationRequest, opts ...grpc.CallOption) (*Note, error) {
	out := new(Note)
	err := c.cc.Invoke(ctx, "/noteservice.NoteService/createNote", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *noteServiceClient) UpdateNote(ctx context.Context, in *NoteOperationRequest, opts ...grpc.CallOption) (*Note, error) {
	out := new(Note)
	err := c.cc.Invoke(ctx, "/noteservice.NoteService/updateNote", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *noteServiceClient) DeleteNote(ctx context.Context, in *DeleteRequest, opts ...grpc.CallOption) (*Response, error) {
	out := new(Response)
	err := c.cc.Invoke(ctx, "/noteservice.NoteService/deleteNote", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// NoteServiceServer is the server API for NoteService service.
type NoteServiceServer interface {
	GetNotes(context.Context, *NoteRequest) (*NoteResponse, error)
	CreateNote(context.Context, *NoteOperationRequest) (*Note, error)
	UpdateNote(context.Context, *NoteOperationRequest) (*Note, error)
	DeleteNote(context.Context, *DeleteRequest) (*Response, error)
}

// UnimplementedNoteServiceServer can be embedded to have forward compatible implementations.
type UnimplementedNoteServiceServer struct {
}

func (*UnimplementedNoteServiceServer) GetNotes(ctx context.Context, req *NoteRequest) (*NoteResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetNotes not implemented")
}
func (*UnimplementedNoteServiceServer) CreateNote(ctx context.Context, req *NoteOperationRequest) (*Note, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateNote not implemented")
}
func (*UnimplementedNoteServiceServer) UpdateNote(ctx context.Context, req *NoteOperationRequest) (*Note, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateNote not implemented")
}
func (*UnimplementedNoteServiceServer) DeleteNote(ctx context.Context, req *DeleteRequest) (*Response, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteNote not implemented")
}

func RegisterNoteServiceServer(s *grpc.Server, srv NoteServiceServer) {
	s.RegisterService(&_NoteService_serviceDesc, srv)
}

func _NoteService_GetNotes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(NoteRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NoteServiceServer).GetNotes(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/noteservice.NoteService/GetNotes",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NoteServiceServer).GetNotes(ctx, req.(*NoteRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NoteService_CreateNote_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(NoteOperationRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NoteServiceServer).CreateNote(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/noteservice.NoteService/CreateNote",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NoteServiceServer).CreateNote(ctx, req.(*NoteOperationRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NoteService_UpdateNote_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(NoteOperationRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NoteServiceServer).UpdateNote(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/noteservice.NoteService/UpdateNote",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NoteServiceServer).UpdateNote(ctx, req.(*NoteOperationRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NoteService_DeleteNote_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NoteServiceServer).DeleteNote(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/noteservice.NoteService/DeleteNote",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NoteServiceServer).DeleteNote(ctx, req.(*DeleteRequest))
	}
	return interceptor(ctx, in, info, handler)
}

var _NoteService_serviceDesc = grpc.ServiceDesc{
	ServiceName: "noteservice.NoteService",
	HandlerType: (*NoteServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "getNotes",
			Handler:    _NoteService_GetNotes_Handler,
		},
		{
			MethodName: "createNote",
			Handler:    _NoteService_CreateNote_Handler,
		},
		{
			MethodName: "updateNote",
			Handler:    _NoteService_UpdateNote_Handler,
		},
		{
			MethodName: "deleteNote",
			Handler:    _NoteService_DeleteNote_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "api/noteservice/noteservice.proto",
}
