@fiado/type-kit 3.291.0 → 3.293.0

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.
@@ -1,4 +1,5 @@
1
1
  import { EmailVerificationStatusEnum } from '../enums/EmailVerificationStatusEnum';
2
+ import { EmailLinkExpirationReasonEnum } from '../enums/EmailLinkExpirationReasonEnum';
2
3
  /**
3
4
  * Item de email asociado a un directorio. Se reutiliza en EmailListResponse
4
5
  * (público) y en EmailsByDirectoryResponse (interno).
@@ -9,4 +10,6 @@ export declare class EmailItem {
9
10
  isPrincipal: boolean;
10
11
  status: EmailVerificationStatusEnum;
11
12
  verifiedAt?: number;
13
+ /** Solo presente cuando status === EXPIRED. */
14
+ expirationReason?: EmailLinkExpirationReasonEnum;
12
15
  }
@@ -12,6 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.EmailItem = void 0;
13
13
  const class_transformer_1 = require("class-transformer");
14
14
  const EmailVerificationStatusEnum_1 = require("../enums/EmailVerificationStatusEnum");
15
+ const EmailLinkExpirationReasonEnum_1 = require("../enums/EmailLinkExpirationReasonEnum");
15
16
  /**
16
17
  * Item de email asociado a un directorio. Se reutiliza en EmailListResponse
17
18
  * (público) y en EmailsByDirectoryResponse (interno).
@@ -39,3 +40,7 @@ __decorate([
39
40
  (0, class_transformer_1.Expose)(),
40
41
  __metadata("design:type", Number)
41
42
  ], EmailItem.prototype, "verifiedAt", void 0);
43
+ __decorate([
44
+ (0, class_transformer_1.Expose)(),
45
+ __metadata("design:type", String)
46
+ ], EmailItem.prototype, "expirationReason", void 0);
@@ -1,4 +1,5 @@
1
1
  import { EmailVerificationStatusEnum } from '../enums/EmailVerificationStatusEnum';
2
+ import { EmailLinkExpirationReasonEnum } from '../enums/EmailLinkExpirationReasonEnum';
2
3
  /**
3
4
  * Estado de verificación de un email puntual de un directorio.
4
5
  */
@@ -7,4 +8,6 @@ export declare class EmailVerificationStatusResponse {
7
8
  status: EmailVerificationStatusEnum;
8
9
  isVerified: boolean;
9
10
  isPrincipal: boolean;
11
+ /** Solo presente cuando status === EXPIRED. */
12
+ expirationReason?: EmailLinkExpirationReasonEnum;
10
13
  }
@@ -12,6 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.EmailVerificationStatusResponse = void 0;
13
13
  const class_transformer_1 = require("class-transformer");
14
14
  const EmailVerificationStatusEnum_1 = require("../enums/EmailVerificationStatusEnum");
15
+ const EmailLinkExpirationReasonEnum_1 = require("../enums/EmailLinkExpirationReasonEnum");
15
16
  /**
16
17
  * Estado de verificación de un email puntual de un directorio.
17
18
  */
@@ -34,3 +35,7 @@ __decorate([
34
35
  (0, class_transformer_1.Expose)(),
35
36
  __metadata("design:type", Boolean)
36
37
  ], EmailVerificationStatusResponse.prototype, "isPrincipal", void 0);
