@d19n/youfibre-odin-sdk 1.0.282-beta.0 → 1.0.282-beta.2

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 (39) hide show
  1. package/dist/EntityRegistry.d.ts +4 -0
  2. package/dist/EntityRegistry.js +4 -0
  3. package/dist/OdinApiClient.d.ts +8 -0
  4. package/dist/OdinApiClient.js +16 -0
  5. package/dist/OdinDbClient.d.ts +8 -0
  6. package/dist/OdinDbClient.js +16 -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/RewardAccessor.d.ts +111 -0
  10. package/dist/accessors-v2/RewardAccessor.js +190 -0
  11. package/dist/accessors-v2/index.d.ts +2 -0
  12. package/dist/accessors-v2/index.js +5 -1
  13. package/dist/actions-v2/CreateCashbackRewardDto.d.ts +58 -0
  14. package/dist/actions-v2/CreateCashbackRewardDto.js +52 -0
  15. package/dist/actions-v2/CreateOrderReferralDto.d.ts +58 -0
  16. package/dist/actions-v2/CreateOrderReferralDto.js +52 -0
  17. package/dist/db-accessors-v2/ReferralDbAccessor.d.ts +103 -0
  18. package/dist/db-accessors-v2/ReferralDbAccessor.js +181 -0
  19. package/dist/db-accessors-v2/RewardDbAccessor.d.ts +103 -0
  20. package/dist/db-accessors-v2/RewardDbAccessor.js +181 -0
  21. package/dist/db-accessors-v2/index.d.ts +2 -0
  22. package/dist/db-accessors-v2/index.js +5 -1
  23. package/dist/entities-v2/CashbackReward.d.ts +8 -8
  24. package/dist/entities-v2/CashbackReward.js +2 -2
  25. package/dist/entities-v2/Reward.d.ts +8 -8
  26. package/dist/entities-v2/Reward.js +2 -2
  27. package/dist/records-v2/ContactRecord.d.ts +40 -0
  28. package/dist/records-v2/ContactRecord.js +66 -0
  29. package/dist/records-v2/OrderRecord.d.ts +20 -0
  30. package/dist/records-v2/OrderRecord.js +33 -0
  31. package/dist/records-v2/PaymentMethodRefundRecord.d.ts +20 -0
  32. package/dist/records-v2/PaymentMethodRefundRecord.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/RewardRecord.d.ts +151 -0
  36. package/dist/records-v2/RewardRecord.js +225 -0
  37. package/dist/records-v2/index.d.ts +2 -0
  38. package/dist/records-v2/index.js +9 -3
  39. package/package.json +1 -1
@@ -80,9 +80,11 @@ 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';
87
+ import { RewardAccessor } from './accessors-v2/RewardAccessor';
86
88
  import { SalesTerritoryAccessor } from './accessors-v2/SalesTerritoryAccessor';
87
89
  import { ScheduleSlotAccessor } from './accessors-v2/ScheduleSlotAccessor';
88
90
  import { ServiceAccessor } from './accessors-v2/ServiceAccessor';
