@explorins/pers-shared 2.1.146 → 2.1.147
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/dist/cjs/shared-lib/dto/auth/index.d.ts +1 -0
- package/dist/cjs/shared-lib/dto/auth/index.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/auth/index.js +1 -0
- package/dist/cjs/shared-lib/dto/auth/index.js.map +1 -1
- package/dist/cjs/shared-lib/dto/auth/magic-link.dto.d.ts +31 -0
- package/dist/cjs/shared-lib/dto/auth/magic-link.dto.d.ts.map +1 -0
- package/dist/cjs/shared-lib/dto/auth/magic-link.dto.js +112 -0
- package/dist/cjs/shared-lib/dto/auth/magic-link.dto.js.map +1 -0
- package/dist/cjs/shared-lib/dto/tenant/email-config.dto.d.ts +36 -0
- package/dist/cjs/shared-lib/dto/tenant/email-config.dto.d.ts.map +1 -0
- package/dist/cjs/shared-lib/dto/tenant/email-config.dto.js +144 -0
- package/dist/cjs/shared-lib/dto/tenant/email-config.dto.js.map +1 -0
- package/dist/cjs/shared-lib/dto/tenant/index.d.ts +1 -0
- package/dist/cjs/shared-lib/dto/tenant/index.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/tenant/index.js +1 -0
- package/dist/cjs/shared-lib/dto/tenant/index.js.map +1 -1
- package/dist/cjs/shared-lib/dto/tenant/tenant.dto.d.ts +9 -0
- package/dist/cjs/shared-lib/dto/tenant/tenant.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/tenant/tenant.dto.js +23 -0
- package/dist/cjs/shared-lib/dto/tenant/tenant.dto.js.map +1 -1
- package/dist/cjs/shared-lib/dto/tenant/tenantUpdate.request.dto.d.ts +2 -0
- package/dist/cjs/shared-lib/dto/tenant/tenantUpdate.request.dto.d.ts.map +1 -1
- package/dist/cjs/shared-lib/dto/tenant/tenantUpdate.request.dto.js +12 -0
- package/dist/cjs/shared-lib/dto/tenant/tenantUpdate.request.dto.js.map +1 -1
- package/dist/cjs/shared-lib/enum/api-key-type.enum.d.ts +3 -1
- package/dist/cjs/shared-lib/enum/api-key-type.enum.d.ts.map +1 -1
- package/dist/cjs/shared-lib/enum/api-key-type.enum.js +2 -0
- package/dist/cjs/shared-lib/enum/api-key-type.enum.js.map +1 -1
- package/dist/cjs/shared-lib/enum/index.d.ts +1 -0
- package/dist/cjs/shared-lib/enum/index.d.ts.map +1 -1
- package/dist/cjs/shared-lib/enum/index.js +2 -0
- package/dist/cjs/shared-lib/enum/index.js.map +1 -1
- package/dist/cjs/shared-lib/enum/ott-auth-method.enum.d.ts +16 -0
- package/dist/cjs/shared-lib/enum/ott-auth-method.enum.d.ts.map +1 -0
- package/dist/cjs/shared-lib/enum/ott-auth-method.enum.js +18 -0
- package/dist/cjs/shared-lib/enum/ott-auth-method.enum.js.map +1 -0
- package/dist/cjs/shared-lib/errors/error-codes.d.ts +4 -0
- package/dist/cjs/shared-lib/errors/error-codes.d.ts.map +1 -1
- package/dist/cjs/shared-lib/errors/error-codes.js +6 -0
- package/dist/cjs/shared-lib/errors/error-codes.js.map +1 -1
- package/dist/cjs/shared-lib/interfaces/email-config.interface.d.ts +94 -0
- package/dist/cjs/shared-lib/interfaces/email-config.interface.d.ts.map +1 -0
- package/dist/cjs/shared-lib/interfaces/email-config.interface.js +14 -0
- package/dist/cjs/shared-lib/interfaces/email-config.interface.js.map +1 -0
- package/dist/cjs/shared-lib/interfaces/index.d.ts +1 -0
- package/dist/cjs/shared-lib/interfaces/index.d.ts.map +1 -1
- package/dist/cjs/shared-lib/interfaces/index.js +1 -0
- package/dist/cjs/shared-lib/interfaces/index.js.map +1 -1
- package/dist/cjs/shared-lib/interfaces/jwt.payload.interface.d.ts +11 -1
- package/dist/cjs/shared-lib/interfaces/jwt.payload.interface.d.ts.map +1 -1
- package/dist/cjs/shared-lib/interfaces/jwt.payload.interface.js +5 -0
- package/dist/cjs/shared-lib/interfaces/jwt.payload.interface.js.map +1 -1
- package/dist/esm/shared-lib/dto/auth/index.d.ts +1 -0
- package/dist/esm/shared-lib/dto/auth/index.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/auth/index.js +1 -0
- package/dist/esm/shared-lib/dto/auth/index.js.map +1 -1
- package/dist/esm/shared-lib/dto/auth/magic-link.dto.d.ts +31 -0
- package/dist/esm/shared-lib/dto/auth/magic-link.dto.d.ts.map +1 -0
- package/dist/esm/shared-lib/dto/auth/magic-link.dto.js +97 -0
- package/dist/esm/shared-lib/dto/auth/magic-link.dto.js.map +1 -0
- package/dist/esm/shared-lib/dto/tenant/email-config.dto.d.ts +36 -0
- package/dist/esm/shared-lib/dto/tenant/email-config.dto.d.ts.map +1 -0
- package/dist/esm/shared-lib/dto/tenant/email-config.dto.js +121 -0
- package/dist/esm/shared-lib/dto/tenant/email-config.dto.js.map +1 -0
- package/dist/esm/shared-lib/dto/tenant/index.d.ts +1 -0
- package/dist/esm/shared-lib/dto/tenant/index.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/tenant/index.js +1 -0
- package/dist/esm/shared-lib/dto/tenant/index.js.map +1 -1
- package/dist/esm/shared-lib/dto/tenant/tenant.dto.d.ts +9 -0
- package/dist/esm/shared-lib/dto/tenant/tenant.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/tenant/tenant.dto.js +15 -0
- package/dist/esm/shared-lib/dto/tenant/tenant.dto.js.map +1 -1
- package/dist/esm/shared-lib/dto/tenant/tenantUpdate.request.dto.d.ts +2 -0
- package/dist/esm/shared-lib/dto/tenant/tenantUpdate.request.dto.d.ts.map +1 -1
- package/dist/esm/shared-lib/dto/tenant/tenantUpdate.request.dto.js +11 -0
- package/dist/esm/shared-lib/dto/tenant/tenantUpdate.request.dto.js.map +1 -1
- package/dist/esm/shared-lib/enum/api-key-type.enum.d.ts +3 -1
- package/dist/esm/shared-lib/enum/api-key-type.enum.d.ts.map +1 -1
- package/dist/esm/shared-lib/enum/api-key-type.enum.js +2 -0
- package/dist/esm/shared-lib/enum/api-key-type.enum.js.map +1 -1
- package/dist/esm/shared-lib/enum/index.d.ts +1 -0
- package/dist/esm/shared-lib/enum/index.d.ts.map +1 -1
- package/dist/esm/shared-lib/enum/index.js +2 -0
- package/dist/esm/shared-lib/enum/index.js.map +1 -1
- package/dist/esm/shared-lib/enum/ott-auth-method.enum.d.ts +16 -0
- package/dist/esm/shared-lib/enum/ott-auth-method.enum.d.ts.map +1 -0
- package/dist/esm/shared-lib/enum/ott-auth-method.enum.js +15 -0
- package/dist/esm/shared-lib/enum/ott-auth-method.enum.js.map +1 -0
- package/dist/esm/shared-lib/errors/error-codes.d.ts +4 -0
- package/dist/esm/shared-lib/errors/error-codes.d.ts.map +1 -1
- package/dist/esm/shared-lib/errors/error-codes.js +6 -0
- package/dist/esm/shared-lib/errors/error-codes.js.map +1 -1
- package/dist/esm/shared-lib/interfaces/email-config.interface.d.ts +94 -0
- package/dist/esm/shared-lib/interfaces/email-config.interface.d.ts.map +1 -0
- package/dist/esm/shared-lib/interfaces/email-config.interface.js +11 -0
- package/dist/esm/shared-lib/interfaces/email-config.interface.js.map +1 -0
- package/dist/esm/shared-lib/interfaces/index.d.ts +1 -0
- package/dist/esm/shared-lib/interfaces/index.d.ts.map +1 -1
- package/dist/esm/shared-lib/interfaces/index.js +1 -0
- package/dist/esm/shared-lib/interfaces/index.js.map +1 -1
- package/dist/esm/shared-lib/interfaces/jwt.payload.interface.d.ts +11 -1
- package/dist/esm/shared-lib/interfaces/jwt.payload.interface.d.ts.map +1 -1
- package/dist/esm/shared-lib/interfaces/jwt.payload.interface.js +4 -0
- package/dist/esm/shared-lib/interfaces/jwt.payload.interface.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* One-Time Token Authentication Methods
|
|
3
|
+
*
|
|
4
|
+
* Defines the passwordless authentication methods supported by OTT flow.
|
|
5
|
+
* Used in magic link, SMS verification, and email code authentication.
|
|
6
|
+
*/
|
|
7
|
+
export declare const OttAuthMethod: {
|
|
8
|
+
/** Magic link sent via email */
|
|
9
|
+
readonly MAGIC_LINK: "magic-link";
|
|
10
|
+
/** Verification code sent via SMS */
|
|
11
|
+
readonly SMS: "sms";
|
|
12
|
+
/** Verification code sent via email */
|
|
13
|
+
readonly EMAIL_CODE: "email-code";
|
|
14
|
+
};
|
|
15
|
+
export type OttAuthMethod = typeof OttAuthMethod[keyof typeof OttAuthMethod];
|
|
16
|
+
//# sourceMappingURL=ott-auth-method.enum.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ott-auth-method.enum.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/enum/ott-auth-method.enum.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,aAAa;IACtB,gCAAgC;;IAEhC,qCAAqC;;IAErC,uCAAuC;;CAEjC,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OttAuthMethod = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* One-Time Token Authentication Methods
|
|
6
|
+
*
|
|
7
|
+
* Defines the passwordless authentication methods supported by OTT flow.
|
|
8
|
+
* Used in magic link, SMS verification, and email code authentication.
|
|
9
|
+
*/
|
|
10
|
+
exports.OttAuthMethod = {
|
|
11
|
+
/** Magic link sent via email */
|
|
12
|
+
MAGIC_LINK: 'magic-link',
|
|
13
|
+
/** Verification code sent via SMS */
|
|
14
|
+
SMS: 'sms',
|
|
15
|
+
/** Verification code sent via email */
|
|
16
|
+
EMAIL_CODE: 'email-code',
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=ott-auth-method.enum.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ott-auth-method.enum.js","sourceRoot":"","sources":["../../../../src/shared-lib/enum/ott-auth-method.enum.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACU,QAAA,aAAa,GAAG;IACzB,gCAAgC;IAChC,UAAU,EAAE,YAAY;IACxB,qCAAqC;IACrC,GAAG,EAAE,KAAK;IACV,uCAAuC;IACvC,UAAU,EAAE,YAAY;CAClB,CAAC"}
|
|
@@ -79,6 +79,10 @@ export declare const CommonErrorCodes: {
|
|
|
79
79
|
readonly FIREBASE_AUTH_ERROR: "FIREBASE_AUTH_ERROR";
|
|
80
80
|
readonly MULTIPLE_CONTEXT_SELECTION_REQUIRED: "MULTIPLE_CONTEXT_SELECTION_REQUIRED";
|
|
81
81
|
readonly ADMIN_TENANT_REQUIRED: "ADMIN_TENANT_REQUIRED";
|
|
82
|
+
readonly MAGIC_LINK_EMAIL_SEND_FAILED: "MAGIC_LINK_EMAIL_SEND_FAILED";
|
|
83
|
+
readonly MAGIC_LINK_EMAIL_MISMATCH: "MAGIC_LINK_EMAIL_MISMATCH";
|
|
84
|
+
readonly MAGIC_LINK_VERIFICATION_FAILED: "MAGIC_LINK_VERIFICATION_FAILED";
|
|
85
|
+
readonly RATE_LIMITED: "RATE_LIMITED";
|
|
82
86
|
readonly INTERNAL_ERROR: "INTERNAL_ERROR";
|
|
83
87
|
readonly VALIDATION_ERROR: "VALIDATION_ERROR";
|
|
84
88
|
readonly BUSINESS_RULE_VIOLATION: "BUSINESS_RULE_VIOLATION";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-codes.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/errors/error-codes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,eAAO,MAAM,gBAAgB
|
|
1
|
+
{"version":3,"file":"error-codes.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/errors/error-codes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkInB,CAAC;AAEX;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GAAG,OAAO,gBAAgB,CAAC,MAAM,OAAO,gBAAgB,CAAC,CAAC;AAGrF,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,YAAY,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC"}
|
|
@@ -98,6 +98,12 @@ exports.CommonErrorCodes = {
|
|
|
98
98
|
FIREBASE_AUTH_ERROR: 'FIREBASE_AUTH_ERROR',
|
|
99
99
|
MULTIPLE_CONTEXT_SELECTION_REQUIRED: 'MULTIPLE_CONTEXT_SELECTION_REQUIRED',
|
|
100
100
|
ADMIN_TENANT_REQUIRED: 'ADMIN_TENANT_REQUIRED',
|
|
101
|
+
// Magic link errors
|
|
102
|
+
MAGIC_LINK_EMAIL_SEND_FAILED: 'MAGIC_LINK_EMAIL_SEND_FAILED',
|
|
103
|
+
MAGIC_LINK_EMAIL_MISMATCH: 'MAGIC_LINK_EMAIL_MISMATCH',
|
|
104
|
+
MAGIC_LINK_VERIFICATION_FAILED: 'MAGIC_LINK_VERIFICATION_FAILED',
|
|
105
|
+
// Rate limiting (generic)
|
|
106
|
+
RATE_LIMITED: 'RATE_LIMITED',
|
|
101
107
|
// Generic fallbacks
|
|
102
108
|
INTERNAL_ERROR: 'INTERNAL_ERROR',
|
|
103
109
|
VALIDATION_ERROR: 'VALIDATION_ERROR',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-codes.js","sourceRoot":"","sources":["../../../../src/shared-lib/errors/error-codes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"error-codes.js","sourceRoot":"","sources":["../../../../src/shared-lib/errors/error-codes.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;;AAEU,QAAA,gBAAgB,GAAG;IAC9B,cAAc;IACd,cAAc,EAAE,gBAAgB;IAChC,mBAAmB,EAAE,qBAAqB;IAC1C,mBAAmB,EAAE,qBAAqB;IAE1C,eAAe;IACf,eAAe,EAAE,iBAAiB;IAClC,gBAAgB,EAAE,kBAAkB;IACpC,iBAAiB,EAAE,mBAAmB;IACtC,oBAAoB,EAAE,sBAAsB;IAC5C,oBAAoB,EAAE,sBAAsB;IAC5C,WAAW,EAAE,aAAa;IAC1B,wBAAwB,EAAE,0BAA0B;IAEpD,gBAAgB;IAChB,sBAAsB,EAAE,wBAAwB;IAChD,gBAAgB,EAAE,kBAAkB;IACpC,8BAA8B,EAAE,gCAAgC;IAEhE,iBAAiB;IACjB,oBAAoB,EAAE,sBAAsB;IAE5C,kBAAkB;IAClB,kBAAkB,EAAE,oBAAoB;IAExC,kBAAkB;IAClB,kBAAkB,EAAE,oBAAoB;IACxC,mBAAmB,EAAE,qBAAqB;IAE1C,oBAAoB;IACpB,oBAAoB,EAAE,sBAAsB;IAC5C,yBAAyB,EAAE,2BAA2B;IACtD,qBAAqB,EAAE,uBAAuB;IAE9C,qBAAqB;IACrB,qBAAqB,EAAE,uBAAuB;IAC9C,6BAA6B,EAAE,+BAA+B;IAC9D,6BAA6B,EAAE,+BAA+B;IAC9D,uBAAuB,EAAE,yBAAyB;IAClD,mBAAmB,EAAE,qBAAqB;IAC1C,4BAA4B,EAAE,8BAA8B;IAC5D,8BAA8B,EAAE,gCAAgC;IAEhE,kBAAkB;IAClB,2BAA2B,EAAE,6BAA6B;IAC1D,0BAA0B,EAAE,4BAA4B;IACxD,0BAA0B,EAAE,4BAA4B;IACxD,wBAAwB,EAAE,0BAA0B;IACpD,mBAAmB,EAAE,qBAAqB;IAC1C,0BAA0B,EAAE,4BAA4B;IACxD,0BAA0B,EAAE,4BAA4B;IACxD,mBAAmB,EAAE,qBAAqB;IAC1C,cAAc,EAAE,gBAAgB;IAChC,oBAAoB,EAAE,sBAAsB;IAC5C,4BAA4B,EAAE,8BAA8B;IAC5D,wBAAwB,EAAE,0BAA0B;IACpD,4BAA4B,EAAE,8BAA8B;IAC5D,6BAA6B,EAAE,+BAA+B;IAC9D,mCAAmC,EAAE,qCAAqC;IAC1E,kBAAkB,EAAE,oBAAoB;IACxC,sBAAsB,EAAE,wBAAwB;IAChD,8BAA8B,EAAE,gCAAgC;IAEhE,iBAAiB;IACjB,iBAAiB,EAAE,mBAAmB;IAEtC,wBAAwB;IACxB,wBAAwB,EAAE,0BAA0B;IAEpD,wBAAwB;IACxB,uBAAuB,EAAE,yBAAyB;IAClD,eAAe,EAAE,iBAAiB;IAElC,mBAAmB;IACnB,eAAe,EAAE,iBAAiB;IAClC,mBAAmB,EAAE,qBAAqB;IAE1C,gBAAgB;IAChB,YAAY,EAAE,cAAc;IAC5B,sBAAsB,EAAE,wBAAwB;IAChD,uBAAuB,EAAE,yBAAyB;IAClD,oBAAoB,EAAE,sBAAsB;IAC5C,qBAAqB,EAAE,uBAAuB;IAE9C,oBAAoB;IACpB,sBAAsB,EAAE,wBAAwB;IAChD,6BAA6B,EAAE,+BAA+B;IAC9D,cAAc,EAAE,gBAAgB;IAChC,UAAU,EAAE,YAAY;IAExB,wBAAwB;IACxB,aAAa,EAAE,eAAe;IAC9B,aAAa,EAAE,eAAe;IAC9B,aAAa,EAAE,eAAe;IAC9B,qBAAqB,EAAE,uBAAuB;IAC9C,qBAAqB,EAAE,uBAAuB;IAC9C,mBAAmB,EAAE,qBAAqB;IAC1C,mCAAmC,EAAE,qCAAqC;IAC1E,qBAAqB,EAAE,uBAAuB;IAE9C,oBAAoB;IACpB,4BAA4B,EAAE,8BAA8B;IAC5D,yBAAyB,EAAE,2BAA2B;IACtD,8BAA8B,EAAE,gCAAgC;IAEhE,0BAA0B;IAC1B,YAAY,EAAE,cAAc;IAE5B,oBAAoB;IACpB,cAAc,EAAE,gBAAgB;IAChC,gBAAgB,EAAE,kBAAkB;IACpC,uBAAuB,EAAE,yBAAyB;IAClD,kBAAkB,EAAE,oBAAoB;IAExC,iBAAiB;IACjB,iBAAiB,EAAE,mBAAmB;IACtC,gBAAgB,EAAE,kBAAkB;IACpC,0BAA0B,EAAE,4BAA4B;IACxD,yBAAyB,EAAE,2BAA2B;IACtD,sBAAsB,EAAE,wBAAwB;IAChD,eAAe,EAAE,iBAAiB;IAElC,wBAAwB;IACxB,iBAAiB,EAAE,mBAAmB;IACtC,uBAAuB,EAAE,yBAAyB;IAElD,uBAAuB;IACvB,eAAe,EAAE,iBAAiB;IAClC,eAAe,EAAE,iBAAiB;CAC1B,CAAC;AAUX,uDAAuD;AACvD,+DAAyD;AAAhD,iHAAA,YAAY,OAAA"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Email Configuration Interface
|
|
3
|
+
*
|
|
4
|
+
* Unified email configuration for tenants.
|
|
5
|
+
* Groups all email-related settings into a single structure.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Supported email provider types
|
|
9
|
+
*
|
|
10
|
+
* - sendgrid: SendGrid API (recommended for high volume)
|
|
11
|
+
* - mailjet: Mailjet API (EU-based, GDPR compliant)
|
|
12
|
+
*
|
|
13
|
+
* To add a new provider:
|
|
14
|
+
* 1. Add to this type
|
|
15
|
+
* 2. Implement EmailProviderInterface in email/providers/
|
|
16
|
+
* 3. Register in EmailProviderFactory
|
|
17
|
+
*/
|
|
18
|
+
export type EmailProviderType = 'sendgrid' | 'mailjet';
|
|
19
|
+
/**
|
|
20
|
+
* Email provider type values as const array (for validation)
|
|
21
|
+
*/
|
|
22
|
+
export declare const EMAIL_PROVIDER_TYPES: EmailProviderType[];
|
|
23
|
+
/**
|
|
24
|
+
* Email template configuration for a specific email type
|
|
25
|
+
*/
|
|
26
|
+
export interface EmailTemplateConfig {
|
|
27
|
+
/** Provider-specific template ID (e.g., SendGrid dynamic template ID) */
|
|
28
|
+
templateId: string;
|
|
29
|
+
/** Optional subject - if not provided, template's default subject is used */
|
|
30
|
+
subject?: string;
|
|
31
|
+
/**
|
|
32
|
+
* Maps internal variable names to provider template variable names.
|
|
33
|
+
* Example: { 'magicLinkUrl': 'link_url', 'userName': 'first_name' }
|
|
34
|
+
*/
|
|
35
|
+
variableMapping?: Record<string, string>;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Email templates configuration - keyed by email type
|
|
39
|
+
*/
|
|
40
|
+
export interface EmailTemplatesConfig {
|
|
41
|
+
/** Magic link / passwordless login emails */
|
|
42
|
+
magicLink?: EmailTemplateConfig;
|
|
43
|
+
/** Welcome emails for new users */
|
|
44
|
+
welcome?: EmailTemplateConfig;
|
|
45
|
+
/** Password reset emails */
|
|
46
|
+
/** Email verification emails */
|
|
47
|
+
/** Transaction confirmation emails */
|
|
48
|
+
transactionConfirmation?: EmailTemplateConfig;
|
|
49
|
+
/** Allow custom email types */
|
|
50
|
+
[key: string]: EmailTemplateConfig | undefined;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Unified email configuration for a tenant
|
|
54
|
+
*
|
|
55
|
+
* Contains all email-related settings:
|
|
56
|
+
* - Provider selection (sendgrid, mailjet)
|
|
57
|
+
* - API credentials (encrypted reference)
|
|
58
|
+
* - Sender information
|
|
59
|
+
* - Template configurations per email type
|
|
60
|
+
*
|
|
61
|
+
* @example
|
|
62
|
+
* ```typescript
|
|
63
|
+
* const emailConfig: EmailConfig = {
|
|
64
|
+
* provider: 'sendgrid',
|
|
65
|
+
* apiKeyRef: 'encrypted-ref-123',
|
|
66
|
+
* fromEmail: 'noreply@tenant.com',
|
|
67
|
+
* fromName: 'Tenant Name',
|
|
68
|
+
* templates: {
|
|
69
|
+
* magicLink: {
|
|
70
|
+
* templateId: 'd-abc123',
|
|
71
|
+
* subject: 'Your login link',
|
|
72
|
+
* variableMapping: { magicLinkUrl: 'link_url' }
|
|
73
|
+
* }
|
|
74
|
+
* }
|
|
75
|
+
* };
|
|
76
|
+
* ```
|
|
77
|
+
*/
|
|
78
|
+
export interface EmailConfig {
|
|
79
|
+
/** Email provider - see EmailProviderType for supported providers */
|
|
80
|
+
provider?: EmailProviderType;
|
|
81
|
+
/** Encrypted reference ID for API key - stores ID from encrypted_data table */
|
|
82
|
+
apiKeyRef?: string;
|
|
83
|
+
/** Sender email address (must be verified with provider) */
|
|
84
|
+
fromEmail?: string;
|
|
85
|
+
/** Sender display name */
|
|
86
|
+
fromName?: string;
|
|
87
|
+
/** Template configurations keyed by email type */
|
|
88
|
+
templates?: EmailTemplatesConfig;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Email type identifiers for template lookup
|
|
92
|
+
*/
|
|
93
|
+
export type EmailType = 'magicLink' | 'welcome' | 'passwordReset' | 'emailVerification' | 'transactionConfirmation' | string;
|
|
94
|
+
//# sourceMappingURL=email-config.interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"email-config.interface.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/interfaces/email-config.interface.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;;;;GAUG;AACH,MAAM,MAAM,iBAAiB,GAAG,UAAU,GAAG,SAAS,CAAC;AAEvD;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,iBAAiB,EAA4B,CAAC;AAEjF;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAChC,yEAAyE;IACzE,UAAU,EAAE,MAAM,CAAC;IACnB,6EAA6E;IAC7E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC,6CAA6C;IAC7C,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAChC,mCAAmC;IACnC,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B,4BAA4B;IAE5B,gCAAgC;IAEhC,sCAAsC;IACtC,uBAAuB,CAAC,EAAE,mBAAmB,CAAC;IAC9C,+BAA+B;IAC/B,CAAC,GAAG,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS,CAAC;CAClD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,WAAW,WAAW;IACxB,qEAAqE;IACrE,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,+EAA+E;IAC/E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4DAA4D;IAC5D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kDAAkD;IAClD,SAAS,CAAC,EAAE,oBAAoB,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,eAAe,GAAG,mBAAmB,GAAG,yBAAyB,GAAG,MAAM,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Email Configuration Interface
|
|
4
|
+
*
|
|
5
|
+
* Unified email configuration for tenants.
|
|
6
|
+
* Groups all email-related settings into a single structure.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.EMAIL_PROVIDER_TYPES = void 0;
|
|
10
|
+
/**
|
|
11
|
+
* Email provider type values as const array (for validation)
|
|
12
|
+
*/
|
|
13
|
+
exports.EMAIL_PROVIDER_TYPES = ['sendgrid', 'mailjet'];
|
|
14
|
+
//# sourceMappingURL=email-config.interface.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"email-config.interface.js","sourceRoot":"","sources":["../../../../src/shared-lib/interfaces/email-config.interface.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAeH;;GAEG;AACU,QAAA,oBAAoB,GAAwB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC"}
|
|
@@ -23,4 +23,5 @@ export * from './dynamic-context.interface';
|
|
|
23
23
|
export * from './trigger-source-metadata.interface';
|
|
24
24
|
export * from './ws-relay.types';
|
|
25
25
|
export * from './external-token-issuer.interface';
|
|
26
|
+
export * from './email-config.interface';
|
|
26
27
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/interfaces/index.ts"],"names":[],"mappings":"AACA,cAAc,kCAAkC,CAAC;AACjD,cAAc,sCAAsC,CAAC;AACrD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0CAA0C,CAAC;AACzD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oBAAoB,CAAC;AACnC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,qCAAqC,CAAC;AACpD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,kCAAkC,CAAC;AAEjD,cAAc,yBAAyB,CAAC;AAExC,cAAc,4CAA4C,CAAC;AAE3D,cAAc,YAAY,CAAC;AAE3B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oCAAoC,CAAC;AACnD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qCAAqC,CAAC;AAEpD,cAAc,kBAAkB,CAAC;AAEjC,cAAc,mCAAmC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/interfaces/index.ts"],"names":[],"mappings":"AACA,cAAc,kCAAkC,CAAC;AACjD,cAAc,sCAAsC,CAAC;AACrD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0CAA0C,CAAC;AACzD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oBAAoB,CAAC;AACnC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,qCAAqC,CAAC;AACpD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,kCAAkC,CAAC;AAEjD,cAAc,yBAAyB,CAAC;AAExC,cAAc,4CAA4C,CAAC;AAE3D,cAAc,YAAY,CAAC;AAE3B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oCAAoC,CAAC;AACnD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qCAAqC,CAAC;AAEpD,cAAc,kBAAkB,CAAC;AAEjC,cAAc,mCAAmC,CAAC;AAElD,cAAc,0BAA0B,CAAC"}
|
|
@@ -40,4 +40,5 @@ __exportStar(require("./dynamic-context.interface"), exports);
|
|
|
40
40
|
__exportStar(require("./trigger-source-metadata.interface"), exports);
|
|
41
41
|
__exportStar(require("./ws-relay.types"), exports);
|
|
42
42
|
__exportStar(require("./external-token-issuer.interface"), exports);
|
|
43
|
+
__exportStar(require("./email-config.interface"), exports);
|
|
43
44
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/shared-lib/interfaces/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAkD;AAClD,mEAAiD;AACjD,uEAAqD;AACrD,iEAA+C;AAC/C,iEAA+C;AAC/C,0DAAwC;AACxC,+DAA6C;AAC7C,2EAAyD;AACzD,iEAA+C;AAC/C,qDAAmC;AACnC,gEAA8C;AAC9C,kEAAgD;AAChD,sEAAoD;AACpD,8DAA4C;AAC5C,kEAAgD;AAChD,4EAA0D;AAC1D,mEAAiD;AAEjD,0DAAwC;AAExC,6EAA2D;AAE3D,6CAA2B;AAE3B,+DAA6C;AAC7C,qEAAmD;AACnD,8DAA4C;AAC5C,sEAAoD;AAEpD,mDAAiC;AAEjC,oEAAkD"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/shared-lib/interfaces/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAkD;AAClD,mEAAiD;AACjD,uEAAqD;AACrD,iEAA+C;AAC/C,iEAA+C;AAC/C,0DAAwC;AACxC,+DAA6C;AAC7C,2EAAyD;AACzD,iEAA+C;AAC/C,qDAAmC;AACnC,gEAA8C;AAC9C,kEAAgD;AAChD,sEAAoD;AACpD,8DAA4C;AAC5C,kEAAgD;AAChD,4EAA0D;AAC1D,mEAAiD;AAEjD,0DAAwC;AAExC,6EAA2D;AAE3D,6CAA2B;AAE3B,+DAA6C;AAC7C,qEAAmD;AACnD,8DAA4C;AAC5C,sEAAoD;AAEpD,mDAAiC;AAEjC,oEAAkD;AAElD,2DAAyC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { AccountOwnerType } from "../enum/owner-type.enum";
|
|
2
2
|
import { IntegrationApiKeyType, ApiKeyType, AuthApiKeyType, BlockchainApiKeyType } from "../enum/api-key-type.enum";
|
|
3
3
|
import { MembershipRole } from "../enum/membership-role.enum";
|
|
4
|
+
import { OttAuthMethod } from "../enum/ott-auth-method.enum";
|
|
4
5
|
import { MinimalWallet } from "./wallet.interface";
|
|
5
6
|
import type { DecodedIdToken } from 'firebase-admin/auth';
|
|
6
7
|
/**
|
|
@@ -94,11 +95,20 @@ export interface WebhookJWTPayload extends BasePersJWTPayload {
|
|
|
94
95
|
executionId: string;
|
|
95
96
|
callbackUrl: string;
|
|
96
97
|
}
|
|
97
|
-
export
|
|
98
|
+
export interface OttJWTPayload extends BasePersJWTPayload {
|
|
99
|
+
sub: string;
|
|
100
|
+
type: ApiKeyType.ONE_TIME_TOKEN;
|
|
101
|
+
tenantId: string;
|
|
102
|
+
method: OttAuthMethod;
|
|
103
|
+
jti: string;
|
|
104
|
+
accountType?: AccountOwnerType;
|
|
105
|
+
}
|
|
106
|
+
export type PersJWTPayload = AuthJWTPayload | ActionableJWTPayload | BlockchainJWTPayload | WebhookJWTPayload | OttJWTPayload;
|
|
98
107
|
export declare function isAuthPayload(payload: PersJWTPayload): payload is AuthJWTPayload;
|
|
99
108
|
export declare function isActionablePayload(payload: PersJWTPayload): payload is ActionableJWTPayload;
|
|
100
109
|
export declare function isBlockchainPayload(payload: PersJWTPayload): payload is BlockchainJWTPayload;
|
|
101
110
|
export declare function isWebhookPayload(payload: PersJWTPayload): payload is WebhookJWTPayload;
|
|
111
|
+
export declare function isOttPayload(payload: PersJWTPayload): payload is OttJWTPayload;
|
|
102
112
|
export declare function isPersJWTPayload(payload: any): payload is PersJWTPayload;
|
|
103
113
|
export {};
|
|
104
114
|
//# sourceMappingURL=jwt.payload.interface.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jwt.payload.interface.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/interfaces/jwt.payload.interface.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"jwt.payload.interface.d.ts","sourceRoot":"","sources":["../../../../src/shared-lib/interfaces/jwt.payload.interface.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,9 @@ exports.isAuthPayload = isAuthPayload;
|
|
|
4
4
|
exports.isActionablePayload = isActionablePayload;
|
|
5
5
|
exports.isBlockchainPayload = isBlockchainPayload;
|
|
6
6
|
exports.isWebhookPayload = isWebhookPayload;
|
|
7
|
+
exports.isOttPayload = isOttPayload;
|
|
7
8
|
exports.isPersJWTPayload = isPersJWTPayload;
|
|
9
|
+
const api_key_type_enum_1 = require("../enum/api-key-type.enum");
|
|
8
10
|
// ===========================================
|
|
9
11
|
// TYPE GUARDS & UTILITIES
|
|
10
12
|
// ===========================================
|
|
@@ -21,6 +23,9 @@ function isBlockchainPayload(payload) {
|
|
|
21
23
|
function isWebhookPayload(payload) {
|
|
22
24
|
return 'webhookId' in payload && 'targetUrl' in payload;
|
|
23
25
|
}
|
|
26
|
+
function isOttPayload(payload) {
|
|
27
|
+
return 'type' in payload && payload.type === api_key_type_enum_1.ApiKeyType.ONE_TIME_TOKEN;
|
|
28
|
+
}
|
|
24
29
|
// Helper to identify PERS JWT payloads
|
|
25
30
|
function isPersJWTPayload(payload) {
|
|
26
31
|
return 'type' in payload && typeof payload.type === 'string';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jwt.payload.interface.js","sourceRoot":"","sources":["../../../../src/shared-lib/interfaces/jwt.payload.interface.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"jwt.payload.interface.js","sourceRoot":"","sources":["../../../../src/shared-lib/interfaces/jwt.payload.interface.ts"],"names":[],"mappings":";;AAqKA,sCAEC;AAED,kDAEC;AAED,kDAEC;AAED,4CAEC;AAED,oCAEC;AAGD,4CAEC;AA3LD,iEAAoH;AA+JpH,8CAA8C;AAC9C,0BAA0B;AAC1B,8CAA8C;AAE9C,uBAAuB;AACvB,SAAgB,aAAa,CAAC,OAAuB;IACjD,OAAO,CAAC,CAAC,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,IAAI,OAAO,CAAC,CAAC;AACrG,CAAC;AAED,SAAgB,mBAAmB,CAAC,OAAuB;IACvD,OAAO,eAAe,IAAI,OAAO,IAAI,CAAC,CAAC,aAAa,IAAI,OAAO,CAAC,CAAC;AACrE,CAAC;AAED,SAAgB,mBAAmB,CAAC,OAAuB;IACvD,OAAO,aAAa,IAAI,OAAO,CAAC;AACpC,CAAC;AAED,SAAgB,gBAAgB,CAAC,OAAuB;IACpD,OAAO,WAAW,IAAI,OAAO,IAAI,WAAW,IAAI,OAAO,CAAC;AAC5D,CAAC;AAED,SAAgB,YAAY,CAAC,OAAuB;IAChD,OAAO,MAAM,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,8BAAU,CAAC,cAAc,CAAC;AAC3E,CAAC;AAED,uCAAuC;AACvC,SAAgB,gBAAgB,CAAC,OAAY;IACzC,OAAO,MAAM,IAAI,OAAO,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC;AACjE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/auth/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/auth/index.ts"],"names":[],"mappings":"AACA,cAAc,+BAA+B,CAAC;AAC9C,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/auth/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/auth/index.ts"],"names":[],"mappings":"AACA,cAAc,+BAA+B,CAAC;AAC9C,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { CommonErrorCode } from '../../errors/error-codes';
|
|
2
|
+
/**
|
|
3
|
+
* Magic link specific error codes for API documentation
|
|
4
|
+
*/
|
|
5
|
+
export declare const MagicLinkErrorCodes: readonly ["MAGIC_LINK_EMAIL_SEND_FAILED", "MAGIC_LINK_EMAIL_MISMATCH", "MAGIC_LINK_VERIFICATION_FAILED", "INVALID_TOKEN", "TOKEN_EXPIRED", "INTERNAL_ERROR"];
|
|
6
|
+
/**
|
|
7
|
+
* Request DTO for sending a magic link
|
|
8
|
+
*
|
|
9
|
+
* Endpoint: POST /auth/magic-link/send
|
|
10
|
+
*/
|
|
11
|
+
export declare class SendMagicLinkRequestDTO {
|
|
12
|
+
email: string;
|
|
13
|
+
redirectUrl?: string;
|
|
14
|
+
language?: string;
|
|
15
|
+
params?: Record<string, string>;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Response DTO for sending a magic link
|
|
19
|
+
*/
|
|
20
|
+
export declare class SendMagicLinkResponseDTO {
|
|
21
|
+
success: boolean;
|
|
22
|
+
message?: string;
|
|
23
|
+
errorCode?: CommonErrorCode;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Response DTO for verifying a magic link (via /auth/token with OTT)
|
|
27
|
+
*
|
|
28
|
+
* Uses SessionAuthContextResponseDTO - throws exceptions on failure
|
|
29
|
+
* @see SessionAuthContextResponseDTO
|
|
30
|
+
*/
|
|
31
|
+
//# sourceMappingURL=magic-link.dto.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"magic-link.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/auth/magic-link.dto.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAGhE;;GAEG;AACH,eAAO,MAAM,mBAAmB,8JAOtB,CAAC;AAEX;;;;GAIG;AACH,qBAAa,uBAAuB;IAMhC,KAAK,EAAG,MAAM,CAAC;IAQf,WAAW,CAAC,EAAE,MAAM,CAAC;IAUrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAOlB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED;;GAEG;AACH,qBAAa,wBAAwB;IAKjC,OAAO,EAAG,OAAO,CAAC;IAMlB,OAAO,CAAC,EAAE,MAAM,CAAC;IAMjB,SAAS,CAAC,EAAE,eAAe,CAAC;CAC/B;AAED;;;;;GAKG"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';
|
|
8
|
+
import { IsEmail, IsString, MaxLength } from 'class-validator';
|
|
9
|
+
import { CommonErrorCodes } from '../../errors/error-codes.js';
|
|
10
|
+
import { OptionalStrip } from '../../decorators/index.js';
|
|
11
|
+
/**
|
|
12
|
+
* Magic link specific error codes for API documentation
|
|
13
|
+
*/
|
|
14
|
+
export const MagicLinkErrorCodes = [
|
|
15
|
+
CommonErrorCodes.MAGIC_LINK_EMAIL_SEND_FAILED,
|
|
16
|
+
CommonErrorCodes.MAGIC_LINK_EMAIL_MISMATCH,
|
|
17
|
+
CommonErrorCodes.MAGIC_LINK_VERIFICATION_FAILED,
|
|
18
|
+
CommonErrorCodes.INVALID_TOKEN,
|
|
19
|
+
CommonErrorCodes.TOKEN_EXPIRED,
|
|
20
|
+
CommonErrorCodes.INTERNAL_ERROR,
|
|
21
|
+
];
|
|
22
|
+
/**
|
|
23
|
+
* Request DTO for sending a magic link
|
|
24
|
+
*
|
|
25
|
+
* Endpoint: POST /auth/magic-link/send
|
|
26
|
+
*/
|
|
27
|
+
export class SendMagicLinkRequestDTO {
|
|
28
|
+
email;
|
|
29
|
+
redirectUrl;
|
|
30
|
+
language;
|
|
31
|
+
params;
|
|
32
|
+
}
|
|
33
|
+
__decorate([
|
|
34
|
+
ApiProperty({
|
|
35
|
+
description: 'User email address to send the magic link to',
|
|
36
|
+
example: 'user@example.com',
|
|
37
|
+
}),
|
|
38
|
+
IsEmail()
|
|
39
|
+
], SendMagicLinkRequestDTO.prototype, "email", void 0);
|
|
40
|
+
__decorate([
|
|
41
|
+
ApiPropertyOptional({
|
|
42
|
+
description: 'URL to redirect to after successful authentication',
|
|
43
|
+
example: 'https://app.example.com/dashboard',
|
|
44
|
+
}),
|
|
45
|
+
OptionalStrip(),
|
|
46
|
+
IsString()
|
|
47
|
+
], SendMagicLinkRequestDTO.prototype, "redirectUrl", void 0);
|
|
48
|
+
__decorate([
|
|
49
|
+
ApiPropertyOptional({
|
|
50
|
+
description: 'Language code for the email template',
|
|
51
|
+
example: 'en',
|
|
52
|
+
default: 'en',
|
|
53
|
+
}),
|
|
54
|
+
OptionalStrip(),
|
|
55
|
+
IsString(),
|
|
56
|
+
MaxLength(5)
|
|
57
|
+
], SendMagicLinkRequestDTO.prototype, "language", void 0);
|
|
58
|
+
__decorate([
|
|
59
|
+
ApiPropertyOptional({
|
|
60
|
+
description: 'Additional query parameters to include in the magic link URL',
|
|
61
|
+
example: { returnPath: '/dashboard', campaign: 'signup' },
|
|
62
|
+
}),
|
|
63
|
+
OptionalStrip()
|
|
64
|
+
], SendMagicLinkRequestDTO.prototype, "params", void 0);
|
|
65
|
+
/**
|
|
66
|
+
* Response DTO for sending a magic link
|
|
67
|
+
*/
|
|
68
|
+
export class SendMagicLinkResponseDTO {
|
|
69
|
+
success;
|
|
70
|
+
message;
|
|
71
|
+
errorCode;
|
|
72
|
+
}
|
|
73
|
+
__decorate([
|
|
74
|
+
ApiProperty({
|
|
75
|
+
description: 'Whether the magic link was sent successfully',
|
|
76
|
+
example: true,
|
|
77
|
+
})
|
|
78
|
+
], SendMagicLinkResponseDTO.prototype, "success", void 0);
|
|
79
|
+
__decorate([
|
|
80
|
+
ApiPropertyOptional({
|
|
81
|
+
description: 'Message describing the result',
|
|
82
|
+
example: 'Magic link sent successfully',
|
|
83
|
+
})
|
|
84
|
+
], SendMagicLinkResponseDTO.prototype, "message", void 0);
|
|
85
|
+
__decorate([
|
|
86
|
+
ApiPropertyOptional({
|
|
87
|
+
description: 'Error code if the request failed',
|
|
88
|
+
enum: MagicLinkErrorCodes,
|
|
89
|
+
})
|
|
90
|
+
], SendMagicLinkResponseDTO.prototype, "errorCode", void 0);
|
|
91
|
+
/**
|
|
92
|
+
* Response DTO for verifying a magic link (via /auth/token with OTT)
|
|
93
|
+
*
|
|
94
|
+
* Uses SessionAuthContextResponseDTO - throws exceptions on failure
|
|
95
|
+
* @see SessionAuthContextResponseDTO
|
|
96
|
+
*/
|
|
97
|
+
//# sourceMappingURL=magic-link.dto.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"magic-link.dto.js","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/auth/magic-link.dto.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IAC/B,gBAAgB,CAAC,4BAA4B;IAC7C,gBAAgB,CAAC,yBAAyB;IAC1C,gBAAgB,CAAC,8BAA8B;IAC/C,gBAAgB,CAAC,aAAa;IAC9B,gBAAgB,CAAC,aAAa;IAC9B,gBAAgB,CAAC,cAAc;CACzB,CAAC;AAEX;;;;GAIG;AACH,MAAM,OAAO,uBAAuB;IAMhC,KAAK,CAAU;IAQf,WAAW,CAAU;IAUrB,QAAQ,CAAU;IAOlB,MAAM,CAA0B;CACnC;AA1BG;IALC,WAAW,CAAC;QACT,WAAW,EAAE,8CAA8C;QAC3D,OAAO,EAAE,kBAAkB;KAC9B,CAAC;IACD,OAAO,EAAE;sDACK;AAQf;IANC,mBAAmB,CAAC;QACjB,WAAW,EAAE,oDAAoD;QACjE,OAAO,EAAE,mCAAmC;KAC/C,CAAC;IACD,aAAa,EAAE;IACf,QAAQ,EAAE;4DACU;AAUrB;IARC,mBAAmB,CAAC;QACjB,WAAW,EAAE,sCAAsC;QACnD,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,IAAI;KAChB,CAAC;IACD,aAAa,EAAE;IACf,QAAQ,EAAE;IACV,SAAS,CAAC,CAAC,CAAC;yDACK;AAOlB;IALC,mBAAmB,CAAC;QACjB,WAAW,EAAE,8DAA8D;QAC3E,OAAO,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE;KAC5D,CAAC;IACD,aAAa,EAAE;uDACgB;AAGpC;;GAEG;AACH,MAAM,OAAO,wBAAwB;IAKjC,OAAO,CAAW;IAMlB,OAAO,CAAU;IAMjB,SAAS,CAAmB;CAC/B;AAbG;IAJC,WAAW,CAAC;QACT,WAAW,EAAE,8CAA8C;QAC3D,OAAO,EAAE,IAAI;KAChB,CAAC;yDACgB;AAMlB;IAJC,mBAAmB,CAAC;QACjB,WAAW,EAAE,+BAA+B;QAC5C,OAAO,EAAE,8BAA8B;KAC1C,CAAC;yDACe;AAMjB;IAJC,mBAAmB,CAAC;QACjB,WAAW,EAAE,kCAAkC;QAC/C,IAAI,EAAE,mBAAmB;KAC5B,CAAC;2DAC0B;AAGhC;;;;;GAKG"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { EmailConfig, EmailTemplateConfig, EmailTemplatesConfig } from "../../interfaces/email-config.interface";
|
|
2
|
+
/**
|
|
3
|
+
* DTO for email template configuration
|
|
4
|
+
*/
|
|
5
|
+
export declare class EmailTemplateConfigDTO implements EmailTemplateConfig {
|
|
6
|
+
templateId: string;
|
|
7
|
+
subject?: string;
|
|
8
|
+
variableMapping?: Record<string, string>;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* DTO for email templates configuration
|
|
12
|
+
*/
|
|
13
|
+
export declare class EmailTemplatesConfigDTO implements EmailTemplatesConfig {
|
|
14
|
+
magicLink?: EmailTemplateConfigDTO;
|
|
15
|
+
welcome?: EmailTemplateConfigDTO;
|
|
16
|
+
passwordReset?: EmailTemplateConfigDTO;
|
|
17
|
+
emailVerification?: EmailTemplateConfigDTO;
|
|
18
|
+
transactionConfirmation?: EmailTemplateConfigDTO;
|
|
19
|
+
[key: string]: EmailTemplateConfigDTO | undefined;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* DTO for unified email configuration
|
|
23
|
+
*/
|
|
24
|
+
export declare class EmailConfigDTO implements Omit<EmailConfig, 'apiKeyRef'> {
|
|
25
|
+
provider?: 'sendgrid' | 'mailjet';
|
|
26
|
+
fromEmail?: string;
|
|
27
|
+
fromName?: string;
|
|
28
|
+
templates?: EmailTemplatesConfigDTO;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Request DTO for email configuration updates (includes API key)
|
|
32
|
+
*/
|
|
33
|
+
export declare class EmailConfigRequestDTO extends EmailConfigDTO {
|
|
34
|
+
apiKey?: string;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=email-config.dto.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"email-config.dto.d.ts","sourceRoot":"","sources":["../../../../../src/shared-lib/dto/tenant/email-config.dto.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAEjH;;GAEG;AACH,qBAAa,sBAAuB,YAAW,mBAAmB;IAK9D,UAAU,EAAE,MAAM,CAAM;IAMxB,OAAO,CAAC,EAAE,MAAM,CAAC;IAOjB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5C;AAED;;GAEG;AACH,qBAAa,uBAAwB,YAAW,oBAAoB;IAKhE,SAAS,CAAC,EAAE,sBAAsB,CAAC;IAMnC,OAAO,CAAC,EAAE,sBAAsB,CAAC;IAMjC,aAAa,CAAC,EAAE,sBAAsB,CAAC;IAMvC,iBAAiB,CAAC,EAAE,sBAAsB,CAAC;IAM3C,uBAAuB,CAAC,EAAE,sBAAsB,CAAC;IAGjD,CAAC,GAAG,EAAE,MAAM,GAAG,sBAAsB,GAAG,SAAS,CAAC;CACrD;AAED;;GAEG;AACH,qBAAa,cAAe,YAAW,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC;IAMjE,QAAQ,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAMlC,SAAS,CAAC,EAAE,MAAM,CAAC;IAMnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAMlB,SAAS,CAAC,EAAE,uBAAuB,CAAC;CACvC;AAED;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,cAAc;IAKrD,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { ApiProperty, ApiPropertyOptional } from "@nestjs/swagger";
|
|
8
|
+
/**
|
|
9
|
+
* DTO for email template configuration
|
|
10
|
+
*/
|
|
11
|
+
export class EmailTemplateConfigDTO {
|
|
12
|
+
templateId = '';
|
|
13
|
+
subject;
|
|
14
|
+
variableMapping;
|
|
15
|
+
}
|
|
16
|
+
__decorate([
|
|
17
|
+
ApiProperty({
|
|
18
|
+
description: 'Provider-specific template ID (e.g., SendGrid dynamic template ID)',
|
|
19
|
+
example: 'd-abc123def456'
|
|
20
|
+
})
|
|
21
|
+
], EmailTemplateConfigDTO.prototype, "templateId", void 0);
|
|
22
|
+
__decorate([
|
|
23
|
+
ApiPropertyOptional({
|
|
24
|
+
description: 'Optional subject - if not provided, template\'s default subject is used',
|
|
25
|
+
example: 'Your login link'
|
|
26
|
+
})
|
|
27
|
+
], EmailTemplateConfigDTO.prototype, "subject", void 0);
|
|
28
|
+
__decorate([
|
|
29
|
+
ApiPropertyOptional({
|
|
30
|
+
description: 'Maps internal variable names to provider template variable names',
|
|
31
|
+
example: { magicLinkUrl: 'link_url', userName: 'first_name' },
|
|
32
|
+
type: Object
|
|
33
|
+
})
|
|
34
|
+
], EmailTemplateConfigDTO.prototype, "variableMapping", void 0);
|
|
35
|
+
/**
|
|
36
|
+
* DTO for email templates configuration
|
|
37
|
+
*/
|
|
38
|
+
export class EmailTemplatesConfigDTO {
|
|
39
|
+
magicLink;
|
|
40
|
+
welcome;
|
|
41
|
+
passwordReset;
|
|
42
|
+
emailVerification;
|
|
43
|
+
transactionConfirmation;
|
|
44
|
+
}
|
|
45
|
+
__decorate([
|
|
46
|
+
ApiPropertyOptional({
|
|
47
|
+
description: 'Magic link / passwordless login email template',
|
|
48
|
+
type: EmailTemplateConfigDTO
|
|
49
|
+
})
|
|
50
|
+
], EmailTemplatesConfigDTO.prototype, "magicLink", void 0);
|
|
51
|
+
__decorate([
|
|
52
|
+
ApiPropertyOptional({
|
|
53
|
+
description: 'Welcome email template for new users',
|
|
54
|
+
type: EmailTemplateConfigDTO
|
|
55
|
+
})
|
|
56
|
+
], EmailTemplatesConfigDTO.prototype, "welcome", void 0);
|
|
57
|
+
__decorate([
|
|
58
|
+
ApiPropertyOptional({
|
|
59
|
+
description: 'Password reset email template',
|
|
60
|
+
type: EmailTemplateConfigDTO
|
|
61
|
+
})
|
|
62
|
+
], EmailTemplatesConfigDTO.prototype, "passwordReset", void 0);
|
|
63
|
+
__decorate([
|
|
64
|
+
ApiPropertyOptional({
|
|
65
|
+
description: 'Email verification template',
|
|
66
|
+
type: EmailTemplateConfigDTO
|
|
67
|
+
})
|
|
68
|
+
], EmailTemplatesConfigDTO.prototype, "emailVerification", void 0);
|
|
69
|
+
__decorate([
|
|
70
|
+
ApiPropertyOptional({
|
|
71
|
+
description: 'Transaction confirmation template',
|
|
72
|
+
type: EmailTemplateConfigDTO
|
|
73
|
+
})
|
|
74
|
+
], EmailTemplatesConfigDTO.prototype, "transactionConfirmation", void 0);
|
|
75
|
+
/**
|
|
76
|
+
* DTO for unified email configuration
|
|
77
|
+
*/
|
|
78
|
+
export class EmailConfigDTO {
|
|
79
|
+
provider;
|
|
80
|
+
fromEmail;
|
|
81
|
+
fromName;
|
|
82
|
+
templates;
|
|
83
|
+
}
|
|
84
|
+
__decorate([
|
|
85
|
+
ApiPropertyOptional({
|
|
86
|
+
description: 'Email provider (sendgrid, mailjet)',
|
|
87
|
+
enum: ['sendgrid', 'mailjet'],
|
|
88
|
+
default: 'sendgrid'
|
|
89
|
+
})
|
|
90
|
+
], EmailConfigDTO.prototype, "provider", void 0);
|
|
91
|
+
__decorate([
|
|
92
|
+
ApiPropertyOptional({
|
|
93
|
+
description: 'Sender email address (must be verified with provider)',
|
|
94
|
+
example: 'noreply@tenant.com'
|
|
95
|
+
})
|
|
96
|
+
], EmailConfigDTO.prototype, "fromEmail", void 0);
|
|
97
|
+
__decorate([
|
|
98
|
+
ApiPropertyOptional({
|
|
99
|
+
description: 'Sender display name',
|
|
100
|
+
example: 'Tenant Name'
|
|
101
|
+
})
|
|
102
|
+
], EmailConfigDTO.prototype, "fromName", void 0);
|
|
103
|
+
__decorate([
|
|
104
|
+
ApiPropertyOptional({
|
|
105
|
+
description: 'Template configurations keyed by email type',
|
|
106
|
+
type: EmailTemplatesConfigDTO
|
|
107
|
+
})
|
|
108
|
+
], EmailConfigDTO.prototype, "templates", void 0);
|
|
109
|
+
/**
|
|
110
|
+
* Request DTO for email configuration updates (includes API key)
|
|
111
|
+
*/
|
|
112
|
+
export class EmailConfigRequestDTO extends EmailConfigDTO {
|
|
113
|
+
apiKey;
|
|
114
|
+
}
|
|
115
|
+
__decorate([
|
|
116
|
+
ApiPropertyOptional({
|
|
117
|
+
description: 'API key for the email provider (will be encrypted)',
|
|
118
|
+
example: 'SG.xxxxx'
|
|
119
|
+
})
|
|
120
|
+
], EmailConfigRequestDTO.prototype, "apiKey", void 0);
|
|
121
|
+
//# sourceMappingURL=email-config.dto.js.map
|