@d19n/youfibre-odin-sdk 1.0.281 → 1.0.282-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/dist/EntityRegistry.d.ts +2 -0
  2. package/dist/EntityRegistry.js +2 -0
  3. package/dist/OdinApiClient.d.ts +4 -0
  4. package/dist/OdinApiClient.js +8 -0
  5. package/dist/OdinDbClient.d.ts +4 -0
  6. package/dist/OdinDbClient.js +8 -0
  7. package/dist/accessors-v2/ReferralAccessor.d.ts +111 -0
  8. package/dist/accessors-v2/ReferralAccessor.js +190 -0
  9. package/dist/accessors-v2/index.d.ts +1 -0
  10. package/dist/accessors-v2/index.js +3 -1
  11. package/dist/actions-v2/CreateOrderReferralDto.d.ts +58 -0
  12. package/dist/actions-v2/CreateOrderReferralDto.js +52 -0
  13. package/dist/actions-v2/UpdateReferralCodeDto.d.ts +68 -0
  14. package/dist/actions-v2/UpdateReferralCodeDto.js +51 -0
  15. package/dist/db-accessors-v2/ReferralDbAccessor.d.ts +103 -0
  16. package/dist/db-accessors-v2/ReferralDbAccessor.js +181 -0
  17. package/dist/db-accessors-v2/index.d.ts +1 -0
  18. package/dist/db-accessors-v2/index.js +3 -1
  19. package/dist/entities-v2/Config.d.ts +8 -8
  20. package/dist/entities-v2/Config.js +4 -4
  21. package/dist/entities-v2/Contact.d.ts +7 -8
  22. package/dist/entities-v2/Contact.js +2 -2
  23. package/dist/entities-v2/EtfInvoice.d.ts +684 -0
  24. package/dist/entities-v2/EtfInvoice.js +334 -0
  25. package/dist/entities-v2/Invoice.d.ts +3 -1
  26. package/dist/entities-v2/Invoice.js +2 -0
  27. package/dist/records-v2/ContactRecord.d.ts +43 -0
  28. package/dist/records-v2/ContactRecord.js +61 -0
  29. package/dist/records-v2/InvoiceRecord.d.ts +7 -2
  30. package/dist/records-v2/InvoiceRecord.js +6 -1
  31. package/dist/records-v2/OrderRecord.d.ts +20 -0
  32. package/dist/records-v2/OrderRecord.js +33 -0
  33. package/dist/records-v2/ReferralRecord.d.ts +151 -0
  34. package/dist/records-v2/ReferralRecord.js +225 -0
  35. package/dist/records-v2/index.d.ts +1 -0
  36. package/dist/records-v2/index.js +5 -2
  37. package/package.json +1 -1
@@ -80,6 +80,7 @@ import { PgWebhookAttemptAccessor } from './accessors-v2/PgWebhookAttemptAccesso
80
80
  import { PriceBookAccessor } from './accessors-v2/PriceBookAccessor';
81
81
  import { ProductAccessor } from './accessors-v2/ProductAccessor';
82
82
  import { PushNotificationAccessor } from './accessors-v2/PushNotificationAccessor';
83
+ import { ReferralAccessor } from './accessors-v2/ReferralAccessor';
83
84
  import { RemediationOutcomeFormAccessor } from './accessors-v2/RemediationOutcomeFormAccessor';
84
85
  import { RemediationRequiredReasonAccessor } from './accessors-v2/RemediationRequiredReasonAccessor';
85
86
  import { ReturnsAccessor } from './accessors-v2/ReturnsAccessor';
