Initial commit

This commit is contained in:
2026-02-23 13:02:22 +03:00
commit 42d2900df9
108 changed files with 4491 additions and 0 deletions

View File

@@ -0,0 +1,53 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: notes/v1/notes.proto
//
// ЭТО СГЕНЕРИРОВАННЫЙ ФАЙЛ — не редактируй вручную.
// Перегенерируй командой: cd proto && buf generate
//
// Для демо: создан вручную, чтобы проект компилировался
// без установки protoc. В реальном проекте этот файл
// генерируется автоматически из proto/notes/v1/notes.proto
package notesv1
import (
timestamppb "google.golang.org/protobuf/types/known/timestamppb"
)
// Note — заметка. Сгенерирована из message Note в proto.
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"`
Content string `protobuf:"bytes,3,opt,name=content,proto3" json:"content,omitempty"`
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
}
type CreateNoteRequest struct {
Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"`
Content string `protobuf:"bytes,2,opt,name=content,proto3" json:"content,omitempty"`
}
type GetNoteRequest struct {
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
}
type UpdateNoteRequest 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"`
Content string `protobuf:"bytes,3,opt,name=content,proto3" json:"content,omitempty"`
}
type DeleteNoteRequest struct {
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
}
type ListNotesRequest struct {
Page int32 `protobuf:"varint,1,opt,name=page,proto3" json:"page,omitempty"`
PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
}
type ListNotesResponse struct {
Notes []*Note `protobuf:"bytes,1,rep,name=notes,proto3" json:"notes,omitempty"`
TotalCount int32 `protobuf:"varint,2,opt,name=total_count,json=totalCount,proto3" json:"total_count,omitempty"`
}

View File

@@ -0,0 +1,158 @@
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// source: notes/v1/notes.proto
//
// ЭТО СГЕНЕРИРОВАННЫЙ ФАЙЛ — не редактируй вручную.
// Здесь определены gRPC интерфейсы сервиса.
// Go требует имплементировать все методы интерфейса —
// если добавишь новый rpc в proto, код не скомпилируется,
// пока не реализуешь метод в service/note_service.go
package notesv1
import (
context "context"
grpc "google.golang.org/grpc"
codes "google.golang.org/grpc/codes"
status "google.golang.org/grpc/status"
emptypb "google.golang.org/protobuf/types/known/emptypb"
)
// NoteServiceServer — интерфейс, который нужно реализовать.
// Сгенерирован из service NoteService в proto.
type NoteServiceServer interface {
CreateNote(context.Context, *CreateNoteRequest) (*Note, error)
GetNote(context.Context, *GetNoteRequest) (*Note, error)
UpdateNote(context.Context, *UpdateNoteRequest) (*Note, error)
DeleteNote(context.Context, *DeleteNoteRequest) (*emptypb.Empty, error)
ListNotes(context.Context, *ListNotesRequest) (*ListNotesResponse, error)
mustEmbedUnimplementedNoteServiceServer()
}
// UnimplementedNoteServiceServer — базовая реализация.
// Встраивается в твой сервис для forward-compatibility:
// если в proto добавится новый rpc, а ты его ещё не реализовал,
// он вернёт "not implemented" вместо падения.
type UnimplementedNoteServiceServer struct{}
func (UnimplementedNoteServiceServer) CreateNote(context.Context, *CreateNoteRequest) (*Note, error) {
return nil, status.Errorf(codes.Unimplemented, "method CreateNote not implemented")
}
func (UnimplementedNoteServiceServer) GetNote(context.Context, *GetNoteRequest) (*Note, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetNote not implemented")
}
func (UnimplementedNoteServiceServer) UpdateNote(context.Context, *UpdateNoteRequest) (*Note, error) {
return nil, status.Errorf(codes.Unimplemented, "method UpdateNote not implemented")
}
func (UnimplementedNoteServiceServer) DeleteNote(context.Context, *DeleteNoteRequest) (*emptypb.Empty, error) {
return nil, status.Errorf(codes.Unimplemented, "method DeleteNote not implemented")
}
func (UnimplementedNoteServiceServer) ListNotes(context.Context, *ListNotesRequest) (*ListNotesResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method ListNotes not implemented")
}
func (UnimplementedNoteServiceServer) mustEmbedUnimplementedNoteServiceServer() {}
// RegisterNoteServiceServer регистрирует сервис на gRPC сервере.
func RegisterNoteServiceServer(s grpc.ServiceRegistrar, srv NoteServiceServer) {
s.RegisterService(&NoteService_ServiceDesc, srv)
}
// NoteService_ServiceDesc — описание сервиса для gRPC.
var NoteService_ServiceDesc = grpc.ServiceDesc{
ServiceName: "notes.v1.NoteService",
HandlerType: (*NoteServiceServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "CreateNote",
Handler: _NoteService_CreateNote_Handler,
},
{
MethodName: "GetNote",
Handler: _NoteService_GetNote_Handler,
},
{
MethodName: "UpdateNote",
Handler: _NoteService_UpdateNote_Handler,
},
{
MethodName: "DeleteNote",
Handler: _NoteService_DeleteNote_Handler,
},
{
MethodName: "ListNotes",
Handler: _NoteService_ListNotes_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "notes/v1/notes.proto",
}
func _NoteService_CreateNote_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(CreateNoteRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(NoteServiceServer).CreateNote(ctx, in)
}
info := &grpc.UnaryServerInfo{Server: srv, FullMethod: "/notes.v1.NoteService/CreateNote"}
return interceptor(ctx, in, info, func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(NoteServiceServer).CreateNote(ctx, req.(*CreateNoteRequest))
})
}
func _NoteService_GetNote_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetNoteRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(NoteServiceServer).GetNote(ctx, in)
}
info := &grpc.UnaryServerInfo{Server: srv, FullMethod: "/notes.v1.NoteService/GetNote"}
return interceptor(ctx, in, info, func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(NoteServiceServer).GetNote(ctx, req.(*GetNoteRequest))
})
}
func _NoteService_UpdateNote_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(UpdateNoteRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(NoteServiceServer).UpdateNote(ctx, in)
}
info := &grpc.UnaryServerInfo{Server: srv, FullMethod: "/notes.v1.NoteService/UpdateNote"}
return interceptor(ctx, in, info, func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(NoteServiceServer).UpdateNote(ctx, req.(*UpdateNoteRequest))
})
}
func _NoteService_DeleteNote_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(DeleteNoteRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(NoteServiceServer).DeleteNote(ctx, in)
}
info := &grpc.UnaryServerInfo{Server: srv, FullMethod: "/notes.v1.NoteService/DeleteNote"}
return interceptor(ctx, in, info, func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(NoteServiceServer).DeleteNote(ctx, req.(*DeleteNoteRequest))
})
}
func _NoteService_ListNotes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ListNotesRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(NoteServiceServer).ListNotes(ctx, in)
}
info := &grpc.UnaryServerInfo{Server: srv, FullMethod: "/notes.v1.NoteService/ListNotes"}
return interceptor(ctx, in, info, func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(NoteServiceServer).ListNotes(ctx, req.(*ListNotesRequest))
})
}