bff dev upgrde

This commit is contained in:
Stephan D
2026-01-30 16:39:12 +01:00
parent 51f5b0804a
commit e1f58b0982
22 changed files with 969 additions and 185 deletions

View File

@@ -6,6 +6,8 @@ option go_package = "github.com/tech/sendico/pkg/proto/connector/v1;connectorv1"
import "google/protobuf/struct.proto";
import "google/protobuf/timestamp.proto";
import "google/protobuf/wrappers.proto";
import "common/account_role/v1/account_role.proto";
import "common/describable/v1/describable.proto";
import "common/money/v1/money.proto";
import "common/pagination/v1/cursor.proto";
@@ -18,6 +20,7 @@ service ConnectorService {
rpc GetAccount(GetAccountRequest) returns (GetAccountResponse);
rpc ListAccounts(ListAccountsRequest) returns (ListAccountsResponse);
rpc GetBalance(GetBalanceRequest) returns (GetBalanceResponse);
rpc UpdateAccountState(UpdateAccountStateRequest) returns (UpdateAccountStateResponse);
rpc SubmitOperation(SubmitOperationRequest) returns (SubmitOperationResponse);
rpc GetOperation(GetOperationRequest) returns (GetOperationResponse);
@@ -133,6 +136,7 @@ message Account {
google.protobuf.Timestamp created_at = 8;
google.protobuf.Timestamp updated_at = 9;
common.describable.v1.Describable describable = 10;
common.account_role.v1.AccountRole role = 11; // functional role within the organization (ledger-only; unset for non-ledger connectors)
}
message Balance {
@@ -167,6 +171,8 @@ message Operation {
string provider_ref = 11;
google.protobuf.Timestamp created_at = 12;
google.protobuf.Timestamp updated_at = 13;
common.account_role.v1.AccountRole from_role = 14;
common.account_role.v1.AccountRole to_role = 15;
}
message OperationReceipt {
@@ -192,6 +198,7 @@ message OpenAccountRequest {
google.protobuf.Struct params = 6;
string correlation_id = 7;
string parent_intent_id = 8;
common.account_role.v1.AccountRole role = 9; // functional role (ledger-only; ignored by non-ledger connectors)
}
message OpenAccountResponse {
@@ -208,11 +215,17 @@ message GetAccountResponse {
}
message ListAccountsRequest {
string owner_ref = 1;
reserved 1;
reserved "owner_ref";
AccountKind kind = 2;
string asset = 3; // canonical asset string (USD, ETH, USDT-TRC20)
common.pagination.v1.CursorPageRequest page = 4;
string organization_ref = 5; // optional org scope (preferred over owner_ref)
string organization_ref = 5;
// Optional owner filter with 3-state semantics:
// - not set: return all accounts within organization
// - set to empty string: return accounts where owner_ref is null/empty
// - set to a value: return accounts where owner_ref matches
google.protobuf.StringValue owner_ref_filter = 6;
}
message ListAccountsResponse {
@@ -220,6 +233,17 @@ message ListAccountsResponse {
common.pagination.v1.CursorPageResponse page = 2;
}
message UpdateAccountStateRequest {
AccountRef account_ref = 1;
AccountState target_state = 2;
common.account_role.v1.AccountRole source_role = 3; // optional: assert account has this role before mutation
}
message UpdateAccountStateResponse {
Account account = 1;
ConnectorError error = 2;
}
message GetBalanceRequest {
AccountRef account_ref = 1;
}