proto/authorization_message.proto
2024-06-04 23:35:33 +03:30

159 lines
2.5 KiB
Protocol Buffer

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;
}