Compare commits

...

1 Commits

Author SHA1 Message Date
880f93b0ff Protobufdefinition: proto.transaction.v1 2026-06-04 23:37:09 +02:00

View File

@@ -0,0 +1,51 @@
syntax = "proto3";
package proto.transaction.v1;
import "buf/validate/validate.proto";
import "google/protobuf/timestamp.proto";
message Transaction {
int32 transaction_id = 1;
string description = 2 [(buf.validate.field).string.min_len = 1];
string amount = 3 [(buf.validate.field).string = {pattern: "^-?\\d+(\\.\\d{1,2})?$"}];
string category = 4 [(buf.validate.field).string.min_len = 1];
google.protobuf.Timestamp transaction_date = 5;
google.protobuf.Timestamp created_at = 6;
}
message CreateTransactionRequest {
string description = 1 [(buf.validate.field).string.min_len = 1];
string amount = 2 [(buf.validate.field).string = {pattern: "^-?\\d+(\\.\\d{1,2})?$"}];
string category = 3 [(buf.validate.field).string.min_len = 1];
google.protobuf.Timestamp transaction_date = 4;
}
message CreateTransactionResponse {
Transaction transaction = 1;
}
message ListTransactionsRequest {}
message ListTransactionsResponse {
repeated Transaction transactions = 1;
}
message GetTransactionRequest {
int32 transaction_id = 1 [(buf.validate.field).int32.gt = 0];
}
message GetTransactionResponse {
Transaction transaction = 1;
}
message DeleteTransactionRequest {
int32 transaction_id = 1 [(buf.validate.field).int32.gt = 0];
}
message DeleteTransactionResponse {
bool ok = 1;
}
service TransactionService {
rpc CreateTransaction(CreateTransactionRequest) returns (CreateTransactionResponse) {}
rpc ListTransactions(ListTransactionsRequest) returns (ListTransactionsResponse) {}
rpc GetTransaction(GetTransactionRequest) returns (GetTransactionResponse) {}
rpc DeleteTransaction(DeleteTransactionRequest) returns (DeleteTransactionResponse) {}
}