@d19n/youfibre-odin-sdk 2.0.293 → 2.0.295

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 (94) hide show
  1. package/README.md +72 -62
  2. package/dist/EntityRegistry.d.ts +2 -2
  3. package/dist/EntityRegistry.js +2 -2
  4. package/dist/OdinApiClient.d.ts +4 -4
  5. package/dist/OdinApiClient.js +6 -6
  6. package/dist/OdinDbClient.d.ts +4 -4
  7. package/dist/OdinDbClient.js +6 -6
  8. package/dist/accessors-v2/{YfFieldServiceVisitAccessor.d.ts → YfFieldVisitOutcomeFormAccessor.d.ts} +24 -24
  9. package/dist/accessors-v2/{YfFieldServiceVisitAccessor.js → YfFieldVisitOutcomeFormAccessor.js} +21 -21
  10. package/dist/accessors-v2/index.d.ts +1 -1
  11. package/dist/accessors-v2/index.js +3 -3
  12. package/dist/actions-v2/CompleteServiceWorkOrderFlowDto.d.ts +230 -594
  13. package/dist/actions-v2/CompleteServiceWorkOrderFlowDto.js +30 -30
  14. package/dist/actions-v2/CreateAmcoCollectionBookedEmailDto.d.ts +135 -0
  15. package/dist/actions-v2/CreateAmcoCollectionBookedEmailDto.js +59 -0
  16. package/dist/actions-v2/CreateAmcoCollectionChargeEmailDto.d.ts +135 -0
  17. package/dist/actions-v2/CreateAmcoCollectionChargeEmailDto.js +59 -0
  18. package/dist/actions-v2/CreateAmcoCollectionCompleteEmailDto.d.ts +135 -0
  19. package/dist/actions-v2/CreateAmcoCollectionCompleteEmailDto.js +59 -0
  20. package/dist/actions-v2/CreateAmcoCollectionReceivedEmailDto.d.ts +135 -0
  21. package/dist/actions-v2/CreateAmcoCollectionReceivedEmailDto.js +59 -0
  22. package/dist/actions-v2/CreateAmcoCollectionReminder10DayEmailDto.d.ts +135 -0
  23. package/dist/actions-v2/CreateAmcoCollectionReminder10DayEmailDto.js +59 -0
  24. package/dist/actions-v2/CreateAmcoCollectionReminder5DayEmailDto.d.ts +135 -0
  25. package/dist/actions-v2/CreateAmcoCollectionReminder5DayEmailDto.js +59 -0
  26. package/dist/actions-v2/CreateAmcoDispatchConfirmedEmailDto.d.ts +135 -0
  27. package/dist/actions-v2/CreateAmcoDispatchConfirmedEmailDto.js +59 -0
  28. package/dist/actions-v2/CreateAmcoDispatchDeliveredEmailDto.d.ts +135 -0
  29. package/dist/actions-v2/CreateAmcoDispatchDeliveredEmailDto.js +59 -0
  30. package/dist/actions-v2/CreateAmcoDispatchSentEmailDto.d.ts +135 -0
  31. package/dist/actions-v2/CreateAmcoDispatchSentEmailDto.js +59 -0
  32. package/dist/api-sdk-v2/AddressApi.d.ts +2 -0
  33. package/dist/api-sdk-v2/AddressApi.js +6 -0
  34. package/dist/api-sdk-v2/FileApi.d.ts +2 -0
  35. package/dist/api-sdk-v2/FileApi.js +6 -0
  36. package/dist/api-sdk-v2/ModifyServiceRequestApi.d.ts +2 -0
  37. package/dist/api-sdk-v2/ModifyServiceRequestApi.js +6 -0
  38. package/dist/api-sdk-v2/NoteApi.d.ts +2 -0
  39. package/dist/api-sdk-v2/NoteApi.js +6 -0
  40. package/dist/api-sdk-v2/RecontractApi.d.ts +2 -0
  41. package/dist/api-sdk-v2/RecontractApi.js +6 -0
  42. package/dist/api-sdk-v2/WorkOrderApi.d.ts +2 -0
  43. package/dist/api-sdk-v2/WorkOrderApi.js +6 -0
  44. package/dist/api-sdk-v2/YfFieldVisitOutcomeFormApi.d.ts +54 -0
  45. package/dist/api-sdk-v2/YfFieldVisitOutcomeFormApi.js +173 -0
  46. package/dist/db-accessors-v2/{YfFieldServiceVisitDbAccessor.d.ts → YfFieldVisitOutcomeFormDbAccessor.d.ts} +22 -22
  47. package/dist/db-accessors-v2/{YfFieldServiceVisitDbAccessor.js → YfFieldVisitOutcomeFormDbAccessor.js} +21 -21
  48. package/dist/db-accessors-v2/index.d.ts +1 -1
  49. package/dist/db-accessors-v2/index.js +3 -3
  50. package/dist/db-sdk-v2/AddressDb.d.ts +2 -0
  51. package/dist/db-sdk-v2/AddressDb.js +6 -0
  52. package/dist/db-sdk-v2/FileDb.d.ts +2 -0
  53. package/dist/db-sdk-v2/FileDb.js +6 -0
  54. package/dist/db-sdk-v2/ModifyServiceRequestDb.d.ts +2 -0
  55. package/dist/db-sdk-v2/ModifyServiceRequestDb.js +6 -0
  56. package/dist/db-sdk-v2/NoteDb.d.ts +2 -0
  57. package/dist/db-sdk-v2/NoteDb.js +6 -0
  58. package/dist/db-sdk-v2/RecontractDb.d.ts +2 -0
  59. package/dist/db-sdk-v2/RecontractDb.js +6 -0
  60. package/dist/db-sdk-v2/WorkOrderDb.d.ts +2 -0
  61. package/dist/db-sdk-v2/WorkOrderDb.js +6 -0
  62. package/dist/db-sdk-v2/YfFieldVisitOutcomeFormDb.d.ts +126 -0
  63. package/dist/db-sdk-v2/YfFieldVisitOutcomeFormDb.js +222 -0
  64. package/dist/entities-v2/Address.d.ts +3 -0
  65. package/dist/entities-v2/Contact.d.ts +8 -0
  66. package/dist/entities-v2/Contact.js +2 -0
  67. package/dist/entities-v2/File.d.ts +3 -0
  68. package/dist/entities-v2/ModifyServiceRequest.d.ts +3 -0
  69. package/dist/entities-v2/Note.d.ts +3 -0
  70. package/dist/entities-v2/Recontract.d.ts +31 -0
  71. package/dist/entities-v2/Recontract.js +23 -1
  72. package/dist/entities-v2/WorkOrder.d.ts +7 -0
  73. package/dist/entities-v2/WorkOrder.js +5 -1
  74. package/dist/entities-v2/YfFieldVisitOutcomeForm.d.ts +1223 -0
  75. package/dist/entities-v2/YfFieldVisitOutcomeForm.js +503 -0
  76. package/dist/records-v2/AddressRecord.d.ts +20 -20
  77. package/dist/records-v2/AddressRecord.js +33 -33
  78. package/dist/records-v2/EmailRecord.d.ts +261 -0
  79. package/dist/records-v2/EmailRecord.js +324 -0
  80. package/dist/records-v2/FileRecord.d.ts +20 -20
  81. package/dist/records-v2/FileRecord.js +33 -33
  82. package/dist/records-v2/ModifyServiceRequestRecord.d.ts +20 -0
  83. package/dist/records-v2/ModifyServiceRequestRecord.js +33 -0
  84. package/dist/records-v2/NoteRecord.d.ts +20 -20
  85. package/dist/records-v2/NoteRecord.js +33 -33
  86. package/dist/records-v2/RecontractRecord.d.ts +20 -0
  87. package/dist/records-v2/RecontractRecord.js +33 -0
  88. package/dist/records-v2/WorkOrderRecord.d.ts +24 -24
  89. package/dist/records-v2/WorkOrderRecord.js +38 -38
  90. package/dist/records-v2/{YfFieldServiceVisitRecord.d.ts → YfFieldVisitOutcomeFormRecord.d.ts} +76 -61
  91. package/dist/records-v2/{YfFieldServiceVisitRecord.js → YfFieldVisitOutcomeFormRecord.js} +112 -96
  92. package/dist/records-v2/index.d.ts +2 -2
  93. package/dist/records-v2/index.js +7 -7
  94. package/package.json +1 -1
