From 211d6251f470fbbaae0ced7e24ef1510a704e69b Mon Sep 17 00:00:00 2001 From: nfel Date: Sun, 17 Nov 2024 16:24:34 +0330 Subject: [PATCH] Removed old proto files --- authorization.proto | 38 ---- authorization_message.proto | 210 -------------------- base_message.proto | 15 -- buf.gen.yaml | 20 ++ buf.yaml | 15 +- wallet.proto | 42 ---- wallet_message.proto | 379 ------------------------------------ 7 files changed, 26 insertions(+), 693 deletions(-) delete mode 100644 authorization.proto delete mode 100644 authorization_message.proto delete mode 100644 base_message.proto create mode 100644 buf.gen.yaml delete mode 100644 wallet.proto delete mode 100644 wallet_message.proto diff --git a/authorization.proto b/authorization.proto deleted file mode 100644 index 3179650..0000000 --- a/authorization.proto +++ /dev/null @@ -1,38 +0,0 @@ -syntax = "proto3"; - -package authorization; - -import "authorization_message.proto"; -import "base_message.proto"; - -service AuthorizationService { - rpc InternalAuthorizationDeleteCache(base.Empty) returns (base.StatusRes); - rpc InternalInitRoutes(InternalInitRoutesReq) returns (base.StatusRes) {} - rpc InternalGetUserIdentityBasic(GetUserReq) returns (UserIdentityBasic) {} - rpc InternalGetUserIAM(GetUserReq) returns (InternalIAM) {} - rpc CheckIAM(CheckIAMReq) returns (InternalIAM) {} - - rpc UserLoginSendOTP(UserSendOtpReq) returns (UserSendOtpRes) {} - rpc UserLoginWithOTP(UserLoginReq) returns (UserAccessTokenRes) {} - rpc UserGetAccessTokenByRefreshToken(UserRefreshTokenReq) - returns (UserAccessTokenRes) {} - - rpc UserGetUserPermission(InternalIAM) returns (PermissionList) {} - - rpc UserGetIdentity(InternalIAM) returns (Identity) {} - rpc UserUpdateIdentity(UserUpdateIdentityReq) returns (base.StatusRes) {} - - rpc UserGetBankInfoList(ReqWithIAMAndParams) returns (BankInfoList) {} - rpc UserUpdateBankInfo(UserUpdateBankInfoReq) returns (base.StatusRes) {} - rpc UserRemoveBankInfo(IdReqWithIAM) returns (base.StatusRes) {} - - rpc GetUser(GetUserReq) returns (User) {} - - // Two Factor Authentication - // For now it's only SMS-OTP - later will be Email-OTP or other methods can be - // added For HMAC-OTP there won't be a need to call this api - rpc SendTFAReq(TFAReq) returns (base.StatusRes) {} - // For HMAC-OTP an initialization step must be added to exchange keys - rpc InitTFAReq(InternalIAM) returns (TFAExRes) {} - rpc CheckTFACode(CheckTFAReq) returns (base.StatusRes) {} -} diff --git a/authorization_message.proto b/authorization_message.proto deleted file mode 100644 index 415b2d6..0000000 --- a/authorization_message.proto +++ /dev/null @@ -1,210 +0,0 @@ -syntax = "proto3"; - -package authorization; - -/* - Internal -*/ - -message InternalInitRoutesReq { - repeated InternalRoute routes = 1; -} -message InternalRoute { - string path = 1; - string method = 2; - string handler = 3; -} - -/* Role Permission */ -message Role { - int64 id = 1; - string title = 2; - string Key = 3; - string type = 4; -} -message Permission { - int64 id = 1; - string title = 2; - string key = 3; - string route = 4; - string method = 5; -} - -message PermissionList { - repeated Permission list = 1; -} - -/* - UserSendOtp -*/ - -message UserSendOtpReq { - string mobile = 1; -} -message UserSendOtpRes { - int64 expired_at = 1; -} - -/* - UserLogin -*/ - -message UserLoginReq { - string mobile = 1; - string otp_code = 2; -} -message UserRefreshTokenReq { - string refresh_token = 1; -} -message UserAccessTokenRes { - string access_token = 1; - int64 access_expired_at = 2; - string refresh_token = 3; -} - -/* - IAM -*/ - -message CheckIAMReq { - string access_token = 1; - string route = 2; - string method = 3; -} - -message InternalIAM { - User user = 1; - IdentityBasic identity = 2; - repeated Company company = 3; -} -message IdReqWithIAM { - int64 id = 1; - InternalIAM iam = 2; -} -message ReqWithIAMAndParams { - InternalIAM iam = 1; - optional bool accepted = 2; -} - -/* - User -*/ -message GetUserReq { - int64 user_id = 1; - string national_id = 2; -} - -message User { - int64 id = 1; - string national_id = 2; - string mobile = 3; - string email = 4; - repeated int64 roles = 5; -} - -message Company { - int64 id = 1; - string name = 2; - string name_fa = 3; - string location = 4; - bool can_provide_bnpl = 5; -} - -message Identity { - string national_id = 1; - string national_serial_id = 2; - string first_name = 3; - string first_name_en = 4; - string last_name = 5; - string last_name_en = 6; - string father_name = 7; - int64 birthdate = 8; - string birthdate_time = 9; - bool is_alive = 10; - int32 gender = 11; - string serial_number = 12; - string serial_type = 13; - string shenasname_number = 14; - string shenasname_seri = 15; - string shenasname_serial = 16; - int32 status = 17; - string updated_at = 18; - string created_at = 19; - string email = 20; - string mobile = 21; - optional Company company = 22; - optional string employee_info = 23; -} - -message IdentityBasic { - string first_name = 1; - string last_name = 2; -} - -message UserIdentityBasic { - int64 id = 1; - string national_id = 2; - string mobile = 3; - string first_name = 4; - string last_name = 5; -} - -message UserUpdateIdentityReq { - InternalIAM iam = 1; - string national_id = 2; - string birthdate = 3; - string email = 4; -} - -message UserUpdateBankInfoReq { - InternalIAM iam = 1; - string deposit_number = 2; - string iban_number = 3; - string card_number = 4; -} - -message BankInfoList { - repeated BankInfo list = 1; -} - -// Status 0: Fail Verify, 1: Verified, 2: Does not Match user's credential -enum BankInfoStatusEnum { - FAIL_VERIFY = 0; - VERIFIED = 1; - DOES_NOT_MATCH = 2; -} -message BankInfo { - int64 id = 1; - string deposit_number = 2; - string iban_number = 3; - string card_number = 4; - BankInfoStatusEnum status = 5; - string updated_at = 6; - string created_at = 7; -} - -/* Two Factor Authentication */ -message IdReqWithIAMAndTFA { - int64 id = 1; - InternalIAM iam = 2; - string tfa_code = 3; -} -message TFAReq { - InternalIAM iam = 1; - optional string mobile = 2; - optional string email = 3; - optional string reason = 4; // issued jwt reason -> can be login, redeem, withdrawal -} - -// Two Factor Authentication Exchange Response -message TFAExRes { - InternalIAM iam = 1; - string secret = 2; - string qrcode_base64 = 3; -} -message CheckTFAReq { - InternalIAM iam = 1; - string code = 2; - optional string algorithm = 3; - optional string reason = 4; // Can be later used as a lookup -} diff --git a/base_message.proto b/base_message.proto deleted file mode 100644 index 0ac5832..0000000 --- a/base_message.proto +++ /dev/null @@ -1,15 +0,0 @@ -syntax = "proto3"; - -package base; - -message Empty {} - -message StatusRes { - bool success = 1; -} -message IdRes { - int64 id = 1; -} -message IdReq { - int64 id = 1; -} diff --git a/buf.gen.yaml b/buf.gen.yaml new file mode 100644 index 0000000..2724212 --- /dev/null +++ b/buf.gen.yaml @@ -0,0 +1,20 @@ +version: v2 +clean: true +managed: + enabled: true +plugins: + - remote: buf.build/grpc/go + out: pb + opt: + - paths=source_relative + - require_unimplemented_servers=false + - remote: buf.build/protocolbuffers/go + out: pb + opt: + - paths=source_relative +inputs: + - directory: pb + + # - git_repo: https://git.kahrobatoken.com/Kahroba/proto + # branch: main + # depth: 1 diff --git a/buf.yaml b/buf.yaml index 2abbb7b..1bdebd2 100644 --- a/buf.yaml +++ b/buf.yaml @@ -1,12 +1,9 @@ ---- -version: v1 +version: v2 lint: use: - DEFAULT -# disallow_comment_ignores: false -# # The default behavior of this key has changed from v1 -# enum_zero_value_suffix: _UNSPECIFIED -# rpc_allow_same_request_response: true -# rpc_allow_google_protobuf_empty_requests: false -# rpc_allow_google_protobuf_empty_responses: false -# service_suffix: Service +breaking: + use: + - FILE +modules: + - path: pb diff --git a/wallet.proto b/wallet.proto deleted file mode 100644 index c7f0ac5..0000000 --- a/wallet.proto +++ /dev/null @@ -1,42 +0,0 @@ -syntax = "proto3"; - -package wallet; - -import "authorization_message.proto"; -import "base_message.proto"; -import "wallet_message.proto"; - -service WalletService { - rpc InternalWalletDeleteCache(base.Empty) returns (base.StatusRes); - rpc InternalCreateFederation(authorization.InternalIAM) returns (base.StatusRes); - - rpc AdminGetFederation(GetFederationReq) returns (Federation); - rpc UserGetFederation(authorization.InternalIAM) returns (Federation); - - rpc UserGetAssetList(base.Empty) returns (AssetList); - rpc AdminGetAssetList(base.Empty) returns (AssetList); - rpc GetAsset(GetAssetReq) returns (Asset); - - rpc UserInitWallet(UserInitWalletReq) returns (base.StatusRes); - rpc UserGetWalletList(authorization.InternalIAM) returns (WalletList); - rpc UserTransferAsset(UserTransferAssetReq) returns (UserTransferRes); - - rpc UserGetTransactionList(UserGetTransactionListReq) returns (TransactionList); - - rpc SaleGetToken(SaleGetTokenReq) returns (SaleGetTokenRes); - rpc SaleConfirm(SaleConfirmReq) returns (SaleConfirmRes); - rpc AdminManualSaleDeposit(SaleManualReq) returns (base.StatusRes); - - // BNPL - rpc GetBNPLList(base.Empty) returns (BNPLList); - rpc GetBNPLInfo(base.IdReq) returns (BNPLInfo); - rpc GetUserBNPLInfo(GetUserBNPLInfoReq) returns (UserBNPLResp); - rpc SubmitBNPLForm(UserBNPLReq) returns (base.StatusRes); - rpc UpdateBNPL(UserBNPLReq) returns (base.StatusRes); - rpc CancleBNPL(authorization.IdReqWithIAM) returns (base.StatusRes); - - // Redeem Token - rpc CalculateRedeemToken(RedeemTokenReq) returns (CalculateRedeemTokenRes); - rpc RedeemToken(RedeemTokenReq) returns (base.StatusRes); - rpc RedeemTokenList(authorization.ReqWithIAMAndParams) returns (RedeemTokenResList); -} diff --git a/wallet_message.proto b/wallet_message.proto deleted file mode 100644 index 40a7738..0000000 --- a/wallet_message.proto +++ /dev/null @@ -1,379 +0,0 @@ -syntax = "proto3"; - -package wallet; - -import "authorization_message.proto"; -import "base_message.proto"; - -/* - INTERNAL DATA -*/ - -message InternalTransactionData { - int64 transaction_id = 1; -} - -/* - Federation -*/ - -message Federation { - int64 id = 1; - int64 user_id = 2; - string ed_public = 3; - string ed_public_hash = 4; - int32 status = 5; - string created_at = 6; - string system_wallet_address = 7; -} - -message GetFederationReq { - optional int64 federation_id = 1; - optional int64 user_id = 2; - optional string ed_public = 3; - optional string ed_public_hash = 4; -} - -/* - Asset -*/ - -message AssetList { - repeated Asset list = 1; -} - -message Asset { - int64 id = 1; - string name = 2; - string code = 3; - string issuer = 4; - int32 decimal = 5; - double limit_amount = 6; - string anchor = 7; - string image = 8; - string description = 9; - string url = 10; - int64 buy_unit_price = 11; - int64 sell_unit_price = 12; - double buy_min_amount = 13; - double buy_max_amount = 14; - double sell_min_amount = 15; - double sell_max_amount = 16; - double buy_fee_amount = 17; - int64 buy_fee_price = 18; - double sell_fee_amount = 19; - int64 sell_fee_price = 20; - double withdraw_min_amount = 21; - double withdraw_max_amount = 22; - bool is_active = 23; - bool can_buy = 24; - bool can_sell = 25; - bool can_deposit = 26; - bool can_withdraw = 27; - string updated_at = 28; - string created_at = 29; - repeated string images = 30; - int32 status = 31; - AssetMeta meta = 32; -} - -message GetAssetReq { - optional int64 id = 1; - optional string code = 3; -} - -message AssetMeta { - PropertyMeta property = 1; -} - -message PropertyMeta { - string description = 1; - string builder_description = 2; - string white_paper_url = 3; - string expert_report_url = 4; - string project_catalog_url = 5; - string ownership_document_url = 6; - double total_area_meters = 7; - int32 total_unit_count = 8; - string usage_type = 9; - string completion_date = 10; - string user_agreement_url = 11; -} - -/* - BNPL - not really but close name -*/ - -// enum BNPLPgState { -// -// } - -message GetUserBNPLInfoReq { - authorization.InternalIAM iam = 1; - base.IdReq id = 2; -} - -enum BNPLPaymentsStatus { - PENDING = 0; - PAYED = 1; - OVER_DUE = 2; - NOT_STARTED = 3; - NOT_YET_DUE = 4; - CANCLED = 5; -} -message BNPLPayments { - uint64 id = 1; - double amount = 2; - double amount_irr = 7; - bool is_paied = 3; - string due_date = 4; - string settlement_date = 5; - BNPLPaymentsStatus status = 6; -} - -message UserBNPLResp { - uint64 id = 1; - BNPLInfo bnpl = 2; - int32 current_step = 3; - optional float amount = 4; - optional PaymentPeriodInfo payment_period = 5; - optional bool accepted_terms = 6; - repeated BNPLPayments payments = 7; - optional string employee_id = 8; - optional authorization.Company company = 10; - authorization.InternalIAM iam = 11; - optional string updated_at = 12; - optional string created_at = 13; - Asset selected_asset = 14; -} - -message UserBNPLReq { - uint64 id = 1; - int64 bnpl_id = 2; - authorization.InternalIAM iam = 6; - optional string created_at = 3; - optional string employee_id = 4; - optional int64 company_id = 5; - optional float amount = 7; - optional PaymentPeriodInfo payment_period = 8; - optional bool has_agreed_contract = 9; - optional int32 current_step = 10; //Can be useful for admin to change the current step - optional int64 asset_id = 11; -} - -message PaymentPeriodInfo { - uint64 id = 1; - uint64 period = 2; - bool enabled = 3; -} -message BNPLInfo { - uint64 id = 1; - string description = 3; - repeated Asset supported_assets = 2; - optional bool enabled = 4; - float amount_start = 5; - float amount_end = 6; - float amount_steps = 7; - repeated PaymentPeriodInfo payment_period = 8; - repeated authorization.Company possible_companies = 11; - string updated_at = 12; - string created_at = 13; - string expires_at = 14; -} -message BNPLList { - repeated BNPLInfo list = 1; -} - -/* - Wallet -*/ - -message WalletList { - repeated Wallet list = 1; -} - -message Wallet { - int64 id = 1; - int64 user_id = 2; - int64 asset_id = 3; - Asset asset_info = 4; - int64 federation_id = 5; - Federation federation_info = 6; - double balance = 7; - string updated_at = 8; - string created_at = 9; - string wallet_code = 10; -} - -message UserInitWalletReq { - authorization.InternalIAM iam = 1; - int64 asset_id = 2; -} - -/* - Transaction -*/ - -message TransactionList { - repeated Transaction list = 1; - int64 total_count = 2; -} - -enum TransactionType { - Unknown = 0; - Buy = 1; - Sell = 2; - Transfer = 3; - Redeem = 4; -} -enum TransactionStatus { - Undetermined = 0; - Failed = -10; - Suspended = -9; - Created = -1; - Pending = 1; - Successful = 2; -} - -message Transaction { - int64 id = 1; - int64 asset_id = 2; - // Asset asset_info = 3; //Causing network overloading - optional int64 from_user_id = 4; - optional authorization.UserIdentityBasic from_user_info = 5; - optional int64 from_federation_id = 6; - optional Federation from_federation_info = 7; - optional int64 to_user_id = 8; - optional authorization.UserIdentityBasic to_user_info = 9; - optional int64 to_federation_id = 10; - optional Federation to_federation_info = 11; - double amount = 12; - TransactionStatus status = 13; - TransactionType type = 14; - string updated_at = 15; - string created_at = 16; - string tracking_code = 17; -} - -message UserGetTransactionListReq { - authorization.InternalIAM iam = 1; - optional int32 page_index = 2; - optional int32 page_size = 3; - optional int64 id = 4; - optional int64 asset_id = 5; - optional int64 from_user_id = 6; - optional int64 from_federation_id = 7; - optional int64 to_user_id = 8; - optional int64 to_federation_id = 9; - optional double amount_from = 10; - optional double amount_to = 11; - optional TransactionStatus status = 12; - optional TransactionType type = 13; - optional string tracking_code = 14; -} -/* - Buy -*/ - -message UserBuyAssetReq { - authorization.InternalIAM iam = 1; - int64 asset_id = 2; - double amount = 3; -} - -/* - Sell -*/ - -/* - Transfer -*/ - -message UserTransferAssetReq { - authorization.InternalIAM iam = 1; - int64 asset_id = 2; - double amount = 3; - string to_wallet_address = 4; - string to_wallet_memo = 5; -} - -message UserTransferRes { - int64 transaction_id = 1; - string tracking_code = 2; -} - -// represent the information regarding the sale of the token -message SaleGetTokenReq { - authorization.InternalIAM iam = 1; - int64 asset_id = 2; - double amount = 3; -} - -// represent the information regarding the ipg gateway -message SaleGetTokenRes { - string url = 1; - int64 unit_price = 2; - int64 total_price = 3; - double amount = 4; - string asset = 5; -} - -message SaleConfirmReq { - string RefId = 1; - string ResCode = 2; - string SaleOrderId = 3; - string SaleReferenceId = 4; - string CardHolderInfo = 5; - string CardHolderPan = 6; - string FinalAmount = 7; -} - -message SaleConfirmRes { - string receiptLink = 1; -} - -message SaleManualReq { - authorization.InternalIAM iam = 1; - int64 asset_id = 2; - double amount = 3; - string paid_at = 4; - string rrn = 5; - string national_id = 6; -} - -/* - Redeem Token -*/ -message RedeemTokenReq { - authorization.InternalIAM iam = 1; - int64 asset_id = 2; - uint64 bank_info_id = 3; - double amount = 4; - optional string tfa_code = 5; -} -message CalculateRedeemTokenRes { - Asset asset = 1; - double free_balance = 2; - double total_balance = 3; - double request_amount = 4; - double profit_capital = 5; - double user_capital = 6; - optional authorization.BankInfo bank_info = 7; -} -message RedeemTokenRes { - uint64 id = 1; - int64 user_id = 2; - Asset asset = 3; - double free_balance = 4; - double total_balance = 5; - double request_amount = 6; - string created_at = 7; - bool is_paied = 8; - // receipt.Receipt receipt = 8; - double calculated_profit = 9; - optional authorization.BankInfo bank_info = 10; - optional string receipt = 11; -} -message RedeemTokenResList { - repeated RedeemTokenRes list = 1; -}