From 9a38296d905779292993a98bb9a95d26b8db6fb3 Mon Sep 17 00:00:00 2001 From: itsscb Date: Mon, 9 Oct 2023 02:26:20 +0200 Subject: [PATCH] ft/adds gapi.payments --- bff/db/mock/store.go | 2 +- bff/db/query/payment.sql | 5 +- bff/db/sqlc/payment.sql.go | 12 +- bff/db/sqlc/payment_test.go | 19 - bff/db/sqlc/querier.go | 2 +- bff/doc/swagger/df.swagger.json | 639 +++++++++++++++++++++-------- bff/gapi/converter.go | 19 + bff/gapi/rpc_create_payment.go | 112 +++++ bff/gapi/rpc_list_accounts.go | 2 +- bff/gapi/rpc_list_payments.go | 71 ++++ bff/gapi/rpc_list_sessions.go | 34 +- bff/gapi/rpc_update_payment.go | 116 ++++++ bff/pb/payment.pb.go | 317 ++++++++++++++ bff/pb/rpc_create_payment.pb.go | 325 +++++++++++++++ bff/pb/rpc_list_accounts.pb.go | 28 +- bff/pb/rpc_list_payments.pb.go | 224 ++++++++++ bff/pb/rpc_list_sessions.pb.go | 53 +-- bff/pb/rpc_update_payment.pb.go | 323 +++++++++++++++ bff/pb/service_df.pb.go | 262 +++++++----- bff/pb/service_df.pb.gw.go | 493 +++++++++++++++++----- bff/pb/service_df_grpc.pb.go | 185 +++++++-- bff/proto/payment.proto | 35 ++ bff/proto/rpc_create_payment.proto | 45 ++ bff/proto/rpc_list_accounts.proto | 2 +- bff/proto/rpc_list_payments.proto | 34 ++ bff/proto/rpc_list_sessions.proto | 11 +- bff/proto/rpc_update_payment.proto | 42 ++ bff/proto/service_df.proto | 87 +++- 28 files changed, 2970 insertions(+), 529 deletions(-) create mode 100644 bff/gapi/rpc_create_payment.go create mode 100644 bff/gapi/rpc_list_payments.go create mode 100644 bff/gapi/rpc_update_payment.go create mode 100644 bff/pb/payment.pb.go create mode 100644 bff/pb/rpc_create_payment.pb.go create mode 100644 bff/pb/rpc_list_payments.pb.go create mode 100644 bff/pb/rpc_update_payment.pb.go create mode 100644 bff/proto/payment.proto create mode 100644 bff/proto/rpc_create_payment.proto create mode 100644 bff/proto/rpc_list_payments.proto create mode 100644 bff/proto/rpc_update_payment.proto diff --git a/bff/db/mock/store.go b/bff/db/mock/store.go index 13b6cef..25683ca 100644 --- a/bff/db/mock/store.go +++ b/bff/db/mock/store.go @@ -601,7 +601,7 @@ func (mr *MockStoreMockRecorder) ListMails(arg0, arg1 any) *gomock.Call { } // ListPayments mocks base method. -func (m *MockStore) ListPayments(arg0 context.Context, arg1 db.ListPaymentsParams) ([]db.Payment, error) { +func (m *MockStore) ListPayments(arg0 context.Context, arg1 int64) ([]db.Payment, error) { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "ListPayments", arg0, arg1) ret0, _ := ret[0].([]db.Payment) diff --git a/bff/db/query/payment.sql b/bff/db/query/payment.sql index 767216a..a3f726c 100644 --- a/bff/db/query/payment.sql +++ b/bff/db/query/payment.sql @@ -21,9 +21,8 @@ INSERT INTO payments ( -- name: ListPayments :many SELECT * FROM payments -ORDER BY "payment_category" -LIMIT $1 -OFFSET $2; +WHERE "account_id" = sqlc.arg(account_id) +ORDER BY "payment_category"; -- name: UpdatePayment :one UPDATE payments diff --git a/bff/db/sqlc/payment.sql.go b/bff/db/sqlc/payment.sql.go index ac64b44..63b9ddc 100644 --- a/bff/db/sqlc/payment.sql.go +++ b/bff/db/sqlc/payment.sql.go @@ -115,18 +115,12 @@ func (q *Queries) GetPayment(ctx context.Context, id int64) (Payment, error) { const listPayments = `-- name: ListPayments :many SELECT id, account_id, payment_category, bankname, "IBAN", "BIC", paypal_account, paypal_id, payment_system, type, creator, created, changer, changed FROM payments +WHERE "account_id" = $1 ORDER BY "payment_category" -LIMIT $1 -OFFSET $2 ` -type ListPaymentsParams struct { - Limit int32 `json:"limit"` - Offset int32 `json:"offset"` -} - -func (q *Queries) ListPayments(ctx context.Context, arg ListPaymentsParams) ([]Payment, error) { - rows, err := q.db.QueryContext(ctx, listPayments, arg.Limit, arg.Offset) +func (q *Queries) ListPayments(ctx context.Context, accountID int64) ([]Payment, error) { + rows, err := q.db.QueryContext(ctx, listPayments, accountID) if err != nil { return nil, err } diff --git a/bff/db/sqlc/payment_test.go b/bff/db/sqlc/payment_test.go index afa8124..3ed7b15 100644 --- a/bff/db/sqlc/payment_test.go +++ b/bff/db/sqlc/payment_test.go @@ -126,22 +126,3 @@ func TestUpdatePayment(t *testing.T) { require.Equal(t, person1.PaymentCategory, person2.PaymentCategory) require.NotEqual(t, person1.Bankname, person2.Bankname) } - -func TestListPayments(t *testing.T) { - for i := 0; i < 10; i++ { - createRandomPayment(t) - } - - arg := ListPaymentsParams{ - Limit: 5, - Offset: 5, - } - - persons, err := testQueries.ListPayments(context.Background(), arg) - require.NoError(t, err) - require.Len(t, persons, 5) - - for _, person := range persons { - require.NotEmpty(t, person) - } -} diff --git a/bff/db/sqlc/querier.go b/bff/db/sqlc/querier.go index caf647c..e825160 100644 --- a/bff/db/sqlc/querier.go +++ b/bff/db/sqlc/querier.go @@ -60,7 +60,7 @@ type Querier interface { ListAccounts(ctx context.Context, arg ListAccountsParams) ([]Account, error) ListDocuments(ctx context.Context, arg ListDocumentsParams) ([]Document, error) ListMails(ctx context.Context, arg ListMailsParams) ([]Mail, error) - ListPayments(ctx context.Context, arg ListPaymentsParams) ([]Payment, error) + ListPayments(ctx context.Context, accountID int64) ([]Payment, error) ListPersons(ctx context.Context, arg ListPersonsParams) ([]Person, error) ListProviders(ctx context.Context, arg ListProvidersParams) ([]Provider, error) ListReturns(ctx context.Context, arg ListReturnsParams) ([]Return, error) diff --git a/bff/doc/swagger/df.swagger.json b/bff/doc/swagger/df.swagger.json index c992b58..d201f12 100644 --- a/bff/doc/swagger/df.swagger.json +++ b/bff/doc/swagger/df.swagger.json @@ -26,45 +26,7 @@ "application/json" ], "paths": { - "/v1/block_session": { - "patch": { - "operationId": "df_BlockSession", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/pbBlockSessionResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "body", - "description": "Block a Session", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/pbBlockSessionRequest" - } - } - ], - "tags": [ - "df" - ], - "security": [ - { - "BearerAuth": [] - } - ] - } - }, - "/v1/create_account": { + "/v1/accounts/create_account": { "post": { "operationId": "df_CreateAccount", "responses": { @@ -97,45 +59,7 @@ ] } }, - "/v1/create_person": { - "post": { - "operationId": "df_CreatePerson", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/pbCreatePersonResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "body", - "description": "Create an Person", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/pbCreatePersonRequest" - } - } - ], - "tags": [ - "df" - ], - "security": [ - { - "BearerAuth": [] - } - ] - } - }, - "/v1/get_account": { + "/v1/accounts/get_account": { "get": { "operationId": "df_GetAccount", "responses": { @@ -171,7 +95,7 @@ ] } }, - "/v1/list_accounts": { + "/v1/accounts/list_accounts": { "get": { "operationId": "df_ListAccounts", "responses": { @@ -214,14 +138,14 @@ ] } }, - "/v1/list_sessions": { - "get": { - "operationId": "df_ListSessions", + "/v1/accounts/update_account": { + "patch": { + "operationId": "df_UpdateAccount", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/pbListSessionsResponse" + "$ref": "#/definitions/pbUpdateAccountResponse" } }, "default": { @@ -233,10 +157,51 @@ }, "parameters": [ { - "name": "email", - "in": "query", + "name": "body", + "description": "Update an Account", + "in": "body", "required": true, - "type": "string" + "schema": { + "$ref": "#/definitions/pbUpdateAccountRequest" + } + } + ], + "tags": [ + "df" + ], + "security": [ + { + "BearerAuth": [] + } + ] + } + }, + "/v1/accounts/update_account_privacy": { + "patch": { + "operationId": "df_UpdateAccountPrivacy", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/pbUpdateAccountPrivacyResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "body", + "description": "Update the Privacy Consent of an Account", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/pbUpdateAccountPrivacyRequest" + } } ], "tags": [ @@ -282,7 +247,231 @@ ] } }, - "/v1/refresh_token": { + "/v1/payments/create_payment": { + "post": { + "operationId": "df_CreatePayment", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/pbCreatePaymentResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "body", + "description": "Create an Payment", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/pbCreatePaymentRequest" + } + } + ], + "tags": [ + "df" + ], + "security": [ + { + "BearerAuth": [] + } + ] + } + }, + "/v1/payments/list_payments": { + "get": { + "operationId": "df_ListPayments", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/pbListPaymentsResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "accountId", + "in": "query", + "required": false, + "type": "string", + "format": "int64" + } + ], + "tags": [ + "df" + ], + "security": [ + { + "BearerAuth": [] + } + ] + } + }, + "/v1/payments/update_payment": { + "patch": { + "operationId": "df_UpdatePayment", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/pbUpdatePaymentResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "body", + "description": "Update an Payment", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/pbUpdatePaymentRequest" + } + } + ], + "tags": [ + "df" + ], + "security": [ + { + "BearerAuth": [] + } + ] + } + }, + "/v1/persons/create_person": { + "post": { + "operationId": "df_CreatePerson", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/pbCreatePersonResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "body", + "description": "Create an Person", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/pbCreatePersonRequest" + } + } + ], + "tags": [ + "df" + ], + "security": [ + { + "BearerAuth": [] + } + ] + } + }, + "/v1/sessions/block_session": { + "patch": { + "operationId": "df_BlockSession", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/pbBlockSessionResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "body", + "description": "Block a Session", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/pbBlockSessionRequest" + } + } + ], + "tags": [ + "df" + ], + "security": [ + { + "BearerAuth": [] + } + ] + } + }, + "/v1/sessions/list_sessions/{accountId}": { + "get": { + "operationId": "df_ListSessions", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/pbListSessionsResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "accountId", + "in": "path", + "required": true, + "type": "string", + "format": "int64" + } + ], + "tags": [ + "df" + ], + "security": [ + { + "BearerAuth": [] + } + ] + } + }, + "/v1/sessions/refresh_token": { "post": { "operationId": "df_RefreshToken", "responses": { @@ -314,82 +503,6 @@ "df" ] } - }, - "/v1/update_account": { - "patch": { - "operationId": "df_UpdateAccount", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/pbUpdateAccountResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "body", - "description": "Update an Account", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/pbUpdateAccountRequest" - } - } - ], - "tags": [ - "df" - ], - "security": [ - { - "BearerAuth": [] - } - ] - } - }, - "/v1/update_account_privacy": { - "patch": { - "operationId": "df_UpdateAccountPrivacy", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/pbUpdateAccountPrivacyResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/rpcStatus" - } - } - }, - "parameters": [ - { - "name": "body", - "description": "Update the Privacy Consent of an Account", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/pbUpdateAccountPrivacyRequest" - } - } - ], - "tags": [ - "df" - ], - "security": [ - { - "BearerAuth": [] - } - ] - } } }, "definitions": { @@ -591,6 +704,65 @@ "description": "Returns the created Account", "title": "Created Account" }, + "pbCreatePaymentRequest": { + "type": "object", + "example": { + "account_id": "1", + "payment_category": "TBD: paypal", + "paypal_account": "john.doe@example.com", + "paypal_id": "this-is-a-paypal-id", + "payment_system": "TBD: paypal system", + "type": "TBD: some type" + }, + "properties": { + "accountId": { + "type": "string", + "format": "int64" + }, + "paymentCategory": { + "type": "string" + }, + "bankname": { + "type": "string" + }, + "IBAN": { + "type": "string" + }, + "BIC": { + "type": "string" + }, + "paypalAccount": { + "type": "string" + }, + "paypalId": { + "type": "string" + }, + "paymentSystem": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "description": "Create an Payment", + "title": "Create Payment", + "required": [ + "accountId", + "paymentCategory", + "paymentSystem", + "type" + ] + }, + "pbCreatePaymentResponse": { + "type": "object", + "properties": { + "payment": { + "$ref": "#/definitions/pbPayment" + } + }, + "description": "Returns the created Payment", + "title": "Created Payment" + }, "pbCreatePersonRequest": { "type": "object", "example": { @@ -667,7 +839,7 @@ "pbListAccountsResponse": { "type": "object", "properties": { - "account": { + "accounts": { "type": "array", "items": { "type": "object", @@ -678,10 +850,24 @@ "description": "Returns the Account", "title": "ListAccounts Response" }, + "pbListPaymentsResponse": { + "type": "object", + "properties": { + "payments": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/pbPayment" + } + } + }, + "description": "Returns the Payment", + "title": "ListPayments Response" + }, "pbListSessionsResponse": { "type": "object", "properties": { - "session": { + "sessions": { "type": "array", "items": { "type": "object", @@ -749,6 +935,73 @@ }, "title": "Login Response" }, + "pbPayment": { + "type": "object", + "example": { + "id": "1", + "account_id": "1", + "payment_category": "TBD: paypal", + "paypal_account": "john.doe@example.com", + "paypal_id": "this-is-a-paypal-id", + "payment_system": "TBD: paypal system", + "type": "TBD: some type", + "creator": "john.doe@example.com", + "created": "2023-10-05T02:30:53Z", + "changer": "john.doe@example.com", + "changed": "2023-10-05T02:30:53Z" + }, + "properties": { + "id": { + "type": "string", + "format": "int64" + }, + "accountId": { + "type": "string", + "format": "int64" + }, + "paymentCategory": { + "type": "string" + }, + "bankname": { + "type": "string" + }, + "IBAN": { + "type": "string" + }, + "BIC": { + "type": "string" + }, + "paypalAccount": { + "type": "string" + }, + "paypalId": { + "type": "string" + }, + "paymentSystem": { + "type": "string" + }, + "type": { + "type": "string" + }, + "creator": { + "type": "string" + }, + "created": { + "type": "string", + "format": "date-time", + "example": "2023-10-05T00:00:00Z" + }, + "changer": { + "type": "string" + }, + "changed": { + "type": "string", + "format": "date-time", + "example": "2023-10-05T00:00:00Z" + } + }, + "title": "Payment" + }, "pbPerson": { "type": "object", "example": { @@ -990,6 +1243,62 @@ "description": "Returns the updated Account", "title": "Updated Account" }, + "pbUpdatePaymentRequest": { + "type": "object", + "example": { + "id": "1", + "payment_category": "TBD: paypal", + "paypal_account": "john.doe@example.com", + "paypal_id": "this-is-a-paypal-id", + "payment_system": "TBD: paypal system", + "type": "TBD: some type" + }, + "properties": { + "id": { + "type": "string", + "format": "int64" + }, + "paymentCategory": { + "type": "string" + }, + "bankname": { + "type": "string" + }, + "IBAN": { + "type": "string" + }, + "BIC": { + "type": "string" + }, + "paypalAccount": { + "type": "string" + }, + "paypalId": { + "type": "string" + }, + "paymentSystem": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "description": "Update an Payment", + "title": "Update Payment", + "required": [ + "id" + ] + }, + "pbUpdatePaymentResponse": { + "type": "object", + "properties": { + "payment": { + "$ref": "#/definitions/pbPayment" + } + }, + "description": "Returns the updated Payment", + "title": "Updated Payment" + }, "protobufAny": { "type": "object", "properties": { diff --git a/bff/gapi/converter.go b/bff/gapi/converter.go index 04a66dd..6b96c41 100644 --- a/bff/gapi/converter.go +++ b/bff/gapi/converter.go @@ -57,3 +57,22 @@ func convertSession(session db.Session) *pb.Session { IsBlocked: session.IsBlocked, } } + +func convertPayment(payment db.Payment) *pb.Payment { + return &pb.Payment{ + Id: payment.ID, + AccountId: payment.AccountID, + PaymentCategory: payment.PaymentCategory, + Bankname: &payment.Bankname.String, + IBAN: &payment.IBAN.String, + BIC: &payment.BIC.String, + PaypalAccount: &payment.PaypalAccount.String, + PaypalId: &payment.PaypalID.String, + PaymentSystem: &payment.PaymentSystem.String, + Type: payment.Type, + Creator: payment.Creator, + Created: timestamppb.New(payment.Created), + Changer: payment.Changer, + Changed: timestamppb.New(payment.Changed), + } +} diff --git a/bff/gapi/rpc_create_payment.go b/bff/gapi/rpc_create_payment.go new file mode 100644 index 0000000..ea36c1f --- /dev/null +++ b/bff/gapi/rpc_create_payment.go @@ -0,0 +1,112 @@ +package gapi + +import ( + "context" + "database/sql" + "errors" + + db "github.com/itsscb/df/bff/db/sqlc" + "github.com/itsscb/df/bff/pb" + "github.com/itsscb/df/bff/val" + "google.golang.org/genproto/googleapis/rpc/errdetails" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" +) + +func (server *Server) CreatePayment(ctx context.Context, req *pb.CreatePaymentRequest) (*pb.CreatePaymentResponse, error) { + authPayload, err := server.authorizeUser(ctx) + if err != nil { + return nil, unauthenticatedError(err) + } + + violations := validateCreatePaymentRequest(req) + if violations != nil { + return nil, invalidArgumentError(violations) + } + + account, err := server.store.GetAccount(ctx, req.GetAccountId()) + if err != nil { + if errors.Is(err, sql.ErrNoRows) { + return nil, status.Errorf(codes.NotFound, "account not found") + } + return nil, status.Error(codes.NotFound, "failed to get account") + } + + if authPayload.Email != account.Email { + if !server.isAdmin(ctx, authPayload) { + return nil, status.Error(codes.NotFound, "account not found") + } + } + + arg := db.CreatePaymentParams{ + AccountID: req.GetAccountId(), + PaymentCategory: req.GetPaymentCategory(), + Bankname: sql.NullString{ + Valid: req.GetBankname() != "", + String: req.GetBankname(), + }, + IBAN: sql.NullString{ + Valid: req.GetIBAN() != "", + String: req.GetIBAN(), + }, + BIC: sql.NullString{ + Valid: req.GetBIC() != "", + String: req.GetBIC(), + }, + PaypalAccount: sql.NullString{ + Valid: req.GetPaypalAccount() != "", + String: req.GetPaypalAccount(), + }, + PaypalID: sql.NullString{ + Valid: req.GetPaypalId() != "", + String: req.GetPaypalId(), + }, + PaymentSystem: sql.NullString{ + Valid: req.GetPaymentSystem() != "", + String: req.GetPaymentSystem(), + }, + Type: req.GetType(), + Creator: authPayload.Email, + Changer: authPayload.Email, + } + + payment, err := server.store.CreatePayment(ctx, arg) + if err != nil { + return nil, status.Errorf(codes.Internal, "failed to create payment") + } + + rsp := &pb.CreatePaymentResponse{ + Payment: convertPayment(payment), + } + + return rsp, nil +} + +func validateCreatePaymentRequest(req *pb.CreatePaymentRequest) (violations []*errdetails.BadRequest_FieldViolation) { + // TODO: #80 Add Validations to rpc_create_payment + if req.GetAccountId() < 1 { + violations = append(violations, fieldViolation("account_id", errors.New("must be greater than 0"))) + } + + if err := val.ValidateEmail(req.GetPaypalAccount()); err != nil { + violations = append(violations, fieldViolation("paypal_account", err)) + } + + // if err := val.ValidateName(req.GetPaymentCategory()); err != nil { + // violations = append(violations, fieldViolation("payment_category", err)) + // } + + // if err := val.ValidateName(req.GetBankname()); err != nil { + // violations = append(violations, fieldViolation("bankname", err)) + // } + + // if err := val.ValidateAlphaSpace(req.GetIBAN()); err != nil { + // violations = append(violations, fieldViolation("IBAN", err)) + // } + + // if err := val.ValidateAlphaSpace(req.GetBIC()); err != nil { + // violations = append(violations, fieldViolation("BIC", err)) + // } + + return violations +} diff --git a/bff/gapi/rpc_list_accounts.go b/bff/gapi/rpc_list_accounts.go index aec09c1..b3dc934 100644 --- a/bff/gapi/rpc_list_accounts.go +++ b/bff/gapi/rpc_list_accounts.go @@ -46,7 +46,7 @@ func (server *Server) ListAccounts(ctx context.Context, req *pb.ListAccountsRequ } rsp := &pb.ListAccountsResponse{ - Account: accounts, + Accounts: accounts, } return rsp, nil diff --git a/bff/gapi/rpc_list_payments.go b/bff/gapi/rpc_list_payments.go new file mode 100644 index 0000000..6f2ce92 --- /dev/null +++ b/bff/gapi/rpc_list_payments.go @@ -0,0 +1,71 @@ +package gapi + +import ( + "context" + "database/sql" + "errors" + + "github.com/itsscb/df/bff/pb" + "google.golang.org/genproto/googleapis/rpc/errdetails" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" +) + +func (server *Server) ListPayments(ctx context.Context, req *pb.ListPaymentsRequest) (*pb.ListPaymentsResponse, error) { + authPayload, err := server.authorizeUser(ctx) + if err != nil { + return nil, unauthenticatedError(err) + } + + violations := validateListPaymentsRequest(req) + if violations != nil { + return nil, invalidArgumentError(violations) + } + + account, err := server.store.GetAccountByEmail(ctx, authPayload.Email) + if err != nil { + if errors.Is(err, sql.ErrNoRows) { + return nil, status.Errorf(codes.NotFound, "account not found") + } + return nil, status.Error(codes.Internal, "failed to get account") + } + + if authPayload.Email != account.Email { + if !server.isAdmin(ctx, authPayload) { + return nil, status.Error(codes.NotFound, "account not found") + } + } + + if account.ID != req.GetAccountId() { + if !server.isAdmin(ctx, authPayload) { + return nil, status.Error(codes.NotFound, "account not found") + } + } + + dbPayments, err := server.store.ListPayments(ctx, req.GetAccountId()) + if err != nil { + if errors.Is(err, sql.ErrNoRows) { + return nil, status.Error(codes.NotFound, "no payments found") + } + return nil, status.Error(codes.NotFound, "failed to get payments") + } + + var payments []*pb.Payment + for _, a := range dbPayments { + payments = append(payments, convertPayment(a)) + } + + rsp := &pb.ListPaymentsResponse{ + Payments: payments, + } + + return rsp, nil +} + +func validateListPaymentsRequest(req *pb.ListPaymentsRequest) (violations []*errdetails.BadRequest_FieldViolation) { + if req.GetAccountId() < 1 { + violations = append(violations, fieldViolation("account_id", errors.New("must be greater than 0"))) + } + + return violations +} diff --git a/bff/gapi/rpc_list_sessions.go b/bff/gapi/rpc_list_sessions.go index be6af06..4b2d8a8 100644 --- a/bff/gapi/rpc_list_sessions.go +++ b/bff/gapi/rpc_list_sessions.go @@ -6,7 +6,6 @@ import ( "errors" "github.com/itsscb/df/bff/pb" - "github.com/itsscb/df/bff/val" "google.golang.org/genproto/googleapis/rpc/errdetails" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" @@ -23,18 +22,33 @@ func (server *Server) ListSessions(ctx context.Context, req *pb.ListSessionsRequ return nil, invalidArgumentError(violations) } - dbSessions, err := server.store.ListSessions(ctx, req.GetEmail()) + account, err := server.store.GetAccountByEmail(ctx, authPayload.Email) + if err != nil { + if errors.Is(err, sql.ErrNoRows) { + return nil, status.Errorf(codes.NotFound, "account not found") + } + return nil, status.Error(codes.Internal, "failed to get account") + } + + if authPayload.Email != account.Email { + if !server.isAdmin(ctx, authPayload) { + return nil, status.Error(codes.NotFound, "account not found") + } + } + + if account.ID != req.GetAccountId() { + if !server.isAdmin(ctx, authPayload) { + return nil, status.Error(codes.NotFound, "account not found") + } + } + + dbSessions, err := server.store.ListSessions(ctx, account.Email) if err != nil { if errors.Is(err, sql.ErrNoRows) { return nil, status.Error(codes.NotFound, "no accounts found") } return nil, status.Error(codes.NotFound, "failed to get accounts") } - if authPayload.Email != req.GetEmail() { - if !server.isAdmin(ctx, authPayload) { - return nil, status.Error(codes.PermissionDenied, "only for administrators") - } - } var sessions []*pb.Session for _, s := range dbSessions { @@ -42,15 +56,15 @@ func (server *Server) ListSessions(ctx context.Context, req *pb.ListSessionsRequ } rsp := &pb.ListSessionsResponse{ - Session: sessions, + Sessions: sessions, } return rsp, nil } func validateListSessionsRequest(req *pb.ListSessionsRequest) (violations []*errdetails.BadRequest_FieldViolation) { - if err := val.ValidateEmail(req.GetEmail()); err != nil { - violations = append(violations, fieldViolation("email", err)) + if req.GetAccountId() < 1 { + violations = append(violations, fieldViolation("account_id", errors.New("must be greater than 0"))) } return violations diff --git a/bff/gapi/rpc_update_payment.go b/bff/gapi/rpc_update_payment.go new file mode 100644 index 0000000..3856389 --- /dev/null +++ b/bff/gapi/rpc_update_payment.go @@ -0,0 +1,116 @@ +package gapi + +import ( + "context" + "database/sql" + "errors" + + db "github.com/itsscb/df/bff/db/sqlc" + "github.com/itsscb/df/bff/pb" + "github.com/itsscb/df/bff/val" + "google.golang.org/genproto/googleapis/rpc/errdetails" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" +) + +func (server *Server) UpdatePayment(ctx context.Context, req *pb.UpdatePaymentRequest) (*pb.UpdatePaymentResponse, error) { + authPayload, err := server.authorizeUser(ctx) + if err != nil { + return nil, unauthenticatedError(err) + } + + violations := validateUpdatePaymentRequest(req) + if violations != nil { + return nil, invalidArgumentError(violations) + } + + account, err := server.store.GetAccountByEmail(ctx, authPayload.Email) + if err != nil { + if errors.Is(err, sql.ErrNoRows) { + return nil, status.Errorf(codes.NotFound, "account not found") + } + return nil, status.Error(codes.Internal, "failed to get account") + } + + if authPayload.Email != account.Email { + if !server.isAdmin(ctx, authPayload) { + return nil, status.Error(codes.NotFound, "account not found") + } + } + + dbPayment, err := server.store.GetPayment(ctx, req.GetId()) + if err != nil { + if errors.Is(err, sql.ErrNoRows) { + return nil, status.Errorf(codes.NotFound, "payment not found") + } + return nil, status.Error(codes.Internal, "failed to get payment") + } + + if dbPayment.AccountID != account.ID { + if !server.isAdmin(ctx, authPayload) { + return nil, status.Error(codes.NotFound, "payment not found") + } + } + + arg := db.UpdatePaymentParams{ + ID: req.GetId(), + PaymentCategory: sql.NullString{ + Valid: req.GetPaymentCategory() != "", + String: req.GetPaymentCategory(), + }, + Bankname: sql.NullString{ + Valid: req.GetBankname() != "", + String: req.GetBankname(), + }, + Iban: sql.NullString{ + Valid: req.GetIBAN() != "", + String: req.GetIBAN(), + }, + Bic: sql.NullString{ + Valid: req.GetBIC() != "", + String: req.GetBIC(), + }, + PaypalAccount: sql.NullString{ + Valid: req.GetPaypalAccount() != "", + String: req.GetPaypalAccount(), + }, + PaypalID: sql.NullString{ + Valid: req.GetPaypalId() != "", + String: req.GetPaypalId(), + }, + PaymentSystem: sql.NullString{ + Valid: req.GetPaymentSystem() != "", + String: req.GetPaymentSystem(), + }, + Type: sql.NullString{ + Valid: req.GetType() != "", + String: req.GetType(), + }, + Changer: authPayload.Email, + } + + payment, err := server.store.UpdatePayment(ctx, arg) + if err != nil { + return nil, status.Error(codes.Internal, "failed to update payment") + } + + rsp := &pb.UpdatePaymentResponse{ + Payment: convertPayment(payment), + } + + return rsp, nil +} + +func validateUpdatePaymentRequest(req *pb.UpdatePaymentRequest) (violations []*errdetails.BadRequest_FieldViolation) { + if req.GetId() < 1 { + violations = append(violations, fieldViolation("id", errors.New("must be greater than 0"))) + } + + if req.GetPaypalAccount() != "" { + if err := val.ValidateEmail(req.GetPaypalAccount()); err != nil { + violations = append(violations, fieldViolation("email", err)) + } + } + + return violations +} diff --git a/bff/pb/payment.pb.go b/bff/pb/payment.pb.go new file mode 100644 index 0000000..481beee --- /dev/null +++ b/bff/pb/payment.pb.go @@ -0,0 +1,317 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.31.0 +// protoc v4.24.4 +// source: payment.proto + +package pb + +import ( + _ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type Payment struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + AccountId int64 `protobuf:"varint,2,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` + PaymentCategory string `protobuf:"bytes,3,opt,name=payment_category,json=paymentCategory,proto3" json:"payment_category,omitempty"` + Bankname *string `protobuf:"bytes,4,opt,name=bankname,proto3,oneof" json:"bankname,omitempty"` + IBAN *string `protobuf:"bytes,5,opt,name=IBAN,proto3,oneof" json:"IBAN,omitempty"` + BIC *string `protobuf:"bytes,6,opt,name=BIC,proto3,oneof" json:"BIC,omitempty"` + PaypalAccount *string `protobuf:"bytes,7,opt,name=paypal_account,json=paypalAccount,proto3,oneof" json:"paypal_account,omitempty"` + PaypalId *string `protobuf:"bytes,8,opt,name=paypal_id,json=paypalId,proto3,oneof" json:"paypal_id,omitempty"` + PaymentSystem *string `protobuf:"bytes,9,opt,name=payment_system,json=paymentSystem,proto3,oneof" json:"payment_system,omitempty"` + Type string `protobuf:"bytes,10,opt,name=type,proto3" json:"type,omitempty"` + Creator string `protobuf:"bytes,11,opt,name=creator,proto3" json:"creator,omitempty"` + Created *timestamppb.Timestamp `protobuf:"bytes,12,opt,name=created,proto3" json:"created,omitempty"` + Changer string `protobuf:"bytes,13,opt,name=changer,proto3" json:"changer,omitempty"` + Changed *timestamppb.Timestamp `protobuf:"bytes,14,opt,name=changed,proto3" json:"changed,omitempty"` +} + +func (x *Payment) Reset() { + *x = Payment{} + if protoimpl.UnsafeEnabled { + mi := &file_payment_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Payment) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Payment) ProtoMessage() {} + +func (x *Payment) ProtoReflect() protoreflect.Message { + mi := &file_payment_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Payment.ProtoReflect.Descriptor instead. +func (*Payment) Descriptor() ([]byte, []int) { + return file_payment_proto_rawDescGZIP(), []int{0} +} + +func (x *Payment) GetId() int64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *Payment) GetAccountId() int64 { + if x != nil { + return x.AccountId + } + return 0 +} + +func (x *Payment) GetPaymentCategory() string { + if x != nil { + return x.PaymentCategory + } + return "" +} + +func (x *Payment) GetBankname() string { + if x != nil && x.Bankname != nil { + return *x.Bankname + } + return "" +} + +func (x *Payment) GetIBAN() string { + if x != nil && x.IBAN != nil { + return *x.IBAN + } + return "" +} + +func (x *Payment) GetBIC() string { + if x != nil && x.BIC != nil { + return *x.BIC + } + return "" +} + +func (x *Payment) GetPaypalAccount() string { + if x != nil && x.PaypalAccount != nil { + return *x.PaypalAccount + } + return "" +} + +func (x *Payment) GetPaypalId() string { + if x != nil && x.PaypalId != nil { + return *x.PaypalId + } + return "" +} + +func (x *Payment) GetPaymentSystem() string { + if x != nil && x.PaymentSystem != nil { + return *x.PaymentSystem + } + return "" +} + +func (x *Payment) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *Payment) GetCreator() string { + if x != nil { + return x.Creator + } + return "" +} + +func (x *Payment) GetCreated() *timestamppb.Timestamp { + if x != nil { + return x.Created + } + return nil +} + +func (x *Payment) GetChanger() string { + if x != nil { + return x.Changer + } + return "" +} + +func (x *Payment) GetChanged() *timestamppb.Timestamp { + if x != nil { + return x.Changed + } + return nil +} + +var File_payment_proto protoreflect.FileDescriptor + +var file_payment_proto_rawDesc = []byte{ + 0x0a, 0x0d, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, + 0x02, 0x70, 0x62, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, + 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdf, 0x07, 0x0a, 0x07, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, + 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, + 0x29, 0x0a, 0x10, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, + 0x6f, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x61, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x1f, 0x0a, 0x08, 0x62, 0x61, + 0x6e, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, + 0x62, 0x61, 0x6e, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x49, + 0x42, 0x41, 0x4e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x49, 0x42, 0x41, + 0x4e, 0x88, 0x01, 0x01, 0x12, 0x15, 0x0a, 0x03, 0x42, 0x49, 0x43, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x02, 0x52, 0x03, 0x42, 0x49, 0x43, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0e, 0x70, + 0x61, 0x79, 0x70, 0x61, 0x6c, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0d, 0x70, 0x61, 0x79, 0x70, 0x61, 0x6c, 0x41, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x79, 0x70, 0x61, + 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x08, 0x70, 0x61, + 0x79, 0x70, 0x61, 0x6c, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0e, 0x70, 0x61, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x05, 0x52, 0x0d, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x79, 0x73, 0x74, + 0x65, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x6f, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x6f, 0x72, 0x12, 0x51, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x0c, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x42, 0x1b, 0x92, 0x41, 0x18, 0x4a, 0x16, 0x22, 0x32, 0x30, 0x32, 0x33, 0x2d, 0x31, 0x30, 0x2d, + 0x30, 0x35, 0x54, 0x30, 0x30, 0x3a, 0x30, 0x30, 0x3a, 0x30, 0x30, 0x5a, 0x22, 0x52, 0x07, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x72, + 0x12, 0x51, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x1b, 0x92, + 0x41, 0x18, 0x4a, 0x16, 0x22, 0x32, 0x30, 0x32, 0x33, 0x2d, 0x31, 0x30, 0x2d, 0x30, 0x35, 0x54, + 0x30, 0x30, 0x3a, 0x30, 0x30, 0x3a, 0x30, 0x30, 0x5a, 0x22, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x64, 0x3a, 0xee, 0x02, 0x92, 0x41, 0xea, 0x02, 0x0a, 0x09, 0x2a, 0x07, 0x50, 0x61, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x32, 0xdc, 0x02, 0x7b, 0x22, 0x69, 0x64, 0x22, 0x3a, 0x20, 0x22, + 0x31, 0x22, 0x2c, 0x22, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x3a, + 0x20, 0x22, 0x31, 0x22, 0x2c, 0x20, 0x22, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x63, + 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x22, 0x3a, 0x20, 0x22, 0x54, 0x42, 0x44, 0x3a, 0x20, + 0x70, 0x61, 0x79, 0x70, 0x61, 0x6c, 0x22, 0x2c, 0x20, 0x22, 0x70, 0x61, 0x79, 0x70, 0x61, 0x6c, + 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x3a, 0x20, 0x22, 0x6a, 0x6f, 0x68, 0x6e, + 0x2e, 0x64, 0x6f, 0x65, 0x40, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, + 0x22, 0x2c, 0x20, 0x22, 0x70, 0x61, 0x79, 0x70, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x22, 0x3a, 0x20, + 0x22, 0x74, 0x68, 0x69, 0x73, 0x2d, 0x69, 0x73, 0x2d, 0x61, 0x2d, 0x70, 0x61, 0x79, 0x70, 0x61, + 0x6c, 0x2d, 0x69, 0x64, 0x22, 0x2c, 0x20, 0x22, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, + 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x22, 0x3a, 0x20, 0x22, 0x54, 0x42, 0x44, 0x3a, 0x20, 0x70, + 0x61, 0x79, 0x70, 0x61, 0x6c, 0x20, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x22, 0x2c, 0x20, 0x22, + 0x74, 0x79, 0x70, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x54, 0x42, 0x44, 0x3a, 0x20, 0x73, 0x6f, 0x6d, + 0x65, 0x20, 0x74, 0x79, 0x70, 0x65, 0x22, 0x2c, 0x20, 0x22, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, + 0x72, 0x22, 0x3a, 0x20, 0x22, 0x6a, 0x6f, 0x68, 0x6e, 0x2e, 0x64, 0x6f, 0x65, 0x40, 0x65, 0x78, + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x22, 0x2c, 0x20, 0x22, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x22, 0x3a, 0x20, 0x22, 0x32, 0x30, 0x32, 0x33, 0x2d, 0x31, 0x30, 0x2d, + 0x30, 0x35, 0x54, 0x30, 0x32, 0x3a, 0x33, 0x30, 0x3a, 0x35, 0x33, 0x5a, 0x22, 0x2c, 0x20, 0x22, + 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x72, 0x22, 0x3a, 0x20, 0x22, 0x6a, 0x6f, 0x68, 0x6e, 0x2e, + 0x64, 0x6f, 0x65, 0x40, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x22, + 0x2c, 0x20, 0x22, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x22, 0x3a, 0x20, 0x22, 0x32, 0x30, + 0x32, 0x33, 0x2d, 0x31, 0x30, 0x2d, 0x30, 0x35, 0x54, 0x30, 0x32, 0x3a, 0x33, 0x30, 0x3a, 0x35, + 0x33, 0x5a, 0x22, 0x7d, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x62, 0x61, 0x6e, 0x6b, 0x6e, 0x61, 0x6d, + 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x49, 0x42, 0x41, 0x4e, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x42, + 0x49, 0x43, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x70, 0x61, 0x79, 0x70, 0x61, 0x6c, 0x5f, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x70, 0x61, 0x79, 0x70, 0x61, 0x6c, + 0x5f, 0x69, 0x64, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, + 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x42, 0x19, 0x5a, 0x17, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x69, 0x74, 0x73, 0x73, 0x63, 0x62, 0x2f, 0x64, 0x66, 0x2f, 0x70, + 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_payment_proto_rawDescOnce sync.Once + file_payment_proto_rawDescData = file_payment_proto_rawDesc +) + +func file_payment_proto_rawDescGZIP() []byte { + file_payment_proto_rawDescOnce.Do(func() { + file_payment_proto_rawDescData = protoimpl.X.CompressGZIP(file_payment_proto_rawDescData) + }) + return file_payment_proto_rawDescData +} + +var file_payment_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_payment_proto_goTypes = []interface{}{ + (*Payment)(nil), // 0: pb.Payment + (*timestamppb.Timestamp)(nil), // 1: google.protobuf.Timestamp +} +var file_payment_proto_depIdxs = []int32{ + 1, // 0: pb.Payment.created:type_name -> google.protobuf.Timestamp + 1, // 1: pb.Payment.changed:type_name -> google.protobuf.Timestamp + 2, // [2:2] is the sub-list for method output_type + 2, // [2:2] is the sub-list for method input_type + 2, // [2:2] is the sub-list for extension type_name + 2, // [2:2] is the sub-list for extension extendee + 0, // [0:2] is the sub-list for field type_name +} + +func init() { file_payment_proto_init() } +func file_payment_proto_init() { + if File_payment_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_payment_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Payment); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_payment_proto_msgTypes[0].OneofWrappers = []interface{}{} + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_payment_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_payment_proto_goTypes, + DependencyIndexes: file_payment_proto_depIdxs, + MessageInfos: file_payment_proto_msgTypes, + }.Build() + File_payment_proto = out.File + file_payment_proto_rawDesc = nil + file_payment_proto_goTypes = nil + file_payment_proto_depIdxs = nil +} diff --git a/bff/pb/rpc_create_payment.pb.go b/bff/pb/rpc_create_payment.pb.go new file mode 100644 index 0000000..7ce5d6f --- /dev/null +++ b/bff/pb/rpc_create_payment.pb.go @@ -0,0 +1,325 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.31.0 +// protoc v4.24.4 +// source: rpc_create_payment.proto + +package pb + +import ( + _ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type CreatePaymentRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AccountId int64 `protobuf:"varint,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` + PaymentCategory string `protobuf:"bytes,2,opt,name=payment_category,json=paymentCategory,proto3" json:"payment_category,omitempty"` + Bankname *string `protobuf:"bytes,3,opt,name=bankname,proto3,oneof" json:"bankname,omitempty"` + IBAN *string `protobuf:"bytes,4,opt,name=IBAN,proto3,oneof" json:"IBAN,omitempty"` + BIC *string `protobuf:"bytes,5,opt,name=BIC,proto3,oneof" json:"BIC,omitempty"` + PaypalAccount *string `protobuf:"bytes,6,opt,name=paypal_account,json=paypalAccount,proto3,oneof" json:"paypal_account,omitempty"` + PaypalId *string `protobuf:"bytes,7,opt,name=paypal_id,json=paypalId,proto3,oneof" json:"paypal_id,omitempty"` + PaymentSystem *string `protobuf:"bytes,8,opt,name=payment_system,json=paymentSystem,proto3,oneof" json:"payment_system,omitempty"` + Type string `protobuf:"bytes,9,opt,name=type,proto3" json:"type,omitempty"` +} + +func (x *CreatePaymentRequest) Reset() { + *x = CreatePaymentRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_rpc_create_payment_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreatePaymentRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreatePaymentRequest) ProtoMessage() {} + +func (x *CreatePaymentRequest) ProtoReflect() protoreflect.Message { + mi := &file_rpc_create_payment_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreatePaymentRequest.ProtoReflect.Descriptor instead. +func (*CreatePaymentRequest) Descriptor() ([]byte, []int) { + return file_rpc_create_payment_proto_rawDescGZIP(), []int{0} +} + +func (x *CreatePaymentRequest) GetAccountId() int64 { + if x != nil { + return x.AccountId + } + return 0 +} + +func (x *CreatePaymentRequest) GetPaymentCategory() string { + if x != nil { + return x.PaymentCategory + } + return "" +} + +func (x *CreatePaymentRequest) GetBankname() string { + if x != nil && x.Bankname != nil { + return *x.Bankname + } + return "" +} + +func (x *CreatePaymentRequest) GetIBAN() string { + if x != nil && x.IBAN != nil { + return *x.IBAN + } + return "" +} + +func (x *CreatePaymentRequest) GetBIC() string { + if x != nil && x.BIC != nil { + return *x.BIC + } + return "" +} + +func (x *CreatePaymentRequest) GetPaypalAccount() string { + if x != nil && x.PaypalAccount != nil { + return *x.PaypalAccount + } + return "" +} + +func (x *CreatePaymentRequest) GetPaypalId() string { + if x != nil && x.PaypalId != nil { + return *x.PaypalId + } + return "" +} + +func (x *CreatePaymentRequest) GetPaymentSystem() string { + if x != nil && x.PaymentSystem != nil { + return *x.PaymentSystem + } + return "" +} + +func (x *CreatePaymentRequest) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +type CreatePaymentResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Payment *Payment `protobuf:"bytes,1,opt,name=payment,proto3" json:"payment,omitempty"` +} + +func (x *CreatePaymentResponse) Reset() { + *x = CreatePaymentResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_rpc_create_payment_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreatePaymentResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreatePaymentResponse) ProtoMessage() {} + +func (x *CreatePaymentResponse) ProtoReflect() protoreflect.Message { + mi := &file_rpc_create_payment_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreatePaymentResponse.ProtoReflect.Descriptor instead. +func (*CreatePaymentResponse) Descriptor() ([]byte, []int) { + return file_rpc_create_payment_proto_rawDescGZIP(), []int{1} +} + +func (x *CreatePaymentResponse) GetPayment() *Payment { + if x != nil { + return x.Payment + } + return nil +} + +var File_rpc_create_payment_proto protoreflect.FileDescriptor + +var file_rpc_create_payment_proto_rawDesc = []byte{ + 0x0a, 0x18, 0x72, 0x70, 0x63, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x61, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x1a, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61, + 0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, + 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0d, + 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbe, 0x05, + 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, + 0x12, 0x1f, 0x0a, 0x08, 0x62, 0x61, 0x6e, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x62, 0x61, 0x6e, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, + 0x01, 0x12, 0x17, 0x0a, 0x04, 0x49, 0x42, 0x41, 0x4e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x01, 0x52, 0x04, 0x49, 0x42, 0x41, 0x4e, 0x88, 0x01, 0x01, 0x12, 0x15, 0x0a, 0x03, 0x42, 0x49, + 0x43, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x03, 0x42, 0x49, 0x43, 0x88, 0x01, + 0x01, 0x12, 0x2a, 0x0a, 0x0e, 0x70, 0x61, 0x79, 0x70, 0x61, 0x6c, 0x5f, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0d, 0x70, 0x61, 0x79, + 0x70, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, + 0x09, 0x70, 0x61, 0x79, 0x70, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x04, 0x52, 0x08, 0x70, 0x61, 0x79, 0x70, 0x61, 0x6c, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, + 0x2a, 0x0a, 0x0e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, + 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x0d, 0x70, 0x61, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x12, 0x0a, 0x04, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x3a, + 0xaa, 0x02, 0x92, 0x41, 0xa6, 0x02, 0x0a, 0x5b, 0x2a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x20, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x32, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x20, 0x61, 0x6e, 0x20, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0xd2, 0x01, 0x0a, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0xd2, 0x01, 0x10, 0x70, 0x61, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0xd2, 0x01, 0x0e, 0x70, 0x61, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0xd2, 0x01, 0x04, 0x74, + 0x79, 0x70, 0x65, 0x32, 0xc6, 0x01, 0x7b, 0x22, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, + 0x69, 0x64, 0x22, 0x3a, 0x20, 0x22, 0x31, 0x22, 0x2c, 0x20, 0x22, 0x70, 0x61, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x22, 0x3a, 0x20, 0x22, 0x54, + 0x42, 0x44, 0x3a, 0x20, 0x70, 0x61, 0x79, 0x70, 0x61, 0x6c, 0x22, 0x2c, 0x20, 0x22, 0x70, 0x61, + 0x79, 0x70, 0x61, 0x6c, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x3a, 0x20, 0x22, + 0x6a, 0x6f, 0x68, 0x6e, 0x2e, 0x64, 0x6f, 0x65, 0x40, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, + 0x2e, 0x63, 0x6f, 0x6d, 0x22, 0x2c, 0x20, 0x22, 0x70, 0x61, 0x79, 0x70, 0x61, 0x6c, 0x5f, 0x69, + 0x64, 0x22, 0x3a, 0x20, 0x22, 0x74, 0x68, 0x69, 0x73, 0x2d, 0x69, 0x73, 0x2d, 0x61, 0x2d, 0x70, + 0x61, 0x79, 0x70, 0x61, 0x6c, 0x2d, 0x69, 0x64, 0x22, 0x2c, 0x20, 0x22, 0x70, 0x61, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x22, 0x3a, 0x20, 0x22, 0x54, 0x42, + 0x44, 0x3a, 0x20, 0x70, 0x61, 0x79, 0x70, 0x61, 0x6c, 0x20, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, + 0x22, 0x2c, 0x20, 0x22, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x54, 0x42, 0x44, 0x3a, + 0x20, 0x73, 0x6f, 0x6d, 0x65, 0x20, 0x74, 0x79, 0x70, 0x65, 0x22, 0x7d, 0x42, 0x0b, 0x0a, 0x09, + 0x5f, 0x62, 0x61, 0x6e, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x49, 0x42, + 0x41, 0x4e, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x42, 0x49, 0x43, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x70, + 0x61, 0x79, 0x70, 0x61, 0x6c, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x0c, 0x0a, + 0x0a, 0x5f, 0x70, 0x61, 0x79, 0x70, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x42, 0x11, 0x0a, 0x0f, 0x5f, + 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x22, 0x78, + 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x2e, 0x50, 0x61, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x03, 0x92, 0x41, 0x00, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x3a, 0x33, 0x92, 0x41, 0x30, 0x0a, 0x2e, 0x2a, 0x0f, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x64, 0x20, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x32, 0x1b, 0x52, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x20, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x19, 0x5a, 0x17, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x69, 0x74, 0x73, 0x73, 0x63, 0x62, 0x2f, 0x64, 0x66, + 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_rpc_create_payment_proto_rawDescOnce sync.Once + file_rpc_create_payment_proto_rawDescData = file_rpc_create_payment_proto_rawDesc +) + +func file_rpc_create_payment_proto_rawDescGZIP() []byte { + file_rpc_create_payment_proto_rawDescOnce.Do(func() { + file_rpc_create_payment_proto_rawDescData = protoimpl.X.CompressGZIP(file_rpc_create_payment_proto_rawDescData) + }) + return file_rpc_create_payment_proto_rawDescData +} + +var file_rpc_create_payment_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_rpc_create_payment_proto_goTypes = []interface{}{ + (*CreatePaymentRequest)(nil), // 0: pb.CreatePaymentRequest + (*CreatePaymentResponse)(nil), // 1: pb.CreatePaymentResponse + (*Payment)(nil), // 2: pb.Payment +} +var file_rpc_create_payment_proto_depIdxs = []int32{ + 2, // 0: pb.CreatePaymentResponse.payment:type_name -> pb.Payment + 1, // [1:1] is the sub-list for method output_type + 1, // [1:1] is the sub-list for method input_type + 1, // [1:1] is the sub-list for extension type_name + 1, // [1:1] is the sub-list for extension extendee + 0, // [0:1] is the sub-list for field type_name +} + +func init() { file_rpc_create_payment_proto_init() } +func file_rpc_create_payment_proto_init() { + if File_rpc_create_payment_proto != nil { + return + } + file_payment_proto_init() + if !protoimpl.UnsafeEnabled { + file_rpc_create_payment_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreatePaymentRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_rpc_create_payment_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreatePaymentResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_rpc_create_payment_proto_msgTypes[0].OneofWrappers = []interface{}{} + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_rpc_create_payment_proto_rawDesc, + NumEnums: 0, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_rpc_create_payment_proto_goTypes, + DependencyIndexes: file_rpc_create_payment_proto_depIdxs, + MessageInfos: file_rpc_create_payment_proto_msgTypes, + }.Build() + File_rpc_create_payment_proto = out.File + file_rpc_create_payment_proto_rawDesc = nil + file_rpc_create_payment_proto_goTypes = nil + file_rpc_create_payment_proto_depIdxs = nil +} diff --git a/bff/pb/rpc_list_accounts.pb.go b/bff/pb/rpc_list_accounts.pb.go index 6b7d6a5..39982d7 100644 --- a/bff/pb/rpc_list_accounts.pb.go +++ b/bff/pb/rpc_list_accounts.pb.go @@ -81,7 +81,7 @@ type ListAccountsResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Account []*Account `protobuf:"bytes,1,rep,name=account,proto3" json:"account,omitempty"` + Accounts []*Account `protobuf:"bytes,1,rep,name=accounts,proto3" json:"accounts,omitempty"` } func (x *ListAccountsResponse) Reset() { @@ -116,9 +116,9 @@ func (*ListAccountsResponse) Descriptor() ([]byte, []int) { return file_rpc_list_accounts_proto_rawDescGZIP(), []int{1} } -func (x *ListAccountsResponse) GetAccount() []*Account { +func (x *ListAccountsResponse) GetAccounts() []*Account { if x != nil { - return x.Account + return x.Accounts } return nil } @@ -142,16 +142,16 @@ var file_rpc_list_accounts_proto_rawDesc = []byte{ 0x6f, 0x66, 0x20, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0xd2, 0x01, 0x02, 0x69, 0x64, 0x32, 0x20, 0x7b, 0x22, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x22, 0x3a, 0x20, 0x31, 0x2c, 0x20, 0x22, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x3a, 0x20, 0x31, 0x30, - 0x20, 0x7d, 0x22, 0x75, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, - 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x03, 0x92, 0x41, 0x00, 0x52, 0x07, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x31, 0x92, 0x41, 0x2e, 0x0a, 0x2c, 0x2a, 0x15, 0x4c, - 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x20, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x32, 0x13, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x19, 0x5a, 0x17, 0x67, 0x69, 0x74, - 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x69, 0x74, 0x73, 0x73, 0x63, 0x62, 0x2f, 0x64, - 0x66, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x20, 0x7d, 0x22, 0x77, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x08, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, + 0x62, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x03, 0x92, 0x41, 0x00, 0x52, 0x08, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x3a, 0x31, 0x92, 0x41, 0x2e, 0x0a, 0x2c, 0x2a, + 0x15, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x20, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0x13, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x19, 0x5a, 0x17, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x69, 0x74, 0x73, 0x73, 0x63, 0x62, + 0x2f, 0x64, 0x66, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -173,7 +173,7 @@ var file_rpc_list_accounts_proto_goTypes = []interface{}{ (*Account)(nil), // 2: pb.Account } var file_rpc_list_accounts_proto_depIdxs = []int32{ - 2, // 0: pb.ListAccountsResponse.account:type_name -> pb.Account + 2, // 0: pb.ListAccountsResponse.accounts:type_name -> pb.Account 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name diff --git a/bff/pb/rpc_list_payments.pb.go b/bff/pb/rpc_list_payments.pb.go new file mode 100644 index 0000000..5dec19c --- /dev/null +++ b/bff/pb/rpc_list_payments.pb.go @@ -0,0 +1,224 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.31.0 +// protoc v4.24.4 +// source: rpc_list_payments.proto + +package pb + +import ( + _ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type ListPaymentsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AccountId int64 `protobuf:"varint,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` +} + +func (x *ListPaymentsRequest) Reset() { + *x = ListPaymentsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_rpc_list_payments_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListPaymentsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListPaymentsRequest) ProtoMessage() {} + +func (x *ListPaymentsRequest) ProtoReflect() protoreflect.Message { + mi := &file_rpc_list_payments_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListPaymentsRequest.ProtoReflect.Descriptor instead. +func (*ListPaymentsRequest) Descriptor() ([]byte, []int) { + return file_rpc_list_payments_proto_rawDescGZIP(), []int{0} +} + +func (x *ListPaymentsRequest) GetAccountId() int64 { + if x != nil { + return x.AccountId + } + return 0 +} + +type ListPaymentsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Payments []*Payment `protobuf:"bytes,1,rep,name=payments,proto3" json:"payments,omitempty"` +} + +func (x *ListPaymentsResponse) Reset() { + *x = ListPaymentsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_rpc_list_payments_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListPaymentsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListPaymentsResponse) ProtoMessage() {} + +func (x *ListPaymentsResponse) ProtoReflect() protoreflect.Message { + mi := &file_rpc_list_payments_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListPaymentsResponse.ProtoReflect.Descriptor instead. +func (*ListPaymentsResponse) Descriptor() ([]byte, []int) { + return file_rpc_list_payments_proto_rawDescGZIP(), []int{1} +} + +func (x *ListPaymentsResponse) GetPayments() []*Payment { + if x != nil { + return x.Payments + } + return nil +} + +var File_rpc_list_payments_proto protoreflect.FileDescriptor + +var file_rpc_list_payments_proto_rawDesc = []byte{ + 0x0a, 0x17, 0x72, 0x70, 0x63, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x1a, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, + 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0d, 0x70, + 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7e, 0x0a, 0x13, + 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x49, 0x64, 0x3a, 0x48, 0x92, 0x41, 0x45, 0x0a, 0x2f, 0x2a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x50, + 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x32, 0x1a, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, + 0x20, 0x61, 0x20, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x50, 0x61, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x73, 0xd2, 0x01, 0x02, 0x69, 0x64, 0x32, 0x12, 0x7b, 0x22, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x3a, 0x20, 0x31, 0x20, 0x7d, 0x22, 0x77, 0x0a, 0x14, + 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x08, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x2e, 0x50, 0x61, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x42, 0x03, 0x92, 0x41, 0x00, 0x52, 0x08, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x73, 0x3a, 0x31, 0x92, 0x41, 0x2e, 0x0a, 0x2c, 0x2a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x50, + 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x32, 0x13, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x50, 0x61, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x19, 0x5a, 0x17, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x69, 0x74, 0x73, 0x73, 0x63, 0x62, 0x2f, 0x64, 0x66, 0x2f, 0x70, 0x62, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_rpc_list_payments_proto_rawDescOnce sync.Once + file_rpc_list_payments_proto_rawDescData = file_rpc_list_payments_proto_rawDesc +) + +func file_rpc_list_payments_proto_rawDescGZIP() []byte { + file_rpc_list_payments_proto_rawDescOnce.Do(func() { + file_rpc_list_payments_proto_rawDescData = protoimpl.X.CompressGZIP(file_rpc_list_payments_proto_rawDescData) + }) + return file_rpc_list_payments_proto_rawDescData +} + +var file_rpc_list_payments_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_rpc_list_payments_proto_goTypes = []interface{}{ + (*ListPaymentsRequest)(nil), // 0: pb.ListPaymentsRequest + (*ListPaymentsResponse)(nil), // 1: pb.ListPaymentsResponse + (*Payment)(nil), // 2: pb.Payment +} +var file_rpc_list_payments_proto_depIdxs = []int32{ + 2, // 0: pb.ListPaymentsResponse.payments:type_name -> pb.Payment + 1, // [1:1] is the sub-list for method output_type + 1, // [1:1] is the sub-list for method input_type + 1, // [1:1] is the sub-list for extension type_name + 1, // [1:1] is the sub-list for extension extendee + 0, // [0:1] is the sub-list for field type_name +} + +func init() { file_rpc_list_payments_proto_init() } +func file_rpc_list_payments_proto_init() { + if File_rpc_list_payments_proto != nil { + return + } + file_payment_proto_init() + if !protoimpl.UnsafeEnabled { + file_rpc_list_payments_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListPaymentsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_rpc_list_payments_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListPaymentsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_rpc_list_payments_proto_rawDesc, + NumEnums: 0, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_rpc_list_payments_proto_goTypes, + DependencyIndexes: file_rpc_list_payments_proto_depIdxs, + MessageInfos: file_rpc_list_payments_proto_msgTypes, + }.Build() + File_rpc_list_payments_proto = out.File + file_rpc_list_payments_proto_rawDesc = nil + file_rpc_list_payments_proto_goTypes = nil + file_rpc_list_payments_proto_depIdxs = nil +} diff --git a/bff/pb/rpc_list_sessions.pb.go b/bff/pb/rpc_list_sessions.pb.go index b8001c4..6be8491 100644 --- a/bff/pb/rpc_list_sessions.pb.go +++ b/bff/pb/rpc_list_sessions.pb.go @@ -26,7 +26,7 @@ type ListSessionsRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Email string `protobuf:"bytes,1,opt,name=email,proto3" json:"email,omitempty"` + AccountId int64 `protobuf:"varint,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` } func (x *ListSessionsRequest) Reset() { @@ -61,11 +61,11 @@ func (*ListSessionsRequest) Descriptor() ([]byte, []int) { return file_rpc_list_sessions_proto_rawDescGZIP(), []int{0} } -func (x *ListSessionsRequest) GetEmail() string { +func (x *ListSessionsRequest) GetAccountId() int64 { if x != nil { - return x.Email + return x.AccountId } - return "" + return 0 } type ListSessionsResponse struct { @@ -73,7 +73,7 @@ type ListSessionsResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Session []*Session `protobuf:"bytes,1,rep,name=session,proto3" json:"session,omitempty"` + Sessions []*Session `protobuf:"bytes,1,rep,name=sessions,proto3" json:"sessions,omitempty"` } func (x *ListSessionsResponse) Reset() { @@ -108,9 +108,9 @@ func (*ListSessionsResponse) Descriptor() ([]byte, []int) { return file_rpc_list_sessions_proto_rawDescGZIP(), []int{1} } -func (x *ListSessionsResponse) GetSession() []*Session { +func (x *ListSessionsResponse) GetSessions() []*Session { if x != nil { - return x.Session + return x.Sessions } return nil } @@ -123,26 +123,27 @@ var file_rpc_list_sessions_proto_rawDesc = []byte{ 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0d, 0x73, - 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x88, 0x01, 0x0a, + 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x98, 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x3a, 0x5b, 0x92, 0x41, 0x58, 0x0a, - 0x32, 0x2a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x32, - 0x1a, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, 0x61, 0x20, 0x4c, 0x69, 0x73, 0x74, 0x20, - 0x6f, 0x66, 0x20, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0xd2, 0x01, 0x05, 0x65, 0x6d, - 0x61, 0x69, 0x6c, 0x32, 0x22, 0x7b, 0x22, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x22, 0x3a, 0x20, 0x22, - 0x6a, 0x6f, 0x68, 0x6e, 0x2e, 0x64, 0x6f, 0x65, 0x40, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, - 0x2e, 0x63, 0x6f, 0x6d, 0x22, 0x20, 0x7d, 0x22, 0x76, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x53, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x0e, 0x92, 0x41, 0x0b, 0x4a, 0x01, 0x31, + 0xa2, 0x02, 0x05, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x49, 0x64, 0x3a, 0x52, 0x92, 0x41, 0x4f, 0x0a, 0x37, 0x2a, 0x0c, 0x4c, 0x69, 0x73, 0x74, + 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x32, 0x1a, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x73, 0x20, 0x61, 0x20, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x73, 0xd2, 0x01, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, + 0x64, 0x32, 0x14, 0x7b, 0x22, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x22, + 0x3a, 0x20, 0x22, 0x31, 0x22, 0x20, 0x7d, 0x22, 0x78, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x2a, 0x0a, 0x07, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0x92, - 0x41, 0x00, 0x52, 0x07, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x32, 0x92, 0x41, 0x2f, - 0x0a, 0x2d, 0x2a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0x14, 0x52, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x42, - 0x19, 0x5a, 0x17, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x69, 0x74, - 0x73, 0x73, 0x63, 0x62, 0x2f, 0x64, 0x66, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, + 0x2c, 0x0a, 0x08, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x03, + 0x92, 0x41, 0x00, 0x52, 0x08, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x32, 0x92, + 0x41, 0x2f, 0x0a, 0x2d, 0x2a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0x14, 0x52, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x42, 0x19, 0x5a, 0x17, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x69, 0x74, 0x73, 0x73, 0x63, 0x62, 0x2f, 0x64, 0x66, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -164,7 +165,7 @@ var file_rpc_list_sessions_proto_goTypes = []interface{}{ (*Session)(nil), // 2: pb.Session } var file_rpc_list_sessions_proto_depIdxs = []int32{ - 2, // 0: pb.ListSessionsResponse.session:type_name -> pb.Session + 2, // 0: pb.ListSessionsResponse.sessions:type_name -> pb.Session 1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name diff --git a/bff/pb/rpc_update_payment.pb.go b/bff/pb/rpc_update_payment.pb.go new file mode 100644 index 0000000..d8480e7 --- /dev/null +++ b/bff/pb/rpc_update_payment.pb.go @@ -0,0 +1,323 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.31.0 +// protoc v4.24.4 +// source: rpc_update_payment.proto + +package pb + +import ( + _ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type UpdatePaymentRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + PaymentCategory *string `protobuf:"bytes,2,opt,name=payment_category,json=paymentCategory,proto3,oneof" json:"payment_category,omitempty"` + Bankname *string `protobuf:"bytes,3,opt,name=bankname,proto3,oneof" json:"bankname,omitempty"` + IBAN *string `protobuf:"bytes,4,opt,name=IBAN,proto3,oneof" json:"IBAN,omitempty"` + BIC *string `protobuf:"bytes,5,opt,name=BIC,proto3,oneof" json:"BIC,omitempty"` + PaypalAccount *string `protobuf:"bytes,6,opt,name=paypal_account,json=paypalAccount,proto3,oneof" json:"paypal_account,omitempty"` + PaypalId *string `protobuf:"bytes,7,opt,name=paypal_id,json=paypalId,proto3,oneof" json:"paypal_id,omitempty"` + PaymentSystem *string `protobuf:"bytes,8,opt,name=payment_system,json=paymentSystem,proto3,oneof" json:"payment_system,omitempty"` + Type *string `protobuf:"bytes,9,opt,name=type,proto3,oneof" json:"type,omitempty"` +} + +func (x *UpdatePaymentRequest) Reset() { + *x = UpdatePaymentRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_rpc_update_payment_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdatePaymentRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdatePaymentRequest) ProtoMessage() {} + +func (x *UpdatePaymentRequest) ProtoReflect() protoreflect.Message { + mi := &file_rpc_update_payment_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdatePaymentRequest.ProtoReflect.Descriptor instead. +func (*UpdatePaymentRequest) Descriptor() ([]byte, []int) { + return file_rpc_update_payment_proto_rawDescGZIP(), []int{0} +} + +func (x *UpdatePaymentRequest) GetId() int64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *UpdatePaymentRequest) GetPaymentCategory() string { + if x != nil && x.PaymentCategory != nil { + return *x.PaymentCategory + } + return "" +} + +func (x *UpdatePaymentRequest) GetBankname() string { + if x != nil && x.Bankname != nil { + return *x.Bankname + } + return "" +} + +func (x *UpdatePaymentRequest) GetIBAN() string { + if x != nil && x.IBAN != nil { + return *x.IBAN + } + return "" +} + +func (x *UpdatePaymentRequest) GetBIC() string { + if x != nil && x.BIC != nil { + return *x.BIC + } + return "" +} + +func (x *UpdatePaymentRequest) GetPaypalAccount() string { + if x != nil && x.PaypalAccount != nil { + return *x.PaypalAccount + } + return "" +} + +func (x *UpdatePaymentRequest) GetPaypalId() string { + if x != nil && x.PaypalId != nil { + return *x.PaypalId + } + return "" +} + +func (x *UpdatePaymentRequest) GetPaymentSystem() string { + if x != nil && x.PaymentSystem != nil { + return *x.PaymentSystem + } + return "" +} + +func (x *UpdatePaymentRequest) GetType() string { + if x != nil && x.Type != nil { + return *x.Type + } + return "" +} + +type UpdatePaymentResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Payment *Payment `protobuf:"bytes,1,opt,name=payment,proto3" json:"payment,omitempty"` +} + +func (x *UpdatePaymentResponse) Reset() { + *x = UpdatePaymentResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_rpc_update_payment_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdatePaymentResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdatePaymentResponse) ProtoMessage() {} + +func (x *UpdatePaymentResponse) ProtoReflect() protoreflect.Message { + mi := &file_rpc_update_payment_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdatePaymentResponse.ProtoReflect.Descriptor instead. +func (*UpdatePaymentResponse) Descriptor() ([]byte, []int) { + return file_rpc_update_payment_proto_rawDescGZIP(), []int{1} +} + +func (x *UpdatePaymentResponse) GetPayment() *Payment { + if x != nil { + return x.Payment + } + return nil +} + +var File_rpc_update_payment_proto protoreflect.FileDescriptor + +var file_rpc_update_payment_proto_rawDesc = []byte{ + 0x0a, 0x18, 0x72, 0x70, 0x63, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x61, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x1a, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61, + 0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, + 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0d, + 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9c, 0x05, + 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2e, 0x0a, 0x10, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x0f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, + 0x6f, 0x72, 0x79, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x62, 0x61, 0x6e, 0x6b, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x08, 0x62, 0x61, 0x6e, 0x6b, + 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x49, 0x42, 0x41, 0x4e, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x04, 0x49, 0x42, 0x41, 0x4e, 0x88, 0x01, 0x01, + 0x12, 0x15, 0x0a, 0x03, 0x42, 0x49, 0x43, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, + 0x03, 0x42, 0x49, 0x43, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0e, 0x70, 0x61, 0x79, 0x70, 0x61, + 0x6c, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x04, 0x52, 0x0d, 0x70, 0x61, 0x79, 0x70, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x79, 0x70, 0x61, 0x6c, 0x5f, 0x69, 0x64, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x08, 0x70, 0x61, 0x79, 0x70, 0x61, 0x6c, + 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, + 0x0d, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x88, 0x01, + 0x01, 0x12, 0x17, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x07, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x3a, 0xef, 0x01, 0x92, 0x41, 0xeb, + 0x01, 0x0a, 0x28, 0x2a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x50, 0x61, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x32, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x61, 0x6e, 0x20, 0x50, + 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0xd2, 0x01, 0x02, 0x69, 0x64, 0x32, 0xbe, 0x01, 0x7b, 0x22, + 0x69, 0x64, 0x22, 0x3a, 0x20, 0x22, 0x31, 0x22, 0x2c, 0x20, 0x22, 0x70, 0x61, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x22, 0x3a, 0x20, 0x22, 0x54, + 0x42, 0x44, 0x3a, 0x20, 0x70, 0x61, 0x79, 0x70, 0x61, 0x6c, 0x22, 0x2c, 0x20, 0x22, 0x70, 0x61, + 0x79, 0x70, 0x61, 0x6c, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x3a, 0x20, 0x22, + 0x6a, 0x6f, 0x68, 0x6e, 0x2e, 0x64, 0x6f, 0x65, 0x40, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, + 0x2e, 0x63, 0x6f, 0x6d, 0x22, 0x2c, 0x20, 0x22, 0x70, 0x61, 0x79, 0x70, 0x61, 0x6c, 0x5f, 0x69, + 0x64, 0x22, 0x3a, 0x20, 0x22, 0x74, 0x68, 0x69, 0x73, 0x2d, 0x69, 0x73, 0x2d, 0x61, 0x2d, 0x70, + 0x61, 0x79, 0x70, 0x61, 0x6c, 0x2d, 0x69, 0x64, 0x22, 0x2c, 0x20, 0x22, 0x70, 0x61, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x22, 0x3a, 0x20, 0x22, 0x54, 0x42, + 0x44, 0x3a, 0x20, 0x70, 0x61, 0x79, 0x70, 0x61, 0x6c, 0x20, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, + 0x22, 0x2c, 0x20, 0x22, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x54, 0x42, 0x44, 0x3a, + 0x20, 0x73, 0x6f, 0x6d, 0x65, 0x20, 0x74, 0x79, 0x70, 0x65, 0x22, 0x7d, 0x42, 0x13, 0x0a, 0x11, + 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, + 0x79, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x62, 0x61, 0x6e, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x07, + 0x0a, 0x05, 0x5f, 0x49, 0x42, 0x41, 0x4e, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x42, 0x49, 0x43, 0x42, + 0x11, 0x0a, 0x0f, 0x5f, 0x70, 0x61, 0x79, 0x70, 0x61, 0x6c, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x70, 0x61, 0x79, 0x70, 0x61, 0x6c, 0x5f, 0x69, 0x64, + 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x79, 0x73, + 0x74, 0x65, 0x6d, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x78, 0x0a, 0x15, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x2e, 0x50, 0x61, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x42, 0x03, 0x92, 0x41, 0x00, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x3a, 0x33, 0x92, 0x41, 0x30, 0x0a, 0x2e, 0x2a, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x64, 0x20, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x32, 0x1b, 0x52, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x20, 0x50, + 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x19, 0x5a, 0x17, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x69, 0x74, 0x73, 0x73, 0x63, 0x62, 0x2f, 0x64, 0x66, 0x2f, 0x70, + 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_rpc_update_payment_proto_rawDescOnce sync.Once + file_rpc_update_payment_proto_rawDescData = file_rpc_update_payment_proto_rawDesc +) + +func file_rpc_update_payment_proto_rawDescGZIP() []byte { + file_rpc_update_payment_proto_rawDescOnce.Do(func() { + file_rpc_update_payment_proto_rawDescData = protoimpl.X.CompressGZIP(file_rpc_update_payment_proto_rawDescData) + }) + return file_rpc_update_payment_proto_rawDescData +} + +var file_rpc_update_payment_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_rpc_update_payment_proto_goTypes = []interface{}{ + (*UpdatePaymentRequest)(nil), // 0: pb.UpdatePaymentRequest + (*UpdatePaymentResponse)(nil), // 1: pb.UpdatePaymentResponse + (*Payment)(nil), // 2: pb.Payment +} +var file_rpc_update_payment_proto_depIdxs = []int32{ + 2, // 0: pb.UpdatePaymentResponse.payment:type_name -> pb.Payment + 1, // [1:1] is the sub-list for method output_type + 1, // [1:1] is the sub-list for method input_type + 1, // [1:1] is the sub-list for extension type_name + 1, // [1:1] is the sub-list for extension extendee + 0, // [0:1] is the sub-list for field type_name +} + +func init() { file_rpc_update_payment_proto_init() } +func file_rpc_update_payment_proto_init() { + if File_rpc_update_payment_proto != nil { + return + } + file_payment_proto_init() + if !protoimpl.UnsafeEnabled { + file_rpc_update_payment_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdatePaymentRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_rpc_update_payment_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdatePaymentResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_rpc_update_payment_proto_msgTypes[0].OneofWrappers = []interface{}{} + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_rpc_update_payment_proto_rawDesc, + NumEnums: 0, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_rpc_update_payment_proto_goTypes, + DependencyIndexes: file_rpc_update_payment_proto_depIdxs, + MessageInfos: file_rpc_update_payment_proto_msgTypes, + }.Build() + File_rpc_update_payment_proto = out.File + file_rpc_update_payment_proto_rawDesc = nil + file_rpc_update_payment_proto_goTypes = nil + file_rpc_update_payment_proto_depIdxs = nil +} diff --git a/bff/pb/service_df.pb.go b/bff/pb/service_df.pb.go index b0934ae..fd949a3 100644 --- a/bff/pb/service_df.pb.go +++ b/bff/pb/service_df.pb.go @@ -33,89 +33,124 @@ var file_service_df_proto_rawDesc = []byte{ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x72, 0x70, 0x63, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x72, 0x70, 0x63, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x73, 0x6f, - 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x72, 0x70, 0x63, 0x5f, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x1a, 0x15, 0x72, 0x70, 0x63, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x72, 0x70, 0x63, 0x5f, 0x6c, 0x69, - 0x73, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x1a, 0x17, 0x72, 0x70, 0x63, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x73, 0x65, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x72, 0x70, 0x63, 0x5f, - 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x72, 0x70, 0x63, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x72, 0x70, 0x63, 0x5f, 0x6c, 0x6f, 0x67, 0x69, 0x6e, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x72, 0x70, 0x63, 0x5f, 0x72, 0x65, 0x66, 0x72, - 0x65, 0x73, 0x68, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, - 0xe6, 0x08, 0x0a, 0x02, 0x64, 0x66, 0x12, 0x42, 0x0a, 0x05, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x12, - 0x10, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x11, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x14, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0e, 0x3a, 0x01, 0x2a, 0x22, - 0x09, 0x2f, 0x76, 0x31, 0x2f, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x5f, 0x0a, 0x0c, 0x52, 0x65, - 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e, - 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1c, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x3a, 0x01, 0x2a, 0x22, 0x11, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, - 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x74, 0x0a, 0x0c, 0x42, + 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x72, 0x70, 0x63, 0x5f, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x18, 0x72, 0x70, 0x63, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x72, 0x70, 0x63, + 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x72, 0x70, 0x63, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x72, 0x70, + 0x63, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x72, 0x70, 0x63, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, + 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, + 0x72, 0x70, 0x63, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x72, 0x70, 0x63, 0x5f, 0x62, 0x6c, 0x6f, + 0x63, 0x6b, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x20, 0x72, 0x70, 0x63, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x0f, 0x72, 0x70, 0x63, 0x5f, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x72, 0x70, 0x63, 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0xc9, 0x0c, 0x0a, + 0x02, 0x64, 0x66, 0x12, 0x42, 0x0a, 0x05, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x10, 0x2e, 0x70, + 0x62, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x11, + 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x14, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0e, 0x3a, 0x01, 0x2a, 0x22, 0x09, 0x2f, 0x76, + 0x31, 0x2f, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x68, 0x0a, 0x0c, 0x52, 0x65, 0x66, 0x72, 0x65, + 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x66, + 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x25, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x1f, 0x3a, 0x01, 0x2a, 0x22, 0x1a, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x12, 0x87, 0x01, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x70, 0x62, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x44, 0x92, 0x41, 0x12, 0x62, 0x10, 0x0a, 0x0e, 0x0a, 0x0a, + 0x42, 0x65, 0x61, 0x72, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x29, 0x12, 0x27, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x7d, 0x0a, 0x0c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x53, - 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x31, + 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3a, 0x92, 0x41, 0x12, 0x62, 0x10, 0x0a, 0x0e, 0x0a, 0x0a, 0x42, 0x65, 0x61, 0x72, 0x65, 0x72, 0x41, - 0x75, 0x74, 0x68, 0x12, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x3a, 0x01, 0x2a, 0x32, 0x11, - 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x12, 0x69, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, - 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x41, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2c, - 0x92, 0x41, 0x12, 0x62, 0x10, 0x0a, 0x0e, 0x0a, 0x0a, 0x42, 0x65, 0x61, 0x72, 0x65, 0x72, 0x41, - 0x75, 0x74, 0x68, 0x12, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x11, 0x12, 0x0f, 0x2f, 0x76, 0x31, - 0x2f, 0x67, 0x65, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x71, 0x0a, 0x0c, - 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x17, 0x2e, 0x70, - 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, - 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x2e, 0x92, 0x41, 0x12, 0x62, 0x10, 0x0a, 0x0e, 0x0a, 0x0a, 0x42, 0x65, 0x61, 0x72, 0x65, 0x72, - 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x13, 0x12, 0x11, 0x2f, 0x76, - 0x31, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, - 0x71, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, - 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x75, 0x74, 0x68, 0x12, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x3a, 0x01, 0x2a, 0x32, 0x1a, + 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x62, 0x6c, 0x6f, + 0x63, 0x6b, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x72, 0x0a, 0x0a, 0x47, 0x65, + 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, + 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, 0x92, 0x41, 0x12, 0x62, 0x10, 0x0a, 0x0e, + 0x0a, 0x0a, 0x42, 0x65, 0x61, 0x72, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x73, 0x2f, 0x67, 0x65, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x7a, + 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x17, + 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x37, 0x92, 0x41, 0x12, 0x62, 0x10, 0x0a, 0x0e, 0x0a, 0x0a, 0x42, 0x65, 0x61, 0x72, + 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x12, 0x1a, + 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x6c, 0x69, 0x73, + 0x74, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x6c, 0x0a, 0x0d, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x18, 0x2e, 0x70, 0x62, + 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x3a, 0x01, 0x2a, 0x22, 0x1b, 0x2f, 0x76, 0x31, + 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x81, 0x01, 0x0a, 0x0d, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x3b, 0x92, 0x41, 0x12, 0x62, 0x10, 0x0a, 0x0e, 0x0a, 0x0a, 0x42, 0x65, 0x61, 0x72, 0x65, 0x72, + 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x3a, 0x01, 0x2a, 0x32, + 0x1b, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x9e, 0x01, 0x0a, + 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x72, + 0x69, 0x76, 0x61, 0x63, 0x79, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x43, 0x92, 0x41, 0x12, 0x62, 0x10, 0x0a, + 0x0e, 0x0a, 0x0a, 0x42, 0x65, 0x61, 0x72, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x28, 0x3a, 0x01, 0x2a, 0x32, 0x23, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x12, 0x7c, 0x0a, + 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x12, 0x17, 0x2e, + 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x39, 0x92, 0x41, 0x12, 0x62, 0x10, 0x0a, 0x0e, 0x0a, 0x0a, 0x42, 0x65, 0x61, 0x72, 0x65, + 0x72, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x3a, 0x01, 0x2a, + 0x22, 0x19, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x73, 0x2f, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x12, 0x81, 0x01, 0x0a, 0x0d, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x2e, + 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x3b, 0x92, 0x41, 0x12, 0x62, 0x10, 0x0a, 0x0e, 0x0a, 0x0a, 0x42, 0x65, 0x61, + 0x72, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x3a, + 0x01, 0x2a, 0x22, 0x1b, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, + 0x2f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, + 0x7a, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, + 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x2e, 0x92, 0x41, 0x12, 0x62, 0x10, 0x0a, 0x0e, 0x0a, 0x0a, 0x42, 0x65, 0x61, - 0x72, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x13, 0x12, - 0x11, 0x2f, 0x76, 0x31, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x73, 0x12, 0x63, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, - 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17, - 0x3a, 0x01, 0x2a, 0x22, 0x12, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x78, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x32, 0x92, - 0x41, 0x12, 0x62, 0x10, 0x0a, 0x0e, 0x0a, 0x0a, 0x42, 0x65, 0x61, 0x72, 0x65, 0x72, 0x41, 0x75, - 0x74, 0x68, 0x12, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x3a, 0x01, 0x2a, 0x32, 0x12, 0x2f, - 0x76, 0x31, 0x2f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x95, 0x01, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x72, 0x69, - 0x76, 0x61, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x70, 0x62, - 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x72, - 0x69, 0x76, 0x61, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3a, 0x92, - 0x41, 0x12, 0x62, 0x10, 0x0a, 0x0e, 0x0a, 0x0a, 0x42, 0x65, 0x61, 0x72, 0x65, 0x72, 0x41, 0x75, - 0x74, 0x68, 0x12, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x3a, 0x01, 0x2a, 0x32, 0x1a, 0x2f, - 0x76, 0x31, 0x2f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x12, 0x74, 0x0a, 0x0c, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x65, - 0x72, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x31, 0x92, 0x41, - 0x12, 0x62, 0x10, 0x0a, 0x0e, 0x0a, 0x0a, 0x42, 0x65, 0x61, 0x72, 0x65, 0x72, 0x41, 0x75, 0x74, - 0x68, 0x12, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x3a, 0x01, 0x2a, 0x22, 0x11, 0x2f, 0x76, - 0x31, 0x2f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x1a, + 0x73, 0x74, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x37, 0x92, 0x41, 0x12, 0x62, 0x10, 0x0a, 0x0e, 0x0a, 0x0a, 0x42, 0x65, 0x61, + 0x72, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x12, + 0x1a, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x6c, 0x69, + 0x73, 0x74, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x81, 0x01, 0x0a, 0x0d, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x2e, + 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x3b, 0x92, 0x41, 0x12, 0x62, 0x10, 0x0a, 0x0e, 0x0a, 0x0a, 0x42, 0x65, 0x61, + 0x72, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x3a, + 0x01, 0x2a, 0x32, 0x1b, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, + 0x2f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x1a, 0x07, 0x92, 0x41, 0x04, 0x12, 0x02, 0x64, 0x66, 0x42, 0xb0, 0x01, 0x92, 0x41, 0x93, 0x01, 0x12, 0x44, 0x0a, 0x06, 0x64, 0x66, 0x20, 0x41, 0x50, 0x49, 0x22, 0x35, 0x0a, 0x06, 0x69, 0x74, 0x73, 0x73, 0x63, 0x62, 0x12, 0x1c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, @@ -134,48 +169,60 @@ var file_service_df_proto_rawDesc = []byte{ var file_service_df_proto_goTypes = []interface{}{ (*LoginRequest)(nil), // 0: pb.LoginRequest (*RefreshTokenRequest)(nil), // 1: pb.RefreshTokenRequest - (*BlockSessionRequest)(nil), // 2: pb.BlockSessionRequest - (*GetAccountRequest)(nil), // 3: pb.GetAccountRequest - (*ListSessionsRequest)(nil), // 4: pb.ListSessionsRequest + (*ListSessionsRequest)(nil), // 2: pb.ListSessionsRequest + (*BlockSessionRequest)(nil), // 3: pb.BlockSessionRequest + (*GetAccountRequest)(nil), // 4: pb.GetAccountRequest (*ListAccountsRequest)(nil), // 5: pb.ListAccountsRequest (*CreateAccountRequest)(nil), // 6: pb.CreateAccountRequest (*UpdateAccountRequest)(nil), // 7: pb.UpdateAccountRequest (*UpdateAccountPrivacyRequest)(nil), // 8: pb.UpdateAccountPrivacyRequest (*CreatePersonRequest)(nil), // 9: pb.CreatePersonRequest - (*LoginResponse)(nil), // 10: pb.LoginResponse - (*RefreshTokenResponse)(nil), // 11: pb.RefreshTokenResponse - (*BlockSessionResponse)(nil), // 12: pb.BlockSessionResponse - (*GetAccountResponse)(nil), // 13: pb.GetAccountResponse - (*ListSessionsResponse)(nil), // 14: pb.ListSessionsResponse - (*ListAccountsResponse)(nil), // 15: pb.ListAccountsResponse - (*CreateAccountResponse)(nil), // 16: pb.CreateAccountResponse - (*UpdateAccountResponse)(nil), // 17: pb.UpdateAccountResponse - (*UpdateAccountPrivacyResponse)(nil), // 18: pb.UpdateAccountPrivacyResponse - (*CreatePersonResponse)(nil), // 19: pb.CreatePersonResponse + (*CreatePaymentRequest)(nil), // 10: pb.CreatePaymentRequest + (*ListPaymentsRequest)(nil), // 11: pb.ListPaymentsRequest + (*UpdatePaymentRequest)(nil), // 12: pb.UpdatePaymentRequest + (*LoginResponse)(nil), // 13: pb.LoginResponse + (*RefreshTokenResponse)(nil), // 14: pb.RefreshTokenResponse + (*ListSessionsResponse)(nil), // 15: pb.ListSessionsResponse + (*BlockSessionResponse)(nil), // 16: pb.BlockSessionResponse + (*GetAccountResponse)(nil), // 17: pb.GetAccountResponse + (*ListAccountsResponse)(nil), // 18: pb.ListAccountsResponse + (*CreateAccountResponse)(nil), // 19: pb.CreateAccountResponse + (*UpdateAccountResponse)(nil), // 20: pb.UpdateAccountResponse + (*UpdateAccountPrivacyResponse)(nil), // 21: pb.UpdateAccountPrivacyResponse + (*CreatePersonResponse)(nil), // 22: pb.CreatePersonResponse + (*CreatePaymentResponse)(nil), // 23: pb.CreatePaymentResponse + (*ListPaymentsResponse)(nil), // 24: pb.ListPaymentsResponse + (*UpdatePaymentResponse)(nil), // 25: pb.UpdatePaymentResponse } var file_service_df_proto_depIdxs = []int32{ 0, // 0: pb.df.Login:input_type -> pb.LoginRequest 1, // 1: pb.df.RefreshToken:input_type -> pb.RefreshTokenRequest - 2, // 2: pb.df.BlockSession:input_type -> pb.BlockSessionRequest - 3, // 3: pb.df.GetAccount:input_type -> pb.GetAccountRequest - 4, // 4: pb.df.ListSessions:input_type -> pb.ListSessionsRequest + 2, // 2: pb.df.ListSessions:input_type -> pb.ListSessionsRequest + 3, // 3: pb.df.BlockSession:input_type -> pb.BlockSessionRequest + 4, // 4: pb.df.GetAccount:input_type -> pb.GetAccountRequest 5, // 5: pb.df.ListAccounts:input_type -> pb.ListAccountsRequest 6, // 6: pb.df.CreateAccount:input_type -> pb.CreateAccountRequest 7, // 7: pb.df.UpdateAccount:input_type -> pb.UpdateAccountRequest 8, // 8: pb.df.UpdateAccountPrivacy:input_type -> pb.UpdateAccountPrivacyRequest 9, // 9: pb.df.CreatePerson:input_type -> pb.CreatePersonRequest - 10, // 10: pb.df.Login:output_type -> pb.LoginResponse - 11, // 11: pb.df.RefreshToken:output_type -> pb.RefreshTokenResponse - 12, // 12: pb.df.BlockSession:output_type -> pb.BlockSessionResponse - 13, // 13: pb.df.GetAccount:output_type -> pb.GetAccountResponse - 14, // 14: pb.df.ListSessions:output_type -> pb.ListSessionsResponse - 15, // 15: pb.df.ListAccounts:output_type -> pb.ListAccountsResponse - 16, // 16: pb.df.CreateAccount:output_type -> pb.CreateAccountResponse - 17, // 17: pb.df.UpdateAccount:output_type -> pb.UpdateAccountResponse - 18, // 18: pb.df.UpdateAccountPrivacy:output_type -> pb.UpdateAccountPrivacyResponse - 19, // 19: pb.df.CreatePerson:output_type -> pb.CreatePersonResponse - 10, // [10:20] is the sub-list for method output_type - 0, // [0:10] is the sub-list for method input_type + 10, // 10: pb.df.CreatePayment:input_type -> pb.CreatePaymentRequest + 11, // 11: pb.df.ListPayments:input_type -> pb.ListPaymentsRequest + 12, // 12: pb.df.UpdatePayment:input_type -> pb.UpdatePaymentRequest + 13, // 13: pb.df.Login:output_type -> pb.LoginResponse + 14, // 14: pb.df.RefreshToken:output_type -> pb.RefreshTokenResponse + 15, // 15: pb.df.ListSessions:output_type -> pb.ListSessionsResponse + 16, // 16: pb.df.BlockSession:output_type -> pb.BlockSessionResponse + 17, // 17: pb.df.GetAccount:output_type -> pb.GetAccountResponse + 18, // 18: pb.df.ListAccounts:output_type -> pb.ListAccountsResponse + 19, // 19: pb.df.CreateAccount:output_type -> pb.CreateAccountResponse + 20, // 20: pb.df.UpdateAccount:output_type -> pb.UpdateAccountResponse + 21, // 21: pb.df.UpdateAccountPrivacy:output_type -> pb.UpdateAccountPrivacyResponse + 22, // 22: pb.df.CreatePerson:output_type -> pb.CreatePersonResponse + 23, // 23: pb.df.CreatePayment:output_type -> pb.CreatePaymentResponse + 24, // 24: pb.df.ListPayments:output_type -> pb.ListPaymentsResponse + 25, // 25: pb.df.UpdatePayment:output_type -> pb.UpdatePaymentResponse + 13, // [13:26] is the sub-list for method output_type + 0, // [0:13] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name @@ -188,9 +235,12 @@ func file_service_df_proto_init() { } file_rpc_create_account_proto_init() file_rpc_create_person_proto_init() + file_rpc_create_payment_proto_init() file_rpc_update_account_proto_init() + file_rpc_update_payment_proto_init() file_rpc_get_account_proto_init() file_rpc_list_accounts_proto_init() + file_rpc_list_payments_proto_init() file_rpc_list_sessions_proto_init() file_rpc_block_session_proto_init() file_rpc_update_account_privacy_proto_init() diff --git a/bff/pb/service_df.pb.gw.go b/bff/pb/service_df.pb.gw.go index 81092d0..2ec53aa 100644 --- a/bff/pb/service_df.pb.gw.go +++ b/bff/pb/service_df.pb.gw.go @@ -99,6 +99,58 @@ func local_request_Df_RefreshToken_0(ctx context.Context, marshaler runtime.Mars } +func request_Df_ListSessions_0(ctx context.Context, marshaler runtime.Marshaler, client DfClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListSessionsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["account_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "account_id") + } + + protoReq.AccountId, err = runtime.Int64(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "account_id", err) + } + + msg, err := client.ListSessions(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Df_ListSessions_0(ctx context.Context, marshaler runtime.Marshaler, server DfServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListSessionsRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["account_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "account_id") + } + + protoReq.AccountId, err = runtime.Int64(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "account_id", err) + } + + msg, err := server.ListSessions(ctx, &protoReq) + return msg, metadata, err + +} + func request_Df_BlockSession_0(ctx context.Context, marshaler runtime.Marshaler, client DfClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq BlockSessionRequest var metadata runtime.ServerMetadata @@ -169,42 +221,6 @@ func local_request_Df_GetAccount_0(ctx context.Context, marshaler runtime.Marsha } -var ( - filter_Df_ListSessions_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} -) - -func request_Df_ListSessions_0(ctx context.Context, marshaler runtime.Marshaler, client DfClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq ListSessionsRequest - var metadata runtime.ServerMetadata - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Df_ListSessions_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.ListSessions(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Df_ListSessions_0(ctx context.Context, marshaler runtime.Marshaler, server DfServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq ListSessionsRequest - var metadata runtime.ServerMetadata - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Df_ListSessions_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.ListSessions(ctx, &protoReq) - return msg, metadata, err - -} - var ( filter_Df_ListAccounts_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} ) @@ -377,6 +393,110 @@ func local_request_Df_CreatePerson_0(ctx context.Context, marshaler runtime.Mars } +func request_Df_CreatePayment_0(ctx context.Context, marshaler runtime.Marshaler, client DfClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreatePaymentRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.CreatePayment(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Df_CreatePayment_0(ctx context.Context, marshaler runtime.Marshaler, server DfServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreatePaymentRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.CreatePayment(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_Df_ListPayments_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} +) + +func request_Df_ListPayments_0(ctx context.Context, marshaler runtime.Marshaler, client DfClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListPaymentsRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Df_ListPayments_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListPayments(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Df_ListPayments_0(ctx context.Context, marshaler runtime.Marshaler, server DfServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListPaymentsRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Df_ListPayments_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ListPayments(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Df_UpdatePayment_0(ctx context.Context, marshaler runtime.Marshaler, client DfClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdatePaymentRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.UpdatePayment(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Df_UpdatePayment_0(ctx context.Context, marshaler runtime.Marshaler, server DfServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdatePaymentRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.UpdatePayment(ctx, &protoReq) + return msg, metadata, err + +} + // RegisterDfHandlerServer registers the http handlers for service Df to "mux". // UnaryRPC :call DfServer directly. // StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. @@ -416,7 +536,7 @@ func RegisterDfHandlerServer(ctx context.Context, mux *runtime.ServeMux, server inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/pb.Df/RefreshToken", runtime.WithHTTPPathPattern("/v1/refresh_token")) + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/pb.Df/RefreshToken", runtime.WithHTTPPathPattern("/v1/sessions/refresh_token")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -433,6 +553,31 @@ func RegisterDfHandlerServer(ctx context.Context, mux *runtime.ServeMux, server }) + mux.Handle("GET", pattern_Df_ListSessions_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/pb.Df/ListSessions", runtime.WithHTTPPathPattern("/v1/sessions/list_sessions/{account_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Df_ListSessions_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Df_ListSessions_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + mux.Handle("PATCH", pattern_Df_BlockSession_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() @@ -441,7 +586,7 @@ func RegisterDfHandlerServer(ctx context.Context, mux *runtime.ServeMux, server inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/pb.Df/BlockSession", runtime.WithHTTPPathPattern("/v1/block_session")) + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/pb.Df/BlockSession", runtime.WithHTTPPathPattern("/v1/sessions/block_session")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -466,7 +611,7 @@ func RegisterDfHandlerServer(ctx context.Context, mux *runtime.ServeMux, server inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/pb.Df/GetAccount", runtime.WithHTTPPathPattern("/v1/get_account")) + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/pb.Df/GetAccount", runtime.WithHTTPPathPattern("/v1/accounts/get_account")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -483,31 +628,6 @@ func RegisterDfHandlerServer(ctx context.Context, mux *runtime.ServeMux, server }) - mux.Handle("GET", pattern_Df_ListSessions_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/pb.Df/ListSessions", runtime.WithHTTPPathPattern("/v1/list_sessions")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Df_ListSessions_0(annotatedContext, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_Df_ListSessions_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - mux.Handle("GET", pattern_Df_ListAccounts_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() @@ -516,7 +636,7 @@ func RegisterDfHandlerServer(ctx context.Context, mux *runtime.ServeMux, server inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/pb.Df/ListAccounts", runtime.WithHTTPPathPattern("/v1/list_accounts")) + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/pb.Df/ListAccounts", runtime.WithHTTPPathPattern("/v1/accounts/list_accounts")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -541,7 +661,7 @@ func RegisterDfHandlerServer(ctx context.Context, mux *runtime.ServeMux, server inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/pb.Df/CreateAccount", runtime.WithHTTPPathPattern("/v1/create_account")) + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/pb.Df/CreateAccount", runtime.WithHTTPPathPattern("/v1/accounts/create_account")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -566,7 +686,7 @@ func RegisterDfHandlerServer(ctx context.Context, mux *runtime.ServeMux, server inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/pb.Df/UpdateAccount", runtime.WithHTTPPathPattern("/v1/update_account")) + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/pb.Df/UpdateAccount", runtime.WithHTTPPathPattern("/v1/accounts/update_account")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -591,7 +711,7 @@ func RegisterDfHandlerServer(ctx context.Context, mux *runtime.ServeMux, server inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/pb.Df/UpdateAccountPrivacy", runtime.WithHTTPPathPattern("/v1/update_account_privacy")) + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/pb.Df/UpdateAccountPrivacy", runtime.WithHTTPPathPattern("/v1/accounts/update_account_privacy")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -616,7 +736,7 @@ func RegisterDfHandlerServer(ctx context.Context, mux *runtime.ServeMux, server inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/pb.Df/CreatePerson", runtime.WithHTTPPathPattern("/v1/create_person")) + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/pb.Df/CreatePerson", runtime.WithHTTPPathPattern("/v1/persons/create_person")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -633,6 +753,81 @@ func RegisterDfHandlerServer(ctx context.Context, mux *runtime.ServeMux, server }) + mux.Handle("POST", pattern_Df_CreatePayment_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/pb.Df/CreatePayment", runtime.WithHTTPPathPattern("/v1/payments/create_payment")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Df_CreatePayment_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Df_CreatePayment_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Df_ListPayments_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/pb.Df/ListPayments", runtime.WithHTTPPathPattern("/v1/payments/list_payments")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Df_ListPayments_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Df_ListPayments_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_Df_UpdatePayment_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/pb.Df/UpdatePayment", runtime.WithHTTPPathPattern("/v1/payments/update_payment")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Df_UpdatePayment_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Df_UpdatePayment_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + return nil } @@ -702,7 +897,7 @@ func RegisterDfHandlerClient(ctx context.Context, mux *runtime.ServeMux, client inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/pb.Df/RefreshToken", runtime.WithHTTPPathPattern("/v1/refresh_token")) + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/pb.Df/RefreshToken", runtime.WithHTTPPathPattern("/v1/sessions/refresh_token")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -718,13 +913,35 @@ func RegisterDfHandlerClient(ctx context.Context, mux *runtime.ServeMux, client }) + mux.Handle("GET", pattern_Df_ListSessions_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/pb.Df/ListSessions", runtime.WithHTTPPathPattern("/v1/sessions/list_sessions/{account_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Df_ListSessions_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Df_ListSessions_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + mux.Handle("PATCH", pattern_Df_BlockSession_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/pb.Df/BlockSession", runtime.WithHTTPPathPattern("/v1/block_session")) + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/pb.Df/BlockSession", runtime.WithHTTPPathPattern("/v1/sessions/block_session")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -746,7 +963,7 @@ func RegisterDfHandlerClient(ctx context.Context, mux *runtime.ServeMux, client inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/pb.Df/GetAccount", runtime.WithHTTPPathPattern("/v1/get_account")) + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/pb.Df/GetAccount", runtime.WithHTTPPathPattern("/v1/accounts/get_account")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -762,35 +979,13 @@ func RegisterDfHandlerClient(ctx context.Context, mux *runtime.ServeMux, client }) - mux.Handle("GET", pattern_Df_ListSessions_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/pb.Df/ListSessions", runtime.WithHTTPPathPattern("/v1/list_sessions")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_Df_ListSessions_0(annotatedContext, inboundMarshaler, client, req, pathParams) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_Df_ListSessions_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - mux.Handle("GET", pattern_Df_ListAccounts_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/pb.Df/ListAccounts", runtime.WithHTTPPathPattern("/v1/list_accounts")) + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/pb.Df/ListAccounts", runtime.WithHTTPPathPattern("/v1/accounts/list_accounts")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -812,7 +1007,7 @@ func RegisterDfHandlerClient(ctx context.Context, mux *runtime.ServeMux, client inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/pb.Df/CreateAccount", runtime.WithHTTPPathPattern("/v1/create_account")) + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/pb.Df/CreateAccount", runtime.WithHTTPPathPattern("/v1/accounts/create_account")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -834,7 +1029,7 @@ func RegisterDfHandlerClient(ctx context.Context, mux *runtime.ServeMux, client inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/pb.Df/UpdateAccount", runtime.WithHTTPPathPattern("/v1/update_account")) + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/pb.Df/UpdateAccount", runtime.WithHTTPPathPattern("/v1/accounts/update_account")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -856,7 +1051,7 @@ func RegisterDfHandlerClient(ctx context.Context, mux *runtime.ServeMux, client inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/pb.Df/UpdateAccountPrivacy", runtime.WithHTTPPathPattern("/v1/update_account_privacy")) + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/pb.Df/UpdateAccountPrivacy", runtime.WithHTTPPathPattern("/v1/accounts/update_account_privacy")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -878,7 +1073,7 @@ func RegisterDfHandlerClient(ctx context.Context, mux *runtime.ServeMux, client inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/pb.Df/CreatePerson", runtime.WithHTTPPathPattern("/v1/create_person")) + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/pb.Df/CreatePerson", runtime.WithHTTPPathPattern("/v1/persons/create_person")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -894,29 +1089,101 @@ func RegisterDfHandlerClient(ctx context.Context, mux *runtime.ServeMux, client }) + mux.Handle("POST", pattern_Df_CreatePayment_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/pb.Df/CreatePayment", runtime.WithHTTPPathPattern("/v1/payments/create_payment")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Df_CreatePayment_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Df_CreatePayment_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Df_ListPayments_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/pb.Df/ListPayments", runtime.WithHTTPPathPattern("/v1/payments/list_payments")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Df_ListPayments_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Df_ListPayments_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_Df_UpdatePayment_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/pb.Df/UpdatePayment", runtime.WithHTTPPathPattern("/v1/payments/update_payment")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Df_UpdatePayment_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Df_UpdatePayment_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + return nil } var ( pattern_Df_Login_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"v1", "login"}, "")) - pattern_Df_RefreshToken_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"v1", "refresh_token"}, "")) + pattern_Df_RefreshToken_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v1", "sessions", "refresh_token"}, "")) - pattern_Df_BlockSession_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"v1", "block_session"}, "")) + pattern_Df_ListSessions_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"v1", "sessions", "list_sessions", "account_id"}, "")) - pattern_Df_GetAccount_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"v1", "get_account"}, "")) + pattern_Df_BlockSession_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v1", "sessions", "block_session"}, "")) - pattern_Df_ListSessions_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"v1", "list_sessions"}, "")) + pattern_Df_GetAccount_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v1", "accounts", "get_account"}, "")) - pattern_Df_ListAccounts_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"v1", "list_accounts"}, "")) + pattern_Df_ListAccounts_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v1", "accounts", "list_accounts"}, "")) - pattern_Df_CreateAccount_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"v1", "create_account"}, "")) + pattern_Df_CreateAccount_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v1", "accounts", "create_account"}, "")) - pattern_Df_UpdateAccount_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"v1", "update_account"}, "")) + pattern_Df_UpdateAccount_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v1", "accounts", "update_account"}, "")) - pattern_Df_UpdateAccountPrivacy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"v1", "update_account_privacy"}, "")) + pattern_Df_UpdateAccountPrivacy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v1", "accounts", "update_account_privacy"}, "")) - pattern_Df_CreatePerson_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"v1", "create_person"}, "")) + pattern_Df_CreatePerson_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v1", "persons", "create_person"}, "")) + + pattern_Df_CreatePayment_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v1", "payments", "create_payment"}, "")) + + pattern_Df_ListPayments_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v1", "payments", "list_payments"}, "")) + + pattern_Df_UpdatePayment_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v1", "payments", "update_payment"}, "")) ) var ( @@ -924,12 +1191,12 @@ var ( forward_Df_RefreshToken_0 = runtime.ForwardResponseMessage + forward_Df_ListSessions_0 = runtime.ForwardResponseMessage + forward_Df_BlockSession_0 = runtime.ForwardResponseMessage forward_Df_GetAccount_0 = runtime.ForwardResponseMessage - forward_Df_ListSessions_0 = runtime.ForwardResponseMessage - forward_Df_ListAccounts_0 = runtime.ForwardResponseMessage forward_Df_CreateAccount_0 = runtime.ForwardResponseMessage @@ -939,4 +1206,10 @@ var ( forward_Df_UpdateAccountPrivacy_0 = runtime.ForwardResponseMessage forward_Df_CreatePerson_0 = runtime.ForwardResponseMessage + + forward_Df_CreatePayment_0 = runtime.ForwardResponseMessage + + forward_Df_ListPayments_0 = runtime.ForwardResponseMessage + + forward_Df_UpdatePayment_0 = runtime.ForwardResponseMessage ) diff --git a/bff/pb/service_df_grpc.pb.go b/bff/pb/service_df_grpc.pb.go index 3718c04..b526f09 100644 --- a/bff/pb/service_df_grpc.pb.go +++ b/bff/pb/service_df_grpc.pb.go @@ -21,14 +21,17 @@ const _ = grpc.SupportPackageIsVersion7 const ( Df_Login_FullMethodName = "/pb.df/Login" Df_RefreshToken_FullMethodName = "/pb.df/RefreshToken" + Df_ListSessions_FullMethodName = "/pb.df/ListSessions" Df_BlockSession_FullMethodName = "/pb.df/BlockSession" Df_GetAccount_FullMethodName = "/pb.df/GetAccount" - Df_ListSessions_FullMethodName = "/pb.df/ListSessions" Df_ListAccounts_FullMethodName = "/pb.df/ListAccounts" Df_CreateAccount_FullMethodName = "/pb.df/CreateAccount" Df_UpdateAccount_FullMethodName = "/pb.df/UpdateAccount" Df_UpdateAccountPrivacy_FullMethodName = "/pb.df/UpdateAccountPrivacy" Df_CreatePerson_FullMethodName = "/pb.df/CreatePerson" + Df_CreatePayment_FullMethodName = "/pb.df/CreatePayment" + Df_ListPayments_FullMethodName = "/pb.df/ListPayments" + Df_UpdatePayment_FullMethodName = "/pb.df/UpdatePayment" ) // DfClient is the client API for Df service. @@ -37,14 +40,17 @@ const ( type DfClient interface { Login(ctx context.Context, in *LoginRequest, opts ...grpc.CallOption) (*LoginResponse, error) RefreshToken(ctx context.Context, in *RefreshTokenRequest, opts ...grpc.CallOption) (*RefreshTokenResponse, error) + ListSessions(ctx context.Context, in *ListSessionsRequest, opts ...grpc.CallOption) (*ListSessionsResponse, error) BlockSession(ctx context.Context, in *BlockSessionRequest, opts ...grpc.CallOption) (*BlockSessionResponse, error) GetAccount(ctx context.Context, in *GetAccountRequest, opts ...grpc.CallOption) (*GetAccountResponse, error) - ListSessions(ctx context.Context, in *ListSessionsRequest, opts ...grpc.CallOption) (*ListSessionsResponse, error) ListAccounts(ctx context.Context, in *ListAccountsRequest, opts ...grpc.CallOption) (*ListAccountsResponse, error) CreateAccount(ctx context.Context, in *CreateAccountRequest, opts ...grpc.CallOption) (*CreateAccountResponse, error) UpdateAccount(ctx context.Context, in *UpdateAccountRequest, opts ...grpc.CallOption) (*UpdateAccountResponse, error) UpdateAccountPrivacy(ctx context.Context, in *UpdateAccountPrivacyRequest, opts ...grpc.CallOption) (*UpdateAccountPrivacyResponse, error) CreatePerson(ctx context.Context, in *CreatePersonRequest, opts ...grpc.CallOption) (*CreatePersonResponse, error) + CreatePayment(ctx context.Context, in *CreatePaymentRequest, opts ...grpc.CallOption) (*CreatePaymentResponse, error) + ListPayments(ctx context.Context, in *ListPaymentsRequest, opts ...grpc.CallOption) (*ListPaymentsResponse, error) + UpdatePayment(ctx context.Context, in *UpdatePaymentRequest, opts ...grpc.CallOption) (*UpdatePaymentResponse, error) } type dfClient struct { @@ -73,6 +79,15 @@ func (c *dfClient) RefreshToken(ctx context.Context, in *RefreshTokenRequest, op return out, nil } +func (c *dfClient) ListSessions(ctx context.Context, in *ListSessionsRequest, opts ...grpc.CallOption) (*ListSessionsResponse, error) { + out := new(ListSessionsResponse) + err := c.cc.Invoke(ctx, Df_ListSessions_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *dfClient) BlockSession(ctx context.Context, in *BlockSessionRequest, opts ...grpc.CallOption) (*BlockSessionResponse, error) { out := new(BlockSessionResponse) err := c.cc.Invoke(ctx, Df_BlockSession_FullMethodName, in, out, opts...) @@ -91,15 +106,6 @@ func (c *dfClient) GetAccount(ctx context.Context, in *GetAccountRequest, opts . return out, nil } -func (c *dfClient) ListSessions(ctx context.Context, in *ListSessionsRequest, opts ...grpc.CallOption) (*ListSessionsResponse, error) { - out := new(ListSessionsResponse) - err := c.cc.Invoke(ctx, Df_ListSessions_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - func (c *dfClient) ListAccounts(ctx context.Context, in *ListAccountsRequest, opts ...grpc.CallOption) (*ListAccountsResponse, error) { out := new(ListAccountsResponse) err := c.cc.Invoke(ctx, Df_ListAccounts_FullMethodName, in, out, opts...) @@ -145,20 +151,50 @@ func (c *dfClient) CreatePerson(ctx context.Context, in *CreatePersonRequest, op return out, nil } +func (c *dfClient) CreatePayment(ctx context.Context, in *CreatePaymentRequest, opts ...grpc.CallOption) (*CreatePaymentResponse, error) { + out := new(CreatePaymentResponse) + err := c.cc.Invoke(ctx, Df_CreatePayment_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *dfClient) ListPayments(ctx context.Context, in *ListPaymentsRequest, opts ...grpc.CallOption) (*ListPaymentsResponse, error) { + out := new(ListPaymentsResponse) + err := c.cc.Invoke(ctx, Df_ListPayments_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *dfClient) UpdatePayment(ctx context.Context, in *UpdatePaymentRequest, opts ...grpc.CallOption) (*UpdatePaymentResponse, error) { + out := new(UpdatePaymentResponse) + err := c.cc.Invoke(ctx, Df_UpdatePayment_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // DfServer is the server API for Df service. // All implementations must embed UnimplementedDfServer // for forward compatibility type DfServer interface { Login(context.Context, *LoginRequest) (*LoginResponse, error) RefreshToken(context.Context, *RefreshTokenRequest) (*RefreshTokenResponse, error) + ListSessions(context.Context, *ListSessionsRequest) (*ListSessionsResponse, error) BlockSession(context.Context, *BlockSessionRequest) (*BlockSessionResponse, error) GetAccount(context.Context, *GetAccountRequest) (*GetAccountResponse, error) - ListSessions(context.Context, *ListSessionsRequest) (*ListSessionsResponse, error) ListAccounts(context.Context, *ListAccountsRequest) (*ListAccountsResponse, error) CreateAccount(context.Context, *CreateAccountRequest) (*CreateAccountResponse, error) UpdateAccount(context.Context, *UpdateAccountRequest) (*UpdateAccountResponse, error) UpdateAccountPrivacy(context.Context, *UpdateAccountPrivacyRequest) (*UpdateAccountPrivacyResponse, error) CreatePerson(context.Context, *CreatePersonRequest) (*CreatePersonResponse, error) + CreatePayment(context.Context, *CreatePaymentRequest) (*CreatePaymentResponse, error) + ListPayments(context.Context, *ListPaymentsRequest) (*ListPaymentsResponse, error) + UpdatePayment(context.Context, *UpdatePaymentRequest) (*UpdatePaymentResponse, error) mustEmbedUnimplementedDfServer() } @@ -172,15 +208,15 @@ func (UnimplementedDfServer) Login(context.Context, *LoginRequest) (*LoginRespon func (UnimplementedDfServer) RefreshToken(context.Context, *RefreshTokenRequest) (*RefreshTokenResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method RefreshToken not implemented") } +func (UnimplementedDfServer) ListSessions(context.Context, *ListSessionsRequest) (*ListSessionsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListSessions not implemented") +} func (UnimplementedDfServer) BlockSession(context.Context, *BlockSessionRequest) (*BlockSessionResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method BlockSession not implemented") } func (UnimplementedDfServer) GetAccount(context.Context, *GetAccountRequest) (*GetAccountResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetAccount not implemented") } -func (UnimplementedDfServer) ListSessions(context.Context, *ListSessionsRequest) (*ListSessionsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ListSessions not implemented") -} func (UnimplementedDfServer) ListAccounts(context.Context, *ListAccountsRequest) (*ListAccountsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ListAccounts not implemented") } @@ -196,6 +232,15 @@ func (UnimplementedDfServer) UpdateAccountPrivacy(context.Context, *UpdateAccoun func (UnimplementedDfServer) CreatePerson(context.Context, *CreatePersonRequest) (*CreatePersonResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CreatePerson not implemented") } +func (UnimplementedDfServer) CreatePayment(context.Context, *CreatePaymentRequest) (*CreatePaymentResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreatePayment not implemented") +} +func (UnimplementedDfServer) ListPayments(context.Context, *ListPaymentsRequest) (*ListPaymentsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListPayments not implemented") +} +func (UnimplementedDfServer) UpdatePayment(context.Context, *UpdatePaymentRequest) (*UpdatePaymentResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdatePayment not implemented") +} func (UnimplementedDfServer) mustEmbedUnimplementedDfServer() {} // UnsafeDfServer may be embedded to opt out of forward compatibility for this service. @@ -245,6 +290,24 @@ func _Df_RefreshToken_Handler(srv interface{}, ctx context.Context, dec func(int return interceptor(ctx, in, info, handler) } +func _Df_ListSessions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListSessionsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DfServer).ListSessions(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Df_ListSessions_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DfServer).ListSessions(ctx, req.(*ListSessionsRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _Df_BlockSession_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(BlockSessionRequest) if err := dec(in); err != nil { @@ -281,24 +344,6 @@ func _Df_GetAccount_Handler(srv interface{}, ctx context.Context, dec func(inter return interceptor(ctx, in, info, handler) } -func _Df_ListSessions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ListSessionsRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(DfServer).ListSessions(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: Df_ListSessions_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(DfServer).ListSessions(ctx, req.(*ListSessionsRequest)) - } - return interceptor(ctx, in, info, handler) -} - func _Df_ListAccounts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ListAccountsRequest) if err := dec(in); err != nil { @@ -389,6 +434,60 @@ func _Df_CreatePerson_Handler(srv interface{}, ctx context.Context, dec func(int return interceptor(ctx, in, info, handler) } +func _Df_CreatePayment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreatePaymentRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DfServer).CreatePayment(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Df_CreatePayment_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DfServer).CreatePayment(ctx, req.(*CreatePaymentRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Df_ListPayments_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListPaymentsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DfServer).ListPayments(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Df_ListPayments_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DfServer).ListPayments(ctx, req.(*ListPaymentsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Df_UpdatePayment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdatePaymentRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DfServer).UpdatePayment(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Df_UpdatePayment_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DfServer).UpdatePayment(ctx, req.(*UpdatePaymentRequest)) + } + return interceptor(ctx, in, info, handler) +} + // Df_ServiceDesc is the grpc.ServiceDesc for Df service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -404,6 +503,10 @@ var Df_ServiceDesc = grpc.ServiceDesc{ MethodName: "RefreshToken", Handler: _Df_RefreshToken_Handler, }, + { + MethodName: "ListSessions", + Handler: _Df_ListSessions_Handler, + }, { MethodName: "BlockSession", Handler: _Df_BlockSession_Handler, @@ -412,10 +515,6 @@ var Df_ServiceDesc = grpc.ServiceDesc{ MethodName: "GetAccount", Handler: _Df_GetAccount_Handler, }, - { - MethodName: "ListSessions", - Handler: _Df_ListSessions_Handler, - }, { MethodName: "ListAccounts", Handler: _Df_ListAccounts_Handler, @@ -436,6 +535,18 @@ var Df_ServiceDesc = grpc.ServiceDesc{ MethodName: "CreatePerson", Handler: _Df_CreatePerson_Handler, }, + { + MethodName: "CreatePayment", + Handler: _Df_CreatePayment_Handler, + }, + { + MethodName: "ListPayments", + Handler: _Df_ListPayments_Handler, + }, + { + MethodName: "UpdatePayment", + Handler: _Df_UpdatePayment_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "service_df.proto", diff --git a/bff/proto/payment.proto b/bff/proto/payment.proto new file mode 100644 index 0000000..93c16a6 --- /dev/null +++ b/bff/proto/payment.proto @@ -0,0 +1,35 @@ +syntax = "proto3"; + +package pb; + +import "google/protobuf/timestamp.proto"; +import "protoc-gen-openapiv2/options/annotations.proto"; + +option go_package = "github.com/itsscb/df/pb"; + +message Payment { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "Payment"; + }; + example: "{\"id\": \"1\",\"account_id\": \"1\", \"payment_category\": \"TBD: paypal\", \"paypal_account\": \"john.doe@example.com\", \"paypal_id\": \"this-is-a-paypal-id\", \"payment_system\": \"TBD: paypal system\", \"type\": \"TBD: some type\", \"creator\": \"john.doe@example.com\", \"created\": \"2023-10-05T02:30:53Z\", \"changer\": \"john.doe@example.com\", \"changed\": \"2023-10-05T02:30:53Z\"}"; + }; + int64 id = 1; + int64 account_id = 2; + string payment_category = 3; + optional string bankname = 4; + optional string IBAN = 5; + optional string BIC = 6; + optional string paypal_account = 7; + optional string paypal_id = 8; + optional string payment_system = 9; + string type = 10; + string creator = 11; + google.protobuf.Timestamp created = 12 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { + example: "\"2023-10-05T00:00:00Z\"" + }]; + string changer = 13; + google.protobuf.Timestamp changed = 14 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { + example: "\"2023-10-05T00:00:00Z\"" + }]; +} \ No newline at end of file diff --git a/bff/proto/rpc_create_payment.proto b/bff/proto/rpc_create_payment.proto new file mode 100644 index 0000000..d8149d9 --- /dev/null +++ b/bff/proto/rpc_create_payment.proto @@ -0,0 +1,45 @@ +syntax = "proto3"; + +package pb; + +import "protoc-gen-openapiv2/options/annotations.proto"; + +import "payment.proto"; + +option go_package = "github.com/itsscb/df/pb"; + +message CreatePaymentRequest { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "Create Payment"; + description: "Create an Payment"; + required: [ + "account_id", + "payment_category", + "payment_system", + "type" + ]; + }; + example: "{\"account_id\": \"1\", \"payment_category\": \"TBD: paypal\", \"paypal_account\": \"john.doe@example.com\", \"paypal_id\": \"this-is-a-paypal-id\", \"payment_system\": \"TBD: paypal system\", \"type\": \"TBD: some type\"}"; + }; + int64 account_id = 1; + string payment_category = 2; + optional string bankname = 3; + optional string IBAN = 4; + optional string BIC = 5; + optional string paypal_account = 6; + optional string paypal_id = 7; + optional string payment_system = 8; + string type = 9; +} + +message CreatePaymentResponse { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "Created Payment"; + description: "Returns the created Payment"; + }; + }; + Payment payment = 1 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { + }]; +} \ No newline at end of file diff --git a/bff/proto/rpc_list_accounts.proto b/bff/proto/rpc_list_accounts.proto index 6a25b54..f972bfa 100644 --- a/bff/proto/rpc_list_accounts.proto +++ b/bff/proto/rpc_list_accounts.proto @@ -30,6 +30,6 @@ message ListAccountsResponse { description: "Returns the Account"; }; }; - repeated Account account = 1 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { + repeated Account accounts = 1 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { }]; } \ No newline at end of file diff --git a/bff/proto/rpc_list_payments.proto b/bff/proto/rpc_list_payments.proto new file mode 100644 index 0000000..b994548 --- /dev/null +++ b/bff/proto/rpc_list_payments.proto @@ -0,0 +1,34 @@ +syntax = "proto3"; + +package pb; + +import "protoc-gen-openapiv2/options/annotations.proto"; + +import "payment.proto"; + +option go_package = "github.com/itsscb/df/pb"; + +message ListPaymentsRequest { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "ListPayments"; + description: "Returns a List of Payments"; + required: [ + "id" + ]; + }; + example: "{\"account_id\": 1 }"; + }; + int64 account_id = 1; +} + +message ListPaymentsResponse { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "ListPayments Response"; + description: "Returns the Payment"; + }; + }; + repeated Payment payments = 1 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { + }]; +} \ No newline at end of file diff --git a/bff/proto/rpc_list_sessions.proto b/bff/proto/rpc_list_sessions.proto index af61b62..e0a4cdd 100644 --- a/bff/proto/rpc_list_sessions.proto +++ b/bff/proto/rpc_list_sessions.proto @@ -14,12 +14,15 @@ message ListSessionsRequest { title: "ListSessions"; description: "Returns a List of Accounts"; required: [ - "email" + "account_id" ]; }; - example: "{\"email\": \"john.doe@example.com\" }"; + example: "{\"account_id\": \"1\" }"; }; - string email = 1; + int64 account_id = 1 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { + example: "1", + format: "int64" + }]; } message ListSessionsResponse { @@ -29,6 +32,6 @@ message ListSessionsResponse { description: "Returns the Sessions"; }; }; - repeated Session session = 1 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { + repeated Session sessions = 1 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { }]; } \ No newline at end of file diff --git a/bff/proto/rpc_update_payment.proto b/bff/proto/rpc_update_payment.proto new file mode 100644 index 0000000..59b911d --- /dev/null +++ b/bff/proto/rpc_update_payment.proto @@ -0,0 +1,42 @@ +syntax = "proto3"; + +package pb; + +import "protoc-gen-openapiv2/options/annotations.proto"; + +import "payment.proto"; + +option go_package = "github.com/itsscb/df/pb"; + +message UpdatePaymentRequest { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "Update Payment"; + description: "Update an Payment"; + required: [ + "id" + ]; + }; + example: "{\"id\": \"1\", \"payment_category\": \"TBD: paypal\", \"paypal_account\": \"john.doe@example.com\", \"paypal_id\": \"this-is-a-paypal-id\", \"payment_system\": \"TBD: paypal system\", \"type\": \"TBD: some type\"}"; + }; + int64 id = 1; + optional string payment_category = 2; + optional string bankname = 3; + optional string IBAN = 4; + optional string BIC = 5; + optional string paypal_account = 6; + optional string paypal_id = 7; + optional string payment_system = 8; + optional string type = 9; +} + +message UpdatePaymentResponse { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "Updated Payment"; + description: "Returns the updated Payment"; + }; + }; + Payment payment = 1 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { + }]; +} \ No newline at end of file diff --git a/bff/proto/service_df.proto b/bff/proto/service_df.proto index 000c357..d57601f 100644 --- a/bff/proto/service_df.proto +++ b/bff/proto/service_df.proto @@ -7,9 +7,12 @@ import "protoc-gen-openapiv2/options/annotations.proto"; import "rpc_create_account.proto"; import "rpc_create_person.proto"; +import "rpc_create_payment.proto"; import "rpc_update_account.proto"; +import "rpc_update_payment.proto"; import "rpc_get_account.proto"; import "rpc_list_accounts.proto"; +import "rpc_list_payments.proto"; import "rpc_list_sessions.proto"; import "rpc_block_session.proto"; import "rpc_update_account_privacy.proto"; @@ -58,13 +61,26 @@ option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_swagger) = { }; rpc RefreshToken (RefreshTokenRequest) returns (RefreshTokenResponse) { option (google.api.http) = { - post: "/v1/refresh_token" + post: "/v1/sessions/refresh_token" body: "*" }; }; + rpc ListSessions (ListSessionsRequest) returns (ListSessionsResponse) { + option (google.api.http) = { + get: "/v1/sessions/list_sessions/{account_id}" + }; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { + security: { + security_requirement: { + key: "BearerAuth"; + value: {} + } + } + }; + }; rpc BlockSession (BlockSessionRequest) returns (BlockSessionResponse) { option (google.api.http) = { - patch: "/v1/block_session" + patch: "/v1/sessions/block_session" body: "*" }; option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { @@ -78,7 +94,7 @@ option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_swagger) = { }; rpc GetAccount (GetAccountRequest) returns (GetAccountResponse) { option (google.api.http) = { - get: "/v1/get_account" + get: "/v1/accounts/get_account" // get: "/v1/accounts/{id=id}" }; option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { @@ -90,23 +106,9 @@ option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_swagger) = { } }; }; - - rpc ListSessions (ListSessionsRequest) returns (ListSessionsResponse) { - option (google.api.http) = { - get: "/v1/list_sessions" - }; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { - security: { - security_requirement: { - key: "BearerAuth"; - value: {} - } - } - }; - }; rpc ListAccounts (ListAccountsRequest) returns (ListAccountsResponse) { option (google.api.http) = { - get: "/v1/list_accounts" + get: "/v1/accounts/list_accounts" }; option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { security: { @@ -119,13 +121,13 @@ option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_swagger) = { }; rpc CreateAccount (CreateAccountRequest) returns (CreateAccountResponse) { option (google.api.http) = { - post: "/v1/create_account" + post: "/v1/accounts/create_account" body: "*" }; }; rpc UpdateAccount (UpdateAccountRequest) returns (UpdateAccountResponse) { option (google.api.http) = { - patch: "/v1/update_account" + patch: "/v1/accounts/update_account" body: "*" }; option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { @@ -139,7 +141,7 @@ option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_swagger) = { }; rpc UpdateAccountPrivacy (UpdateAccountPrivacyRequest) returns (UpdateAccountPrivacyResponse) { option (google.api.http) = { - patch: "/v1/update_account_privacy" + patch: "/v1/accounts/update_account_privacy" body: "*" }; option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { @@ -153,7 +155,48 @@ option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_swagger) = { }; rpc CreatePerson (CreatePersonRequest) returns (CreatePersonResponse) { option (google.api.http) = { - post: "/v1/create_person" + post: "/v1/persons/create_person" + body: "*" + }; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { + security: { + security_requirement: { + key: "BearerAuth"; + value: {} + } + } + }; + }; + rpc CreatePayment (CreatePaymentRequest) returns (CreatePaymentResponse) { + option (google.api.http) = { + post: "/v1/payments/create_payment" + body: "*" + }; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { + security: { + security_requirement: { + key: "BearerAuth"; + value: {} + } + } + }; + }; + rpc ListPayments (ListPaymentsRequest) returns (ListPaymentsResponse) { + option (google.api.http) = { + get: "/v1/payments/list_payments" + }; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { + security: { + security_requirement: { + key: "BearerAuth"; + value: {} + } + } + }; + }; + rpc UpdatePayment (UpdatePaymentRequest) returns (UpdatePaymentResponse) { + option (google.api.http) = { + patch: "/v1/payments/update_payment" body: "*" }; option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {