UNPKG

@datocms/cma-client

Version:
25 lines (24 loc) 1.29 kB
import type * as ApiTypes from '../generated/ApiTypes.js'; import BaseRole from '../generated/resources/Role.js'; type DistributiveOmit<T, K extends PropertyKey> = T extends any ? Omit<T, K> : never; export type UpdateRoleDiff<T> = { add?: DistributiveOmit<T, 'environment'>[]; remove?: DistributiveOmit<T, 'environment'>[]; }; export type RoleItemTypePermission = ApiTypes.RoleAttributes['positive_item_type_permissions'][0]; export type RoleUploadPermission = ApiTypes.RoleAttributes['positive_upload_permissions'][0]; type UpdateCurrentEnvironmentPermissionsChanges = { positive_item_type_permissions?: UpdateRoleDiff<RoleItemTypePermission>; negative_item_type_permissions?: UpdateRoleDiff<RoleItemTypePermission>; positive_upload_permissions?: UpdateRoleDiff<RoleUploadPermission>; negative_upload_permissions?: UpdateRoleDiff<RoleUploadPermission>; }; export default class RoleResource extends BaseRole { /** * Applies a set of changes to the permissions of the current environment * * Read more: https://www.datocms.com/docs/content-management-api/resources/role/update */ updateCurrentEnvironmentPermissions(roleId: string | ApiTypes.RoleData, changes: UpdateCurrentEnvironmentPermissionsChanges): Promise<ApiTypes.Role>; } export {};