// iam 下游服务类型定义（对齐 iam.proto + 待 coord 补全的 RPC）
// iam.proto 现状：4 RPC（Register/Login/RefreshToken/GetUserInfo）
// 待 coord 补全：GetViewports / GetEffectivePermissions / GetEffectiveAccess / BatchGetUsers / GetChildrenByParent

/** 用户信息（对齐 iam.proto UserInfo message） */
export interface UserInfo {
  id: string;
  email: string;
  name: string;
  roles: string[];
  permissions: string[];
}

/** 视口项（L1 导航菜单，待 coord 补 GetViewports RPC 的 response message） */
export interface ViewportItem {
  key: string;
  label: string;
  route: string;
  icon: string | null;
  sortOrder: number;
  requiredPermission: string | null;
}

/** 有效权限集（待 coord 补 GetEffectivePermissions RPC 的 response message） */
export interface EffectivePermissions {
  permissions: string[];
  /** 数据范围（SELF / CLASS / GRADE / SCHOOL / DISTRICT / ALL，对齐 GraphQL enum DataScope） */
  dataScope: string;
}

/** GetUserInfo 请求 */
export interface GetUserInfoRequest {
  userId: string;
}

/** GetViewports 请求 */
export interface GetViewportsRequest {
  userId: string;
}

/** GetEffectivePermissions 请求 */
export interface GetEffectivePermissionsRequest {
  userId: string;
}
