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,63 @@
syntax = "proto3";
package notes.v1;
option go_package = "backend/gen/notes/v1;notesv1";
import "google/protobuf/timestamp.proto";
import "google/protobuf/empty.proto";
// ─── Модели ───────────────────────────────────────────────
message Note {
string id = 1;
string title = 2;
string content = 3;
google.protobuf.Timestamp created_at = 4;
google.protobuf.Timestamp updated_at = 5;
}
// ─── Запросы и ответы ─────────────────────────────────────
message CreateNoteRequest {
string title = 1;
string content = 2;
}
message GetNoteRequest {
string id = 1;
}
message UpdateNoteRequest {
string id = 1;
string title = 2;
string content = 3;
}
message DeleteNoteRequest {
string id = 1;
}
message ListNotesRequest {
int32 page = 1;
int32 page_size = 2;
}
message ListNotesResponse {
repeated Note notes = 1;
int32 total_count = 2;
}
// ─── Сервис ───────────────────────────────────────────────
// Один этот файл определяет ВСЕ типы и ВСЕ эндпоинты.
// Из него генерируется типизированный код для Go и Dart.
// Изменил proto → перегенерировал → ошибки компиляции
// на обеих сторонах, если контракт нарушен.
service NoteService {
rpc CreateNote(CreateNoteRequest) returns (Note);
rpc GetNote(GetNoteRequest) returns (Note);
rpc UpdateNote(UpdateNoteRequest) returns (Note);
rpc DeleteNote(DeleteNoteRequest) returns (google.protobuf.Empty);
rpc ListNotes(ListNotesRequest) returns (ListNotesResponse);
}