export type PermissionsView = {service?: ('ACCOUNT' | 'USERS' | 'SUPPORT' | 'PAYMENTS' | 'BILLING_STATE' | 'ACCOUNT_ACTIVITY' | 'BACKUPS' | 'RESTORE_AND_DOWNLOAD' | 'PREVIEW' | 'DASHBOARD' | 'DASHBOARD_ACCOUNT' | 'DASHBOARD_SUBSCRIBE' | 'PP_ACCOUNT' | 'PP_SECURITY_AUDIT' | 'PP_PAYMENTS' | 'PP_BILLING_STATE' | 'MANAGE_NOTIFICATIONS' | 'EXPORT_USAGE_REPORT' | 'PP_MANAGE_NOTIFICATIONS' | 'ACCOUNT_SECURITY_AUDIT' | 'MS365' | 'MS365GROUPS' | 'SHAREPOINT_MULTI' | 'SHAREPOINT' | 'ONEDRIVE' | 'GOOGLEAPPS' | 'GDRIVETEAM' | 'SFC' | 'BOX' | 'GACCOUNTS' | 'IMAP' | 'YMAIL' | 'DDB' | 'SDB' | 'DROPBOX' | 'DYNAMICS365' | 'ENTRAID') | undefined, permissions?: {[key: string]: boolean} | undefined}; export type UserPermissionsDTO = {accessLevel?: ('NONE' | 'CUSTOM' | 'FULL') | undefined, permissions?: {[key: string]: Array} | undefined}; export type UpdateApiV1UserIdPermissionsArgs = {id: string, body: UserPermissionsDTO}; export type UpdateApiV1UserIdPermissionsOptions = {baseUrl?: string | undefined, fetch?: typeof fetch | undefined}; /** * updatePermissionsUser * * PUT /v1/user/{id}/permissions */ export const updateApiV1UserIdPermissions = async (args: UpdateApiV1UserIdPermissionsArgs, options?: UpdateApiV1UserIdPermissionsOptions) => { const {baseUrl = "https://api.cloudally.com", fetch: fetchFn = fetch} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('content-type', "application/json") headers.set('accept', "*/*") const url = `${baseUrl.replace(/\/+$/, '')}/v1/user/${encodeURIComponent(String(args.id))}/permissions${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "PUT", headers, body: JSON.stringify(args.body)}) if (!res.ok) throw new Error(`Request failed with status ${res.status}`, {cause: {status: res.status, body: await res.text()}}) return res.blob() };