package dto

import "time"

type AuthorityRequest struct {
	AuthorityID   uint   `json:"authorityId"`
	AuthorityName string `json:"authorityName"`
	ParentID      *uint  `json:"parentId"`
	DataScope     int    `json:"dataScope"`
	DefaultRouter string `json:"defaultRouter"`
}

type CopyAuthorityRequest struct {
	Authority      AuthorityRequest `json:"authority"`
	OldAuthorityID uint             `json:"oldAuthorityId"`
}

type DeleteAuthorityRequest struct {
	AuthorityID uint `json:"authorityId"`
}
type SetRoleUsersRequest struct {
	AuthorityID uint   `json:"authorityId" form:"authorityId"`
	UserIDs     []uint `json:"userIds" form:"userIds"`
}
type SetDataScopeRequest struct {
	AuthorityID   uint   `json:"authorityId" form:"authorityId"`
	DataScope     int    `json:"dataScope" form:"dataScope"`
	DepartmentIDs []uint `json:"deptIds" form:"deptIds"`
}

type AuthorityResponse struct {
	CreatedAt     time.Time            `json:"CreatedAt"`
	UpdatedAt     time.Time            `json:"UpdatedAt"`
	DeletedAt     *time.Time           `json:"DeletedAt"`
	AuthorityID   uint                 `json:"authorityId"`
	AuthorityName string               `json:"authorityName"`
	ParentID      *uint                `json:"parentId"`
	Children      []*AuthorityResponse `json:"children"`
	Menus         []*MenuResponse      `json:"menus"`
	DataScope     int                  `json:"dataScope"`
	DefaultRouter string               `json:"defaultRouter"`
}
