@d19n/youfibre-odin-sdk 2.0.170 → 2.0.171

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.
@@ -21,18 +21,10 @@ export interface UpdateAgentCallLegOnOutboundDialActionMessage extends OdinRecor
21
21
  /**
22
22
  * Properties for UpdateAgentCallLegOnOutboundDialAction action
23
23
  *
24
- * @property Required fields: 2
24
+ * @property Required fields: 1
25
25
  * @property Optional fields: 1
26
26
  */
27
27
  export interface UpdateAgentCallLegOnOutboundDialActionProperties {
28
- /**
29
- * EndedAt
30
- *
31
- * Data field for CallLeg records. Used by Communications team.
32
- * @type {DATE_TIME}
33
- * @required
34
- */
35
- EndedAt: string;
36
28
  /**
37
29
  * Status
38
30
  *
@@ -21,19 +21,19 @@ export declare class OfferDb extends DbProvider {
21
21
  private readonly moduleName;
22
22
  private readonly entityName;
23
23
  private sourceRecord;
24
- private _lead?;
24
+ private _lead__offer?;
25
+ private _orderitem__offer?;
26
+ private _offer__offer?;
27
+ private _pricebook__offer?;
25
28
  private _discount?;
26
- private _orderitem?;
27
29
  private _product?;
28
- private _offer?;
29
- private _pricebook?;
30
30
  constructor(principal: any, dbService: any, defaultOptions?: DbProviderOptions);
31
- get lead(): DbRecordLinkManager;
31
+ get lead__offer(): DbRecordLinkManager;
32
+ get orderitem__offer(): DbRecordLinkManager;
33
+ get offer__offer(): DbRecordLinkManager;
34
+ get pricebook__offer(): DbRecordLinkManager;
32
35
  get discount(): DbRecordLinkManager;
33
- get orderitem(): DbRecordLinkManager;
34
36
  get product(): DbRecordLinkManager;
35
- get offer(): DbRecordLinkManager;
36
- get pricebook(): DbRecordLinkManager;
37
37
  setRecord(sourceRecord: any): void;
38
38
  /**
39
39
  * Search records with manual pagination control
@@ -38,11 +38,29 @@ class OfferDb extends db_provider_1.DbProvider {
38
38
  // LAZY-LOADED LINK MANAGERS (Public Getters)
39
39
  // ============================================
40
40
  // Usage remains identical: db.address.list(recordId)
41
- get lead() {
42
- if (!this._lead) {
43
- this._lead = new db_record_link_manager_1.DbRecordLinkManager(this.principal, this.dbService, 'ProductModule:Offer', 'CrmModule:Lead', 'Lead__Offer');
41
+ get lead__offer() {
42
+ if (!this._lead__offer) {
43
+ this._lead__offer = new db_record_link_manager_1.DbRecordLinkManager(this.principal, this.dbService, 'CrmModule:Lead', 'ProductModule:Offer', 'Lead__Offer');
44
44
  }
45
- return this._lead;
45
+ return this._lead__offer;
46
+ }
47
+ get orderitem__offer() {
48
+ if (!this._orderitem__offer) {
49
+ this._orderitem__offer = new db_record_link_manager_1.DbRecordLinkManager(this.principal, this.dbService, 'OrderModule:OrderItem', 'ProductModule:Offer', 'OrderItem__Offer');
50
+ }
51
+ return this._orderitem__offer;
52
+ }
53
+ get offer__offer() {
54
+ if (!this._offer__offer) {
55
+ this._offer__offer = new db_record_link_manager_1.DbRecordLinkManager(this.principal, this.dbService, 'ProductModule:Offer', 'ProductModule:Offer', 'Offer__Offer');
56
+ }
57
+ return this._offer__offer;
58
+ }
59
+ get pricebook__offer() {
60
+ if (!this._pricebook__offer) {
61
+ this._pricebook__offer = new db_record_link_manager_1.DbRecordLinkManager(this.principal, this.dbService, 'ProductModule:PriceBook', 'ProductModule:Offer', 'PriceBook__Offer');
62
+ }
63
+ return this._pricebook__offer;
46
64
  }
47
65
  get discount() {
48
66
  if (!this._discount) {
@@ -50,30 +68,12 @@ class OfferDb extends db_provider_1.DbProvider {
50
68
  }
51
69
  return this._discount;
52
70
  }
53
- get orderitem() {
54
- if (!this._orderitem) {
55
- this._orderitem = new db_record_link_manager_1.DbRecordLinkManager(this.principal, this.dbService, 'ProductModule:Offer', 'OrderModule:OrderItem', 'OrderItem__Offer');
56
- }
57
- return this._orderitem;
58
- }
59
71
  get product() {
60
72
  if (!this._product) {
61
73
  this._product = new db_record_link_manager_1.DbRecordLinkManager(this.principal, this.dbService, 'ProductModule:Offer', 'ProductModule:Product', 'Offer__Product');
62
74
  }
63
75
  return this._product;
64
76
  }
65
- get offer() {
66
- if (!this._offer) {
67
- this._offer = new db_record_link_manager_1.DbRecordLinkManager(this.principal, this.dbService, 'ProductModule:Offer', 'ProductModule:Offer', 'Offer__Offer');
68
- }
69
- return this._offer;
70
- }
71
- get pricebook() {
72
- if (!this._pricebook) {
73
- this._pricebook = new db_record_link_manager_1.DbRecordLinkManager(this.principal, this.dbService, 'ProductModule:Offer', 'ProductModule:PriceBook', 'PriceBook__Offer');
74
- }
75
- return this._pricebook;
76
- }
77
77
  // ============================================
78
78
  // STANDARD METHODS
79
79
  // ============================================
@@ -25,11 +25,8 @@ import { RecordLinkManager } from '@d19n/odin-sdk-generator/dist/record-link-man
25
25
  import { OfferProperties, RecontractOfferProperties, StandardOfferProperties } from '../entities-v2/Offer';
26
26
  import { OfferCreateProperties } from '../actions-v2/OfferCreateDto';
27
27
  import { OfferUpdateProperties } from '../actions-v2/OfferUpdateDto';
28
- import { LeadRecord } from './LeadRecord';
29
28
  import { DiscountRecord } from './DiscountRecord';
30
- import { OrderItemRecord } from './OrderItemRecord';
31
29
  import { ProductRecord } from './ProductRecord';
32
- import { PriceBookRecord } from './PriceBookRecord';
33
30
  /** Valid entity types for Offer */
34
31
  export declare type OfferType = 'DEFAULT' | 'RECONTRACT' | 'STANDARD';
35
32
  /**
@@ -95,12 +92,9 @@ export declare class OfferRecord<TProps = OfferProperties> {
95
92
  private _provider;
96
93
  private _pendingLinks;
97
94
  private _preGeneratedId;
98
- private _leads?;
95
+ private _offers?;
99
96
  private _discounts?;
100
- private _orderItems?;
101
97
  private _products?;
102
- private _offers?;
103
- private _priceBooks?;
104
98
  /**
105
99
  * Create a record wrapper.
106
100
  * @param record - The underlying record, or null for create operations
@@ -174,24 +168,24 @@ export declare class OfferRecord<TProps = OfferProperties> {
174
168
  * @remarks STANDARD
175
169
  */
176
170
  isStandard(): this is OfferRecord<StandardOfferProperties>;
177
- /** Valid labels for Lead associations */
178
- static readonly leadsLabels: readonly ["Lead__Offer"];
171
+ /** Valid labels for Offer associations */
172
+ static readonly offersLabels: readonly ["Lead__Offer", "OrderItem__Offer", "Offer__Offer", "PriceBook__Offer"];
179
173
  /**
180
- * Access linked Lead records
181
- * @remarks Available labels: Lead__Offer
174
+ * Access linked Offer records
175
+ * @remarks Available labels: Lead__Offer, OrderItem__Offer, Offer__Offer, PriceBook__Offer
182
176
  * @throws Error if called on a new (unsaved) record
183
177
  *
184
178
  * @example
185
179
  * ```typescript
186
- * // Get all linked Lead records
187
- * const items = await record.leads.list();
188
- * const first = await record.leads.first();
180
+ * // Get all linked Offer records
181
+ * const items = await record.offers.list();
182
+ * const first = await record.offers.first();
189
183
  *
190
184
  * // Filter by label
191
- * const specific = await record.leads.first({ label: 'Lead__Offer' });
185
+ * const specific = await record.offers.first({ label: 'Lead__Offer' });
192
186
  * ```
193
187
  */
194
- get leads(): RecordLinkManager<LeadRecord, typeof OfferRecord['leadsLabels'][number]>;
188
+ get offers(): RecordLinkManager<OfferRecord, typeof OfferRecord['offersLabels'][number]>;
195
189
  /** Valid labels for Discount associations */
196
190
  static readonly discountsLabels: readonly ["Offer__Discount"];
197
191
  /**
@@ -210,24 +204,6 @@ export declare class OfferRecord<TProps = OfferProperties> {
210
204
  * ```
211
205
  */
212
206
  get discounts(): RecordLinkManager<DiscountRecord, typeof OfferRecord['discountsLabels'][number]>;
213
- /** Valid labels for OrderItem associations */
214
- static readonly orderItemsLabels: readonly ["OrderItem__Offer"];
215
- /**
216
- * Access linked OrderItem records
217
- * @remarks Available labels: OrderItem__Offer
218
- * @throws Error if called on a new (unsaved) record
219
- *
220
- * @example
221
- * ```typescript
222
- * // Get all linked OrderItem records
223
- * const items = await record.orderItems.list();
224
- * const first = await record.orderItems.first();
225
- *
226
- * // Filter by label
227
- * const specific = await record.orderItems.first({ label: 'OrderItem__Offer' });
228
- * ```
229
- */
230
- get orderItems(): RecordLinkManager<OrderItemRecord, typeof OfferRecord['orderItemsLabels'][number]>;
231
207
  /** Valid labels for Product associations */
232
208
  static readonly productsLabels: readonly ["Offer__Product"];
233
209
  /**
@@ -246,42 +222,6 @@ export declare class OfferRecord<TProps = OfferProperties> {
246
222
  * ```
247
223
  */
248
224
  get products(): RecordLinkManager<ProductRecord, typeof OfferRecord['productsLabels'][number]>;
249
- /** Valid labels for Offer associations */
250
- static readonly offersLabels: readonly ["Offer__Offer"];
251
- /**
252
- * Access linked Offer records
253
- * @remarks Available labels: Offer__Offer
254
- * @throws Error if called on a new (unsaved) record
255
- *
256
- * @example
257
- * ```typescript
258
- * // Get all linked Offer records
259
- * const items = await record.offers.list();
260
- * const first = await record.offers.first();
261
- *
262
- * // Filter by label
263
- * const specific = await record.offers.first({ label: 'Offer__Offer' });
264
- * ```
265
- */
266
- get offers(): RecordLinkManager<OfferRecord, typeof OfferRecord['offersLabels'][number]>;
267
- /** Valid labels for PriceBook associations */
268
- static readonly priceBooksLabels: readonly ["PriceBook__Offer"];
269
- /**
270
- * Access linked PriceBook records
271
- * @remarks Available labels: PriceBook__Offer
272
- * @throws Error if called on a new (unsaved) record
273
- *
274
- * @example
275
- * ```typescript
276
- * // Get all linked PriceBook records
277
- * const items = await record.priceBooks.list();
278
- * const first = await record.priceBooks.first();
279
- *
280
- * // Filter by label
281
- * const specific = await record.priceBooks.first({ label: 'PriceBook__Offer' });
282
- * ```
283
- */
284
- get priceBooks(): RecordLinkManager<PriceBookRecord, typeof OfferRecord['priceBooksLabels'][number]>;
285
225
  /**
286
226
  * Queue a link to be created with the next action.
287
227
  * Works for both create and update actions.
@@ -32,11 +32,8 @@ exports.isOfferRecord = exports.OfferRecord = void 0;
32
32
  const uuid_1 = require("uuid");
33
33
  const core_1 = require("@d19n/odin-types/dist/core");
34
34
  const record_link_manager_1 = require("@d19n/odin-sdk-generator/dist/record-link-manager");
35
- const LeadRecord_1 = require("./LeadRecord");
36
35
  const DiscountRecord_1 = require("./DiscountRecord");
37
- const OrderItemRecord_1 = require("./OrderItemRecord");
38
36
  const ProductRecord_1 = require("./ProductRecord");
39
- const PriceBookRecord_1 = require("./PriceBookRecord");
40
37
  /**
41
38
  * Builder for action execution with dryRun support
42
39
  *
@@ -199,34 +196,34 @@ class OfferRecord {
199
196
  */
200
197
  isStandard() { var _a; return ((_a = this._record) === null || _a === void 0 ? void 0 : _a.type) === 'STANDARD'; }
201
198
  /**
202
- * Access linked Lead records
203
- * @remarks Available labels: Lead__Offer
199
+ * Access linked Offer records
200
+ * @remarks Available labels: Lead__Offer, OrderItem__Offer, Offer__Offer, PriceBook__Offer
204
201
  * @throws Error if called on a new (unsaved) record
205
202
  *
206
203
  * @example
207
204
  * ```typescript
208
- * // Get all linked Lead records
209
- * const items = await record.leads.list();
210
- * const first = await record.leads.first();
205
+ * // Get all linked Offer records
206
+ * const items = await record.offers.list();
207
+ * const first = await record.offers.first();
211
208
  *
212
209
  * // Filter by label
213
- * const specific = await record.leads.first({ label: 'Lead__Offer' });
210
+ * const specific = await record.offers.first({ label: 'Lead__Offer' });
214
211
  * ```
215
212
  */
216
- get leads() {
213
+ get offers() {
217
214
  var _a;
218
215
  if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
219
216
  throw new Error('Cannot access links on a new (unsaved) record');
220
- if (!this._leads) {
221
- this._leads = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
217
+ if (!this._offers) {
218
+ this._offers = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
222
219
  sourceEntity: 'ProductModule:Offer',
223
- targetEntity: 'CrmModule:Lead',
224
- targetModuleName: 'CrmModule',
225
- targetEntityName: 'Lead',
226
- labels: ['Lead__Offer'],
227
- }, LeadRecord_1.LeadRecord);
220
+ targetEntity: 'ProductModule:Offer',
221
+ targetModuleName: 'ProductModule',
222
+ targetEntityName: 'Offer',
223
+ labels: ['Lead__Offer', 'OrderItem__Offer', 'Offer__Offer', 'PriceBook__Offer'],
224
+ }, OfferRecord);
228
225
  }
