38 lines
1.0 KiB
Go
38 lines
1.0 KiB
Go
package adminrole
|
|
|
|
import "time"
|
|
|
|
type RoleDTO struct {
|
|
ID uint64 `json:"id"`
|
|
Code string `json:"code"`
|
|
Name string `json:"name"`
|
|
Description string `json:"description"`
|
|
PermCount int `json:"perm_count"`
|
|
Permissions []PermissionDTO `json:"permissions,omitempty"`
|
|
CreatedAt time.Time `json:"created_at"`
|
|
UpdatedAt time.Time `json:"updated_at"`
|
|
}
|
|
|
|
type PermissionDTO struct {
|
|
ID uint64 `json:"id"`
|
|
Code string `json:"code"`
|
|
Name string `json:"name"`
|
|
Resource string `json:"resource"`
|
|
Action string `json:"action"`
|
|
}
|
|
|
|
type CreateRoleRequest struct {
|
|
Code string `json:"code" binding:"required"`
|
|
Name string `json:"name" binding:"required"`
|
|
Description string `json:"description"`
|
|
}
|
|
|
|
type UpdateRoleRequest struct {
|
|
Name string `json:"name" binding:"required"`
|
|
Description string `json:"description"`
|
|
}
|
|
|
|
type AssignPermissionsRequest struct {
|
|
PermissionIDs []uint64 `json:"permission_ids"`
|
|
}
|