38
+ __decorate([
39
+ (0, class_transformer_1.Expose)(),
40
+ __metadata("design:type", String)
41
+ ], EmailVerificationStatusResponse.prototype, "expirationReason", void 0);
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Motivo por el que un link de verificación de correo quedó EXPIRED.
3
+ * TTL_EXPIRED: superó su hora de vigencia sin confirmarse.
4
+ * REPLACED_BY_NEW_LINK: el mismo directorio envió un link más nuevo.
5
+ * EMAIL_REQUESTED_BY_OTHER: otro directorio pidió un link para el mismo correo.
6
+ * EMAIL_VERIFIED_BY_OTHER: otro directorio verificó el correo.
7
+ */
8
+ export declare enum EmailLinkExpirationReasonEnum {
9
+ TTL_EXPIRED = "TTL_EXPIRED",
10
+ REPLACED_BY_NEW_LINK = "REPLACED_BY_NEW_LINK",
11
+ EMAIL_REQUESTED_BY_OTHER = "EMAIL_REQUESTED_BY_OTHER",
12
+ EMAIL_VERIFIED_BY_OTHER = "EMAIL_VERIFIED_BY_OTHER"
13
+ }
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EmailLinkExpirationReasonEnum = void 0;
4
+ /**
5
+ * Motivo por el que un link de verificación de correo quedó EXPIRED.
6
+ * TTL_EXPIRED: superó su hora de vigencia sin confirmarse.
7
+ * REPLACED_BY_NEW_LINK: el mismo directorio envió un link más nuevo.
8
+ * EMAIL_REQUESTED_BY_OTHER: otro directorio pidió un link para el mismo correo.
9
+ * EMAIL_VERIFIED_BY_OTHER: otro directorio verificó el correo.
10
+ */
11
+ var EmailLinkExpirationReasonEnum;
12
+ (function (EmailLinkExpirationReasonEnum) {
13
+ EmailLinkExpirationReasonEnum["TTL_EXPIRED"] = "TTL_EXPIRED";
14
+ EmailLinkExpirationReasonEnum["REPLACED_BY_NEW_LINK"] = "REPLACED_BY_NEW_LINK";
15
+ EmailLinkExpirationReasonEnum["EMAIL_REQUESTED_BY_OTHER"] = "EMAIL_REQUESTED_BY_OTHER";
16
+ EmailLinkExpirationReasonEnum["EMAIL_VERIFIED_BY_OTHER"] = "EMAIL_VERIFIED_BY_OTHER";
17
+ })(EmailLinkExpirationReasonEnum || (exports.EmailLinkExpirationReasonEnum = EmailLinkExpirationReasonEnum = {}));
@@ -1,4 +1,5 @@
1
1
  export * from './enums/EmailVerificationStatusEnum';
2
+ export * from './enums/EmailLinkExpirationReasonEnum';
2
3
  export * from './dtos/EmailVerificationStartRequest';
3
4
  export * from './dtos/EmailVerificationStartResponse';
4
5
  export * from './dtos/EmailVerificationResendRequest';
@@ -15,6 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./enums/EmailVerificationStatusEnum"), exports);
18
+ __exportStar(require("./enums/EmailLinkExpirationReasonEnum"), exports);
18
19
  __exportStar(require("./dtos/EmailVerificationStartRequest"), exports);
19
20
  __exportStar(require("./dtos/EmailVerificationStartResponse"), exports);
20
21
  __exportStar(require("./dtos/EmailVerificationResendRequest"), exports);