229
- return this._leads;
226
+ return this._offers;
230
227
  }
231
228
  /**
232
229
  * Access linked Discount records
@@ -258,36 +255,6 @@ class OfferRecord {
258
255
  }
259
256
  return this._discounts;
260
257
  }
261
- /**
262
- * Access linked OrderItem records
263
- * @remarks Available labels: OrderItem__Offer
264
- * @throws Error if called on a new (unsaved) record
265
- *
266
- * @example
267
- * ```typescript
268
- * // Get all linked OrderItem records
269
- * const items = await record.orderItems.list();
270
- * const first = await record.orderItems.first();
271
- *
272
- * // Filter by label
273
- * const specific = await record.orderItems.first({ label: 'OrderItem__Offer' });
274
- * ```
275
- */
276
- get orderItems() {
277
- var _a;
278
- if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
279
- throw new Error('Cannot access links on a new (unsaved) record');
280
- if (!this._orderItems) {
281
- this._orderItems = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
282
- sourceEntity: 'ProductModule:Offer',
283
- targetEntity: 'OrderModule:OrderItem',
284
- targetModuleName: 'OrderModule',
285
- targetEntityName: 'OrderItem',
286
- labels: ['OrderItem__Offer'],
287
- }, OrderItemRecord_1.OrderItemRecord);
288
- }
289
- return this._orderItems;
290
- }
291
258
  /**
292
259
  * Access linked Product records
293
260
  * @remarks Available labels: Offer__Product
@@ -318,66 +285,6 @@ class OfferRecord {
318
285
  }
319
286
  return this._products;
320
287
  }
321
- /**
322
- * Access linked Offer records
323
- * @remarks Available labels: Offer__Offer
324
- * @throws Error if called on a new (unsaved) record
325
- *
326
- * @example
327
- * ```typescript
328
- * // Get all linked Offer records
329
- * const items = await record.offers.list();
330
- * const first = await record.offers.first();
331
- *
332
- * // Filter by label
333
- * const specific = await record.offers.first({ label: 'Offer__Offer' });
334
- * ```
335
- */
336
- get offers() {
337
- var _a;
338
- if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
339
- throw new Error('Cannot access links on a new (unsaved) record');
340
- if (!this._offers) {
341
- this._offers = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
342
- sourceEntity: 'ProductModule:Offer',
343
- targetEntity: 'ProductModule:Offer',
344
- targetModuleName: 'ProductModule',
345
- targetEntityName: 'Offer',
346
- labels: ['Offer__Offer'],
347
- }, OfferRecord);
348
- }
349
- return this._offers;
350
- }
351
- /**
352
- * Access linked PriceBook records
353
- * @remarks Available labels: PriceBook__Offer
354
- * @throws Error if called on a new (unsaved) record
355
- *
356
- * @example
357
- * ```typescript
358
- * // Get all linked PriceBook records
359
- * const items = await record.priceBooks.list();
360
- * const first = await record.priceBooks.first();
361
- *
362
- * // Filter by label
363
- * const specific = await record.priceBooks.first({ label: 'PriceBook__Offer' });
364
- * ```
365
- */
366
- get priceBooks() {
367
- var _a;
368
- if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
369
- throw new Error('Cannot access links on a new (unsaved) record');
370
- if (!this._priceBooks) {
371
- this._priceBooks = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
372
- sourceEntity: 'ProductModule:Offer',
373
- targetEntity: 'ProductModule:PriceBook',
374
- targetModuleName: 'ProductModule',
375
- targetEntityName: 'PriceBook',
376
- labels: ['PriceBook__Offer'],
377
- }, PriceBookRecord_1.PriceBookRecord);
378
- }
379
- return this._priceBooks;
380
- }
381
288
  // ============================================