@@ -176,6 +176,12 @@ class AddressDb extends db_provider_1.DbProvider {
176
176
  }
177
177
  return this._dataissue;
178
178
  }
179
+ get yffieldvisitoutcomeform() {
180
+ if (!this._yffieldvisitoutcomeform) {
181
+ this._yffieldvisitoutcomeform = new db_record_link_manager_1.DbRecordLinkManager(this.principal, this.dbService, 'CrmModule:Address', 'FieldServiceModule:YfFieldVisitOutcomeForm', 'YfFieldVisitOutcomeForm__Address');
182
+ }
183
+ return this._yffieldvisitoutcomeform;
184
+ }
179
185
  // ============================================
180
186
  // STANDARD METHODS
181
187
  // ============================================
@@ -84,6 +84,7 @@ export declare class FileDb extends DbProvider {
84
84
  private _uginprogressaudit?;
85
85
  private _pgdirectdebitfile?;
86
86
  private _yfwifisurvey?;
87
+ private _yffieldvisitoutcomeform?;
87
88
  constructor(principal: any, dbService: any, defaultOptions?: DbProviderOptions);
88
89
  get servicevisitaudit(): DbRecordLinkManager;
89
90
  get blockagea55(): DbRecordLinkManager;
@@ -148,6 +149,7 @@ export declare class FileDb extends DbProvider {
148
149
  get uginprogressaudit(): DbRecordLinkManager;
149
150
  get pgdirectdebitfile(): DbRecordLinkManager;
150
151
  get yfwifisurvey(): DbRecordLinkManager;
152
+ get yffieldvisitoutcomeform(): DbRecordLinkManager;
151
153
  setRecord(sourceRecord: any): void;
152
154
  /**
153
155
  * Search records with manual pagination control
@@ -416,6 +416,12 @@ class FileDb extends db_provider_1.DbProvider {
416
416
  }
417
417
  return this._yfwifisurvey;
418
418
  }
419
+ get yffieldvisitoutcomeform() {
420
+ if (!this._yffieldvisitoutcomeform) {
421
+ this._yffieldvisitoutcomeform = new db_record_link_manager_1.DbRecordLinkManager(this.principal, this.dbService, 'SchemaModule:File', 'FieldServiceModule:YfFieldVisitOutcomeForm', 'YfFieldVisitOutcomeForm__File');
422
+ }
423
+ return this._yffieldvisitoutcomeform;
424
+ }
419
425
  // ============================================
420
426
  // STANDARD METHODS
421
427
  // ============================================
@@ -23,9 +23,11 @@ export declare class ModifyServiceRequestDb extends DbProvider {
23
23
  private sourceRecord;
24
24
  private _orderkci?;
25
25
  private _order?;
26
+ private _recontract?;
26
27
  constructor(principal: any, dbService: any, defaultOptions?: DbProviderOptions);
27
28
  get orderkci(): DbRecordLinkManager;
28
29
  get order(): DbRecordLinkManager;
30
+ get recontract(): DbRecordLinkManager;
29
31
  setRecord(sourceRecord: any): void;
30
32
  /**
31
33
  * Search records with manual pagination control
@@ -50,6 +50,12 @@ class ModifyServiceRequestDb extends db_provider_1.DbProvider {
50
50
  }
51
51
  return this._order;
52
52
  }
53
+ get recontract() {
54
+ if (!this._recontract) {
55
+ this._recontract = new db_record_link_manager_1.DbRecordLinkManager(this.principal, this.dbService, 'ServiceModule:ModifyServiceRequest', 'OrderModule:Recontract', 'Recontract__ModifyServiceRequest');
56
+ }
57
+ return this._recontract;
58
+ }
53
59
  // ============================================
54
60
  // STANDARD METHODS
55
61
  // ============================================
@@ -95,6 +95,7 @@ export declare class NoteDb extends DbProvider {
95
95
  private _smsmessage?;
96
96
  private _sitespecificriskassessmentoutcomeform?;
97
97
  private _accountcredit?;
98
+ private _yffieldvisitoutcomeform?;
98
99
  constructor(principal: any, dbService: any, defaultOptions?: DbProviderOptions);
99
100
  get ugexternalaudit(): DbRecordLinkManager;
100
101
  get workorder(): DbRecordLinkManager;
@@ -170,6 +171,7 @@ export declare class NoteDb extends DbProvider {
170
171
  get smsmessage(): DbRecordLinkManager;
171
172
  get sitespecificriskassessmentoutcomeform(): DbRecordLinkManager;
172
173
  get accountcredit(): DbRecordLinkManager;
174
+ get yffieldvisitoutcomeform(): DbRecordLinkManager;
173
175
  setRecord(sourceRecord: any): void;
174
176
  /**
175
177
  * Search records with manual pagination control
@@ -482,6 +482,12 @@ class NoteDb extends db_provider_1.DbProvider {
482
482
  }
483
483
  return this._accountcredit;
484
484
  }
485
+ get yffieldvisitoutcomeform() {
486
+ if (!this._yffieldvisitoutcomeform) {
487
+ this._yffieldvisitoutcomeform = new db_record_link_manager_1.DbRecordLinkManager(this.principal, this.dbService, 'SupportModule:Note', 'FieldServiceModule:YfFieldVisitOutcomeForm', 'YfFieldVisitOutcomeForm__Note');
488
+ }
489
+ return this._yffieldvisitoutcomeform;
490
+ }
485
491
  // ============================================
486
492
  // STANDARD METHODS
487
493
  // ============================================
@@ -22,8 +22,10 @@ export declare class RecontractDb extends DbProvider {
22
22
  private readonly entityName;
23
23
  private sourceRecord;
24
24
  private _order?;
25
+ private _modifyservicerequest?;
25
26
  constructor(principal: any, dbService: any, defaultOptions?: DbProviderOptions);
26
27
  get order(): DbRecordLinkManager;
28
+ get modifyservicerequest(): DbRecordLinkManager;
27
29
  setRecord(sourceRecord: any): void;
28
30
  /**
29
31
  * Search records with manual pagination control
@@ -44,6 +44,12 @@ class RecontractDb extends db_provider_1.DbProvider {
44
44
  }
45
45
  return this._order;
46
46
  }
47
+ get modifyservicerequest() {
48
+ if (!this._modifyservicerequest) {
49
+ this._modifyservicerequest = new db_record_link_manager_1.DbRecordLinkManager(this.principal, this.dbService, 'OrderModule:Recontract', 'ServiceModule:ModifyServiceRequest', 'Recontract__ModifyServiceRequest');
50
+ }
51
+ return this._modifyservicerequest;
52
+ }
47
53
  // ============================================
48
54
  // STANDARD METHODS
49
55
  // ============================================
@@ -89,6 +89,7 @@ export declare class WorkOrderDb extends DbProvider {
89
89
  private _dataissue?;
90
90
  private _order?;
91
91
  private _yfwifisurvey?;
92
+ private _yffieldvisitoutcomeform?;
92
93
  constructor(principal: any, dbService: any, defaultOptions?: DbProviderOptions);
93
94
  get workorder_servicevisitaudit(): DbRecordLinkManager;
94
95
  get servicevisitaudit_workorder(): DbRecordLinkManager;
@@ -158,6 +159,7 @@ export declare class WorkOrderDb extends DbProvider {
158
159
  get dataissue(): DbRecordLinkManager;
159
160
  get order(): DbRecordLinkManager;
160
161
  get yfwifisurvey(): DbRecordLinkManager;
162
+ get yffieldvisitoutcomeform(): DbRecordLinkManager;
161
163
  setRecord(sourceRecord: any): void;
162
164
  /**
163
165
  * Search records with manual pagination control
@@ -446,6 +446,12 @@ class WorkOrderDb extends db_provider_1.DbProvider {
446
446
  }
447
447
  return this._yfwifisurvey;
448
448
  }
449
+ get yffieldvisitoutcomeform() {
450
+ if (!this._yffieldvisitoutcomeform) {
451
+ this._yffieldvisitoutcomeform = new db_record_link_manager_1.DbRecordLinkManager(this.principal, this.dbService, 'FieldServiceModule:WorkOrder', 'FieldServiceModule:YfFieldVisitOutcomeForm', 'WorkOrder_YfFieldVisitOutcomeForm');
452
+ }
453
+ return this._yffieldvisitoutcomeform;
454
+ }
449
455
  // ============================================
450
456
  // STANDARD METHODS
451
457
  // ============================================
@@ -0,0 +1,126 @@
1
+ import { DbProvider, DbProviderOptions, DbGetQueryOptions } from '@d19n/odin-sdk-generator/dist/db.provider';
2
+ import { OdinSearchV2, OdinRecordCreateDto, OdinRecordUpdateDto } from '@d19n/odin-types/dist/core';
3
+ import { DbRecordLinkManager } from '@d19n/odin-sdk-generator/dist/db.record.link.manager';
4
+ import { YfFieldVisitOutcomeFormProperties } from '../entities-v2/YfFieldVisitOutcomeForm';
5
+ /**
6
+ * @deprecated Use OdinDbClient.
7
+ *
8
+ * Migration:
9
+ * - Old: new YfFieldVisitOutcomeFormApi(authParams).get(id)
10
+ * - New: new odin.yffieldvisitoutcomeform.get(id)
11
+ *
12
+ * The new OdinDbClient returns typed record wrappers with action methods.
13
+ *
14
+ * Supports separate query options and provider options:
15
+ * - Constructor level: new YfFieldVisitOutcomeFormDb(principal, dbService, { omitPermissionsCheck: true })
16
+ * - Method level: await db.getByPrimaryKey(id, { entities: [] }, { omitPermissionsCheck: true })
17
+ */
18
+ export declare class YfFieldVisitOutcomeFormDb extends DbProvider {
19
+ protected readonly principal: any;
20
+ protected readonly dbService: any;
21
+ private readonly moduleName;
22
+ private readonly entityName;
23
+ private sourceRecord;
24
+ private _workorder?;
25
+ private _address?;
26
+ private _note?;
27
+ private _file?;
28
+ constructor(principal: any, dbService: any, defaultOptions?: DbProviderOptions);
29
+ get workorder(): DbRecordLinkManager;
30
+ get address(): DbRecordLinkManager;
31
+ get note(): DbRecordLinkManager;
32
+ get file(): DbRecordLinkManager;
33
+ setRecord(sourceRecord: any): void;
34
+ /**
35
+ * Search records with manual pagination control
36
+ * @param params - Search parameters
37
+ * @param providerOptions - Provider options (HOW: omitPermissionsCheck)
38
+ */
39
+ searchRecords(params: Partial<OdinSearchV2>, providerOptions?: DbProviderOptions): Promise<import("@d19n/odin-types/dist/core/interfaces/v2.db.interfaces").OdinSearchResponse<import("@d19n/odin-types/dist/core").OdinRecord<YfFieldVisitOutcomeFormProperties>>>;
40
+ /**
41
+ * Search all records with automatic pagination
42
+ * @param params - Search parameters
43
+ * @param providerOptions - Provider options (HOW: omitPermissionsCheck)
44
+ */
45
+ searchAllRecordsAndPaginate(params: Partial<OdinSearchV2>, providerOptions?: DbProviderOptions): Promise<import("@d19n/odin-types/dist/core/interfaces/v2.db.interfaces").OdinSearchResponse<import("@d19n/odin-types/dist/core").OdinRecord<YfFieldVisitOutcomeFormProperties>>>;
46
+ /**
47
+ * Get a single record by primary key
48
+ * @param yfFieldVisitOutcomeFormId - Record ID
49
+ * @param queryOptions - Query options (WHAT: entities to include)
50
+ * @param providerOptions - Provider options (HOW: omitPermissionsCheck)
51
+ *
52
+ * @example
53
+ * // Simple get
54
+ * const record = await db.getByPrimaryKey(id);
55
+ *
56
+ * // With related entities
57
+ * const record = await db.getByPrimaryKey(id, { entities: ['InvoiceItem', 'Transaction'] });
58
+ *
59
+ * // With permissions bypass
60
+ * const record = await db.getByPrimaryKey(id, {}, { omitPermissionsCheck: true });
61
+ *
62
+ * // Both options
63
+ * const record = await db.getByPrimaryKey(id, { entities: ['Invoice'] }, { omitPermissionsCheck: true });
64
+ */
65
+ getByPrimaryKey(yfFieldVisitOutcomeFormId: string, queryOptions?: DbGetQueryOptions, providerOptions?: DbProviderOptions): Promise<import("@d19n/odin-types/dist/core").OdinRecord<YfFieldVisitOutcomeFormProperties>>;
66
+ /**
67
+ * Get multiple records by primary keys
68
+ * @param yfFieldVisitOutcomeFormIds - Array of record IDs
69
+ * @param queryOptions - Query options (WHAT: entities to include)
70
+ * @param providerOptions - Provider options (HOW: omitPermissionsCheck)
71
+ */
72
+ getManyByPrimaryKey(yfFieldVisitOutcomeFormIds: string[], queryOptions?: DbGetQueryOptions, providerOptions?: DbProviderOptions): Promise<import("@d19n/odin-types/dist/core").OdinRecord<YfFieldVisitOutcomeFormProperties>[]>;
73
+ /**
74
+ * Upsert a single record
75
+ * @param upsertDto - Record to upsert
76
+ * @param providerOptions - Provider options (HOW: omitPermissionsCheck)
77
+ */
78
+ upsert(upsertDto: OdinRecordCreateDto, providerOptions?: DbProviderOptions): Promise<import("@d19n/odin-sdk-generator").IDbRecordCreateUpdateRes>;
79
+ /**
80
+ * Upsert multiple records
81
+ * @param upsertDtos - Records to upsert
82
+ * @param providerOptions - Provider options (HOW: omitPermissionsCheck)
83
+ */
84
+ upsertMany(upsertDtos: OdinRecordCreateDto[], providerOptions?: DbProviderOptions): Promise<import("@d19n/odin-sdk-generator").IDbRecordCreateUpdateRes[]>;
85
+ /**
86
+ * Update a single record
87
+ * @param updateDto - Record to update
88
+ * @param providerOptions - Provider options (HOW: omitPermissionsCheck)
89
+ */
90
+ update(updateDto: OdinRecordUpdateDto, providerOptions?: DbProviderOptions): Promise<import("@d19n/odin-sdk-generator").IDbRecordCreateUpdateRes>;
91
+ /**
92
+ * Update multiple records
93
+ * @param updateDtos - Records to update
94
+ * @param providerOptions - Provider options (HOW: omitPermissionsCheck)
95
+ */
96
+ updateMany(updateDtos: OdinRecordUpdateDto[], providerOptions?: DbProviderOptions): Promise<import("@d19n/odin-sdk-generator").IDbRecordCreateUpdateRes[]>;
97
+ /**
98
+ * Delete one or many records
99
+ * @param yfFieldVisitOutcomeFormIds - Record IDs to delete
100
+ * @param providerOptions - Provider options (HOW: omitPermissionsCheck)
101
+ */
102
+ delete(yfFieldVisitOutcomeFormIds: string[], providerOptions?: DbProviderOptions): Promise<import("@d19n/odin-sdk-generator").DbRecordDeleted[]>;
103
+ /**
104
+ * Restore one or many deleted records
105
+ * @param yfFieldVisitOutcomeFormIds - Record IDs to restore
106
+ * @param providerOptions - Provider options (HOW: omitPermissionsCheck)
107
+ */
108
+ restore(yfFieldVisitOutcomeFormIds: string[], providerOptions?: DbProviderOptions): Promise<import("@d19n/odin-sdk-generator").DbRecordRestored[]>;
109
+ /**
110
+ * Apply an action to a record
111
+ * @param actionName - The action key
112
+ * @param dto - The action DTO
113
+ * @param providerOptions - Provider options (HOW: omitPermissionsCheck)
114
+ */
115
+ applyAction(actionName: string, dto: any, providerOptions?: DbProviderOptions): Promise<import("@d19n/odin-sdk-generator").IDbRecordCreateUpdateRes[]>;
116
+ /**
117
+ * Get version history for the current source record
118
+ * @param providerOptions - Provider options (HOW: omitPermissionsCheck)
119
+ */
120
+ getVersions(providerOptions?: DbProviderOptions): Promise<any>;
121
+ /**
122
+ * Get revision timeline for the current source record
123
+ * @param providerOptions - Provider options (HOW: omitPermissionsCheck)
124
+ */
125
+ getRevisionTimeline(providerOptions?: DbProviderOptions): Promise<any>;
126
+ }
@@ -0,0 +1,222 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.YfFieldVisitOutcomeFormDb = void 0;
13
+ const db_provider_1 = require("@d19n/odin-sdk-generator/dist/db.provider");
14
+ const db_record_link_manager_1 = require("@d19n/odin-sdk-generator/dist/db.record.link.manager");
15
+ /**
16
+ * @deprecated Use OdinDbClient.
17
+ *
18
+ * Migration:
19
+ * - Old: new YfFieldVisitOutcomeFormApi(authParams).get(id)
20
+ * - New: new odin.yffieldvisitoutcomeform.get(id)
21
+ *
22
+ * The new OdinDbClient returns typed record wrappers with action methods.
23
+ *
24
+ * Supports separate query options and provider options:
25
+ * - Constructor level: new YfFieldVisitOutcomeFormDb(principal, dbService, { omitPermissionsCheck: true })
26
+ * - Method level: await db.getByPrimaryKey(id, { entities: [] }, { omitPermissionsCheck: true })
27
+ */
28
+ class YfFieldVisitOutcomeFormDb extends db_provider_1.DbProvider {
29
+ constructor(principal, dbService, defaultOptions) {
30
+ super(principal, dbService, defaultOptions);
31
+ this.moduleName = 'FieldServiceModule';
32
+ this.entityName = 'YfFieldVisitOutcomeForm';
33
+ this.principal = principal;
34
+ this.dbService = dbService;
35
+ // Link managers are lazy-loaded on first access
36
+ }
37
+ // ============================================
38
+ // LAZY-LOADED LINK MANAGERS (Public Getters)
39
+ // ============================================
40
+ // Usage remains identical: db.address.list(recordId)
41
+ get workorder() {
42
+ if (!this._workorder) {
43
+ this._workorder = new db_record_link_manager_1.DbRecordLinkManager(this.principal, this.dbService, 'FieldServiceModule:YfFieldVisitOutcomeForm', 'FieldServiceModule:WorkOrder', 'WorkOrder_YfFieldVisitOutcomeForm');
44
+ }
45
+ return this._workorder;
46
+ }
47
+ get address() {
48
+ if (!this._address) {
49
+ this._address = new db_record_link_manager_1.DbRecordLinkManager(this.principal, this.dbService, 'FieldServiceModule:YfFieldVisitOutcomeForm', 'CrmModule:Address', 'YfFieldVisitOutcomeForm__Address');
50
+ }
51
+ return this._address;
52
+ }
53
+ get note() {
54
+ if (!this._note) {
55
+ this._note = new db_record_link_manager_1.DbRecordLinkManager(this.principal, this.dbService, 'FieldServiceModule:YfFieldVisitOutcomeForm', 'SupportModule:Note', 'YfFieldVisitOutcomeForm__Note');
56
+ }
57
+ return this._note;
58
+ }
59
+ get file() {
60
+ if (!this._file) {
61
+ this._file = new db_record_link_manager_1.DbRecordLinkManager(this.principal, this.dbService, 'FieldServiceModule:YfFieldVisitOutcomeForm', 'SchemaModule:File', 'YfFieldVisitOutcomeForm__File');
62
+ }
63
+ return this._file;
64
+ }
65
+ // ============================================
66
+ // STANDARD METHODS
67
+ // ============================================
68
+ // Methods support separate query options and provider options for clean API
69
+ setRecord(sourceRecord) {
70
+ this.sourceRecord = sourceRecord;
71
+ }
72
+ /**
73
+ * Search records with manual pagination control
74
+ * @param params - Search parameters
75
+ * @param providerOptions - Provider options (HOW: omitPermissionsCheck)
76
+ */
77
+ searchRecords(params, providerOptions) {
78
+ return __awaiter(this, void 0, void 0, function* () {
79
+ return yield this._searchRecords(this.moduleName, this.entityName, params, providerOptions);
80
+ });
81
+ }
82
+ /**
83
+ * Search all records with automatic pagination
84
+ * @param params - Search parameters
85
+ * @param providerOptions - Provider options (HOW: omitPermissionsCheck)
86
+ */
87
+ searchAllRecordsAndPaginate(params, providerOptions) {
88
+ return __awaiter(this, void 0, void 0, function* () {
89
+ return yield this._searchAllRecordsAndPaginate(this.moduleName, this.entityName, params, 0, providerOptions);
90
+ });
91
+ }
92
+ /**
93
+ * Get a single record by primary key
94
+ * @param yfFieldVisitOutcomeFormId - Record ID
95
+ * @param queryOptions - Query options (WHAT: entities to include)
96
+ * @param providerOptions - Provider options (HOW: omitPermissionsCheck)
97
+ *
98
+ * @example
99
+ * // Simple get
100
+ * const record = await db.getByPrimaryKey(id);
101
+ *
102
+ * // With related entities
103
+ * const record = await db.getByPrimaryKey(id, { entities: ['InvoiceItem', 'Transaction'] });
104
+ *
105
+ * // With permissions bypass
106
+ * const record = await db.getByPrimaryKey(id, {}, { omitPermissionsCheck: true });
107
+ *
108
+ * // Both options
109
+ * const record = await db.getByPrimaryKey(id, { entities: ['Invoice'] }, { omitPermissionsCheck: true });
110
+ */
111
+ getByPrimaryKey(yfFieldVisitOutcomeFormId, queryOptions, providerOptions) {
112
+ return __awaiter(this, void 0, void 0, function* () {
113
+ const res = yield this._getByPrimaryKey(this.moduleName, this.entityName, yfFieldVisitOutcomeFormId, queryOptions, providerOptions);
114
+ if (res)
115
+ this.setRecord(res);
116
+ return res;
117
+ });
118
+ }
119
+ /**
120
+ * Get multiple records by primary keys
121
+ * @param yfFieldVisitOutcomeFormIds - Array of record IDs
122
+ * @param queryOptions - Query options (WHAT: entities to include)
123
+ * @param providerOptions - Provider options (HOW: omitPermissionsCheck)
124
+ */
125
+ getManyByPrimaryKey(yfFieldVisitOutcomeFormIds, queryOptions, providerOptions) {
126
+ return __awaiter(this, void 0, void 0, function* () {
127
+ return yield this._getManyByPrimaryKey(this.moduleName, this.entityName, yfFieldVisitOutcomeFormIds, queryOptions, providerOptions);
128
+ });
129
+ }
130
+ /**
131
+ * Upsert a single record
132
+ * @param upsertDto - Record to upsert
133
+ * @param providerOptions - Provider options (HOW: omitPermissionsCheck)
134
+ */
135
+ upsert(upsertDto, providerOptions) {
136
+ return __awaiter(this, void 0, void 0, function* () {
137
+ const res = yield this._upsert(this.moduleName, this.entityName, [upsertDto], providerOptions);
138
+ return res[0];
139
+ });
140
+ }
141
+ /**
142
+ * Upsert multiple records
143
+ * @param upsertDtos - Records to upsert
144
+ * @param providerOptions - Provider options (HOW: omitPermissionsCheck)
145
+ */
146
+ upsertMany(upsertDtos, providerOptions) {
147
+ return __awaiter(this, void 0, void 0, function* () {
148
+ return yield this._upsert(this.moduleName, this.entityName, upsertDtos, providerOptions);
149
+ });
150
+ }
151
+ /**
152
+ * Update a single record
153
+ * @param updateDto - Record to update
154
+ * @param providerOptions - Provider options (HOW: omitPermissionsCheck)
155
+ */
156
+ update(updateDto, providerOptions) {
157
+ return __awaiter(this, void 0, void 0, function* () {
158
+ const res = yield this._update(this.moduleName, this.entityName, [updateDto], providerOptions);
159
+ return res[0];
160
+ });
161
+ }
162
+ /**
163
+ * Update multiple records
164
+ * @param updateDtos - Records to update
165
+ * @param providerOptions - Provider options (HOW: omitPermissionsCheck)
166
+ */
167
+ updateMany(updateDtos, providerOptions) {
168
+ return __awaiter(this, void 0, void 0, function* () {
169
+ return yield this._update(this.moduleName, this.entityName, updateDtos, providerOptions);
170
+ });
171
+ }
172
+ /**
173
+ * Delete one or many records
174
+ * @param yfFieldVisitOutcomeFormIds - Record IDs to delete
175
+ * @param providerOptions - Provider options (HOW: omitPermissionsCheck)
176
+ */
177
+ delete(yfFieldVisitOutcomeFormIds, providerOptions) {
178
+ return __awaiter(this, void 0, void 0, function* () {
179
+ return yield this._delete(this.moduleName, this.entityName, yfFieldVisitOutcomeFormIds, providerOptions);
180
+ });
181
+ }
182
+ /**
183
+ * Restore one or many deleted records
184
+ * @param yfFieldVisitOutcomeFormIds - Record IDs to restore
185
+ * @param providerOptions - Provider options (HOW: omitPermissionsCheck)
186
+ */
187
+ restore(yfFieldVisitOutcomeFormIds, providerOptions) {
188
+ return __awaiter(this, void 0, void 0, function* () {
189
+ return yield this._restore(this.moduleName, this.entityName, yfFieldVisitOutcomeFormIds, providerOptions);
190
+ });
191
+ }
192
+ /**
193
+ * Apply an action to a record
194
+ * @param actionName - The action key
195
+ * @param dto - The action DTO
196
+ * @param providerOptions - Provider options (HOW: omitPermissionsCheck)
197
+ */
198
+ applyAction(actionName, dto, providerOptions) {
199
+ return __awaiter(this, void 0, void 0, function* () {
200
+ return yield this._applyAction(this.moduleName, this.entityName, dto, providerOptions);
201
+ });
202
+ }
203
+ /**
204
+ * Get version history for the current source record
205
+ * @param providerOptions - Provider options (HOW: omitPermissionsCheck)
206
+ */
207
+ getVersions(providerOptions) {
208
+ return __awaiter(this, void 0, void 0, function* () {
209
+ return yield this._getVersions(this.moduleName, this.entityName, this.sourceRecord.id, providerOptions);
210
+ });
211
+ }
212
+ /**
213
+ * Get revision timeline for the current source record
214
+ * @param providerOptions - Provider options (HOW: omitPermissionsCheck)
215
+ */
216
+ getRevisionTimeline(providerOptions) {
217
+ return __awaiter(this, void 0, void 0, function* () {
218
+ return yield this._getRevisionTimeline(this.moduleName, this.entityName, this.sourceRecord.id, providerOptions);
219
+ });
220
+ }
221
+ }
222
+ exports.YfFieldVisitOutcomeFormDb = YfFieldVisitOutcomeFormDb;
@@ -33,6 +33,7 @@ import { AddressInteractionProperties } from './AddressInteraction';
33
33
  import { YfFieldServiceVisitProperties } from './YfFieldServiceVisit';
34
34
  import { ChurnRequestProperties } from './ChurnRequest';
35
35
  import { DataIssueProperties } from './DataIssue';
36
+ import { YfFieldVisitOutcomeFormProperties } from './YfFieldVisitOutcomeForm';
36
37
  /**
37
38
  * Available types for Address records
38
39
  */
@@ -659,6 +660,8 @@ export declare class Address extends OdinRecord<AddressProperties> {
659
660
  ChurnRequest: OdinLink<LinkedOdinRecord<ChurnRequestProperties>>;
660
661
  /** Linked DataIssue records (DataIssue__Address) */
661
662
  DataIssue: OdinLink<LinkedOdinRecord<DataIssueProperties>>;
663
+ /** Linked YfFieldVisitOutcomeForm records (YfFieldVisitOutcomeForm__Address) */
664
+ YfFieldVisitOutcomeForm: OdinLink<LinkedOdinRecord<YfFieldVisitOutcomeFormProperties>>;
662
665
  }
663
666
  /**
664
667
  * RabbitMQ routing keys for Address events
@@ -384,6 +384,8 @@ export declare enum ContactPropertyKeys {
384
384
  WhitelistedTwilioQueue = "WhitelistedTwilioQueue",
385
385
  /** Time when the whitelisting ends and the user falls back to the main IVR again. */
386
386
  WhitelistTwilioEndTime = "WhitelistTwilioEndTime",
387
+ /** True suppresses every CSAT survey (email, web-chat, SMS) for this contact, regardless of channel. Set via a permission-locked toggle on the Contact detail view. Absent/false = CSAT sends as normal. */
388
+ CsatDisabled = "CsatDisabled",
387
389
  /** Phone number (Sales - Contact) */
388
390
  Phone = "Phone"
389
391
  }
@@ -739,6 +741,12 @@ export interface ContactProperties {
739
741
  * @hidden This field is hidden in the UI
740
742
  */
741
743
  WhitelistTwilioEndTime: string;
744
+ /** True suppresses every CSAT survey (email, web-chat, SMS) for this contact, regardless of channel. Set via a permission-locked toggle on the Contact detail view. Absent/false = CSAT sends as normal.
745
+ *
746
+ * @type {BOOLEAN}
747
+ * @default
748
+ */
749
+ CsatDisabled: boolean;
742
750
  /** Phone number (Sales - Contact)
743
751
  *
744
752
  * @type {PHONE_NUMBER_E164_GB}
@@ -369,6 +369,8 @@ var ContactPropertyKeys;
369
369
  ContactPropertyKeys["WhitelistedTwilioQueue"] = "WhitelistedTwilioQueue";
370
370
  /** Time when the whitelisting ends and the user falls back to the main IVR again. */
371
371
  ContactPropertyKeys["WhitelistTwilioEndTime"] = "WhitelistTwilioEndTime";
372
+ /** True suppresses every CSAT survey (email, web-chat, SMS) for this contact, regardless of channel. Set via a permission-locked toggle on the Contact detail view. Absent/false = CSAT sends as normal. */
373
+ ContactPropertyKeys["CsatDisabled"] = "CsatDisabled";
372
374
  /** Phone number (Sales - Contact) */
373
375
  ContactPropertyKeys["Phone"] = "Phone";
374
376
  })(ContactPropertyKeys = exports.ContactPropertyKeys || (exports.ContactPropertyKeys = {}));