@@ -177,9 +179,11 @@ export declare const EntityRegistry: {
177
179
  readonly PriceBook: typeof PriceBookAccessor;
178
180
  readonly Product: typeof ProductAccessor;
179
181
  readonly PushNotification: typeof PushNotificationAccessor;
182
+ readonly Referral: typeof ReferralAccessor;
180
183
  readonly RemediationOutcomeForm: typeof RemediationOutcomeFormAccessor;
181
184
  readonly RemediationRequiredReason: typeof RemediationRequiredReasonAccessor;
182
185
  readonly Returns: typeof ReturnsAccessor;
186
+ readonly Reward: typeof RewardAccessor;
183
187
  readonly SalesTerritory: typeof SalesTerritoryAccessor;
184
188
  readonly ScheduleSlot: typeof ScheduleSlotAccessor;
185
189
  readonly Service: typeof ServiceAccessor;
@@ -83,9 +83,11 @@ 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");
90
+ const RewardAccessor_1 = require("./accessors-v2/RewardAccessor");
89
91
  const SalesTerritoryAccessor_1 = require("./accessors-v2/SalesTerritoryAccessor");
90
92
  const ScheduleSlotAccessor_1 = require("./accessors-v2/ScheduleSlotAccessor");
91
93
  const ServiceAccessor_1 = require("./accessors-v2/ServiceAccessor");
@@ -180,9 +182,11 @@ exports.EntityRegistry = {
180
182
  'PriceBook': PriceBookAccessor_1.PriceBookAccessor,
181
183
  'Product': ProductAccessor_1.ProductAccessor,
182
184
  'PushNotification': PushNotificationAccessor_1.PushNotificationAccessor,
185
+ 'Referral': ReferralAccessor_1.ReferralAccessor,
183
186
  'RemediationOutcomeForm': RemediationOutcomeFormAccessor_1.RemediationOutcomeFormAccessor,
184
187
  'RemediationRequiredReason': RemediationRequiredReasonAccessor_1.RemediationRequiredReasonAccessor,
185
188
  'Returns': ReturnsAccessor_1.ReturnsAccessor,
189
+ 'Reward': RewardAccessor_1.RewardAccessor,
186
190
  'SalesTerritory': SalesTerritoryAccessor_1.SalesTerritoryAccessor,
187
191
  'ScheduleSlot': ScheduleSlotAccessor_1.ScheduleSlotAccessor,
188
192
  'Service': ServiceAccessor_1.ServiceAccessor,
@@ -90,9 +90,11 @@ 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';
97
+ import { RewardAccessor } from './accessors-v2/RewardAccessor';
96
98
  import { SalesTerritoryAccessor } from './accessors-v2/SalesTerritoryAccessor';
97
99
  import { ScheduleSlotAccessor } from './accessors-v2/ScheduleSlotAccessor';
98
100
  import { ServiceAccessor } from './accessors-v2/ServiceAccessor';
@@ -196,9 +198,11 @@ export declare class OdinApiClient {
196
198
  private _priceBooks?;
197
199
  private _products?;
198
200
  private _pushNotifications?;
201
+ private _referrals?;
199
202
  private _remediationOutcomeForms?;
200
203
  private _remediationRequiredReasons?;
201
204
  private _returnses?;
205
+ private _rewards?;
202
206
  private _salesTerritories?;
203
207
  private _scheduleSlots?;
204
208
  private _services?;
@@ -372,12 +376,16 @@ export declare class OdinApiClient {
372
376
  get products(): ProductAccessor;
373
377
  /** Access PushNotification records */
374
378
  get pushNotifications(): PushNotificationAccessor;
379
+ /** Access Referral records */
380
+ get referrals(): ReferralAccessor;
375
381
  /** Access RemediationOutcomeForm records */
376
382
  get remediationOutcomeForms(): RemediationOutcomeFormAccessor;
377
383
  /** Access RemediationRequiredReason records */
378
384
  get remediationRequiredReasons(): RemediationRequiredReasonAccessor;
379
385
  /** Access Returns records */
380
386
  get returnses(): ReturnsAccessor;
387
+ /** Access Reward records */
388
+ get rewards(): RewardAccessor;
381
389
  /** Access SalesTerritory records */
382
390
  get salesTerritories(): SalesTerritoryAccessor;
383
391
  /** Access ScheduleSlot records */
@@ -101,9 +101,11 @@ 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");
108
+ const RewardAccessor_1 = require("./accessors-v2/RewardAccessor");
107
109
  const SalesTerritoryAccessor_1 = require("./accessors-v2/SalesTerritoryAccessor");
108
110
  const ScheduleSlotAccessor_1 = require("./accessors-v2/ScheduleSlotAccessor");
109
111
  const ServiceAccessor_1 = require("./accessors-v2/ServiceAccessor");
@@ -639,6 +641,13 @@ class OdinApiClient {
639
641
  }
640
642
  return this._pushNotifications;
641
643
  }
644
+ /** Access Referral records */
645
+ get referrals() {
646
+ if (!this._referrals) {
647
+ this._referrals = new ReferralAccessor_1.ReferralAccessor(this._provider);
648
+ }
649
+ return this._referrals;
650
+ }
642
651
  /** Access RemediationOutcomeForm records */
643
652
  get remediationOutcomeForms() {
644
653
  if (!this._remediationOutcomeForms) {
@@ -660,6 +669,13 @@ class OdinApiClient {
660
669
  }
661
670
  return this._returnses;
662
671
  }
672
+ /** Access Reward records */
673
+ get rewards() {
674
+ if (!this._rewards) {
675
+ this._rewards = new RewardAccessor_1.RewardAccessor(this._provider);
676
+ }
677
+ return this._rewards;
678
+ }
663
679
  /** Access SalesTerritory records */
664
680
  get salesTerritories() {
665
681
  if (!this._salesTerritories) {
@@ -86,9 +86,11 @@ 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';
93
+ import { RewardDbAccessor } from './db-accessors-v2/RewardDbAccessor';
92
94
  import { SalesTerritoryDbAccessor } from './db-accessors-v2/SalesTerritoryDbAccessor';
93
95
  import { ScheduleSlotDbAccessor } from './db-accessors-v2/ScheduleSlotDbAccessor';
94
96
  import { ServiceAppointmentConfigDbAccessor } from './db-accessors-v2/ServiceAppointmentConfigDbAccessor';
@@ -185,9 +187,11 @@ export declare class OdinDbClient {
185
187
  private _priceBooks?;
186
188
  private _products?;
187
189
  private _pushNotifications?;
190
+ private _referrals?;
188
191
  private _remediationOutcomeForms?;
189
192
  private _remediationRequiredReasons?;
190
193
  private _returnses?;
194
+ private _rewards?;
191
195
  private _salesTerritories?;
192
196
  private _scheduleSlots?;
193
197
  private _serviceAppointmentConfigs?;
@@ -357,12 +361,16 @@ export declare class OdinDbClient {
357
361
  get products(): ProductDbAccessor;
358
362
  /** Access PushNotification records */
359
363
  get pushNotifications(): PushNotificationDbAccessor;
364
+ /** Access Referral records */
365
+ get referrals(): ReferralDbAccessor;
360
366
  /** Access RemediationOutcomeForm records */
361
367
  get remediationOutcomeForms(): RemediationOutcomeFormDbAccessor;
362
368
  /** Access RemediationRequiredReason records */
363
369
  get remediationRequiredReasons(): RemediationRequiredReasonDbAccessor;
364
370
  /** Access Returns records */
365
371
  get returnses(): ReturnsDbAccessor;
372
+ /** Access Reward records */
373
+ get rewards(): RewardDbAccessor;
366
374
  /** Access SalesTerritory records */
367
375
  get salesTerritories(): SalesTerritoryDbAccessor;
368
376
  /** Access ScheduleSlot records */
@@ -89,9 +89,11 @@ 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");
96
+ const RewardDbAccessor_1 = require("./db-accessors-v2/RewardDbAccessor");
95
97
  const SalesTerritoryDbAccessor_1 = require("./db-accessors-v2/SalesTerritoryDbAccessor");
96
98
  const ScheduleSlotDbAccessor_1 = require("./db-accessors-v2/ScheduleSlotDbAccessor");
97
99
  const ServiceAppointmentConfigDbAccessor_1 = require("./db-accessors-v2/ServiceAppointmentConfigDbAccessor");
@@ -616,6 +618,13 @@ class OdinDbClient {
616
618
  }
617
619
  return this._pushNotifications;
618
620
  }
621
+ /** Access Referral records */
622
+ get referrals() {
623
+ if (!this._referrals) {
624
+ this._referrals = new ReferralDbAccessor_1.ReferralDbAccessor(this._principal, this._dbService);
625
+ }
626
+ return this._referrals;
627
+ }
619
628
  /** Access RemediationOutcomeForm records */
620
629
  get remediationOutcomeForms() {
621
630
  if (!this._remediationOutcomeForms) {
@@ -637,6 +646,13 @@ class OdinDbClient {
637
646
  }
638
647
  return this._returnses;
639
648
  }
649
+ /** Access Reward records */
650
+ get rewards() {
651
+ if (!this._rewards) {
652
+ this._rewards = new RewardDbAccessor_1.RewardDbAccessor(this._principal, this._dbService);
653
+ }
654
+ return this._rewards;
655
+ }
640
656
  /** Access SalesTerritory records */
641
657
  get salesTerritories() {
642
658
  if (!this._salesTerritories) {
@@ -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;
@@ -0,0 +1,111 @@
1
+ /**
2
+ * Reward Accessor
3
+ *
4
+ * Provides typed access to Reward 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.updateReward({ ... });
12
+ *
13
+ * // Create new record
14
+ * const newRecord = accessor.new();
15
+ * await newRecord.createReward({ ... });
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 { RewardProperties } from '../entities-v2/Reward';
25
+ import { RewardRecord } from '../records-v2/RewardRecord';
26
+ /** List response with wrapped records */
27
+ export interface RewardListResponse {
28
+ data: RewardRecord[];
29
+ hasMore: boolean;
30
+ totalRecords: number;
31
+ }
32
+ /** Search response with wrapped records */
33
+ export interface RewardSearchResponse {
34
+ records: RewardRecord[];
35
+ totalRecords: number;
36
+ hasMore: boolean;
37
+ }
38
+ export declare class RewardAccessor {
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 Reward 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): RewardRecord;
72
+ /**
73
+ * Get a single Reward record by ID
74
+ */
75
+ get(id: string): Promise<RewardRecord>;
76
+ /**
77
+ * Get multiple Reward records by IDs
78
+ */
79
+ getMany(ids: string[]): Promise<RewardRecord[]>;
80
+ /**
81
+ * Search Reward records
82
+ */
83
+ search(params: Partial<OdinSearchV2>): Promise<RewardSearchResponse>;
84
+ /**
85
+ * Search all Reward records with automatic pagination
86
+ */
87
+ searchAll(params: Partial<OdinSearchV2>): Promise<RewardRecord[]>;
88
+ /**
89
+ * Async generator for paginating through all matching records.
90
+ * Yields batches of wrapped records.
91
+ */
92
+ paginate(params: Partial<OdinSearchV2>): AsyncGenerator<RewardRecord[]>;
93
+ /**
94
+ * Create a fluent query builder for Reward 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<RewardProperties, RewardRecord>;
109
+ /** Access the underlying ApiProvider */
110
+ get provider(): ApiProvider;
111
+ }