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; } /* 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 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; } 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; } message BankInfo { int64 id = 1; string deposit_number = 2; string iban_number = 3; string card_number = 4; int32 status = 5; string updated_at = 6; string created_at = 7; }