@@ -73,6 +73,7 @@ import { OhRetroAuditProperties } from './OhRetroAudit';
73
73
  import { UgInProgressAuditProperties } from './UgInProgressAudit';
74
74
  import { PgDirectDebitFileProperties } from './PgDirectDebitFile';
75
75
  import { YfWifiSurveyProperties } from './YfWifiSurvey';
76
+ import { YfFieldVisitOutcomeFormProperties } from './YfFieldVisitOutcomeForm';
76
77
  /**
77
78
  * Available types for File records
78
79
  */
@@ -961,6 +962,8 @@ export declare class File extends OdinRecord<FileProperties> {
961
962
  PgDirectDebitFile: OdinLink<LinkedOdinRecord<PgDirectDebitFileProperties>>;
962
963
  /** Linked YfWifiSurvey records (YfWifiSurvey__File) */
963
964
  YfWifiSurvey: OdinLink<LinkedOdinRecord<YfWifiSurveyProperties>>;
965
+ /** Linked YfFieldVisitOutcomeForm records (YfFieldVisitOutcomeForm__File) */
966
+ YfFieldVisitOutcomeForm: OdinLink<LinkedOdinRecord<YfFieldVisitOutcomeFormProperties>>;
964
967
  }
965
968
  /**
966
969
  * RabbitMQ routing keys for File events
@@ -13,6 +13,7 @@
13
13
  import { OdinRecord, OdinLink, LinkedOdinRecord } from '@d19n/odin-types/dist/core';
14
14
  import { OrderKciProperties } from './OrderKci';
15
15
  import { OrderProperties } from './Order';
16
+ import { RecontractProperties } from './Recontract';
16
17
  /**
17
18
  * Available types for ModifyServiceRequest records
18
19
  */
