66 lines
1.5 KiB
TypeScript
66 lines
1.5 KiB
TypeScript
import { object } from "./utils"
|
|
import Resource from "./utils/Resource"
|
|
|
|
const roleSchema = object(
|
|
{
|
|
appBuilder: object(
|
|
{
|
|
appId: {
|
|
description:
|
|
"The app that the users should have app builder privileges granted for.",
|
|
type: "string",
|
|
},
|
|
},
|
|
{ description: "Allow setting users to builders per app." }
|
|
),
|
|
builder: {
|
|
type: "boolean",
|
|
description:
|
|
"Add/remove global builder permissions from the list of users.",
|
|
},
|
|
admin: {
|
|
type: "boolean",
|
|
description:
|
|
"Add/remove global admin permissions from the list of users.",
|
|
},
|
|
role: object(
|
|
{
|
|
roleId: {
|
|
description: "The role ID, such as BASIC, ADMIN or a custom role ID.",
|
|
type: "string",
|
|
},
|
|
appId: {
|
|
description: "The app that the role relates to.",
|
|
type: "string",
|
|
},
|
|
},
|
|
{ description: "Add/remove a per-app role, such as BASIC, ADMIN etc." }
|
|
),
|
|
userIds: {
|
|
description:
|
|
"The user IDs to be updated to add/remove the specified roles.",
|
|
type: "array",
|
|
items: {
|
|
type: "string",
|
|
},
|
|
},
|
|
},
|
|
{ required: ["userIds"] }
|
|
)
|
|
|
|
export default new Resource().setSchemas({
|
|
rolesAssign: roleSchema,
|
|
rolesUnAssign: roleSchema,
|
|
rolesOutput: object({
|
|
data: object({
|
|
userIds: {
|
|
description: "The updated users' IDs",
|
|
type: "array",
|
|
items: {
|
|
type: "string",
|
|
},
|
|
},
|
|
}),
|
|
}),
|
|
})
|