package models

// Dept 用户模型
type SysDept struct {
	ID                   *int64  `json:"id" db:"id" id_type:"AUTO"`
	Pid                  *int64  `json:"pid" db:"pid"`
	Name                 *string `json:"name" db:"name"`
	DeptSort             *int32  `json:"deptSort" db:"dept_sort"`
	FirmFunctionary      *string `json:"firmFunctionary"  db:"firm_functionary"`
	FirmFunctionaryPhone *string `json:"firmFunctionaryPhone" db:"firm_functionary_phone"`
	Remark               *string `json:"remark" db:"remark"`
	TenantId             *string `json:"tenantId" db:"tenant_id"`

	EmptyField *[]string `json:"emptyField" db:"-"`
}

type SysMenu struct {
	ID        *int64  `json:"id" db:"id" id_type:"AUTO"`
	Pid       *int64  `json:"pid" db:"pid"` // 假设pid为0表示根节点
	Type      *int32  `json:"type" db:"type"`
	Title     *string `json:"title" db:"title"`
	Component *string `json:"component" db:"component"`
	MenuSort  *int32  `json:"menuSort" db:"menu_sort"`
	Icon      *string `json:"icon" db:"icon"`
	Path      *string `json:"path" db:"path"`
	Iframe    *bool   `json:"iframe" db:"iframe"`
	Hidden    *bool   `json:"hidden" db:"hidden"`

	EmptyField *[]string `json:"emptyField" db:"-"`
}

type SysRolesMenus struct {
	RoleID *int64 `json:"roleId" db:"role_id"`
	MenuID *int64 `json:"menuId" db:"menu_id"`

	MenuIdList *[]int64 `json:"menuIdList" db:"-"`
}

type SysRole struct {
	ID          *int64  `json:"id" db:"id" id_type:"AUTO"`
	Name        *string `json:"name" db:"name"`
	Level       *int32  `json:"level" db:"level"`
	Description *string `json:"description" db:"description"`
	DataScope   *string `json:"dataScope" db:"data_scope"`
	TenantId    *string `json:"tenantId" db:"tenant_id"`

	EmptyField *[]string `json:"emptyField" db:"-"`
}

type SysUsersRoles struct {
	UserID *int64 `json:"userId" db:"user_id"`
	RoleID *int64 `json:"roleId" db:"role_id"`
}

type Tenant struct {
	ID           *string `json:"id" db:"id"`
	Name         *string `json:"name" db:"name"`
	Status       *string `json:"status" db:"status"`
	ManagerName  *string `json:"managerName" db:"manager_name"`
	ManagerPhone *string `json:"managerPhone" db:"manager_phone"`

	EmptyField *[]string `json:"emptyField" db:"-"`
}