@@ -0,0 +1,14 @@
1
+ /**
2
+ * DEC-RBAC-120: qué clase de principal está haciendo el request.
3
+ *
4
+ * USER — persona autenticada con sesión de Cognito (cookie `session`).
5
+ * INTEGRATION — credencial máquina-a-máquina de un socio externo (API key bearer). Su `cognitoSub`
6
+ * tiene la forma `INT#<integrationId>` y NO viene de Cognito.
7
+ *
8
+ * NO confundir con `PrincipalIdentifierEnum` (EMAIL/PHONE), que es cómo se identifica un humano al
9
+ * hacer login (DEC-RBAC-079). Este enum es el TIPO de principal, no cómo se identifica.
10
+ */
11
+ export declare enum PrincipalKind {
12
+ USER = "USER",
13
+ INTEGRATION = "INTEGRATION"
14
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PrincipalKind = void 0;
4
+ /**
5
+ * DEC-RBAC-120: qué clase de principal está haciendo el request.
6
+ *
7
+ * USER — persona autenticada con sesión de Cognito (cookie `session`).
8
+ * INTEGRATION — credencial máquina-a-máquina de un socio externo (API key bearer). Su `cognitoSub`
9
+ * tiene la forma `INT#<integrationId>` y NO viene de Cognito.
10
+ *
11
+ * NO confundir con `PrincipalIdentifierEnum` (EMAIL/PHONE), que es cómo se identifica un humano al
12
+ * hacer login (DEC-RBAC-079). Este enum es el TIPO de principal, no cómo se identifica.
13
+ */
14
+ var PrincipalKind;
15
+ (function (PrincipalKind) {
16
+ PrincipalKind["USER"] = "USER";
17
+ PrincipalKind["INTEGRATION"] = "INTEGRATION";
18
+ })(PrincipalKind || (exports.PrincipalKind = PrincipalKind = {}));
@@ -2,6 +2,7 @@ export { Permission, PERMISSION_BIT_ORDER, PERMS_VERSION, permissionsToBits, bit
2
2
  export { PermissionScope } from './enums/PermissionScope';
3
3
  export { PermissionCategory } from './enums/PermissionCategory';
4
4
  export { PrincipalIdentifierEnum } from './enums/PrincipalIdentifierEnum';
5
+ export { PrincipalKind } from './enums/PrincipalKind';
5
6
  export type { AuthContext } from './dtos/AuthContext';
6
7
  export type { RoleAssignmentInfo } from './dtos/RoleAssignmentInfo';
7
8
  export type { PermissionMeta } from './dtos/PermissionMeta';
@@ -23,7 +23,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
23
23
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.UserFieldType = exports.scopeRankOrder = exports.tableSuffixForLevel = exports.levelsOf = exports.TENANT_TYPES = exports.TenantType = exports.AuthorizeDenyReason = exports.PrincipalIdentifierEnum = exports.PermissionCategory = exports.PermissionScope = exports.bitsToPermissions = exports.permissionsToBits = exports.PERMS_VERSION = exports.PERMISSION_BIT_ORDER = exports.Permission = void 0;
26
+ exports.UserFieldType = exports.scopeRankOrder = exports.tableSuffixForLevel = exports.levelsOf = exports.TENANT_TYPES = exports.TenantType = exports.AuthorizeDenyReason = exports.PrincipalKind = exports.PrincipalIdentifierEnum = exports.PermissionCategory = exports.PermissionScope = exports.bitsToPermissions = exports.permissionsToBits = exports.PERMS_VERSION = exports.PERMISSION_BIT_ORDER = exports.Permission = void 0;
27
27
  var Permission_1 = require("./enums/Permission");
28
28
  Object.defineProperty(exports, "Permission", { enumerable: true, get: function () { return Permission_1.Permission; } });
29
29
  Object.defineProperty(exports, "PERMISSION_BIT_ORDER", { enumerable: true, get: function () { return Permission_1.PERMISSION_BIT_ORDER; } });
@@ -37,6 +37,10 @@ Object.defineProperty(exports, "PermissionCategory", { enumerable: true, get: fu
37
37
  // DEC-RBAC-079: identificador principal de login por aplicación (heredado por tenant).
38
38
  var PrincipalIdentifierEnum_1 = require("./enums/PrincipalIdentifierEnum");
39
39
  Object.defineProperty(exports, "PrincipalIdentifierEnum", { enumerable: true, get: function () { return PrincipalIdentifierEnum_1.PrincipalIdentifierEnum; } });
40
+ // DEC-RBAC-120: TIPO de principal (humano vs credencial M2M). No confundir con el de arriba,
41
+ // que es cómo se identifica un humano al hacer login.
42
+ var PrincipalKind_1 = require("./enums/PrincipalKind");
43
+ Object.defineProperty(exports, "PrincipalKind", { enumerable: true, get: function () { return PrincipalKind_1.PrincipalKind; } });
40
44
  // Fase 1 — Custom Auth Challenge (Email OTP + TOTP) + MFA self-service.
41
45
  // Class values (no type-only) — los DTOs llevan decoradores class-validator y se hidratan con plainToInstance en runtime.
42
46
  __exportStar(require("./enums/MfaMethodEnum"), exports);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fiado/type-kit",
3
- "version": "3.291.0",
3
+ "version": "3.293.0",
4
4
  "description": "",
5
5
  "main": "bin/index.js",
6
6
  "types": "bin/index.d.ts",
@@ -1,5 +1,6 @@
1
1
  import { Expose } from 'class-transformer';
2
2
  import { EmailVerificationStatusEnum } from '../enums/EmailVerificationStatusEnum';
3
+ import { EmailLinkExpirationReasonEnum } from '../enums/EmailLinkExpirationReasonEnum';
3
4
 
4
5
  /**
5
6
  * Item de email asociado a un directorio. Se reutiliza en EmailListResponse
@@ -20,4 +21,8 @@ export class EmailItem {
20
21
 
21
22
  @Expose()
22
23
  verifiedAt?: number;
24
+
25
+ /** Solo presente cuando status === EXPIRED. */
26
+ @Expose()
27
+ expirationReason?: EmailLinkExpirationReasonEnum;
23
28
  }
@@ -1,5 +1,6 @@
1
1
  import { Expose } from 'class-transformer';
2
2
  import { EmailVerificationStatusEnum } from '../enums/EmailVerificationStatusEnum';
3
+ import { EmailLinkExpirationReasonEnum } from '../enums/EmailLinkExpirationReasonEnum';
3
4
 
4
5
  /**
5
6
  * Estado de verificación de un email puntual de un directorio.
@@ -16,4 +17,8 @@ export class EmailVerificationStatusResponse {
16
17
 
17
18
  @Expose()
18
19
  isPrincipal!: boolean;
20
+
21
+ /** Solo presente cuando status === EXPIRED. */
22
+ @Expose()
23
+ expirationReason?: EmailLinkExpirationReasonEnum;
19
24
  }
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Motivo por el que un link de verificación de correo quedó EXPIRED.
3
+ * TTL_EXPIRED: superó su hora de vigencia sin confirmarse.
4
+ * REPLACED_BY_NEW_LINK: el mismo directorio envió un link más nuevo.
5
+ * EMAIL_REQUESTED_BY_OTHER: otro directorio pidió un link para el mismo correo.
6
+ * EMAIL_VERIFIED_BY_OTHER: otro directorio verificó el correo.
7
+ */
8
+ export enum EmailLinkExpirationReasonEnum {
9
+ TTL_EXPIRED = 'TTL_EXPIRED',
10
+ REPLACED_BY_NEW_LINK = 'REPLACED_BY_NEW_LINK',
11
+ EMAIL_REQUESTED_BY_OTHER = 'EMAIL_REQUESTED_BY_OTHER',
12
+ EMAIL_VERIFIED_BY_OTHER = 'EMAIL_VERIFIED_BY_OTHER',
13
+ }
@@ -1,4 +1,5 @@
1
1
  export * from './enums/EmailVerificationStatusEnum';
2
+ export * from './enums/EmailLinkExpirationReasonEnum';
2
3
  export * from './dtos/EmailVerificationStartRequest';
3
4
  export * from './dtos/EmailVerificationStartResponse';
4
5
  export * from './dtos/EmailVerificationResendRequest';
@@ -0,0 +1,14 @@
1
+ /**
2
+ * DEC-RBAC-120: qué clase de principal está haciendo el request.
3
+ *
4
+ * USER — persona autenticada con sesión de Cognito (cookie `session`).
5
+ * INTEGRATION — credencial máquina-a-máquina de un socio externo (API key bearer). Su `cognitoSub`
6
+ * tiene la forma `INT#<integrationId>` y NO viene de Cognito.
7
+ *
8
+ * NO confundir con `PrincipalIdentifierEnum` (EMAIL/PHONE), que es cómo se identifica un humano al
9
+ * hacer login (DEC-RBAC-079). Este enum es el TIPO de principal, no cómo se identifica.
10
+ */
11
+ export enum PrincipalKind {
12
+ USER = 'USER',
13
+ INTEGRATION = 'INTEGRATION',
14
+ }
@@ -19,6 +19,9 @@ export { PermissionScope } from './enums/PermissionScope';
19
19
  export { PermissionCategory } from './enums/PermissionCategory';
20
20
  // DEC-RBAC-079: identificador principal de login por aplicación (heredado por tenant).
21
21
  export { PrincipalIdentifierEnum } from './enums/PrincipalIdentifierEnum';
22
+ // DEC-RBAC-120: TIPO de principal (humano vs credencial M2M). No confundir con el de arriba,
23
+ // que es cómo se identifica un humano al hacer login.
24
+ export { PrincipalKind } from './enums/PrincipalKind';
22
25
 
23
26
  export type { AuthContext } from './dtos/AuthContext';
24
27
  export type { RoleAssignmentInfo } from './dtos/RoleAssignmentInfo';