382
289
  // LINK MANAGEMENT
383
290
  // ============================================
@@ -489,18 +396,12 @@ exports.OfferRecord = OfferRecord;
489
396
  // ============================================
490
397
  // TYPED LINK ACCESSORS
491
398
  // ============================================
492
- /** Valid labels for Lead associations */
493
- OfferRecord.leadsLabels = ['Lead__Offer'];
399
+ /** Valid labels for Offer associations */
400
+ OfferRecord.offersLabels = ['Lead__Offer', 'OrderItem__Offer', 'Offer__Offer', 'PriceBook__Offer'];
494
401
  /** Valid labels for Discount associations */
495
402
  OfferRecord.discountsLabels = ['Offer__Discount'];
496
- /** Valid labels for OrderItem associations */
497
- OfferRecord.orderItemsLabels = ['OrderItem__Offer'];
498
403
  /** Valid labels for Product associations */
499
404
  OfferRecord.productsLabels = ['Offer__Product'];
500
- /** Valid labels for Offer associations */
501
- OfferRecord.offersLabels = ['Offer__Offer'];
502
- /** Valid labels for PriceBook associations */
503
- OfferRecord.priceBooksLabels = ['PriceBook__Offer'];
504
405
  /** Type guard to check if an object is a OfferRecord */
505
406
  function isOfferRecord(obj) {
506
407
  return obj instanceof OfferRecord;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@d19n/youfibre-odin-sdk",
3
- "version": "2.0.170",
3
+ "version": "2.0.171",
4
4
  "description": "",
5
5
  "author": "@d19n",
6
6
  "license": "UNLICENSED",