Files
komp_ac/common/proto/document_data.proto
2026-08-30 17:25:42 +02:00

137 lines
3.3 KiB
Protocol Buffer

syntax = "proto3";
package komp_ac.document_data;
service DocumentDataService {
rpc RegisterTypstTemplate(RegisterTypstTemplateRequest) returns (RegisterTypstTemplateResponse);
rpc ListTypstTemplates(ListTypstTemplatesRequest) returns (ListTypstTemplatesResponse);
rpc ListEnabledTypstTemplates(ListEnabledTypstTemplatesRequest) returns (ListTypstTemplatesResponse);
rpc SaveDocument(SaveDocumentRequest) returns (SaveDocumentResponse);
rpc UpdateDocument(UpdateDocumentRequest) returns (UpdateDocumentResponse);
rpc GetDocuments(GetDocumentsRequest) returns (GetDocumentsResponse);
rpc GetDocument(GetDocumentRequest) returns (GetDocumentResponse);
rpc GetDocumentVersion(GetDocumentVersionRequest) returns (GetDocumentVersionResponse);
rpc GetTypstTemplateVersion(GetTypstTemplateVersionRequest) returns (GetTypstTemplateVersionResponse);
}
message SourceRecord {
string profile_name = 1;
string table_name = 2;
int64 table_def_id = 3;
int64 record_id = 4;
}
message SaveDocumentRequest {
repeated SourceRecord source_records = 1;
string template_name = 2;
string data_json = 3;
int64 expected_template_version_id = 4;
}
message RegisterTypstTemplateRequest {
string template_name = 1;
string input_table_name = 2;
string typst_source = 3;
string typst_compiler_version = 4;
}
message RegisterTypstTemplateResponse {
TypstTemplateVersion template_version = 1;
}
message ListTypstTemplatesRequest {
string search = 1;
uint32 limit = 2;
}
message ListTypstTemplatesResponse {
repeated TypstTemplateVersion templates = 1;
}
message ListEnabledTypstTemplatesRequest {
string profile_name = 1;
}
message SaveDocumentResponse {
int64 document_id = 1;
int64 snapshot_id = 2;
int32 version_number = 3;
int64 template_version_id = 4;
int32 template_version = 5;
}
message UpdateDocumentRequest {
int64 document_id = 1;
string data_json = 2;
}
message UpdateDocumentResponse {
int64 document_id = 1;
int64 snapshot_id = 2;
int32 version_number = 3;
}
message GetDocumentsRequest {
optional int64 schema_id = 1;
uint32 limit = 2;
optional string template_name = 3;
optional string source_profile_name = 4;
optional string source_table_name = 5;
}
message Document {
int64 snapshot_id = 1;
int64 document_id = 2;
int64 schema_id = 3;
repeated SourceRecord source_records = 4;
string data_json = 5;
string change_kind = 6;
int32 version_number = 7;
string created_at = 8;
string updated_at = 9;
int64 template_version_id = 10;
string data_sha256 = 11;
}
message GetDocumentsResponse {
repeated Document documents = 1;
}
message GetDocumentRequest {
int64 document_id = 1;
}
message GetDocumentResponse {
optional Document document = 1;
}
message GetDocumentVersionRequest {
int64 document_id = 1;
int32 version_number = 2;
}
message GetDocumentVersionResponse {
optional Document document = 1;
}
message GetTypstTemplateVersionRequest {
int64 template_version_id = 1;
int64 document_id = 2;
}
message TypstTemplateVersion {
int64 id = 1;
int64 template_id = 2;
string template_name = 3;
int32 version = 4;
string source_code = 5;
string source_sha256 = 6;
string typst_compiler_version = 7;
string created_at = 8;
string input_table_name = 9;
repeated string field_paths = 10;
}
message GetTypstTemplateVersionResponse {
optional TypstTemplateVersion template_version = 1;
}