syntax = "proto3"; package common; option go_package = "./proto;authorization_client"; // ------------ 公共 ------------ message Base { string key = 1; string value = 2; } message Profile { int64 id = 1; string username = 2; repeated Base roles = 3; string phone_number = 4; string email = 5; string avatar = 6; int64 birthdate =7; string bio = 8; int32 gender = 9; } message LoginResponse { Profile user = 1; string token = 2; } // ------------ 角色列表 ------------ message ListAdminRolesItems { int64 id = 1; string name = 2; string description = 3; string created_by = 4; int64 created_at = 5; string status = 6; bool is_reserved = 7; } message ListAdminRolesResponse { repeated ListAdminRolesItems items = 1; int64 total_count = 2; } // ------------ 角色详情 ------------ message GetAdminRoleBase { string key = 1; string value = 2; } message GetAdminRoleResponse { int64 id = 1; string name = 2; string description = 3; int64 created_at = 4; string status = 5; bool is_reserved = 6; repeated GetAdminRoleBase users = 7; repeated GetAdminRoleBase permissions = 8; } message GetUnassignedAdminRolesRequest{ int64 user_id = 1; } message ListAdminUsersResponse { repeated GetAdminUser items = 1; int64 total_count = 2; } // ------------ 用户详情 ------------ message AdminUserProfile { string avatar =1; string phone_number = 2; string email = 3; string bio = 4; int64 birthdate = 5; int32 gender = 6; string address = 7; string website = 8; repeated AdminUserProfileSocialLink social_links = 9; repeated AdminUserProfileEducation educations = 10; repeated AdminUserProfileWorkHistory work_histories = 11; } message AdminUserProfileSocialLink { string url =1; string platform = 2; } message AdminUserProfileEducation { string school = 1; string degree = 2; int64 graduated = 3; } message AdminUserProfileWorkHistory { string company = 1; string position = 2; int64 start_date = 3; int64 end_date = 4; string responsibilities = 5; } message AdminUserBase { string key = 1; string value = 2; } message GetAdminUserRequest { int64 id = 1; } message GetAdminUser { int64 user_id = 1; string username = 2; string status = 3; repeated AdminUserBase roles = 4; repeated AdminUserBase teams = 5; AdminUserProfile profile = 6; } // ------------ admin user 更新 ------------ message UpdateAdminUserRequest{ int64 user_id = 1; string status = 3; repeated AdminUserBase roles = 4; repeated AdminUserBase teams = 5; AdminUserProfile profile = 6; } // ------------ 查询关联的角色 ------------ message GetAdminUserAssociatedRolesRequest { string username = 1; } message GetAdminUserAssociatedRolesResponse { repeated AdminUserBase items = 1; }