@@ -177,6 +178,7 @@ export declare const EntityRegistry: {
177
178
  readonly PriceBook: typeof PriceBookAccessor;
178
179
  readonly Product: typeof ProductAccessor;
179
180
  readonly PushNotification: typeof PushNotificationAccessor;
181
+ readonly Referral: typeof ReferralAccessor;
180
182
  readonly RemediationOutcomeForm: typeof RemediationOutcomeFormAccessor;
181
183
  readonly RemediationRequiredReason: typeof RemediationRequiredReasonAccessor;
182
184
  readonly Returns: typeof ReturnsAccessor;
@@ -83,6 +83,7 @@ const PgWebhookAttemptAccessor_1 = require("./accessors-v2/PgWebhookAttemptAcces
83
83
  const PriceBookAccessor_1 = require("./accessors-v2/PriceBookAccessor");
84
84
  const ProductAccessor_1 = require("./accessors-v2/ProductAccessor");
85
85
  const PushNotificationAccessor_1 = require("./accessors-v2/PushNotificationAccessor");
86
+ const ReferralAccessor_1 = require("./accessors-v2/ReferralAccessor");
86
87
  const RemediationOutcomeFormAccessor_1 = require("./accessors-v2/RemediationOutcomeFormAccessor");
87
88
  const RemediationRequiredReasonAccessor_1 = require("./accessors-v2/RemediationRequiredReasonAccessor");
88
89
  const ReturnsAccessor_1 = require("./accessors-v2/ReturnsAccessor");
@@ -180,6 +181,7 @@ exports.EntityRegistry = {
180
181
  'PriceBook': PriceBookAccessor_1.PriceBookAccessor,
181
182
  'Product': ProductAccessor_1.ProductAccessor,
182
183
  'PushNotification': PushNotificationAccessor_1.PushNotificationAccessor,
184
+ 'Referral': ReferralAccessor_1.ReferralAccessor,
183
185
  'RemediationOutcomeForm': RemediationOutcomeFormAccessor_1.RemediationOutcomeFormAccessor,
184
186
  'RemediationRequiredReason': RemediationRequiredReasonAccessor_1.RemediationRequiredReasonAccessor,
185
187
  'Returns': ReturnsAccessor_1.ReturnsAccessor,
@@ -90,6 +90,7 @@ import { PgWebhookAttemptAccessor } from './accessors-v2/PgWebhookAttemptAccesso
90
90
  import { PriceBookAccessor } from './accessors-v2/PriceBookAccessor';
91
91
  import { ProductAccessor } from './accessors-v2/ProductAccessor';
92
92
  import { PushNotificationAccessor } from './accessors-v2/PushNotificationAccessor';
93
+ import { ReferralAccessor } from './accessors-v2/ReferralAccessor';
93
94
  import { RemediationOutcomeFormAccessor } from './accessors-v2/RemediationOutcomeFormAccessor';
94
95
  import { RemediationRequiredReasonAccessor } from './accessors-v2/RemediationRequiredReasonAccessor';
95
96
  import { ReturnsAccessor } from './accessors-v2/ReturnsAccessor';
@@ -196,6 +197,7 @@ export declare class OdinApiClient {
196
197
  private _priceBooks?;
197
198
  private _products?;
198
199
  private _pushNotifications?;
200
+ private _referrals?;
199
201
  private _remediationOutcomeForms?;
200
202
  private _remediationRequiredReasons?;
201
203
  private _returnses?;
@@ -372,6 +374,8 @@ export declare class OdinApiClient {
372
374
  get products(): ProductAccessor;
373
375
  /** Access PushNotification records */
374
376
  get pushNotifications(): PushNotificationAccessor;
377
+ /** Access Referral records */
378
+ get referrals(): ReferralAccessor;
375
379
  /** Access RemediationOutcomeForm records */
376
380
  get remediationOutcomeForms(): RemediationOutcomeFormAccessor;
377
381
  /** Access RemediationRequiredReason records */
@@ -101,6 +101,7 @@ const PgWebhookAttemptAccessor_1 = require("./accessors-v2/PgWebhookAttemptAcces
101
101
  const PriceBookAccessor_1 = require("./accessors-v2/PriceBookAccessor");
102
102
  const ProductAccessor_1 = require("./accessors-v2/ProductAccessor");
103
103
  const PushNotificationAccessor_1 = require("./accessors-v2/PushNotificationAccessor");
104
+ const ReferralAccessor_1 = require("./accessors-v2/ReferralAccessor");
104
105
  const RemediationOutcomeFormAccessor_1 = require("./accessors-v2/RemediationOutcomeFormAccessor");
105
106
  const RemediationRequiredReasonAccessor_1 = require("./accessors-v2/RemediationRequiredReasonAccessor");
106
107
  const ReturnsAccessor_1 = require("./accessors-v2/ReturnsAccessor");
@@ -639,6 +640,13 @@ class OdinApiClient {
639
640
  }
640
641
  return this._pushNotifications;
641
642
  }
643
+ /** Access Referral records */
644
+ get referrals() {
645
+ if (!this._referrals) {
646
+ this._referrals = new ReferralAccessor_1.ReferralAccessor(this._provider);
647
+ }
648
+ return this._referrals;
649
+ }
642
650
  /** Access RemediationOutcomeForm records */
643
651
  get remediationOutcomeForms() {
644
652
  if (!this._remediationOutcomeForms) {
@@ -86,6 +86,7 @@ import { PgWebhookDbAccessor } from './db-accessors-v2/PgWebhookDbAccessor';
86
86
  import { PriceBookDbAccessor } from './db-accessors-v2/PriceBookDbAccessor';
87
87
  import { ProductDbAccessor } from './db-accessors-v2/ProductDbAccessor';
88
88
  import { PushNotificationDbAccessor } from './db-accessors-v2/PushNotificationDbAccessor';
89
+ import { ReferralDbAccessor } from './db-accessors-v2/ReferralDbAccessor';
89
90
  import { RemediationOutcomeFormDbAccessor } from './db-accessors-v2/RemediationOutcomeFormDbAccessor';
90
91
  import { RemediationRequiredReasonDbAccessor } from './db-accessors-v2/RemediationRequiredReasonDbAccessor';
91
92
  import { ReturnsDbAccessor } from './db-accessors-v2/ReturnsDbAccessor';
@@ -185,6 +186,7 @@ export declare class OdinDbClient {
185
186
  private _priceBooks?;
186
187
  private _products?;
187
188
  private _pushNotifications?;
189
+ private _referrals?;
188
190
  private _remediationOutcomeForms?;
189
191
  private _remediationRequiredReasons?;
190
192
  private _returnses?;
@@ -357,6 +359,8 @@ export declare class OdinDbClient {
357
359
  get products(): ProductDbAccessor;
358
360
  /** Access PushNotification records */
359
361
  get pushNotifications(): PushNotificationDbAccessor;
362
+ /** Access Referral records */
363
+ get referrals(): ReferralDbAccessor;
360
364
  /** Access RemediationOutcomeForm records */
361
365
  get remediationOutcomeForms(): RemediationOutcomeFormDbAccessor;
362
366
  /** Access RemediationRequiredReason records */
@@ -89,6 +89,7 @@ const PgWebhookDbAccessor_1 = require("./db-accessors-v2/PgWebhookDbAccessor");
89
89
  const PriceBookDbAccessor_1 = require("./db-accessors-v2/PriceBookDbAccessor");
90
90
  const ProductDbAccessor_1 = require("./db-accessors-v2/ProductDbAccessor");
91
91
  const PushNotificationDbAccessor_1 = require("./db-accessors-v2/PushNotificationDbAccessor");
92
+ const ReferralDbAccessor_1 = require("./db-accessors-v2/ReferralDbAccessor");
92
93
  const RemediationOutcomeFormDbAccessor_1 = require("./db-accessors-v2/RemediationOutcomeFormDbAccessor");
93
94
  const RemediationRequiredReasonDbAccessor_1 = require("./db-accessors-v2/RemediationRequiredReasonDbAccessor");
94
95
  const ReturnsDbAccessor_1 = require("./db-accessors-v2/ReturnsDbAccessor");
@@ -616,6 +617,13 @@ class OdinDbClient {
616
617
  }
617
618
  return this._pushNotifications;
618
619
  }
620
+ /** Access Referral records */
621
+ get referrals() {
622
+ if (!this._referrals) {
623
+ this._referrals = new ReferralDbAccessor_1.ReferralDbAccessor(this._principal, this._dbService);
624
+ }
625
+ return this._referrals;
626
+ }
619
627
  /** Access RemediationOutcomeForm records */
620
628
  get remediationOutcomeForms() {
621
629
  if (!this._remediationOutcomeForms) {
@@ -0,0 +1,111 @@
1
+ /**
2
+ * Referral Accessor
3
+ *
4
+ * Provides typed access to Referral records via API.
5
+ * Returns wrapped records with typed action methods.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * // Get existing record
10
+ * const record = await accessor.get(id);
11
+ * await record.updateReferral({ ... });
12
+ *
13
+ * // Create new record
14
+ * const newRecord = accessor.new();
15
+ * await newRecord.createReferral({ ... });
16
+ * ```
17
+ *
18
+ * AUTO-GENERATED - DO NOT EDIT DIRECTLY
19
+ */
20
+ import { OdinSearchV2 } from '@d19n/odin-types/dist/core';
21
+ import { ApiProvider } from '@d19n/odin-sdk-generator/dist/api.provider';
22
+ import { OauthParams } from '@d19n/odin-sdk-generator/dist/odin-sdk-types';
23
+ import { QueryBuilder } from '@d19n/odin-sdk-generator/dist/query-builder';
24
+ import { ReferralProperties } from '../entities-v2/Referral';
25
+ import { ReferralRecord } from '../records-v2/ReferralRecord';
26
+ /** List response with wrapped records */
27
+ export interface ReferralListResponse {
28
+ data: ReferralRecord[];
29
+ hasMore: boolean;
30
+ totalRecords: number;
31
+ }
32
+ /** Search response with wrapped records */
33
+ export interface ReferralSearchResponse {
34
+ records: ReferralRecord[];
35
+ totalRecords: number;
36
+ hasMore: boolean;
37
+ }
38
+ export declare class ReferralAccessor {
39
+ private readonly _provider;
40
+ private readonly _moduleName;
41
+ private readonly _entityName;
42
+ constructor(provider: ApiProvider);
43
+ constructor(authParams: OauthParams);
44
+ constructor(authToken: string, host?: string);
45
+ get moduleName(): string;
46
+ get entityName(): string;
47
+ /**
48
+ * Create a new empty Referral record instance for create operations.
49
+ * Pre-generates an ID that can be referenced before the record is saved.
50
+ *
51
+ * @param id - Optional ID to use (auto-generated UUID if not provided)
52
+ * @returns A new record wrapper with pre-generated ID
53
+ *
54
+ * @example
55
+ * ```typescript
56
+ * // Auto-generated ID
57
+ * const note = odinClient.notes.new();
58
+ * console.log(note.id); // UUID available immediately
59
+ *
60
+ * // Custom ID
61
+ * const order = odinClient.orders.new("custom-id-123");
62
+ *
63
+ * // Reference ID before save
64
+ * const account = odinClient.accounts.new();
65
+ * const contact = odinClient.contacts.new();
66
+ * await contact
67
+ * .link({ id: account.id, entity: "CrmModule:Account" })
68
+ * .createContact({ FirstName: "John" });
69
+ * ```
70
+ */
71
+ new(id?: string): ReferralRecord;
72
+ /**
73
+ * Get a single Referral record by ID
74
+ */
75
+ get(id: string): Promise<ReferralRecord>;
76
+ /**
77
+ * Get multiple Referral records by IDs
78
+ */
79
+ getMany(ids: string[]): Promise<ReferralRecord[]>;
80
+ /**
81
+ * Search Referral records
82
+ */
83
+ search(params: Partial<OdinSearchV2>): Promise<ReferralSearchResponse>;
84
+ /**
85
+ * Search all Referral records with automatic pagination
86
+ */
87
+ searchAll(params: Partial<OdinSearchV2>): Promise<ReferralRecord[]>;
88
+ /**
89
+ * Async generator for paginating through all matching records.
90
+ * Yields batches of wrapped records.
91
+ */
92
+ paginate(params: Partial<OdinSearchV2>): AsyncGenerator<ReferralRecord[]>;
93
+ /**
94
+ * Create a fluent query builder for Referral records
95
+ *
96
+ * @example
97
+ * ```typescript
98
+ * const results = await accessor
99
+ * .query()
100
+ * .where('Status', 'in', ['Active', 'Pending'])
101
+ * .where('CreatedAt', 'gte', '2025-01-01')
102
+ * .select('id', 'title', 'properties.*')
103
+ * .sortBy('createdAt', 'desc')
104
+ * .limit(100)
105
+ * .execute();
106
+ * ```
107
+ */
108
+ query(): QueryBuilder<ReferralProperties, ReferralRecord>;
109
+ /** Access the underlying ApiProvider */
110
+ get provider(): ApiProvider;
111
+ }
@@ -0,0 +1,190 @@
1
+ "use strict";
2
+ /**
3
+ * Referral Accessor
4
+ *
5
+ * Provides typed access to Referral records via API.
6
+ * Returns wrapped records with typed action methods.
7
+ *
8
+ * @example
9
+ * ```typescript
10
+ * // Get existing record
11
+ * const record = await accessor.get(id);
12
+ * await record.updateReferral({ ... });
13
+ *
14
+ * // Create new record
15
+ * const newRecord = accessor.new();
16
+ * await newRecord.createReferral({ ... });
17
+ * ```
18
+ *
19
+ * AUTO-GENERATED - DO NOT EDIT DIRECTLY
20
+ */
21
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
22
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
23
+ return new (P || (P = Promise))(function (resolve, reject) {
24
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
25
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
26
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
27
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
28
+ });
29
+ };
30
+ var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
31
+ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
32
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
33
+ var g = generator.apply(thisArg, _arguments || []), i, q = [];
34
+ return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
35
+ function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
36
+ function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
37
+ function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
38
+ function fulfill(value) { resume("next", value); }
39
+ function reject(value) { resume("throw", value); }
40
+ function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
41
+ };
42
+ Object.defineProperty(exports, "__esModule", { value: true });
43
+ exports.ReferralAccessor = void 0;
44
+ const api_provider_1 = require("@d19n/odin-sdk-generator/dist/api.provider");
45
+ const query_builder_1 = require("@d19n/odin-sdk-generator/dist/query-builder");
46
+ const ReferralRecord_1 = require("../records-v2/ReferralRecord");
47
+ class ReferralAccessor {
48
+ constructor(providerOrAuth, host) {
49
+ this._moduleName = 'CrmModule';
50
+ this._entityName = 'Referral';
51
+ if (providerOrAuth instanceof api_provider_1.ApiProvider) {
52
+ this._provider = providerOrAuth;
53
+ }
54
+ else if (typeof providerOrAuth === 'string') {
55
+ // Auth token provided
56
+ this._provider = new api_provider_1.ApiProvider(host ? { host } : undefined, providerOrAuth);
57
+ }
58
+ else {
59
+ // OauthParams provided
60
+ this._provider = new api_provider_1.ApiProvider(providerOrAuth);
61
+ }
62
+ }
63
+ get moduleName() { return this._moduleName; }
64
+ get entityName() { return this._entityName; }
65
+ // ============================================
66
+ // RECORD CREATION
67
+ // ============================================
68
+ /**
69
+ * Create a new empty Referral record instance for create operations.
70
+ * Pre-generates an ID that can be referenced before the record is saved.
71
+ *
72
+ * @param id - Optional ID to use (auto-generated UUID if not provided)
73
+ * @returns A new record wrapper with pre-generated ID
74
+ *
75
+ * @example
76
+ * ```typescript
77
+ * // Auto-generated ID
78
+ * const note = odinClient.notes.new();
79
+ * console.log(note.id); // UUID available immediately
80
+ *
81
+ * // Custom ID
82
+ * const order = odinClient.orders.new("custom-id-123");
83
+ *
84
+ * // Reference ID before save
85
+ * const account = odinClient.accounts.new();
86
+ * const contact = odinClient.contacts.new();
87
+ * await contact
88
+ * .link({ id: account.id, entity: "CrmModule:Account" })
89
+ * .createContact({ FirstName: "John" });
90
+ * ```
91
+ */
92
+ new(id) {
93
+ return new ReferralRecord_1.ReferralRecord(null, this._provider, id);
94
+ }
95
+ // ============================================
96
+ // RECORD RETRIEVAL
97
+ // ============================================
98
+ /**
99
+ * Get a single Referral record by ID
100
+ */
101
+ get(id) {
102
+ return __awaiter(this, void 0, void 0, function* () {
103
+ const record = yield this._provider._getByPrimaryKey(this._moduleName, this._entityName, id);
104
+ return new ReferralRecord_1.ReferralRecord(record, this._provider);
105
+ });
106
+ }
107
+ /**
108
+ * Get multiple Referral records by IDs
109
+ */
110
+ getMany(ids) {
111
+ return __awaiter(this, void 0, void 0, function* () {
112
+ if (ids.length === 0)
113
+ return [];
114
+ const records = yield this._provider._getManyByPrimaryKey(this._moduleName, this._entityName, ids);
115
+ return records.map((r) => new ReferralRecord_1.ReferralRecord(r, this._provider));
116
+ });
117
+ }
118
+ // ============================================
119
+ // SEARCH OPERATIONS
120
+ // ============================================
121
+ /**
122
+ * Search Referral records
123
+ */
124
+ search(params) {
125
+ return __awaiter(this, void 0, void 0, function* () {
126
+ const result = yield this._provider._searchRecords(this._moduleName, this._entityName, params);
127
+ return {
128
+ records: result.records.map((r) => new ReferralRecord_1.ReferralRecord(r, this._provider)),
129
+ totalRecords: result.totalRecords,
130
+ hasMore: result.hasMore,
131
+ };
132
+ });
133
+ }
134
+ /**
135
+ * Search all Referral records with automatic pagination
136
+ */
137
+ searchAll(params) {
138
+ return __awaiter(this, void 0, void 0, function* () {
139
+ const result = yield this._provider._searchAllRecordsAndPaginate(this._moduleName, this._entityName, params);
140
+ return result.records.map((r) => new ReferralRecord_1.ReferralRecord(r, this._provider));
141
+ });
142
+ }
143
+ /**
144
+ * Async generator for paginating through all matching records.
145
+ * Yields batches of wrapped records.
146
+ */
147
+ paginate(params) {
148
+ var _a;
149
+ return __asyncGenerator(this, arguments, function* paginate_1() {
150
+ let hasMore = true;
151
+ let searchAfter;
152
+ const query = Object.assign(Object.assign({}, params.query), { pageSize: ((_a = params.query) === null || _a === void 0 ? void 0 : _a.pageSize) || 500 });
153
+ while (hasMore) {
154
+ const result = yield __await(this._provider._searchRecords(this._moduleName, this._entityName, Object.assign(Object.assign({}, params), { query: Object.assign(Object.assign({}, query), { searchAfter }) })));
155
+ if (result.records.length > 0) {
156
+ yield yield __await(result.records.map((r) => new ReferralRecord_1.ReferralRecord(r, this._provider)));
157
+ const lastRecord = result.records[result.records.length - 1];
158
+ searchAfter = lastRecord === null || lastRecord === void 0 ? void 0 : lastRecord.sort;
159
+ }
160
+ hasMore = result.hasMore && result.records.length >= query.pageSize;
161
+ }
162
+ });
163
+ }
164
+ // ============================================
165
+ // QUERY BUILDER
166
+ // ============================================
167
+ /**
168
+ * Create a fluent query builder for Referral records
169
+ *
170
+ * @example
171
+ * ```typescript
172
+ * const results = await accessor
173
+ * .query()
174
+ * .where('Status', 'in', ['Active', 'Pending'])
175
+ * .where('CreatedAt', 'gte', '2025-01-01')
176
+ * .select('id', 'title', 'properties.*')
177
+ * .sortBy('createdAt', 'desc')
178
+ * .limit(100)
179
+ * .execute();
180
+ * ```
181
+ */
182
+ query() {
183
+ return (0, query_builder_1.createQueryBuilder)(this);
184
+ }
185
+ /** Access the underlying ApiProvider */
186
+ get provider() {
187
+ return this._provider;
188
+ }
189
+ }
190
+ exports.ReferralAccessor = ReferralAccessor;
@@ -75,6 +75,7 @@ export { PgWebhookAccessor, PgWebhookSearchResponse, PgWebhookListResponse } fro
75
75
  export { PriceBookAccessor, PriceBookSearchResponse, PriceBookListResponse } from './PriceBookAccessor';
76
76
  export { ProductAccessor, ProductSearchResponse, ProductListResponse } from './ProductAccessor';
77
77
  export { PushNotificationAccessor, PushNotificationSearchResponse, PushNotificationListResponse } from './PushNotificationAccessor';
78
+ export { ReferralAccessor, ReferralSearchResponse, ReferralListResponse } from './ReferralAccessor';
78
79
  export { RemediationOutcomeFormAccessor, RemediationOutcomeFormSearchResponse, RemediationOutcomeFormListResponse } from './RemediationOutcomeFormAccessor';
79
80
  export { RemediationRequiredReasonAccessor, RemediationRequiredReasonSearchResponse, RemediationRequiredReasonListResponse } from './RemediationRequiredReasonAccessor';
80
81
  export { ReturnsAccessor, ReturnsSearchResponse, ReturnsListResponse } from './ReturnsAccessor';
@@ -9,7 +9,7 @@
9
9
  */
10
10
  Object.defineProperty(exports, "__esModule", { value: true });
11
11
  exports.PICRequestAccessor = exports.OverlayRealA55Accessor = exports.OutageAccessor = exports.OrderAccessor = exports.OrderItemAccessor = exports.OrderCheckAccessor = exports.OntReplacementApprovalAccessor = exports.OneTouchSwitchAccessor = exports.OhRetroAuditAccessor = exports.OhInstallationAuditAccessor = exports.OhInProgressAuditAccessor = exports.OhExternalAuditAccessor = exports.OhAuditOfInstallationAccessor = exports.OfferAccessor = exports.NoteAccessor = exports.NetworkDeviceAccessor = exports.MessageAccessor = exports.LeadAccessor = exports.KnowledgeArticleAccessor = exports.InvoiceAccessor = exports.InternalInstallAuditAccessor = exports.ImpersonationTrackerAccessor = exports.FieldServiceProductAccessor = exports.FieldServiceDispatchedProductAccessor = exports.EmailTemplateAccessor = exports.EmailAccessor = exports.DiscountAccessor = exports.CustomerPhonePortingAccessor = exports.CustomerDeviceRouterAccessor = exports.CustomerDeviceOntAccessor = exports.CustomerDeviceAtaAccessor = exports.CrmDatasetAccessor = exports.CreditNoteAccessor = exports.ConversationAccessor = exports.ContractBuyOutAccessor = exports.ContactAccessor = exports.ConfigAccessor = exports.ChurnRequestAccessor = exports.ChangeReasonAccessor = exports.CaseAccessor = exports.CallAccessor = exports.CallLegAccessor = exports.BlockageA55Accessor = exports.BillingRequestAccessor = exports.BillingAdjustmentAccessor = exports.AppointmentAccessor = exports.AddressAccessor = exports.ActivityAccessor = exports.ActivityLogAccessor = exports.AccountAccessor = void 0;
12
- exports.YfFieldServiceVisitAccessor = exports.WorkOrderStatusUpdateAccessor = exports.WorkOrderAccessor = exports.WayleaveAuditAccessor = exports.VoiceConfigurationAccessor = exports.VisitAccessor = exports.UserAccessor = exports.UgRetroAuditAccessor = exports.UgInstallationAuditAccessor = exports.UgInProgressAuditAccessor = exports.UgExternalAuditAccessor = exports.UgAuditOfInstallationAccessor = exports.TwilioUserUpdateAccessor = exports.TransactionAccessor = exports.TimeSlotAccessor = exports.TeamAccessor = exports.SweeperMaintenanceAuditAccessor = exports.SiteSpecificRiskAssessmentOutcomeFormAccessor = exports.ServiceVisitAuditAccessor = exports.ServiceAccessor = exports.ServiceAppointmentAccessor = exports.ServiceAppointmentConfigAccessor = exports.ScheduleSlotAccessor = exports.SalesTerritoryAccessor = exports.ReturnsAccessor = exports.RemediationRequiredReasonAccessor = exports.RemediationOutcomeFormAccessor = exports.PushNotificationAccessor = exports.ProductAccessor = exports.PriceBookAccessor = exports.PgWebhookAccessor = exports.PgWebhookAttemptAccessor = exports.PgVocalinkAccessor = exports.PgTransactionAccessor = exports.PgSortCodeSubstitutionAccessor = exports.PgPaymentMethodAccessor = exports.PgLogAccessor = exports.PgFileAllocationAccessor = exports.PgDisputeAccessor = exports.PgDirectDebitFileAccessor = exports.PgContactAccessor = exports.PgAccountValidationAccessor = exports.PermissionToFailAccessor = exports.PaymentAccessor = exports.PaymentMethodRefundAccessor = exports.PaymentMethodAccessor = void 0;
12
+ exports.YfFieldServiceVisitAccessor = exports.WorkOrderStatusUpdateAccessor = exports.WorkOrderAccessor = exports.WayleaveAuditAccessor = exports.VoiceConfigurationAccessor = exports.VisitAccessor = exports.UserAccessor = exports.UgRetroAuditAccessor = exports.UgInstallationAuditAccessor = exports.UgInProgressAuditAccessor = exports.UgExternalAuditAccessor = exports.UgAuditOfInstallationAccessor = exports.TwilioUserUpdateAccessor = exports.TransactionAccessor = exports.TimeSlotAccessor = exports.TeamAccessor = exports.SweeperMaintenanceAuditAccessor = exports.SiteSpecificRiskAssessmentOutcomeFormAccessor = exports.ServiceVisitAuditAccessor = exports.ServiceAccessor = exports.ServiceAppointmentAccessor = exports.ServiceAppointmentConfigAccessor = exports.ScheduleSlotAccessor = exports.SalesTerritoryAccessor = exports.ReturnsAccessor = exports.RemediationRequiredReasonAccessor = exports.RemediationOutcomeFormAccessor = exports.ReferralAccessor = exports.PushNotificationAccessor = exports.ProductAccessor = exports.PriceBookAccessor = exports.PgWebhookAccessor = exports.PgWebhookAttemptAccessor = exports.PgVocalinkAccessor = exports.PgTransactionAccessor = exports.PgSortCodeSubstitutionAccessor = exports.PgPaymentMethodAccessor = exports.PgLogAccessor = exports.PgFileAllocationAccessor = exports.PgDisputeAccessor = exports.PgDirectDebitFileAccessor = exports.PgContactAccessor = exports.PgAccountValidationAccessor = exports.PermissionToFailAccessor = exports.PaymentAccessor = exports.PaymentMethodRefundAccessor = exports.PaymentMethodAccessor = void 0;
13
13
  var AccountAccessor_1 = require("./AccountAccessor");
14
14
  Object.defineProperty(exports, "AccountAccessor", { enumerable: true, get: function () { return AccountAccessor_1.AccountAccessor; } });
15
15
  var ActivityLogAccessor_1 = require("./ActivityLogAccessor");
@@ -148,6 +148,8 @@ var ProductAccessor_1 = require("./ProductAccessor");
148
148
  Object.defineProperty(exports, "ProductAccessor", { enumerable: true, get: function () { return ProductAccessor_1.ProductAccessor; } });
149
149
  var PushNotificationAccessor_1 = require("./PushNotificationAccessor");
150
150
  Object.defineProperty(exports, "PushNotificationAccessor", { enumerable: true, get: function () { return PushNotificationAccessor_1.PushNotificationAccessor; } });
151
+ var ReferralAccessor_1 = require("./ReferralAccessor");
152
+ Object.defineProperty(exports, "ReferralAccessor", { enumerable: true, get: function () { return ReferralAccessor_1.ReferralAccessor; } });
151
153
  var RemediationOutcomeFormAccessor_1 = require("./RemediationOutcomeFormAccessor");
152
154
  Object.defineProperty(exports, "RemediationOutcomeFormAccessor", { enumerable: true, get: function () { return RemediationOutcomeFormAccessor_1.RemediationOutcomeFormAccessor; } });
153
155
  var RemediationRequiredReasonAccessor_1 = require("./RemediationRequiredReasonAccessor");
@@ -0,0 +1,58 @@
1
+ /**
2
+ * CreateOrderReferral Action DTO
3
+ *
4
+ * Create a referral that follows the order stages
5
+ *
6
+ * @module CrmModule
7
+ * @entity Referral
8
+ * @entityType ORDER
9
+ * @actionKey CreateOrderReferral
10
+ * @event OrderReferralCreated
11
+ *
12
+ * AUTO-GENERATED - DO NOT EDIT DIRECTLY
13
+ */
14
+ import { OdinRecordCreateDto, OdinRecordCreatedEvent } from '@d19n/odin-types/dist/core';
15
+ /**
16
+ * Properties for CreateOrderReferral action
17
+ *
18
+ * @property Required fields: 0
19
+ * @property Optional fields: 5
20
+ */
21
+ export interface CreateOrderReferralProperties {
22
+ }
23
+ /**
24
+ * CreateOrderReferral
25
+ *
26
+ * Create a referral that follows the order stages
27
+ *
28
+ * @actionType CREATE - Creates a new Referral record
29
+ * @module CrmModule
30
+ * @entity Referral
31
+ * @entityType ORDER (ORDER)
32
+ * @event CrmModule.Referral.Create.CreateOrderReferral
33
+ * @permission schema.action.createorderreferral.trigger
34
+ * @benchmark This action is tracked for performance benchmarks
35
+ */
36
+ export declare class CreateOrderReferralDto extends OdinRecordCreateDto<CreateOrderReferralProperties> {
37
+ /** Used by SDK generators to identify action type */
38
+ static readonly ACTION_TYPE = "CREATE";
39
+ static readonly ACTION_KEY = "CreateOrderReferral";
40
+ static readonly MODULE_NAME = "CrmModule";
41
+ static readonly ENTITIES: string[];
42
+ static readonly ENTITY_TYPE = "ORDER";
43
+ static readonly EVENT_NAME = "CrmModule.Referral.Create.CreateOrderReferral";
44
+ static readonly PERMISSION = "schema.action.createorderreferral.trigger";
45
+ readonly actionName: string;
46
+ readonly schemaActionId: string;
47
+ readonly entity: string;
48
+ constructor(properties: CreateOrderReferralProperties, options?: {
49
+ journeyId?: string;
50
+ });
51
+ }
52
+ /**
53
+ * RabbitMQ message payload for CreateOrderReferral created events
54
+ *
55
+ * @event CrmModule.Referral.Create.CreateOrderReferral
56
+ */
57
+ export interface CreateOrderReferralMessage extends OdinRecordCreatedEvent<CreateOrderReferralDto, CreateOrderReferralProperties> {
58
+ }
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ /**
3
+ * CreateOrderReferral Action DTO
4
+ *
5
+ * Create a referral that follows the order stages
6
+ *
7
+ * @module CrmModule
8
+ * @entity Referral
9
+ * @entityType ORDER
10
+ * @actionKey CreateOrderReferral
11
+ * @event OrderReferralCreated
12
+ *
13
+ * AUTO-GENERATED - DO NOT EDIT DIRECTLY
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.CreateOrderReferralDto = void 0;
17
+ const core_1 = require("@d19n/odin-types/dist/core");
18
+ /**
19
+ * CreateOrderReferral
20
+ *
21
+ * Create a referral that follows the order stages
22
+ *
23
+ * @actionType CREATE - Creates a new Referral record
24
+ * @module CrmModule
25
+ * @entity Referral
26
+ * @entityType ORDER (ORDER)
27
+ * @event CrmModule.Referral.Create.CreateOrderReferral
28
+ * @permission schema.action.createorderreferral.trigger
29
+ * @benchmark This action is tracked for performance benchmarks
30
+ */
31
+ class CreateOrderReferralDto extends core_1.OdinRecordCreateDto {
32
+ constructor(properties, options) {
33
+ super({
34
+ entity: 'CrmModule:Referral',
35
+ type: 'ORDER',
36
+ properties,
37
+ journeyId: options === null || options === void 0 ? void 0 : options.journeyId,
38
+ });
39
+ this.actionName = 'CreateOrderReferral';
40
+ this.schemaActionId = 'd286743e-18ad-454a-80a8-d92aed2f105c';
41
+ this.entity = 'CrmModule:Referral';
42
+ }
43
+ }
44
+ exports.CreateOrderReferralDto = CreateOrderReferralDto;
45
+ /** Used by SDK generators to identify action type */
46
+ CreateOrderReferralDto.ACTION_TYPE = 'CREATE';
47
+ CreateOrderReferralDto.ACTION_KEY = 'CreateOrderReferral';
48
+ CreateOrderReferralDto.MODULE_NAME = 'CrmModule';
49
+ CreateOrderReferralDto.ENTITIES = ['Referral'];
50
+ CreateOrderReferralDto.ENTITY_TYPE = 'ORDER';
51
+ CreateOrderReferralDto.EVENT_NAME = 'CrmModule.Referral.Create.CreateOrderReferral';
52
+ CreateOrderReferralDto.PERMISSION = 'schema.action.createorderreferral.trigger';
@@ -0,0 +1,68 @@
1
+ /**
2
+ * UpdateReferralCode Action DTO
3
+ *
4
+ * Set referral code for a contact
5
+ *
6
+ * @module CrmModule
7
+ * @entity Contact
8
+ * @actionKey UpdateReferralCode
9
+ * @event ReferralCodeUpdated
10
+ *
11
+ * AUTO-GENERATED - DO NOT EDIT DIRECTLY
12
+ */
13
+ import { OdinRecord, OdinRecordUpdateDto, OdinRecordUpdatedEvent } from '@d19n/odin-types/dist/core';
14
+ /**
15
+ * Properties for UpdateReferralCode action
16
+ *
17
+ * @property Required fields: 1
18
+ * @property Optional fields: 0
19
+ */
20
+ export interface UpdateReferralCodeProperties {
21
+ /**
22
+ * ReferralCode
23
+ *
24
+ * Referral Code (Sales - Contact)
25
+ * @type {TEXT}
26
+ * @required
27
+ */
28
+ ReferralCode: string;
29
+ }
30
+ /**
31
+ * UpdateReferralCode
32
+ *
33
+ * Set referral code for a contact
34
+ *
35
+ * @actionType UPDATE - Updates an existing Contact record
36
+ * @module CrmModule
37
+ * @entity Contact
38
+ * @event CrmModule.Contact.Update.UpdateReferralCode
39
+ * @permission schema.action.updatereferralcode.trigger
40
+ * @benchmark This action is tracked for performance benchmarks
41
+ */
42
+ export declare class UpdateReferralCodeDto extends OdinRecordUpdateDto<UpdateReferralCodeProperties> {
43
+ /** Used by SDK generators to identify action type */
44
+ static readonly ACTION_TYPE = "UPDATE";
45
+ static readonly ACTION_KEY = "UpdateReferralCode";
46
+ static readonly MODULE_NAME = "CrmModule";
47
+ static readonly ENTITIES: string[];
48
+ static readonly EVENT_NAME = "CrmModule.Contact.Update.UpdateReferralCode";
49
+ static readonly PERMISSION = "schema.action.updatereferralcode.trigger";
50
+ readonly actionName: string;
51
+ readonly schemaActionId: string;
52
+ readonly entity: string;
53
+ constructor(record: OdinRecord<any> | {
54
+ id: string;
55
+ entity: string;
56
+ type?: string;
57
+ }, properties: UpdateReferralCodeProperties, options?: {
58
+ journeyId?: string;
59
+ stageKey?: string;
60
+ });
61
+ }
62
+ /**
63
+ * RabbitMQ message payload for UpdateReferralCode updated events
64
+ *
65
+ * @event CrmModule.Contact.Update.UpdateReferralCode
66
+ */
67
+ export interface UpdateReferralCodeMessage extends OdinRecordUpdatedEvent<UpdateReferralCodeDto, UpdateReferralCodeProperties> {
68
+ }