mirror of
https://github.com/fullstorydev/grpcurl.git
synced 2026-07-09 21:40:19 +03:00
fix latest CI breakages by forking code from grpc-go's interop/testing
Also moves testing package to internal/testing
This commit is contained in:
@@ -0,0 +1,125 @@
|
||||
syntax = "proto3";
|
||||
|
||||
option go_package = "main";
|
||||
|
||||
import "google/protobuf/empty.proto";
|
||||
import "google/protobuf/timestamp.proto";
|
||||
|
||||
// Bank provides operations for interacting with bank accounts. All
|
||||
// operations operate for the authenticated user (identified via an
|
||||
// "authorization" request header, where the type is "token" and the
|
||||
// credential is the customer's ID).
|
||||
service Bank {
|
||||
// OpenAccount creates an account with the type and given initial deposit
|
||||
// as its balance.
|
||||
rpc OpenAccount(OpenAccountRequest) returns (Account);
|
||||
// CloseAccount closes the indicated account. An account can only be
|
||||
// closed if its balance is zero.
|
||||
rpc CloseAccount(CloseAccountRequest) returns (google.protobuf.Empty);
|
||||
// GetAccounts lists all accounts for the current customer.
|
||||
rpc GetAccounts(google.protobuf.Empty) returns (GetAccountsResponse);
|
||||
// GetTransactions streams all transactions that match the given criteria.
|
||||
// If the given start date is not specified, transactions since beginning
|
||||
// of time are included. Similarly, if the given end date is not specified,
|
||||
// transactions all the way to the presnet are included.
|
||||
rpc GetTransactions(GetTransactionsRequest) returns (stream Transaction);
|
||||
// Deposit increases the balance of an account by depositing funds into it.
|
||||
rpc Deposit(DepositRequest) returns (BalanceResponse);
|
||||
// Withdraw decreases the balance of an account by withdrawing funds from it.
|
||||
rpc Withdraw(WithdrawRequest) returns (BalanceResponse);
|
||||
// Transfer moves money from one account to another. The source and destination
|
||||
// accounts can be with this bank (e.g. "local" account numbers) or can be
|
||||
// external accounts, identified by their ACH routing and account numbers.
|
||||
rpc Transfer(TransferRequest) returns (TransferResponse);
|
||||
}
|
||||
|
||||
message OpenAccountRequest {
|
||||
int32 initial_deposit_cents = 1;
|
||||
Account.Type type = 2;
|
||||
}
|
||||
|
||||
message CloseAccountRequest {
|
||||
uint64 account_number = 1;
|
||||
}
|
||||
|
||||
message GetAccountsResponse {
|
||||
repeated Account accounts = 1;
|
||||
}
|
||||
|
||||
message Account {
|
||||
uint64 account_number = 1;
|
||||
enum Type {
|
||||
UNKNOWN = 0;
|
||||
CHECKING = 1;
|
||||
SAVING = 2;
|
||||
MONEY_MARKET = 3;
|
||||
LINE_OF_CREDIT = 4;
|
||||
LOAN = 5;
|
||||
EQUITIES = 6;
|
||||
}
|
||||
Type type = 2;
|
||||
int32 balance_cents = 3;
|
||||
}
|
||||
|
||||
message GetTransactionsRequest {
|
||||
uint64 account_number = 1;
|
||||
google.protobuf.Timestamp start = 2;
|
||||
google.protobuf.Timestamp end = 3;
|
||||
}
|
||||
|
||||
message Transaction {
|
||||
uint64 account_number = 1;
|
||||
uint64 seq_number = 2;
|
||||
google.protobuf.Timestamp date = 3;
|
||||
int32 amount_cents = 4;
|
||||
string desc = 5;
|
||||
}
|
||||
|
||||
message DepositRequest {
|
||||
uint64 account_number = 1;
|
||||
int32 amount_cents = 2;
|
||||
enum Source {
|
||||
UNKNOWN = 0;
|
||||
CASH = 1;
|
||||
CHECK = 2;
|
||||
ACH = 3;
|
||||
WIRE = 4;
|
||||
}
|
||||
Source source = 3;
|
||||
string desc = 4;
|
||||
}
|
||||
|
||||
message BalanceResponse {
|
||||
uint64 account_number = 1;
|
||||
int32 balance_cents = 2;
|
||||
}
|
||||
|
||||
message WithdrawRequest {
|
||||
uint64 account_number = 1;
|
||||
int32 amount_cents = 2;
|
||||
string desc = 3;
|
||||
}
|
||||
|
||||
message TransferRequest {
|
||||
message ExternalAccount {
|
||||
uint64 ach_routing_number = 1;
|
||||
uint64 ach_account_number = 2;
|
||||
}
|
||||
oneof source {
|
||||
uint64 source_account_number = 1;
|
||||
ExternalAccount external_source = 2;
|
||||
}
|
||||
oneof dest {
|
||||
uint64 dest_account_number = 3;
|
||||
ExternalAccount external_dest = 4;
|
||||
}
|
||||
int32 amount_cents = 5;
|
||||
string desc = 6;
|
||||
}
|
||||
|
||||
message TransferResponse {
|
||||
uint64 src_account_number = 1;
|
||||
int32 src_balance_cents = 2;
|
||||
uint64 dest_account_number = 3;
|
||||
int32 dest_balance_cents = 4;
|
||||
}
|
||||
Reference in New Issue
Block a user