diff --git a/packages/agent-client/src/approval-request-creator.ts b/packages/agent-client/src/approval-request-creator.ts index 6abfc43023..80ff1557a0 100644 --- a/packages/agent-client/src/approval-request-creator.ts +++ b/packages/agent-client/src/approval-request-creator.ts @@ -7,6 +7,7 @@ export type ApprovalRequestPayload = { actionName: string; recordIds: (string | number)[]; inputs: ApprovalRequestInput[]; + roleIdsAllowedToApprove?: number[]; }; export type CreateApprovalRequest = ( @@ -56,6 +57,7 @@ export default function makeCreateApprovalRequest(options: { collection_name: payload.collectionName, record_ids: payload.recordIds, inputs: payload.inputs, + role_ids_allowed_to_approve: payload.roleIdsAllowedToApprove, }, }, }, diff --git a/packages/agent-client/src/domains/action.ts b/packages/agent-client/src/domains/action.ts index 652661e805..100a05c464 100644 --- a/packages/agent-client/src/domains/action.ts +++ b/packages/agent-client/src/domains/action.ts @@ -161,6 +161,7 @@ export default class Action { actionName: this.actionName, recordIds: this.ids ?? [], inputs, + roleIdsAllowedToApprove: mapped.roleIdsAllowedToApprove, }); } catch (cause) { throw new ApprovalRequestCreationError(cause); diff --git a/packages/agent-client/test/approval-request-creator.test.ts b/packages/agent-client/test/approval-request-creator.test.ts index 4ce1df9f75..3ff2603545 100644 --- a/packages/agent-client/test/approval-request-creator.test.ts +++ b/packages/agent-client/test/approval-request-creator.test.ts @@ -23,6 +23,7 @@ describe('makeCreateApprovalRequest', () => { actionName: 'refund', recordIds: ['1', '2'], inputs: [{ name: 'reason', type: 'String', value: 'fraud' }], + roleIdsAllowedToApprove: [7, 9], }); expect(queryWithBearerToken).toHaveBeenCalledWith({ @@ -40,6 +41,7 @@ describe('makeCreateApprovalRequest', () => { collection_name: 'users', record_ids: ['1', '2'], inputs: [{ name: 'reason', type: 'String', value: 'fraud' }], + role_ids_allowed_to_approve: [7, 9], }, }, }, diff --git a/packages/agent-client/test/domains/action.test.ts b/packages/agent-client/test/domains/action.test.ts index 927152b359..8026c4f63f 100644 --- a/packages/agent-client/test/domains/action.test.ts +++ b/packages/agent-client/test/domains/action.test.ts @@ -180,6 +180,7 @@ describe('Action', () => { actionName: 'send-email', recordIds: ['1', '2'], inputs: [{ name: 'email', type: 'String', value: 'test@example.com' }], + roleIdsAllowedToApprove: [7, 9], }); expect(result).toEqual({ approvalRequested: true }); });