Protobufdefinition: proto.transaction.v1
This commit is contained in:
51
transaction/v1/transaction.proto
Normal file
51
transaction/v1/transaction.proto
Normal 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) {}
|
||||
}
|
||||
Reference in New Issue
Block a user