@@ -183,6 +184,8 @@ export declare class ModifyServiceRequest extends OdinRecord<ModifyServiceReques
183
184
  OrderKci: OdinLink<LinkedOdinRecord<OrderKciProperties>>;
184
185
  /** Linked Order records (ModifyServiceRequest__Order) */
185
186
  Order: OdinLink<LinkedOdinRecord<OrderProperties>>;
187
+ /** Linked Recontract records (Recontract__ModifyServiceRequest) */
188
+ Recontract: OdinLink<LinkedOdinRecord<RecontractProperties>>;
186
189
  }
187
190
  /**
188
191
  * RabbitMQ routing keys for ModifyServiceRequest events
@@ -83,6 +83,7 @@ import { CaseProperties } from './Case';
83
83
  import { SmsMessageProperties } from './SmsMessage';
84
84
  import { SiteSpecificRiskAssessmentOutcomeFormProperties } from './SiteSpecificRiskAssessmentOutcomeForm';
85
85
  import { AccountCreditProperties } from './AccountCredit';
86
+ import { YfFieldVisitOutcomeFormProperties } from './YfFieldVisitOutcomeForm';
86
87
  /**
87
88
  * Available types for Note records
88
89
  */
@@ -332,6 +333,8 @@ export declare class Note extends OdinRecord<NoteProperties> {
332
333
  SiteSpecificRiskAssessmentOutcomeForm: OdinLink<LinkedOdinRecord<SiteSpecificRiskAssessmentOutcomeFormProperties>>;
333
334
  /** Linked AccountCredit records (AccountCredit_Note) */
334
335
  AccountCredit: OdinLink<LinkedOdinRecord<AccountCreditProperties>>;
336
+ /** Linked YfFieldVisitOutcomeForm records (YfFieldVisitOutcomeForm__Note) */
337
+ YfFieldVisitOutcomeForm: OdinLink<LinkedOdinRecord<YfFieldVisitOutcomeFormProperties>>;
335
338
  }
336
339
  /**
337
340
  * RabbitMQ routing keys for Note events