From 8f21fe2a4e05c85ff6f58085f295e1601d31e452 Mon Sep 17 00:00:00 2001 From: ksvirkou-hubspot Date: Wed, 9 Apr 2025 15:27:25 +0300 Subject: [PATCH] CRM Objects Deal Splits Discovery --- src/discovery/crm/objects/ObjectsDiscovery.ts | 15 ++++++++++ .../deal_splits/DealSplitsDiscovery.ts | 29 +++++++++++++++++++ .../objects/deal_splits/deal_splits.spec.ts | 10 +++++++ test/spec/crm/objects/objects.spec.ts | 2 ++ 4 files changed, 56 insertions(+) create mode 100644 src/discovery/crm/objects/deal_splits/DealSplitsDiscovery.ts create mode 100644 test/spec/crm/objects/deal_splits/deal_splits.spec.ts diff --git a/src/discovery/crm/objects/ObjectsDiscovery.ts b/src/discovery/crm/objects/ObjectsDiscovery.ts index ec2058bf1..e979865f8 100644 --- a/src/discovery/crm/objects/ObjectsDiscovery.ts +++ b/src/discovery/crm/objects/ObjectsDiscovery.ts @@ -14,6 +14,7 @@ import IConfiguration from '../../../configuration/IConfiguration' import { Observable } from '../../../../codegen/crm/objects/rxjsStub' import type CallsDiscovery from './calls/CallsDiscovery' import type CommunicationsDiscovery from './communications/CommunicationsDiscovery' +import type DealSplitsDiscovery from './deal_splits/DealSplitsDiscovery' import type EmailsDiscovery from './emails/EmailsDiscovery' import type FeedbackSubmissionsDiscovery from './feedback_submissions/FeedbackSubmissionsDiscovery' import type GoalsDiscovery from './goals/GoalsDiscovery' @@ -30,6 +31,7 @@ export default class ObjectsDiscovery extends BaseDiscovery { public searchApi: SearchApi protected _communications: CommunicationsDiscovery | undefined protected _calls: CallsDiscovery | undefined + protected _dealSplits: DealSplitsDiscovery | undefined protected _emails: EmailsDiscovery | undefined protected _feedbackSubmissions: FeedbackSubmissionsDiscovery | undefined protected _goals: GoalsDiscovery | undefined @@ -83,6 +85,19 @@ export default class ObjectsDiscovery extends BaseDiscovery { return this._calls } + /** + * Getter + * @returns DealSplitsDiscovery + */ + get dealSplits() { + if (!this._dealSplits) { + const requiredClass = require('./deal_splits/DealSplitsDiscovery') + this._dealSplits = new requiredClass.default(this.config) as DealSplitsDiscovery + } + + return this._dealSplits + } + /** * Getter * @returns EmailsDiscovery diff --git a/src/discovery/crm/objects/deal_splits/DealSplitsDiscovery.ts b/src/discovery/crm/objects/deal_splits/DealSplitsDiscovery.ts new file mode 100644 index 000000000..047ca3b9a --- /dev/null +++ b/src/discovery/crm/objects/deal_splits/DealSplitsDiscovery.ts @@ -0,0 +1,29 @@ +import { + BatchApi, + RequestContext, + ResponseContext, + ServerConfiguration, + createConfiguration, +} from '../../../../../codegen/crm/objects/deal_splits/index' +import { ApiClientConfigurator } from '../../../../configuration/ApiClientConfigurator' +import ApiDecoratorService from '../../../../services/ApiDecoratorService' +import IConfiguration from '../../../../configuration/IConfiguration' +import { Observable } from '../../../../../codegen/crm/objects/deal_splits/rxjsStub' + +export default class DealSplitsDiscovery { + public batchApi: BatchApi + + constructor(config: IConfiguration) { + const configuration = createConfiguration( + ApiClientConfigurator.getParams< + RequestContext, + ResponseContext, + Observable, + Observable, + ServerConfiguration> + >(config, ServerConfiguration, Observable, Observable), + ) + + this.batchApi = ApiDecoratorService.getInstance().apply(new BatchApi(configuration)) + } +} diff --git a/test/spec/crm/objects/deal_splits/deal_splits.spec.ts b/test/spec/crm/objects/deal_splits/deal_splits.spec.ts new file mode 100644 index 000000000..f4e224ac3 --- /dev/null +++ b/test/spec/crm/objects/deal_splits/deal_splits.spec.ts @@ -0,0 +1,10 @@ +import { BatchApi } from '../../../../../codegen/crm/objects/deal_splits/index' +import { Client } from '../../../../../index' + +describe('api client', () => { + it('is discoverable', () => { + const client = new Client().crm.objects.dealSplits + expect(Object.prototype.hasOwnProperty.call(client, 'batchApi')).toBeTruthy() + expect(BatchApi.name).toBe(client.batchApi.constructor.name) + }) +}) diff --git a/test/spec/crm/objects/objects.spec.ts b/test/spec/crm/objects/objects.spec.ts index c0839563b..292c52987 100644 --- a/test/spec/crm/objects/objects.spec.ts +++ b/test/spec/crm/objects/objects.spec.ts @@ -2,6 +2,7 @@ import { BasicApi, BatchApi, SearchApi } from '../../../../codegen/crm/objects/i import CallsDiscovery from '../../../../src/discovery/crm/objects/calls/CallsDiscovery' import { Client } from '../../../../index' import CommunicationsDiscovery from '../../../../src/discovery/crm/objects/communications/CommunicationsDiscovery' +import DealSplitsDiscovery from '../../../../src/discovery/crm/objects/deal_splits/DealSplitsDiscovery' import EmailsDiscovery from '../../../../src/discovery/crm/objects/emails/EmailsDiscovery' import FeedbackSubmissionsDiscovery from '../../../../src/discovery/crm/objects/feedback_submissions/FeedbackSubmissionsDiscovery' import GoalsDiscovery from '../../../../src/discovery/crm/objects/goals/GoalsDiscovery' @@ -17,6 +18,7 @@ describe('api client', () => { const client = new Client().crm.objects expect(CommunicationsDiscovery.name).toBe(client.communications.constructor.name) expect(CallsDiscovery.name).toBe(client.calls.constructor.name) + expect(DealSplitsDiscovery.name).toBe(client.dealSplits.constructor.name) expect(EmailsDiscovery.name).toBe(client.emails.constructor.name) expect(FeedbackSubmissionsDiscovery.name).toBe(client.feedbackSubmissions.constructor.name) expect(GoalsDiscovery.name).toBe(client.goals.constructor.name)