@d19n/youfibre-odin-sdk 2.0.55 → 2.0.58

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.
package/README.md CHANGED
@@ -352,7 +352,7 @@ This SDK includes **164** entities across **12** modules.
352
352
 
353
353
  ## Actions
354
354
 
355
- This SDK includes **596** actions.
355
+ This SDK includes **597** actions.
356
356
 
357
357
  ### Action Types
358
358
 
@@ -1176,6 +1176,7 @@ This SDK includes **596** actions.
1176
1176
  | `CreateOrderReferralReferrerPendingEmail` | CREATE | k1.t-t-hEOJjsDb.NotificationModule.Email.Create.CreateOrderReferralReferrerPendingEmail |
1177
1177
  | `CreateOrderReferralReferrerQualifiedEmail` | CREATE | k1.t-t-hEOJjsDb.NotificationModule.Email.Create.CreateOrderReferralReferrerQualifiedEmail |
1178
1178
  | `CreateTransactionalEmail` | CREATE | k1.t-hEOJjsDb.NotificationModule.Email.Create.CreateTransactionalEmail |
1179
+ | `SendDirectDebitSetupConfirmationEmail` | CREATE | k1.t-hEOJjsDb.NotificationModule.Email.Create.SendDirectDebitSetupConfirmationEmail |
1179
1180
  | `SendTlosNinjaCaseEmail` | CREATE | k1.t-hEOJjsDb.NotificationModule.Email.Create.SendTlosNinjaCaseEmail |
1180
1181
  | `UpdateEmail` | UPDATE | k1.t-hEOJjsDb.NotificationModule.Email.Update.UpdateEmail |
1181
1182
  | `UpdateSupportEmail` | UPDATE | k1.t-hEOJjsDb.NotificationModule.Email.Update.UpdateSupportEmail |
