package com.example.initiateaphonecallapp.data.model

import java.util.*

// 主响应类
data class ApigetInfoResponse(
    val msg: String,
    val code: Int,
    val permissions: List<String>,
    val roles: List<String>,
    val isDefaultModifyPwd: Boolean,
    val isPasswordExpired: Boolean,
    val user: User1
)

// 用户信息类
data class User1(
    val createBy: String?,
    val createTime: String?,
    val updateBy: String?,
    val updateTime: String?,
    val remark: String?,
    val params: Map<String, Any>?,
    val userId: Long,
    val deptId: Long,
    val userName: String,
    val nickName: String,
    val email: String?,
    val phonenumber: String?,
    val sex: String,
    val avatar: String?,
    val password: String,
    val status: String,
    val delFlag: String,
    val loginIp: String?,
    val loginDate: String?,
    val pwdUpdateDate: String?,
    val dept: Dept,
    val roles: List<Role>,
    val roleIds: List<Long>?,
    val postIds: List<Long>?,
    val roleId: Long?,
    val admin: Boolean
)

// 部门信息类
data class Dept(
    val createBy: String?,
    val createTime: String?,
    val updateBy: String?,
    val updateTime: String?,
    val remark: String?,
    val params: Map<String, Any>?,
    val deptId: Long,
    val parentId: Long,
    val ancestors: String,
    val deptName: String,
    val orderNum: Int,
    val leader: String?,
    val phone: String?,
    val email: String?,
    val status: String,
    val delFlag: String?,
    val parentName: String?,
    val children: List<Dept>
)

// 角色信息类
data class Role(
    val createBy: String?,
    val createTime: String?,
    val updateBy: String?,
    val updateTime: String?,
    val remark: String?,
    val params: Map<String, Any>?,
    val roleId: Long,
    val roleName: String,
    val roleKey: String,
    val roleSort: Int,
    val dataScope: String,
    val menuCheckStrictly: Boolean,
    val deptCheckStrictly: Boolean,
    val status: String,
    val delFlag: String?,
    val flag: Boolean,
    val menuIds: List<Long>?,
    val deptIds: List<Long>?,
    val permissions: List<String>,
    val admin: Boolean
)