@datocms/cma-client
Version:
JS client for DatoCMS REST Content Management API
22 lines (21 loc) • 1.13 kB
TypeScript
import type * as SimpleSchemaTypes from '../generated/SimpleSchemaTypes';
import BaseRole from '../generated/resources/Role';
export type UpdateRoleDiff<T> = {
add?: Omit<T, 'environment'>[];
remove?: Omit<T, 'environment'>[];
};
export type RoleItemTypePermission = SimpleSchemaTypes.RoleAttributes['positive_item_type_permissions'][0];
export type RoleUploadPermission = SimpleSchemaTypes.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
*/
updateCurrentEnvironmentPermissions(roleId: string | SimpleSchemaTypes.RoleData, changes: UpdateCurrentEnvironmentPermissionsChanges): Promise<SimpleSchemaTypes.Role>;
}
export {};