@@ -0,0 +1,124 @@
1
+ /**
2
+ * SendDirectDebitSetupConfirmationEmail Action DTO
3
+ *
4
+ * Send direct debit setup confirmation email
5
+ *
6
+ * @module NotificationModule
7
+ * @entity Email
8
+ * @entityType TRANSACTIONAL
9
+ * @actionKey SendDirectDebitSetupConfirmationEmail
10
+ * @event k1.t-hEOJjsDb.NotificationModule.Email.Create.SendDirectDebitSetupConfirmationEmail
11
+ *
12
+ * AUTO-GENERATED - DO NOT EDIT DIRECTLY
13
+ */
14
+ import { OdinRecordCreateDto, OdinRecordCreatedEvent } from '@d19n/odin-types/dist/core';
15
+ /**
16
+ * RabbitMQ message payload for SendDirectDebitSetupConfirmationEmail created events
17
+ *
18
+ * @event k1.t-hEOJjsDb.NotificationModule.Email.Create.SendDirectDebitSetupConfirmationEmail
19
+ */
20
+ export interface SendDirectDebitSetupConfirmationEmailMessage extends OdinRecordCreatedEvent<SendDirectDebitSetupConfirmationEmailDto, SendDirectDebitSetupConfirmationEmailProperties> {
21
+ }
22
+ /**
23
+ * Properties for SendDirectDebitSetupConfirmationEmail action
24
+ *
25
+ * @property Required fields: 1
26
+ * @property Optional fields: 7
27
+ */
28
+ export interface SendDirectDebitSetupConfirmationEmailProperties {
29
+ /**
30
+ * Date
31
+ *
32
+ * Date field for Email records. Used by Communications team.
33
+ * @type {DATE_TIME}
34
+ * @required
35
+ */
36
+ Date: string;
37
+ /**
38
+ * EmailSenderId
39
+ *
40
+ * The Email Sender related entity
41
+ * @type {LOOKUP}
42
+ */
43
+ EmailSenderId?: string | null;
44
+ /**
45
+ * EmailingService
46
+ *
47
+ * The provider we use to send email (eg. Sendgrid)
48
+ * @type {ENUM}
49
+ * @default SENDGRID
50
+ */
51
+ EmailingService?: string | null;
52
+ /**
53
+ * ContactId
54
+ *
55
+ * The related Contact to send the email
56
+ * @type {LOOKUP}
57
+ */
58
+ ContactId?: string | null;
59
+ /**
60
+ * TemplateLabel
61
+ *
62
+ * The template label from email templates engine
63
+ * @type {TEXT}
64
+ * @default SENDGRID_DIRECT_DEBIT_SETUP_CONFIRMATION
65
+ */
66
+ TemplateLabel?: string | null;
67
+ /**
68
+ * DynamicData
69
+ *
70
+ * Data will pass to emailing service (variables)
71
+ * @type {JSON}
72
+ */
73
+ DynamicData?: string | null;
74
+ /**
75
+ * PaymentMethod
76
+ *
77
+ * Related Payment Method
78
+ * @type {LOOKUP}
79
+ */
80
+ PaymentMethod?: string | null;
81
+ /**
82
+ * MessageId
83
+ *
84
+ * SMTP Message Id (Communications - Email)
85
+ * @type {TEXT}
86
+ */
87
+ MessageId?: string | null;
88
+ }
89
+ /**
90
+ * SendDirectDebitSetupConfirmationEmail
91
+ *
92
+ * Send direct debit setup confirmation email
93
+ *
94
+ * @actionType CREATE - Creates a new Email record
95
+ * @module NotificationModule
96
+ * @entity Email
97
+ * @entityType TRANSACTIONAL (TRANSACTIONAL)
98
+ * @event k1.t-hEOJjsDb.NotificationModule.Email.Create.SendDirectDebitSetupConfirmationEmail
99
+ * @permission schema.action.senddirectdebitsetupconfirmationemail.trigger
100
+ * @benchmark This action is tracked for performance benchmarks
101
+ */
102
+ export declare class SendDirectDebitSetupConfirmationEmailDto extends OdinRecordCreateDto<SendDirectDebitSetupConfirmationEmailProperties> {
103
+ /** Used by SDK generators to identify action type */
104
+ static readonly ACTION_TYPE = "CREATE";
105
+ static readonly ACTION_KEY = "SendDirectDebitSetupConfirmationEmail";
106
+ static readonly MODULE_NAME = "NotificationModule";
107
+ static readonly ENTITIES: string[];
108
+ static readonly ENTITY_TYPE = "TRANSACTIONAL";
109
+ static readonly EVENT_NAME = "k1.t-hEOJjsDb.NotificationModule.Email.Create.SendDirectDebitSetupConfirmationEmail";
110
+ static readonly PERMISSION = "schema.action.senddirectdebitsetupconfirmationemail.trigger";
111
+ /** Step metadata - entity this action targets */
112
+ static readonly STEP_ENTITY = "NotificationModule:Email";
113
+ static readonly STEP_SCHEMA_ID = "a3b4d6b7-0647-4202-90a6-036e3c87c5ae";
114
+ static readonly STEP_SCHEMA_ACTION_ID = "0277b349-542d-4e1d-8d6a-38ab7d521936";
115
+ static readonly STEP_SCHEMA_TYPE_ID = "e9e1ed12-a147-4163-aff0-b38e2c635d53";
116
+ static readonly STEP_TYPE = "TRANSACTIONAL";
117
+ static readonly AUTO_LINK_PARENT = true;
118
+ readonly actionName: string;
119
+ readonly schemaActionId: string;
120
+ readonly entity: string;
121
+ constructor(properties: SendDirectDebitSetupConfirmationEmailProperties, options?: {
122
+ journeyId?: string;
123
+ });
124
+ }
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ /**
3
+ * SendDirectDebitSetupConfirmationEmail Action DTO
4
+ *
5
+ * Send direct debit setup confirmation email
6
+ *
7
+ * @module NotificationModule
8
+ * @entity Email
9
+ * @entityType TRANSACTIONAL
10
+ * @actionKey SendDirectDebitSetupConfirmationEmail
11
+ * @event k1.t-hEOJjsDb.NotificationModule.Email.Create.SendDirectDebitSetupConfirmationEmail
12
+ *
13
+ * AUTO-GENERATED - DO NOT EDIT DIRECTLY
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.SendDirectDebitSetupConfirmationEmailDto = void 0;
17
+ const core_1 = require("@d19n/odin-types/dist/core");
18
+ /**
19
+ * SendDirectDebitSetupConfirmationEmail
20
+ *
21
+ * Send direct debit setup confirmation email
22
+ *
23
+ * @actionType CREATE - Creates a new Email record
24
+ * @module NotificationModule
25
+ * @entity Email
26
+ * @entityType TRANSACTIONAL (TRANSACTIONAL)
27
+ * @event k1.t-hEOJjsDb.NotificationModule.Email.Create.SendDirectDebitSetupConfirmationEmail
28
+ * @permission schema.action.senddirectdebitsetupconfirmationemail.trigger
29
+ * @benchmark This action is tracked for performance benchmarks
30
+ */
31
+ class SendDirectDebitSetupConfirmationEmailDto extends core_1.OdinRecordCreateDto {
32
+ constructor(properties, options) {
33
+ super({
34
+ entity: 'NotificationModule:Email',
35
+ type: 'TRANSACTIONAL',
36
+ properties,
37
+ journeyId: options === null || options === void 0 ? void 0 : options.journeyId,
38
+ });
39
+ this.actionName = 'SendDirectDebitSetupConfirmationEmail';
40
+ this.schemaActionId = '0277b349-542d-4e1d-8d6a-38ab7d521936';
41
+ this.entity = 'NotificationModule:Email';
42
+ }
43
+ }
44
+ exports.SendDirectDebitSetupConfirmationEmailDto = SendDirectDebitSetupConfirmationEmailDto;
45
+ /** Used by SDK generators to identify action type */
46
+ SendDirectDebitSetupConfirmationEmailDto.ACTION_TYPE = 'CREATE';
47
+ SendDirectDebitSetupConfirmationEmailDto.ACTION_KEY = 'SendDirectDebitSetupConfirmationEmail';
48
+ SendDirectDebitSetupConfirmationEmailDto.MODULE_NAME = 'NotificationModule';
49
+ SendDirectDebitSetupConfirmationEmailDto.ENTITIES = ['Email'];
50
+ SendDirectDebitSetupConfirmationEmailDto.ENTITY_TYPE = 'TRANSACTIONAL';
51
+ SendDirectDebitSetupConfirmationEmailDto.EVENT_NAME = 'k1.t-hEOJjsDb.NotificationModule.Email.Create.SendDirectDebitSetupConfirmationEmail';
52
+ SendDirectDebitSetupConfirmationEmailDto.PERMISSION = 'schema.action.senddirectdebitsetupconfirmationemail.trigger';
53
+ /** Step metadata - entity this action targets */
54
+ SendDirectDebitSetupConfirmationEmailDto.STEP_ENTITY = 'NotificationModule:Email';
55
+ SendDirectDebitSetupConfirmationEmailDto.STEP_SCHEMA_ID = 'a3b4d6b7-0647-4202-90a6-036e3c87c5ae';
56
+ SendDirectDebitSetupConfirmationEmailDto.STEP_SCHEMA_ACTION_ID = '0277b349-542d-4e1d-8d6a-38ab7d521936';
57
+ SendDirectDebitSetupConfirmationEmailDto.STEP_SCHEMA_TYPE_ID = 'e9e1ed12-a147-4163-aff0-b38e2c635d53';
58
+ SendDirectDebitSetupConfirmationEmailDto.STEP_TYPE = 'TRANSACTIONAL';
59
+ SendDirectDebitSetupConfirmationEmailDto.AUTO_LINK_PARENT = true;
@@ -22,6 +22,7 @@ export declare class EmailApi extends ApiProvider {
22
22
  private _file?;
23
23
  private _case?;
24
24
  private _contact?;
25
+ private _paymentmethod?;
25
26
  private _emailsender?;
26
27
  private _workorder?;
27
28
  private _referral?;
@@ -31,6 +32,7 @@ export declare class EmailApi extends ApiProvider {
31
32
  get file(): ApiRecordLinkManager;
32
33
  get case(): ApiRecordLinkManager;
33
34
  get contact(): ApiRecordLinkManager;
35
+ get paymentmethod(): ApiRecordLinkManager;
34
36
  get emailsender(): ApiRecordLinkManager;
35
37
  get workorder(): ApiRecordLinkManager;
36
38
  get referral(): ApiRecordLinkManager;
@@ -63,6 +63,12 @@ class EmailApi extends api_provider_1.ApiProvider {
63
63
  }
64
64
  return this._contact;
65
65
  }
66
+ get paymentmethod() {
67
+ if (!this._paymentmethod) {
68
+ this._paymentmethod = new api_record_link_manager_1.ApiRecordLinkManager(this.authParams, 'NotificationModule:Email', 'BillingModule:PaymentMethod', 'PaymentMethod__Email');
69
+ }
70
+ return this._paymentmethod;
71
+ }
66
72
  get emailsender() {
67
73
  if (!this._emailsender) {
68
74
  this._emailsender = new api_record_link_manager_1.ApiRecordLinkManager(this.authParams, 'NotificationModule:Email', 'NotificationModule:EmailSender', 'Emai__EmailSender');
@@ -24,6 +24,7 @@ export declare class PaymentMethodApi extends ApiProvider {
24
24
  private _contactidentity?;
25
25
  private _file?;
26
26
  private _paymentmethodrefund?;
27
+ private _email?;
27
28
  private _contact?;
28
29
  constructor(authParams?: OauthParams, authToken?: string);
29
30
  get contractbuyout(): ApiRecordLinkManager;
@@ -33,6 +34,7 @@ export declare class PaymentMethodApi extends ApiProvider {
33
34
  get contactidentity(): ApiRecordLinkManager;
34
35
  get file(): ApiRecordLinkManager;
35
36
  get paymentmethodrefund(): ApiRecordLinkManager;
37
+ get email(): ApiRecordLinkManager;
36
38
  get contact(): ApiRecordLinkManager;
37
39
  setRecord(sourceRecord: any): void;
38
40
  schema(): Promise<import("@d19n/odin-types/dist/core").OdinSchema>;
@@ -75,6 +75,12 @@ class PaymentMethodApi extends api_provider_1.ApiProvider {
75
75
  }
76
76
  return this._paymentmethodrefund;
77
77
  }
78
+ get email() {
79
+ if (!this._email) {
80
+ this._email = new api_record_link_manager_1.ApiRecordLinkManager(this.authParams, 'BillingModule:PaymentMethod', 'NotificationModule:Email', 'PaymentMethod__Email');
81
+ }
82
+ return this._email;
83
+ }
78
84
  get contact() {
79
85
  if (!this._contact) {
80
86
  this._contact = new api_record_link_manager_1.ApiRecordLinkManager(this.authParams, 'BillingModule:PaymentMethod', 'CrmModule:Contact', 'Contact__PaymentMethod');
@@ -26,6 +26,7 @@ export declare class EmailDb extends DbProvider {
26
26
  private _file?;
27
27
  private _case?;
28
28
  private _contact?;
29
+ private _paymentmethod?;
29
30
  private _emailsender?;
30
31
  private _workorder?;
31
32
  private _referral?;
@@ -35,6 +36,7 @@ export declare class EmailDb extends DbProvider {
35
36
  get file(): DbRecordLinkManager;
36
37
  get case(): DbRecordLinkManager;
37
38
  get contact(): DbRecordLinkManager;
39
+ get paymentmethod(): DbRecordLinkManager;
38
40
  get emailsender(): DbRecordLinkManager;
39
41
  get workorder(): DbRecordLinkManager;
40
42
  get referral(): DbRecordLinkManager;
@@ -68,6 +68,12 @@ class EmailDb extends db_provider_1.DbProvider {
68
68
  }
69
69
  return this._contact;
70
70
  }
71
+ get paymentmethod() {
72
+ if (!this._paymentmethod) {
73
+ this._paymentmethod = new db_record_link_manager_1.DbRecordLinkManager(this.principal, this.dbService, 'NotificationModule:Email', 'BillingModule:PaymentMethod', 'PaymentMethod__Email');
74
+ }
75
+ return this._paymentmethod;
76
+ }
71
77
  get emailsender() {
72
78
  if (!this._emailsender) {
73
79
  this._emailsender = new db_record_link_manager_1.DbRecordLinkManager(this.principal, this.dbService, 'NotificationModule:Email', 'NotificationModule:EmailSender', 'Emai__EmailSender');
@@ -28,6 +28,7 @@ export declare class PaymentMethodDb extends DbProvider {
28
28
  private _contactidentity?;
29
29
  private _file?;
30
30
  private _paymentmethodrefund?;
31
+ private _email?;
31
32
  private _contact?;
32
33
  constructor(principal: any, dbService: any, defaultOptions?: DbProviderOptions);
33
34
  get contractbuyout(): DbRecordLinkManager;
@@ -37,6 +38,7 @@ export declare class PaymentMethodDb extends DbProvider {
37
38
  get contactidentity(): DbRecordLinkManager;
38
39
  get file(): DbRecordLinkManager;
39
40
  get paymentmethodrefund(): DbRecordLinkManager;
41
+ get email(): DbRecordLinkManager;
40
42
  get contact(): DbRecordLinkManager;
41
43
  setRecord(sourceRecord: any): void;
42
44
  /**
@@ -80,6 +80,12 @@ class PaymentMethodDb extends db_provider_1.DbProvider {
80
80
  }
81
81
  return this._paymentmethodrefund;
82
82
  }
83
+ get email() {
84
+ if (!this._email) {
85
+ this._email = new db_record_link_manager_1.DbRecordLinkManager(this.principal, this.dbService, 'BillingModule:PaymentMethod', 'NotificationModule:Email', 'PaymentMethod__Email');
86
+ }
87
+ return this._email;
88
+ }
83
89
  get contact() {
84
90
  if (!this._contact) {
85
91
  this._contact = new db_record_link_manager_1.DbRecordLinkManager(this.principal, this.dbService, 'BillingModule:PaymentMethod', 'CrmModule:Contact', 'Contact__PaymentMethod');
@@ -15,6 +15,7 @@ import { UserProperties } from './User';
15
15
  import { FileProperties } from './File';
16
16
  import { CaseProperties } from './Case';
17
17
  import { ContactProperties } from './Contact';
18
+ import { PaymentMethodProperties } from './PaymentMethod';
18
19
  import { EmailSenderProperties } from './EmailSender';
19
20
  import { WorkOrderProperties } from './WorkOrder';
20
21
  import { ReferralProperties } from './Referral';
@@ -123,6 +124,8 @@ export declare enum EmailPropertyKeys {
123
124
  SenderType = "SenderType",
124
125
  /** Data field for Email records. Used by Communications team. */
125
126
  Case = "Case",
127
+ /** Related Payment Method */
128
+ PaymentMethod = "PaymentMethod",
126
129
  /** Status of the email in the process */
127
130
  Status = "Status",
128
131
  /** Data will pass to emailing service (variables) */
@@ -241,6 +244,11 @@ export interface EmailProperties {
241
244
  * @type {LOOKUP}
242
245
  */
243
246
  Case: string;
247
+ /** Related Payment Method
248
+ *
249
+ * @type {LOOKUP}
250
+ */
251
+ PaymentMethod: string;
244
252
  /** Status of the email in the process
245
253
  *
246
254
  * @type {ENUM}
@@ -383,6 +391,11 @@ export interface ReferralEmailProperties {
383
391
  * @type {LOOKUP}
384
392
  */
385
393
  Case: string;
394
+ /** Related Payment Method
395
+ *
396
+ * @type {LOOKUP}
397
+ */
398
+ PaymentMethod: string;
386
399
  /** Status of the email in the process
387
400
  *
388
401
  * @type {ENUM}
@@ -525,6 +538,11 @@ export interface SupportEmailProperties {
525
538
  * @type {LOOKUP}
526
539
  */
527
540
  Case: string;
541
+ /** Related Payment Method
542
+ *
543
+ * @type {LOOKUP}
544
+ */
545
+ PaymentMethod: string;
528
546
  /** Status of the email in the process
529
547
  *
530
548
  * @type {ENUM}
@@ -667,6 +685,11 @@ export interface TransactionalEmailProperties {
667
685
  * @type {LOOKUP}
668
686
  */
669
687
  Case: string;
688
+ /** Related Payment Method
689
+ *
690
+ * @type {LOOKUP}
691
+ */
692
+ PaymentMethod: string;
670
693
  /** Status of the email in the process
671
694
  *
672
695
  * @type {ENUM}
@@ -731,6 +754,8 @@ export declare class Email extends OdinRecord<EmailProperties> {
731
754
  Case: OdinLink<LinkedOdinRecord<CaseProperties>>;
732
755
  /** Linked Contact records (Email_Contact) */
733
756
  Contact: OdinLink<LinkedOdinRecord<ContactProperties>>;
757
+ /** Linked PaymentMethod records (PaymentMethod__Email) */
758
+ PaymentMethod: OdinLink<LinkedOdinRecord<PaymentMethodProperties>>;
734
759
  /** Linked EmailSender records (Emai__EmailSender) */
735
760
  EmailSender: OdinLink<LinkedOdinRecord<EmailSenderProperties>>;
736
761
  /** Linked WorkOrder records (WorkOrder__Email) */
@@ -124,6 +124,8 @@ var EmailPropertyKeys;
124
124
  EmailPropertyKeys["SenderType"] = "SenderType";
125
125
  /** Data field for Email records. Used by Communications team. */
126
126
  EmailPropertyKeys["Case"] = "Case";
127
+ /** Related Payment Method */
128
+ EmailPropertyKeys["PaymentMethod"] = "PaymentMethod";
127
129
  /** Status of the email in the process */
128
130
  EmailPropertyKeys["Status"] = "Status";
129
131
  /** Data will pass to emailing service (variables) */
@@ -18,6 +18,7 @@ import { NoteProperties } from './Note';
18
18
  import { ContactIdentityProperties } from './ContactIdentity';
19
19
  import { FileProperties } from './File';
20
20
  import { PaymentMethodRefundProperties } from './PaymentMethodRefund';
21
+ import { EmailProperties } from './Email';
21
22
  import { ContactProperties } from './Contact';
22
23
  /**
23
24
  * Available types for PaymentMethod records
@@ -273,6 +274,8 @@ export declare class PaymentMethod extends OdinRecord<PaymentMethodProperties> {
273
274
  File: OdinLink<LinkedOdinRecord<FileProperties>>;
274
275
  /** Linked PaymentMethodRefund records (PaymentMethod__PaymentMethodRefund) */
275
276
  PaymentMethodRefund: OdinLink<LinkedOdinRecord<PaymentMethodRefundProperties>>;
277
+ /** Linked Email records (PaymentMethod__Email) */
278
+ Email: OdinLink<LinkedOdinRecord<EmailProperties>>;
276
279
  /** Linked Contact records (Contact__PaymentMethod) */
277
280
  Contact: OdinLink<LinkedOdinRecord<ContactProperties>>;
278
281
  }
@@ -304,3 +307,7 @@ export declare const ROUTING_KEY_LINK_PAYMENT_METHOD_FILE_DELETED = "BillingModu
304
307
  export declare const ROUTING_KEY_LINK_PAYMENT_METHOD_PAYMENT_METHOD_REFUND_CREATED = "BillingModule.PaymentMethod.PaymentMethodRefund.SubDbRecordAssociationCreated";
305
308
  /** Event: PaymentMethod__PaymentMethodRefund link deleted */
306
309
  export declare const ROUTING_KEY_LINK_PAYMENT_METHOD_PAYMENT_METHOD_REFUND_DELETED = "BillingModule.PaymentMethod.PaymentMethodRefund.SubDbRecordAssociationDeleted";
310
+ /** Event: PaymentMethod__Email link created */
311
+ export declare const ROUTING_KEY_LINK_PAYMENT_METHOD_EMAIL_CREATED = "BillingModule.PaymentMethod.Email.SubDbRecordAssociationCreated";
312
+ /** Event: PaymentMethod__Email link deleted */
313
+ export declare const ROUTING_KEY_LINK_PAYMENT_METHOD_EMAIL_DELETED = "BillingModule.PaymentMethod.Email.SubDbRecordAssociationDeleted";
@@ -12,7 +12,7 @@
12
12
  * Generated from Odin schema definition
13
13
  */
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.ROUTING_KEY_LINK_PAYMENT_METHOD_PAYMENT_METHOD_REFUND_DELETED = exports.ROUTING_KEY_LINK_PAYMENT_METHOD_PAYMENT_METHOD_REFUND_CREATED = exports.ROUTING_KEY_LINK_PAYMENT_METHOD_FILE_DELETED = exports.ROUTING_KEY_LINK_PAYMENT_METHOD_FILE_CREATED = exports.ROUTING_KEY_LINK_PAYMENT_METHOD_NOTE_DELETED = exports.ROUTING_KEY_LINK_PAYMENT_METHOD_NOTE_CREATED = exports.ROUTING_KEY_PAYMENT_METHOD_DEFAULT_DELETED = exports.ROUTING_KEY_PAYMENT_METHOD_DEFAULT_UPDATED = exports.ROUTING_KEY_PAYMENT_METHOD_DEFAULT_CREATED = exports.ROUTING_KEY_PAYMENT_METHOD_DELETED = exports.ROUTING_KEY_PAYMENT_METHOD_UPDATED = exports.ROUTING_KEY_PAYMENT_METHOD_CREATED = exports.PaymentMethod = exports.PaymentMethodPropertyKeys = exports.PaymentMethodProvider = exports.PaymentMethodDefault = exports.PaymentMethodType = exports.PaymentMethodStatus = exports.PaymentMethodEntityTypes = void 0;
15
+ exports.ROUTING_KEY_LINK_PAYMENT_METHOD_EMAIL_DELETED = exports.ROUTING_KEY_LINK_PAYMENT_METHOD_EMAIL_CREATED = exports.ROUTING_KEY_LINK_PAYMENT_METHOD_PAYMENT_METHOD_REFUND_DELETED = exports.ROUTING_KEY_LINK_PAYMENT_METHOD_PAYMENT_METHOD_REFUND_CREATED = exports.ROUTING_KEY_LINK_PAYMENT_METHOD_FILE_DELETED = exports.ROUTING_KEY_LINK_PAYMENT_METHOD_FILE_CREATED = exports.ROUTING_KEY_LINK_PAYMENT_METHOD_NOTE_DELETED = exports.ROUTING_KEY_LINK_PAYMENT_METHOD_NOTE_CREATED = exports.ROUTING_KEY_PAYMENT_METHOD_DEFAULT_DELETED = exports.ROUTING_KEY_PAYMENT_METHOD_DEFAULT_UPDATED = exports.ROUTING_KEY_PAYMENT_METHOD_DEFAULT_CREATED = exports.ROUTING_KEY_PAYMENT_METHOD_DELETED = exports.ROUTING_KEY_PAYMENT_METHOD_UPDATED = exports.ROUTING_KEY_PAYMENT_METHOD_CREATED = exports.PaymentMethod = exports.PaymentMethodPropertyKeys = exports.PaymentMethodProvider = exports.PaymentMethodDefault = exports.PaymentMethodType = exports.PaymentMethodStatus = exports.PaymentMethodEntityTypes = void 0;
16
16
  const core_1 = require("@d19n/odin-types/dist/core");
17
17
  /**
18
18
  * Available types for PaymentMethod records
@@ -184,3 +184,7 @@ exports.ROUTING_KEY_LINK_PAYMENT_METHOD_FILE_DELETED = 'BillingModule.PaymentMet
184
184
  exports.ROUTING_KEY_LINK_PAYMENT_METHOD_PAYMENT_METHOD_REFUND_CREATED = 'BillingModule.PaymentMethod.PaymentMethodRefund.SubDbRecordAssociationCreated';
185
185
  /** Event: PaymentMethod__PaymentMethodRefund link deleted */
186
186
  exports.ROUTING_KEY_LINK_PAYMENT_METHOD_PAYMENT_METHOD_REFUND_DELETED = 'BillingModule.PaymentMethod.PaymentMethodRefund.SubDbRecordAssociationDeleted';
187
+ /** Event: PaymentMethod__Email link created */
188
+ exports.ROUTING_KEY_LINK_PAYMENT_METHOD_EMAIL_CREATED = 'BillingModule.PaymentMethod.Email.SubDbRecordAssociationCreated';
189
+ /** Event: PaymentMethod__Email link deleted */
190
+ exports.ROUTING_KEY_LINK_PAYMENT_METHOD_EMAIL_DELETED = 'BillingModule.PaymentMethod.Email.SubDbRecordAssociationDeleted';
@@ -38,6 +38,7 @@ import { CreateOrderReferralReferrerNotQualifiedEmailProperties } from '../actio
38
38
  import { CreateOrderReferralReferrerPendingEmailProperties } from '../actions-v2/CreateOrderReferralReferrerPendingEmailDto';
39
39
  import { CreateOrderReferralReferrerQualifiedEmailProperties } from '../actions-v2/CreateOrderReferralReferrerQualifiedEmailDto';
40
40
  import { CreateTransactionalEmailProperties } from '../actions-v2/CreateTransactionalEmailDto';
41
+ import { SendDirectDebitSetupConfirmationEmailProperties } from '../actions-v2/SendDirectDebitSetupConfirmationEmailDto';
41
42
  import { SendTlosNinjaCaseEmailProperties } from '../actions-v2/SendTlosNinjaCaseEmailDto';
42
43
  import { UpdateEmailProperties } from '../actions-v2/UpdateEmailDto';
43
44
  import { UpdateSupportEmailProperties } from '../actions-v2/UpdateSupportEmailDto';
@@ -45,6 +46,7 @@ import { UserRecord } from './UserRecord';
45
46
  import { FileRecord } from './FileRecord';
46
47
  import { CaseRecord } from './CaseRecord';
47
48
  import { ContactRecord } from './ContactRecord';
49
+ import { PaymentMethodRecord } from './PaymentMethodRecord';
48
50
  import { EmailSenderRecord } from './EmailSenderRecord';
49
51
  import { WorkOrderRecord } from './WorkOrderRecord';
50
52
  import { ReferralRecord } from './ReferralRecord';
@@ -118,6 +120,7 @@ export declare class EmailRecord<TProps = EmailProperties> {
118
120
  private _files?;
119
121
  private _cases?;
120
122
  private _contacts?;
123
+ private _paymentMethods?;
121
124
  private _emailSenders?;
122
125
  private _workOrders?;
123
126
  private _referrals?;
@@ -300,6 +303,24 @@ export declare class EmailRecord<TProps = EmailProperties> {
300
303
  * ```
301
304
  */
302
305
  get contacts(): RecordLinkManager<ContactRecord, typeof EmailRecord['contactsLabels'][number]>;
306
+ /** Valid labels for PaymentMethod associations */
307
+ static readonly paymentMethodsLabels: readonly ["PaymentMethod__Email"];
308
+ /**
309
+ * Access linked PaymentMethod records
310
+ * @remarks Available labels: PaymentMethod__Email
311
+ * @throws Error if called on a new (unsaved) record
312
+ *
313
+ * @example
314
+ * ```typescript
315
+ * // Get all linked PaymentMethod records
316
+ * const items = await record.paymentMethods.list();
317
+ * const first = await record.paymentMethods.first();
318
+ *
319
+ * // Filter by label
320
+ * const specific = await record.paymentMethods.first({ label: 'PaymentMethod__Email' });
321
+ * ```
322
+ */
323
+ get paymentMethods(): RecordLinkManager<PaymentMethodRecord, typeof EmailRecord['paymentMethodsLabels'][number]>;
303
324
  /** Valid labels for EmailSender associations */
304
325
  static readonly emailSendersLabels: readonly ["Emai__EmailSender"];
305
326
  /**
@@ -795,6 +816,34 @@ export declare class EmailRecord<TProps = EmailProperties> {
795
816
  journeyId?: string;
796
817
  stageKey?: string;
797
818
  }): ActionBuilder;
819
+ /**
820
+ * SendDirectDebitSetupConfirmationEmail
821
+ *
822
+ * Creates a new Email record with the specified properties.
823
+ * Returns an ActionBuilder - call .execute() to create or .dryRun() for debugging.
824
+ *
825
+ * @remarks Record type: TRANSACTIONAL
826
+ *
827
+ * @param properties - The properties for the new record
828
+ * @param options - Optional settings
829
+ * @param options.journeyId - Associate with a journey
830
+ * @param options.stageKey - Set initial pipeline stage
831
+ * @returns ActionBuilder - call .execute() to create or .dryRun() for payload
832
+ *
833
+ * @example
834
+ * ```typescript
835
+ * // Create with properties
836
+ * const record = odinClient.emails.new();
837
+ * await record.sendDirectDebitSetupConfirmationEmail({ ... }).execute();
838
+ *
839
+ * // Dry run (for debugging)
840
+ * const payload = record.sendDirectDebitSetupConfirmationEmail({ ... }).dryRun();
841
+ * ```
842
+ */
843
+ sendDirectDebitSetupConfirmationEmail(properties: SendDirectDebitSetupConfirmationEmailProperties, options?: {
844
+ journeyId?: string;
845
+ stageKey?: string;
846
+ }): ActionBuilder;
798
847
  /**
799
848
  * SendTlosNinjaCaseEmail
800
849
  *
@@ -36,6 +36,7 @@ const UserRecord_1 = require("./UserRecord");
36
36
  const FileRecord_1 = require("./FileRecord");
37
37
  const CaseRecord_1 = require("./CaseRecord");
38
38
  const ContactRecord_1 = require("./ContactRecord");
39
+ const PaymentMethodRecord_1 = require("./PaymentMethodRecord");
39
40
  const EmailSenderRecord_1 = require("./EmailSenderRecord");
40
41
  const WorkOrderRecord_1 = require("./WorkOrderRecord");
41
42
  const ReferralRecord_1 = require("./ReferralRecord");
@@ -366,6 +367,36 @@ class EmailRecord {
366
367
  }
367
368
  return this._contacts;
368
369
  }
370
+ /**
371
+ * Access linked PaymentMethod records
372
+ * @remarks Available labels: PaymentMethod__Email
373
+ * @throws Error if called on a new (unsaved) record
374
+ *
375
+ * @example
376
+ * ```typescript
377
+ * // Get all linked PaymentMethod records
378
+ * const items = await record.paymentMethods.list();
379
+ * const first = await record.paymentMethods.first();
380
+ *
381
+ * // Filter by label
382
+ * const specific = await record.paymentMethods.first({ label: 'PaymentMethod__Email' });
383
+ * ```
384
+ */
385
+ get paymentMethods() {
386
+ var _a;
387
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
388
+ throw new Error('Cannot access links on a new (unsaved) record');
389
+ if (!this._paymentMethods) {
390
+ this._paymentMethods = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
391
+ sourceEntity: 'NotificationModule:Email',
392
+ targetEntity: 'BillingModule:PaymentMethod',
393
+ targetModuleName: 'BillingModule',
394
+ targetEntityName: 'PaymentMethod',
395
+ labels: ['PaymentMethod__Email'],
396
+ }, PaymentMethodRecord_1.PaymentMethodRecord);
397
+ }
398
+ return this._paymentMethods;
399
+ }
369
400
  /**
370
401
  * Access linked EmailSender records
371
402
  * @remarks Available labels: Emai__EmailSender
@@ -1034,6 +1065,42 @@ class EmailRecord {
1034
1065
  };
1035
1066
  return new ActionBuilder(this._provider, 'NotificationModule', 'Email', payload, () => { this._pendingLinks = []; });
1036
1067
  }
1068
+ /**
1069
+ * SendDirectDebitSetupConfirmationEmail
1070
+ *
1071
+ * Creates a new Email record with the specified properties.
1072
+ * Returns an ActionBuilder - call .execute() to create or .dryRun() for debugging.
1073
+ *
1074
+ * @remarks Record type: TRANSACTIONAL
1075
+ *
1076
+ * @param properties - The properties for the new record
1077
+ * @param options - Optional settings
1078
+ * @param options.journeyId - Associate with a journey
1079
+ * @param options.stageKey - Set initial pipeline stage
1080
+ * @returns ActionBuilder - call .execute() to create or .dryRun() for payload
1081
+ *
1082
+ * @example
1083
+ * ```typescript
1084
+ * // Create with properties
1085
+ * const record = odinClient.emails.new();
1086
+ * await record.sendDirectDebitSetupConfirmationEmail({ ... }).execute();
1087
+ *
1088
+ * // Dry run (for debugging)
1089
+ * const payload = record.sendDirectDebitSetupConfirmationEmail({ ... }).dryRun();
1090
+ * ```
1091
+ */
1092
+ sendDirectDebitSetupConfirmationEmail(properties, options) {
1093
+ const payload = {
1094
+ entity: 'NotificationModule:Email',
1095
+ type: 'TRANSACTIONAL',
1096
+ actionName: 'SendDirectDebitSetupConfirmationEmail',
1097
+ properties: properties || {},
1098
+ associations: this._pendingLinks.length > 0 ? this._pendingLinks : undefined,
1099
+ journeyId: options === null || options === void 0 ? void 0 : options.journeyId,
1100
+ stageKey: options === null || options === void 0 ? void 0 : options.stageKey,
1101
+ };
1102
+ return new ActionBuilder(this._provider, 'NotificationModule', 'Email', payload, () => { this._pendingLinks = []; });
1103
+ }
1037
1104
  /**
1038
1105
  * SendTlosNinjaCaseEmail
1039
1106
  *
@@ -1154,6 +1221,8 @@ EmailRecord.filesLabels = ['Attachments'];
1154
1221
  EmailRecord.casesLabels = ['Case__Email'];
1155
1222
  /** Valid labels for Contact associations */
1156
1223
  EmailRecord.contactsLabels = ['Email_Contact'];
1224
+ /** Valid labels for PaymentMethod associations */
1225
+ EmailRecord.paymentMethodsLabels = ['PaymentMethod__Email'];
1157
1226
  /** Valid labels for EmailSender associations */
1158
1227
  EmailRecord.emailSendersLabels = ['Emai__EmailSender'];
1159
1228
  /** Valid labels for WorkOrder associations */
@@ -30,6 +30,7 @@ import { NoteRecord } from './NoteRecord';
30
30
  import { ContactIdentityRecord } from './ContactIdentityRecord';
31
31
  import { FileRecord } from './FileRecord';
32
32
  import { PaymentMethodRefundRecord } from './PaymentMethodRefundRecord';
33
+ import { EmailRecord } from './EmailRecord';
33
34
  import { ContactRecord } from './ContactRecord';
34
35
  /**
35
36
  * Builder for action execution with dryRun support
@@ -101,6 +102,7 @@ export declare class PaymentMethodRecord<TProps = PaymentMethodProperties> {
101
102
  private _contactIdentities?;
102
103
  private _files?;
103
104
  private _paymentMethodRefunds?;
105
+ private _emails?;
104
106
  private _contacts?;
105
107
  /**
106
108
  * Create a record wrapper.
@@ -253,6 +255,24 @@ export declare class PaymentMethodRecord<TProps = PaymentMethodProperties> {
253
255
  * ```
254
256
  */
255
257
  get paymentMethodRefunds(): RecordLinkManager<PaymentMethodRefundRecord, typeof PaymentMethodRecord['paymentMethodRefundsLabels'][number]>;
258
+ /** Valid labels for Email associations */
259
+ static readonly emailsLabels: readonly ["PaymentMethod__Email"];
260
+ /**
261
+ * Access linked Email records
262
+ * @remarks Available labels: PaymentMethod__Email
263
+ * @throws Error if called on a new (unsaved) record
264
+ *
265
+ * @example
266
+ * ```typescript
267
+ * // Get all linked Email records
268
+ * const items = await record.emails.list();
269
+ * const first = await record.emails.first();
270
+ *
271
+ * // Filter by label
272
+ * const specific = await record.emails.first({ label: 'PaymentMethod__Email' });
273
+ * ```
274
+ */
275
+ get emails(): RecordLinkManager<EmailRecord, typeof PaymentMethodRecord['emailsLabels'][number]>;
256
276
  /** Valid labels for Contact associations */
257
277
  static readonly contactsLabels: readonly ["Contact__PaymentMethod"];
258
278
  /**
@@ -37,6 +37,7 @@ const NoteRecord_1 = require("./NoteRecord");
37
37
  const ContactIdentityRecord_1 = require("./ContactIdentityRecord");
38
38
  const FileRecord_1 = require("./FileRecord");
39
39
  const PaymentMethodRefundRecord_1 = require("./PaymentMethodRefundRecord");
40
+ const EmailRecord_1 = require("./EmailRecord");
40
41
  const ContactRecord_1 = require("./ContactRecord");
41
42
  /**
42
43
  * Builder for action execution with dryRun support
@@ -358,6 +359,36 @@ class PaymentMethodRecord {
358
359
  }
359
360
  return this._paymentMethodRefunds;
360
361
  }
362
+ /**
363
+ * Access linked Email records
364
+ * @remarks Available labels: PaymentMethod__Email
365
+ * @throws Error if called on a new (unsaved) record
366
+ *
367
+ * @example
368
+ * ```typescript
369
+ * // Get all linked Email records
370
+ * const items = await record.emails.list();
371
+ * const first = await record.emails.first();
372
+ *
373
+ * // Filter by label
374
+ * const specific = await record.emails.first({ label: 'PaymentMethod__Email' });
375
+ * ```
376
+ */
377
+ get emails() {
378
+ var _a;
379
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
380
+ throw new Error('Cannot access links on a new (unsaved) record');
381
+ if (!this._emails) {
382
+ this._emails = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
383
+ sourceEntity: 'BillingModule:PaymentMethod',
384
+ targetEntity: 'NotificationModule:Email',
385
+ targetModuleName: 'NotificationModule',
386
+ targetEntityName: 'Email',
387
+ labels: ['PaymentMethod__Email'],
388
+ }, EmailRecord_1.EmailRecord);
389
+ }
390
+ return this._emails;
391
+ }
361
392
  /**
362
393
  * Access linked Contact records
363
394
  * @remarks Available labels: Contact__PaymentMethod
@@ -521,6 +552,8 @@ PaymentMethodRecord.contactIdentitiesLabels = ['ContactIdentity__PaymentMethod']
521
552
  PaymentMethodRecord.filesLabels = ['PaymentMethod__File'];
522
553
  /** Valid labels for PaymentMethodRefund associations */
523
554
  PaymentMethodRecord.paymentMethodRefundsLabels = ['PaymentMethod__PaymentMethodRefund'];
555
+ /** Valid labels for Email associations */
556
+ PaymentMethodRecord.emailsLabels = ['PaymentMethod__Email'];
524
557
  /** Valid labels for Contact associations */
525
558
  PaymentMethodRecord.contactsLabels = ['Contact__PaymentMethod'];
526
559
  /** Type guard to check if an object is a PaymentMethodRecord */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@d19n/youfibre-odin-sdk",
3
- "version": "2.0.55",
3
+ "version": "2.0.58",
4
4
  "description": "",
5
5
  "author": "@d19n",
6
6
  "license": "UNLICENSED",
@@ -12,7 +12,7 @@
12
12
  },
13
13
  "dependencies": {
14
14
  "@d19n/odin-sdk-generator": "^3.0.235",
15
- "@d19n/odin-types": "^3.0.31"
15
+ "@d19n/odin-types": "^3.0.32"
16
16
  },
17
17
  "scripts": {
18
18
  "release:beta": "rm -rf dist && tsc && npm version prerelease --preid=beta && git push && npm publish --tag beta",