package data_manage_permission

import "github.com/rdlucklib/rdluck_tools/paging"

// MoveEdbChartReq 转移指标/图表的请求
type MoveEdbChartReq struct {
	Source       int      `description:"来源id"`
	SubSource    int      `description:"子来源id"`
	DataIdList   []string `description:"指标/图表唯一id列表"`
	NoDataIdList []string `description:"指标/图表唯一id列表"`
	NewUserId    int      `description:"新的创建人id"`
	IsSelectAll  bool     `description:"是否选择所有指标"`
	ClassifyId   string   `description:"分类id，支持多选，用英文,隔开"`
	Keyword      string   `description:"关键字"`
	UserId       int      `description:"旧的创建人id"`
}

// MoveAllEdbChartReq 转移所有的指标/图表的请求
type MoveAllEdbChartReq struct {
	Source    []int `description:"来源id"`
	OldUserId []int `description:"旧的创建人id"`
	NewUserId int   `description:"新的创建人id"`
}

// SetDataIsPermissionReq
// @Description: 设置数据分类权限请求
type SetDataIsPermissionReq struct {
	Source         int   `description:"来源id"`
	SubSource      int   `description:"子来源id"`
	ClassifyIdList []int `description:"指标/图表/表格分类唯一id列表，如果为空，说明要给这些指标移除权限管控"`
}

// SetEdbChartPermissionReq
// @Description: 设置数据权限请求
type SetEdbChartPermissionReq struct {
	Source       int      `description:"来源id"`
	SubSource    int      `description:"子来源id"`
	UserId       int      `description:"用户筛选"`
	DataIdList   []string `description:"指标/图表/表格唯一id列表"`
	NoDataIdList []string `description:"指标/图表/表格唯一id列表"`
	UserList     []int    `description:"赋权用户id列表，如果为空，说明要给这些指标移除权限管控"`
	IsSelectAll  bool     `description:"是否选择所有指标"`
	ClassifyId   string   `description:"分类id，支持多选，用英文,隔开"`
	Keyword      string   `description:"关键字"`
}

// SetEdbChartClassifyPermissionReq
// @Description: 设置数据分类权限请求
type SetEdbChartClassifyPermissionReq struct {
	Source         int   `description:"来源id"`
	SubSource      int   `description:"子来源id"`
	UserList       []int `description:"赋权用户id列表，如果为空，说明要给这些数据分类移除权限管控"`
	ClassifyIdList []int `description:"指标/图表/表格分类唯一id列表"`
}

// DataPermissionMessageItem
// @Description: 数据权限变更消息结构体
type DataPermissionMessageItem struct {
	DataPermissionMessageId int64  `orm:"column(data_permission_message_id);pk"`
	SendUserId              int32  // 发送人ID
	ReceiveUserId           int32  // 接收者ID
	Content                 string // 消息内容
	Remark                  string // 备注信息
	OpType                  int32  // 操作类型，1：单个资产转移，2：资产模块转移，3：资产授权，4：资产分类授权
	Source                  int32  `description:"来源id"`
	SubSource               int32  `description:"子来源id"`
	OpUniqueCode            string // 操作编码
	IsRead                  int32  // 是否已读：0-未读；1-已读
	CreateTime              string // 创建时间
	ModifyTime              string // 修改时间
}

// DataPermissionMessageListResp 资产数据列表响应体
type DataPermissionMessageListResp struct {
	List        []*DataPermissionMessageItem
	Paging      *paging.PagingItem `description:"分页数据"`
	UnreadTotal int                `description:"消息未读数"`
}

// DataPermissionMessageReadReq 资产数据消息已读请求体
type DataPermissionMessageReadReq struct {
	MessageId int `description:"资产数据消息ID"`
}

// MessageDetailListResp 消息详情
type MessageDetailListResp struct {
	Paging *paging.PagingItem
	List   interface{}
}
