diff --git a/examples/general/permissions.ts b/examples/general/permissions.ts index 04775b0..24d01bb 100644 --- a/examples/general/permissions.ts +++ b/examples/general/permissions.ts @@ -15,6 +15,6 @@ permissionsClient.getResources() return permissionsClient.bulkPermissionsUpdate(5142, [ {resourceId: '3281', resourceType: 'account', accessLevel: 'viewer'}, - {resourceId: '3809', resourceType: 'inbox', destroy: 'true'} + {resourceId: '3809', resourceType: 'inbox', destroy: true} ]) }) diff --git a/src/__tests__/lib/api/resources/Permissions.test.ts b/src/__tests__/lib/api/resources/Permissions.test.ts index 3b50779..204b4d2 100644 --- a/src/__tests__/lib/api/resources/Permissions.test.ts +++ b/src/__tests__/lib/api/resources/Permissions.test.ts @@ -63,11 +63,11 @@ describe("lib/api/resources/Permissions: ", () => { { resourceId: "3809", resourceType: "inbox", - _destroy: "true", + destroy: true, }, ]; - expect.assertions(2); + expect.assertions(3); mock.onPut(endpoint).reply(200, expectedResponseData); const result = await permissionsAPI.bulkPermissionsUpdate( @@ -76,6 +76,20 @@ describe("lib/api/resources/Permissions: ", () => { ); expect(mock.history.put[0].url).toEqual(endpoint); + expect(JSON.parse(mock.history.put[0].data)).toEqual({ + permissions: [ + { + resource_id: "3281", + resource_type: "account", + access_level: "viewer", + }, + { + resource_id: "3809", + resource_type: "inbox", + _destroy: true, + }, + ], + }); expect(result).toEqual(expectedResponseData); }); @@ -93,7 +107,7 @@ describe("lib/api/resources/Permissions: ", () => { }, ]; - expect.assertions(2); + expect.assertions(3); mock.onPut(endpoint).reply(200, expectedResponseData); const result = await permissionsAPI.bulkPermissionsUpdate( @@ -102,6 +116,12 @@ describe("lib/api/resources/Permissions: ", () => { ); expect(mock.history.put[0].url).toEqual(endpoint); + expect(JSON.parse(mock.history.put[0].data)).toEqual({ + permissions: [ + { resource_id: "3281", resource_type: "account" }, + { resource_id: "3809", resource_type: "inbox" }, + ], + }); expect(result).toEqual(expectedResponseData); }); diff --git a/src/lib/api/resources/Permissions.ts b/src/lib/api/resources/Permissions.ts index eb17aa9..4829da9 100644 --- a/src/lib/api/resources/Permissions.ts +++ b/src/lib/api/resources/Permissions.ts @@ -37,11 +37,9 @@ export default class PermissionsApi { const flattenPermissionObjects = permissions.map((permission) => ({ resource_id: permission.resourceId, - resourceType: permission.resourceType, - ...(permission.accessLevel && { accessLevel: permission.accessLevel }), - // @ts-ignore - // eslint-disable-next-line no-underscore-dangle - ...(permission._destroy && { _destroy: permission.destroy }), + resource_type: permission.resourceType, + ...(permission.accessLevel && { access_level: permission.accessLevel }), + ...(permission.destroy && { _destroy: permission.destroy }), })); const body = { permissions: flattenPermissionObjects }; diff --git a/src/types/api/permissions.ts b/src/types/api/permissions.ts index 646aa7e..d6e9545 100644 --- a/src/types/api/permissions.ts +++ b/src/types/api/permissions.ts @@ -10,5 +10,5 @@ export type PermissionResourceParams = { resourceId: string; resourceType: string; accessLevel?: string; - destroy?: string; + destroy?: boolean; };