@fiado/type-kit 3.15.0 → 3.16.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.
Files changed (29) hide show
  1. package/bin/benefitCenter/dtos/BackofficeLeafDetailResponse.d.ts +5 -24
  2. package/bin/benefitCenter/dtos/BackofficeLeafDetailResponse.js +0 -11
  3. package/bin/benefitCenter/dtos/BackofficeLeafListItem.d.ts +8 -11
  4. package/bin/benefitCenter/dtos/BackofficeLeafListItem.js +0 -8
  5. package/bin/benefitCenter/dtos/BackofficeLeafUpdateRequest.d.ts +18 -0
  6. package/bin/benefitCenter/dtos/BackofficeLeafUpdateRequest.js +66 -0
  7. package/bin/benefitCenter/dtos/ConnectorCatalogItem.d.ts +0 -4
  8. package/bin/benefitCenter/dtos/ServiceLeaf.d.ts +0 -4
  9. package/bin/benefitCenter/index.d.ts +1 -4
  10. package/bin/benefitCenter/index.js +2 -5
  11. package/package.json +1 -1
  12. package/src/benefitCenter/dtos/BackofficeLeafDetailResponse.ts +5 -28
  13. package/src/benefitCenter/dtos/BackofficeLeafListItem.ts +8 -18
  14. package/src/benefitCenter/dtos/BackofficeLeafUpdateRequest.ts +30 -0
  15. package/src/benefitCenter/dtos/ConnectorCatalogItem.ts +0 -6
  16. package/src/benefitCenter/dtos/ServiceLeaf.ts +0 -6
  17. package/src/benefitCenter/index.ts +2 -5
  18. package/bin/benefitCenter/dtos/BackofficeLeafOverrideUpsertRequest.d.ts +0 -22
  19. package/bin/benefitCenter/dtos/BackofficeLeafOverrideUpsertRequest.js +0 -91
  20. package/bin/benefitCenter/dtos/FieldOverrideRequest.d.ts +0 -19
  21. package/bin/benefitCenter/dtos/FieldOverrideRequest.js +0 -80
  22. package/bin/benefitCenter/dtos/InputSchemaOverrideRequest.d.ts +0 -9
  23. package/bin/benefitCenter/dtos/InputSchemaOverrideRequest.js +0 -29
  24. package/bin/benefitCenter/enums/LeafOverrideStatusEnum.d.ts +0 -10
  25. package/bin/benefitCenter/enums/LeafOverrideStatusEnum.js +0 -14
  26. package/src/benefitCenter/dtos/BackofficeLeafOverrideUpsertRequest.ts +0 -77
  27. package/src/benefitCenter/dtos/FieldOverrideRequest.ts +0 -67
  28. package/src/benefitCenter/dtos/InputSchemaOverrideRequest.ts +0 -15
  29. package/src/benefitCenter/enums/LeafOverrideStatusEnum.ts +0 -10
@@ -1,32 +1,13 @@
1
1
  import { ConnectorCatalogItem } from "./ConnectorCatalogItem";
2
- import { LeafOverrideStatusEnum } from "../enums/LeafOverrideStatusEnum";
3
2
  /**
4
- * Override que vive en BenefitLeafOverride_GT (forma plana del item de DynamoDB).
5
- * Los slots están definidos del lado lambda en BenefitLeafOverrideDocument;
6
- * acá lo tipamos como Record opaco para no duplicar la definición.
7
- *
8
- * Los consumers del type-kit no necesitan el detalle interno — usan `effective`
9
- * para ver el resultado final y `override` solo para saber qué campos están
10
- * seteados.
3
+ * Respuesta del detalle de un leaf en el backoffice (v2 in-place).
4
+ * Devuelve el item del catálogo del conector tal cual — sin paso de merge
5
+ * (la edición editorial vive in-place en la tabla del conector).
11
6
  */
12
- export type BenefitLeafOverridePayload = Record<string, unknown>;
13
- /**
14
- * Response del detalle del backoffice. Trae 3 visiones del leaf:
15
- * - base: lo que devuelve el conector (sin merge).
16
- * - override: lo que hay en BenefitLeafOverride_GT (null si nunca se editó).
17
- * - effective: el merge (lo que ve la app).
18
- * Si status === ORPHANED, base y effective son null.
19
- */
20
- export declare class BackofficeLeafDetailResponse {
7
+ export interface BackofficeLeafDetailResponse {
21
8
  leafId: string;
22
9
  benefitId: string;
23
10
  moduleName: string;
24
11
  serviceId: string;
25
- base: ConnectorCatalogItem | null;
26
- override: BenefitLeafOverridePayload | null;
27
- effective: ConnectorCatalogItem | null;
28
- status: LeafOverrideStatusEnum;
29
- updatedBy: string | null;
30
- createdAt: number | null;
31
- updatedAt: number | null;
12
+ item: ConnectorCatalogItem;
32
13
  }
@@ -1,13 +1,2 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BackofficeLeafDetailResponse = void 0;
4
- /**
5
- * Response del detalle del backoffice. Trae 3 visiones del leaf:
6
- * - base: lo que devuelve el conector (sin merge).
7
- * - override: lo que hay en BenefitLeafOverride_GT (null si nunca se editó).
8
- * - effective: el merge (lo que ve la app).
9
- * Si status === ORPHANED, base y effective son null.
10
- */
11
- class BackofficeLeafDetailResponse {
12
- }
13
- exports.BackofficeLeafDetailResponse = BackofficeLeafDetailResponse;
@@ -1,21 +1,18 @@
1
- import { LeafOverrideStatusEnum } from "../enums/LeafOverrideStatusEnum";
2
1
  /**
3
- * Item del listado del backoffice de leaves. Combina el estado efectivo
4
- * (post-merge) que verá la app con metadata del override (si existe).
2
+ * Item del listado paginado de leaves en el backoffice (v2 in-place).
3
+ * Cada item representa un servicio del catálogo del conector, ya con
4
+ * los valores editoriales aplicados (no hay "base/override/effective" —
5
+ * la edición es in-place sobre la tabla del conector).
5
6
  */
6
- export declare class BackofficeLeafListItem {
7
+ export interface BackofficeLeafListItem {
7
8
  leafId: string;
8
9
  benefitId: string;
9
10
  moduleName: string;
10
11
  serviceId: string;
11
- serviceName: string;
12
12
  category: string;
13
13
  subcategory: string;
14
+ serviceName: string;
15
+ logo: string;
14
16
  enabled: boolean;
15
- logo?: string;
16
- hasOverride: boolean;
17
- overriddenFields: string[];
18
- status: LeafOverrideStatusEnum;
19
- updatedBy?: string;
20
- updatedAt?: number;
17
+ updatedAt: number;
21
18
  }
@@ -1,10 +1,2 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BackofficeLeafListItem = void 0;
4
- /**
5
- * Item del listado del backoffice de leaves. Combina el estado efectivo
6
- * (post-merge) que verá la app con metadata del override (si existe).
7
- */
8
- class BackofficeLeafListItem {
9
- }
10
- exports.BackofficeLeafListItem = BackofficeLeafListItem;
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Patch parcial para editar un leaf in-place (v2). Todos los campos son
3
+ * opcionales pero al menos uno debe venir; si el body está vacío el backend
4
+ * responde 400 INVALID_PATCH_PAYLOAD.
5
+ *
6
+ * Los campos eliminados respecto de v1 (`description`, `helpText`,
7
+ * `inputSchema`, `requiresReferenceVerification`) ya no son editables —
8
+ * vienen derivados del producto en el mapper del conector.
9
+ */
10
+ export declare class BackofficeLeafUpdateRequest {
11
+ serviceName?: string;
12
+ category?: string;
13
+ subcategory?: string;
14
+ enabled?: boolean;
15
+ logo?: string;
16
+ serviceOrder?: number;
17
+ subcategoryOrder?: number;
18
+ }
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ 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;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.BackofficeLeafUpdateRequest = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ /**
15
+ * Patch parcial para editar un leaf in-place (v2). Todos los campos son
16
+ * opcionales pero al menos uno debe venir; si el body está vacío el backend
17
+ * responde 400 INVALID_PATCH_PAYLOAD.
18
+ *
19
+ * Los campos eliminados respecto de v1 (`description`, `helpText`,
20
+ * `inputSchema`, `requiresReferenceVerification`) ya no son editables —
21
+ * vienen derivados del producto en el mapper del conector.
22
+ */
23
+ class BackofficeLeafUpdateRequest {
24
+ }
25
+ exports.BackofficeLeafUpdateRequest = BackofficeLeafUpdateRequest;
26
+ __decorate([
27
+ (0, class_validator_1.IsOptional)(),
28
+ (0, class_validator_1.IsString)(),
29
+ (0, class_validator_1.MaxLength)(200),
30
+ __metadata("design:type", String)
31
+ ], BackofficeLeafUpdateRequest.prototype, "serviceName", void 0);
32
+ __decorate([
33
+ (0, class_validator_1.IsOptional)(),
34
+ (0, class_validator_1.IsString)(),
35
+ (0, class_validator_1.MaxLength)(100),
36
+ (0, class_validator_1.Matches)(/^[A-Z][A-Z0-9_ ]*$/, { message: "category must match /^[A-Z][A-Z0-9_ ]*$/" }),
37
+ __metadata("design:type", String)
38
+ ], BackofficeLeafUpdateRequest.prototype, "category", void 0);
39
+ __decorate([
40
+ (0, class_validator_1.IsOptional)(),
41
+ (0, class_validator_1.IsString)(),
42
+ (0, class_validator_1.MaxLength)(100),
43
+ (0, class_validator_1.Matches)(/^[A-Z][A-Z0-9_ ]*$/, { message: "subcategory must match /^[A-Z][A-Z0-9_ ]*$/" }),
44
+ __metadata("design:type", String)
45
+ ], BackofficeLeafUpdateRequest.prototype, "subcategory", void 0);
46
+ __decorate([
47
+ (0, class_validator_1.IsOptional)(),
48
+ (0, class_validator_1.IsBoolean)(),
49
+ __metadata("design:type", Boolean)
50
+ ], BackofficeLeafUpdateRequest.prototype, "enabled", void 0);
51
+ __decorate([
52
+ (0, class_validator_1.IsOptional)(),
53
+ (0, class_validator_1.IsString)(),
54
+ (0, class_validator_1.MaxLength)(500),
55
+ __metadata("design:type", String)
56
+ ], BackofficeLeafUpdateRequest.prototype, "logo", void 0);
57
+ __decorate([
58
+ (0, class_validator_1.IsOptional)(),
59
+ (0, class_validator_1.IsNumber)(),
60
+ __metadata("design:type", Number)
61
+ ], BackofficeLeafUpdateRequest.prototype, "serviceOrder", void 0);
62
+ __decorate([
63
+ (0, class_validator_1.IsOptional)(),
64
+ (0, class_validator_1.IsNumber)(),
65
+ __metadata("design:type", Number)
66
+ ], BackofficeLeafUpdateRequest.prototype, "subcategoryOrder", void 0);
@@ -24,8 +24,4 @@ export declare class ConnectorCatalogItem {
24
24
  products: ProductItem[];
25
25
  inputSchema: InputSchema;
26
26
  updatedAt: number;
27
- /** Campo editorial solo-marketplace. Vive en BenefitLeafOverride_GT y el merger lo agrega al item devuelto. */
28
- description?: string;
29
- /** Campo editorial solo-marketplace. Texto corto inline en el form de pago. */
30
- helpText?: string;
31
27
  }
@@ -10,8 +10,4 @@ export declare class ServiceLeaf {
10
10
  products: ProductItem[];
11
11
  inputSchema: InputSchema;
12
12
  updatedAt: number;
13
- /** Campo editorial solo-marketplace. Vive en BenefitLeafOverride_GT y el merger lo agrega al item devuelto. */
14
- description?: string;
15
- /** Campo editorial solo-marketplace. Texto corto inline en el form de pago. */
16
- helpText?: string;
17
13
  }
@@ -10,7 +10,6 @@ export * from "./enums/BannerTemplateVariantEnum";
10
10
  export * from "./enums/FavoriteDisabledReasonEnum";
11
11
  export * from "./enums/BenefitPaymentStatusEnum";
12
12
  export * from "./enums/BenefitPaymentErrorCodeEnum";
13
- export * from "./enums/LeafOverrideStatusEnum";
14
13
  export * from "./enums/BannerAssetKindEnum";
15
14
  export * from "./dtos/BenefitItem";
16
15
  export * from "./dtos/BenefitListResponse";
@@ -54,9 +53,7 @@ export * from "./dtos/BenefitPaymentRequest";
54
53
  export * from "./dtos/BenefitPaymentResponse";
55
54
  export * from "./dtos/AuthorizeBenefitsMarketplaceTransactionRequest";
56
55
  export * from "./dtos/FavoriteUpsertContext";
57
- export * from "./dtos/FieldOverrideRequest";
58
- export * from "./dtos/InputSchemaOverrideRequest";
59
- export * from "./dtos/BackofficeLeafOverrideUpsertRequest";
56
+ export * from "./dtos/BackofficeLeafUpdateRequest";
60
57
  export * from "./dtos/BackofficeLeafListItem";
61
58
  export * from "./dtos/BackofficeLeafListResponse";
62
59
  export * from "./dtos/BackofficeLeafDetailResponse";
@@ -27,7 +27,6 @@ __exportStar(require("./enums/BannerTemplateVariantEnum"), exports);
27
27
  __exportStar(require("./enums/FavoriteDisabledReasonEnum"), exports);
28
28
  __exportStar(require("./enums/BenefitPaymentStatusEnum"), exports);
29
29
  __exportStar(require("./enums/BenefitPaymentErrorCodeEnum"), exports);
30
- __exportStar(require("./enums/LeafOverrideStatusEnum"), exports);
31
30
  __exportStar(require("./enums/BannerAssetKindEnum"), exports);
32
31
  //DTOs
33
32
  __exportStar(require("./dtos/BenefitItem"), exports);
@@ -75,10 +74,8 @@ __exportStar(require("./dtos/BenefitPaymentRequest"), exports);
75
74
  __exportStar(require("./dtos/BenefitPaymentResponse"), exports);
76
75
  __exportStar(require("./dtos/AuthorizeBenefitsMarketplaceTransactionRequest"), exports);
77
76
  __exportStar(require("./dtos/FavoriteUpsertContext"), exports);
78
- //Leaf overrides (admin backoffice) (v3.14.0)
79
- __exportStar(require("./dtos/FieldOverrideRequest"), exports);
80
- __exportStar(require("./dtos/InputSchemaOverrideRequest"), exports);
81
- __exportStar(require("./dtos/BackofficeLeafOverrideUpsertRequest"), exports);
77
+ //Admin leaves in-place (v3.16.0)
78
+ __exportStar(require("./dtos/BackofficeLeafUpdateRequest"), exports);
82
79
  __exportStar(require("./dtos/BackofficeLeafListItem"), exports);
83
80
  __exportStar(require("./dtos/BackofficeLeafListResponse"), exports);
84
81
  __exportStar(require("./dtos/BackofficeLeafDetailResponse"), exports);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fiado/type-kit",
3
- "version": "3.15.0",
3
+ "version": "3.16.0",
4
4
  "description": "",
5
5
  "main": "bin/index.js",
6
6
  "types": "bin/index.d.ts",
@@ -1,37 +1,14 @@
1
1
  import { ConnectorCatalogItem } from "./ConnectorCatalogItem";
2
- import { LeafOverrideStatusEnum } from "../enums/LeafOverrideStatusEnum";
3
2
 
4
3
  /**
5
- * Override que vive en BenefitLeafOverride_GT (forma plana del item de DynamoDB).
6
- * Los slots están definidos del lado lambda en BenefitLeafOverrideDocument;
7
- * acá lo tipamos como Record opaco para no duplicar la definición.
8
- *
9
- * Los consumers del type-kit no necesitan el detalle interno — usan `effective`
10
- * para ver el resultado final y `override` solo para saber qué campos están
11
- * seteados.
4
+ * Respuesta del detalle de un leaf en el backoffice (v2 in-place).
5
+ * Devuelve el item del catálogo del conector tal cual — sin paso de merge
6
+ * (la edición editorial vive in-place en la tabla del conector).
12
7
  */
13
- export type BenefitLeafOverridePayload = Record<string, unknown>;
14
-
15
- /**
16
- * Response del detalle del backoffice. Trae 3 visiones del leaf:
17
- * - base: lo que devuelve el conector (sin merge).
18
- * - override: lo que hay en BenefitLeafOverride_GT (null si nunca se editó).
19
- * - effective: el merge (lo que ve la app).
20
- * Si status === ORPHANED, base y effective son null.
21
- */
22
- export class BackofficeLeafDetailResponse {
8
+ export interface BackofficeLeafDetailResponse {
23
9
  leafId: string;
24
10
  benefitId: string;
25
11
  moduleName: string;
26
12
  serviceId: string;
27
-
28
- base: ConnectorCatalogItem | null;
29
- override: BenefitLeafOverridePayload | null;
30
- effective: ConnectorCatalogItem | null;
31
-
32
- status: LeafOverrideStatusEnum;
33
-
34
- updatedBy: string | null;
35
- createdAt: number | null;
36
- updatedAt: number | null;
13
+ item: ConnectorCatalogItem;
37
14
  }
@@ -1,28 +1,18 @@
1
- import { LeafOverrideStatusEnum } from "../enums/LeafOverrideStatusEnum";
2
-
3
1
  /**
4
- * Item del listado del backoffice de leaves. Combina el estado efectivo
5
- * (post-merge) que verá la app con metadata del override (si existe).
2
+ * Item del listado paginado de leaves en el backoffice (v2 in-place).
3
+ * Cada item representa un servicio del catálogo del conector, ya con
4
+ * los valores editoriales aplicados (no hay "base/override/effective" —
5
+ * la edición es in-place sobre la tabla del conector).
6
6
  */
7
- export class BackofficeLeafListItem {
7
+ export interface BackofficeLeafListItem {
8
8
  leafId: string;
9
9
  benefitId: string;
10
10
  moduleName: string;
11
11
  serviceId: string;
12
-
13
- // Effective (post-merge) — lo que vería el cliente
14
- serviceName: string;
15
12
  category: string;
16
13
  subcategory: string;
14
+ serviceName: string;
15
+ logo: string;
17
16
  enabled: boolean;
18
- logo?: string;
19
-
20
- // Metadata de override
21
- hasOverride: boolean;
22
- overriddenFields: string[];
23
- status: LeafOverrideStatusEnum;
24
-
25
- // Audit ligera
26
- updatedBy?: string;
27
- updatedAt?: number;
17
+ updatedAt: number; // ms epoch — del item del conector
28
18
  }
@@ -0,0 +1,30 @@
1
+ import { IsBoolean, IsNumber, IsOptional, IsString, Matches, MaxLength } from "class-validator";
2
+
3
+ /**
4
+ * Patch parcial para editar un leaf in-place (v2). Todos los campos son
5
+ * opcionales pero al menos uno debe venir; si el body está vacío el backend
6
+ * responde 400 INVALID_PATCH_PAYLOAD.
7
+ *
8
+ * Los campos eliminados respecto de v1 (`description`, `helpText`,
9
+ * `inputSchema`, `requiresReferenceVerification`) ya no son editables —
10
+ * vienen derivados del producto en el mapper del conector.
11
+ */
12
+ export class BackofficeLeafUpdateRequest {
13
+ @IsOptional() @IsString() @MaxLength(200) serviceName?: string;
14
+
15
+ @IsOptional() @IsString() @MaxLength(100)
16
+ @Matches(/^[A-Z][A-Z0-9_ ]*$/, { message: "category must match /^[A-Z][A-Z0-9_ ]*$/" })
17
+ category?: string;
18
+
19
+ @IsOptional() @IsString() @MaxLength(100)
20
+ @Matches(/^[A-Z][A-Z0-9_ ]*$/, { message: "subcategory must match /^[A-Z][A-Z0-9_ ]*$/" })
21
+ subcategory?: string;
22
+
23
+ @IsOptional() @IsBoolean() enabled?: boolean;
24
+
25
+ @IsOptional() @IsString() @MaxLength(500) logo?: string;
26
+
27
+ @IsOptional() @IsNumber() serviceOrder?: number;
28
+
29
+ @IsOptional() @IsNumber() subcategoryOrder?: number;
30
+ }
@@ -32,10 +32,4 @@ export class ConnectorCatalogItem {
32
32
  products: ProductItem[];
33
33
  inputSchema: InputSchema;
34
34
  updatedAt: number;
35
-
36
- /** Campo editorial solo-marketplace. Vive en BenefitLeafOverride_GT y el merger lo agrega al item devuelto. */
37
- description?: string;
38
-
39
- /** Campo editorial solo-marketplace. Texto corto inline en el form de pago. */
40
- helpText?: string;
41
35
  }
@@ -11,10 +11,4 @@ export class ServiceLeaf {
11
11
  products: ProductItem[];
12
12
  inputSchema: InputSchema;
13
13
  updatedAt: number;
14
-
15
- /** Campo editorial solo-marketplace. Vive en BenefitLeafOverride_GT y el merger lo agrega al item devuelto. */
16
- description?: string;
17
-
18
- /** Campo editorial solo-marketplace. Texto corto inline en el form de pago. */
19
- helpText?: string;
20
14
  }
@@ -11,7 +11,6 @@ export * from "./enums/BannerTemplateVariantEnum";
11
11
  export * from "./enums/FavoriteDisabledReasonEnum";
12
12
  export * from "./enums/BenefitPaymentStatusEnum";
13
13
  export * from "./enums/BenefitPaymentErrorCodeEnum";
14
- export * from "./enums/LeafOverrideStatusEnum";
15
14
  export * from "./enums/BannerAssetKindEnum";
16
15
 
17
16
  //DTOs
@@ -60,10 +59,8 @@ export * from "./dtos/BenefitPaymentRequest";
60
59
  export * from "./dtos/BenefitPaymentResponse";
61
60
  export * from "./dtos/AuthorizeBenefitsMarketplaceTransactionRequest";
62
61
  export * from "./dtos/FavoriteUpsertContext";
63
- //Leaf overrides (admin backoffice) (v3.14.0)
64
- export * from "./dtos/FieldOverrideRequest";
65
- export * from "./dtos/InputSchemaOverrideRequest";
66
- export * from "./dtos/BackofficeLeafOverrideUpsertRequest";
62
+ //Admin leaves in-place (v3.16.0)
63
+ export * from "./dtos/BackofficeLeafUpdateRequest";
67
64
  export * from "./dtos/BackofficeLeafListItem";
68
65
  export * from "./dtos/BackofficeLeafListResponse";
69
66
  export * from "./dtos/BackofficeLeafDetailResponse";
@@ -1,22 +0,0 @@
1
- import { InputSchemaOverrideRequest } from "./InputSchemaOverrideRequest";
2
- /**
3
- * Body de PUT /backoffice/leaves/{leafId}. Upsert parcial:
4
- * - undefined → no se toca
5
- * - string/number/boolean seteado → pisa el valor previo del override
6
- * - null NO se acepta (para borrar un campo, usar DELETE /fields/{fieldName})
7
- *
8
- * Si todos los campos llegan undefined → 400 INVALID_PATCH_PAYLOAD.
9
- */
10
- export declare class BackofficeLeafOverrideUpsertRequest {
11
- serviceName?: string;
12
- logo?: string;
13
- description?: string;
14
- helpText?: string;
15
- serviceOrder?: number;
16
- subcategoryOrder?: number;
17
- enabled?: boolean;
18
- category?: string;
19
- subcategory?: string;
20
- requiresReferenceVerification?: boolean;
21
- inputSchema?: InputSchemaOverrideRequest;
22
- }
@@ -1,91 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- 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;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.BackofficeLeafOverrideUpsertRequest = void 0;
13
- const class_validator_1 = require("class-validator");
14
- const class_transformer_1 = require("class-transformer");
15
- const InputSchemaOverrideRequest_1 = require("./InputSchemaOverrideRequest");
16
- /**
17
- * Body de PUT /backoffice/leaves/{leafId}. Upsert parcial:
18
- * - undefined → no se toca
19
- * - string/number/boolean seteado → pisa el valor previo del override
20
- * - null NO se acepta (para borrar un campo, usar DELETE /fields/{fieldName})
21
- *
22
- * Si todos los campos llegan undefined → 400 INVALID_PATCH_PAYLOAD.
23
- */
24
- class BackofficeLeafOverrideUpsertRequest {
25
- }
26
- exports.BackofficeLeafOverrideUpsertRequest = BackofficeLeafOverrideUpsertRequest;
27
- __decorate([
28
- (0, class_validator_1.IsOptional)(),
29
- (0, class_validator_1.IsString)(),
30
- (0, class_validator_1.MaxLength)(120),
31
- __metadata("design:type", String)
32
- ], BackofficeLeafOverrideUpsertRequest.prototype, "serviceName", void 0);
33
- __decorate([
34
- (0, class_validator_1.IsOptional)(),
35
- (0, class_validator_1.IsUrl)({ protocols: ["https"], require_protocol: true }),
36
- (0, class_validator_1.MaxLength)(500),
37
- __metadata("design:type", String)
38
- ], BackofficeLeafOverrideUpsertRequest.prototype, "logo", void 0);
39
- __decorate([
40
- (0, class_validator_1.IsOptional)(),
41
- (0, class_validator_1.IsString)(),
42
- (0, class_validator_1.MaxLength)(2000),
43
- __metadata("design:type", String)
44
- ], BackofficeLeafOverrideUpsertRequest.prototype, "description", void 0);
45
- __decorate([
46
- (0, class_validator_1.IsOptional)(),
47
- (0, class_validator_1.IsString)(),
48
- (0, class_validator_1.MaxLength)(1000),
49
- __metadata("design:type", String)
50
- ], BackofficeLeafOverrideUpsertRequest.prototype, "helpText", void 0);
51
- __decorate([
52
- (0, class_validator_1.IsOptional)(),
53
- (0, class_validator_1.IsInt)(),
54
- (0, class_validator_1.Min)(0),
55
- __metadata("design:type", Number)
56
- ], BackofficeLeafOverrideUpsertRequest.prototype, "serviceOrder", void 0);
57
- __decorate([
58
- (0, class_validator_1.IsOptional)(),
59
- (0, class_validator_1.IsInt)(),
60
- (0, class_validator_1.Min)(0),
61
- __metadata("design:type", Number)
62
- ], BackofficeLeafOverrideUpsertRequest.prototype, "subcategoryOrder", void 0);
63
- __decorate([
64
- (0, class_validator_1.IsOptional)(),
65
- (0, class_validator_1.IsBoolean)(),
66
- __metadata("design:type", Boolean)
67
- ], BackofficeLeafOverrideUpsertRequest.prototype, "enabled", void 0);
68
- __decorate([
69
- (0, class_validator_1.IsOptional)(),
70
- (0, class_validator_1.IsString)(),
71
- (0, class_validator_1.MaxLength)(60),
72
- (0, class_validator_1.Matches)(/^[A-Z][A-Z0-9_ ]*$/, { message: "category must be uppercase with underscores or spaces" }),
73
- __metadata("design:type", String)
74
- ], BackofficeLeafOverrideUpsertRequest.prototype, "category", void 0);
75
- __decorate([
76
- (0, class_validator_1.IsOptional)(),
77
- (0, class_validator_1.IsString)(),
78
- (0, class_validator_1.MaxLength)(60),
79
- __metadata("design:type", String)
80
- ], BackofficeLeafOverrideUpsertRequest.prototype, "subcategory", void 0);
81
- __decorate([
82
- (0, class_validator_1.IsOptional)(),
83
- (0, class_validator_1.IsBoolean)(),
84
- __metadata("design:type", Boolean)
85
- ], BackofficeLeafOverrideUpsertRequest.prototype, "requiresReferenceVerification", void 0);
86
- __decorate([
87
- (0, class_validator_1.IsOptional)(),
88
- (0, class_validator_1.ValidateNested)(),
89
- (0, class_transformer_1.Type)(() => InputSchemaOverrideRequest_1.InputSchemaOverrideRequest),
90
- __metadata("design:type", InputSchemaOverrideRequest_1.InputSchemaOverrideRequest)
91
- ], BackofficeLeafOverrideUpsertRequest.prototype, "inputSchema", void 0);
@@ -1,19 +0,0 @@
1
- import { InputFieldTypeEnum } from "../enums/InputFieldTypeEnum";
2
- import { InputValidation } from "./InputValidation";
3
- import { SelectOption } from "./SelectOption";
4
- /**
5
- * Override parcial de un field individual del `inputSchema` por `key`.
6
- * El admin no puede agregar ni quitar fields — solo editar los existentes.
7
- */
8
- export declare class FieldOverrideRequest {
9
- key: string;
10
- type?: InputFieldTypeEnum;
11
- label?: string;
12
- placeholder?: string;
13
- required?: boolean;
14
- helpImage?: string;
15
- showHelp?: boolean;
16
- options?: SelectOption[];
17
- dependsOn?: string;
18
- validation?: InputValidation;
19
- }
@@ -1,80 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- 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;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.FieldOverrideRequest = void 0;
13
- const class_validator_1 = require("class-validator");
14
- const class_transformer_1 = require("class-transformer");
15
- const InputFieldTypeEnum_1 = require("../enums/InputFieldTypeEnum");
16
- const InputValidation_1 = require("./InputValidation");
17
- const SelectOption_1 = require("./SelectOption");
18
- /**
19
- * Override parcial de un field individual del `inputSchema` por `key`.
20
- * El admin no puede agregar ni quitar fields — solo editar los existentes.
21
- */
22
- class FieldOverrideRequest {
23
- }
24
- exports.FieldOverrideRequest = FieldOverrideRequest;
25
- __decorate([
26
- (0, class_validator_1.IsString)(),
27
- (0, class_validator_1.IsNotEmpty)(),
28
- __metadata("design:type", String)
29
- ], FieldOverrideRequest.prototype, "key", void 0);
30
- __decorate([
31
- (0, class_validator_1.IsOptional)(),
32
- (0, class_validator_1.IsEnum)(InputFieldTypeEnum_1.InputFieldTypeEnum),
33
- __metadata("design:type", String)
34
- ], FieldOverrideRequest.prototype, "type", void 0);
35
- __decorate([
36
- (0, class_validator_1.IsOptional)(),
37
- (0, class_validator_1.IsString)(),
38
- (0, class_validator_1.MaxLength)(120),
39
- __metadata("design:type", String)
40
- ], FieldOverrideRequest.prototype, "label", void 0);
41
- __decorate([
42
- (0, class_validator_1.IsOptional)(),
43
- (0, class_validator_1.IsString)(),
44
- (0, class_validator_1.MaxLength)(120),
45
- __metadata("design:type", String)
46
- ], FieldOverrideRequest.prototype, "placeholder", void 0);
47
- __decorate([
48
- (0, class_validator_1.IsOptional)(),
49
- (0, class_validator_1.IsBoolean)(),
50
- __metadata("design:type", Boolean)
51
- ], FieldOverrideRequest.prototype, "required", void 0);
52
- __decorate([
53
- (0, class_validator_1.IsOptional)(),
54
- (0, class_validator_1.IsUrl)({ protocols: ["https"], require_protocol: true }),
55
- __metadata("design:type", String)
56
- ], FieldOverrideRequest.prototype, "helpImage", void 0);
57
- __decorate([
58
- (0, class_validator_1.IsOptional)(),
59
- (0, class_validator_1.IsBoolean)(),
60
- __metadata("design:type", Boolean)
61
- ], FieldOverrideRequest.prototype, "showHelp", void 0);
62
- __decorate([
63
- (0, class_validator_1.IsOptional)(),
64
- (0, class_validator_1.IsArray)(),
65
- (0, class_validator_1.ValidateNested)({ each: true }),
66
- (0, class_transformer_1.Type)(() => SelectOption_1.SelectOption),
67
- __metadata("design:type", Array)
68
- ], FieldOverrideRequest.prototype, "options", void 0);
69
- __decorate([
70
- (0, class_validator_1.IsOptional)(),
71
- (0, class_validator_1.IsString)(),
72
- (0, class_validator_1.MaxLength)(60),
73
- __metadata("design:type", String)
74
- ], FieldOverrideRequest.prototype, "dependsOn", void 0);
75
- __decorate([
76
- (0, class_validator_1.IsOptional)(),
77
- (0, class_validator_1.ValidateNested)(),
78
- (0, class_transformer_1.Type)(() => InputValidation_1.InputValidation),
79
- __metadata("design:type", InputValidation_1.InputValidation)
80
- ], FieldOverrideRequest.prototype, "validation", void 0);
@@ -1,9 +0,0 @@
1
- import { FieldOverrideRequest } from "./FieldOverrideRequest";
2
- /**
3
- * Override del inputSchema completo. El array `fieldOverrides[]` lista overrides
4
- * parciales por `key`. La validación cruzada de que cada `key` exista en el
5
- * inputSchema del conector la hace el manager (no se puede expresar con class-validator).
6
- */
7
- export declare class InputSchemaOverrideRequest {
8
- fieldOverrides: FieldOverrideRequest[];
9
- }
@@ -1,29 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- 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;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.InputSchemaOverrideRequest = void 0;
13
- const class_validator_1 = require("class-validator");
14
- const class_transformer_1 = require("class-transformer");
15
- const FieldOverrideRequest_1 = require("./FieldOverrideRequest");
16
- /**
17
- * Override del inputSchema completo. El array `fieldOverrides[]` lista overrides
18
- * parciales por `key`. La validación cruzada de que cada `key` exista en el
19
- * inputSchema del conector la hace el manager (no se puede expresar con class-validator).
20
- */
21
- class InputSchemaOverrideRequest {
22
- }
23
- exports.InputSchemaOverrideRequest = InputSchemaOverrideRequest;
24
- __decorate([
25
- (0, class_validator_1.IsArray)(),
26
- (0, class_validator_1.ValidateNested)({ each: true }),
27
- (0, class_transformer_1.Type)(() => FieldOverrideRequest_1.FieldOverrideRequest),
28
- __metadata("design:type", Array)
29
- ], InputSchemaOverrideRequest.prototype, "fieldOverrides", void 0);
@@ -1,10 +0,0 @@
1
- /**
2
- * Estado de un leaf en el listado del backoffice de overrides.
3
- *
4
- * - ACTIVE: el override (si existe) tiene un base correspondiente en el catálogo del conector.
5
- * - ORPHANED: existe override pero el conector ya no devuelve este leafId — el provider lo retiró.
6
- */
7
- export declare enum LeafOverrideStatusEnum {
8
- ACTIVE = "ACTIVE",
9
- ORPHANED = "ORPHANED"
10
- }
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LeafOverrideStatusEnum = void 0;
4
- /**
5
- * Estado de un leaf en el listado del backoffice de overrides.
6
- *
7
- * - ACTIVE: el override (si existe) tiene un base correspondiente en el catálogo del conector.
8
- * - ORPHANED: existe override pero el conector ya no devuelve este leafId — el provider lo retiró.
9
- */
10
- var LeafOverrideStatusEnum;
11
- (function (LeafOverrideStatusEnum) {
12
- LeafOverrideStatusEnum["ACTIVE"] = "ACTIVE";
13
- LeafOverrideStatusEnum["ORPHANED"] = "ORPHANED";
14
- })(LeafOverrideStatusEnum || (exports.LeafOverrideStatusEnum = LeafOverrideStatusEnum = {}));
@@ -1,77 +0,0 @@
1
- import {
2
- IsBoolean,
3
- IsInt,
4
- IsOptional,
5
- IsString,
6
- IsUrl,
7
- Matches,
8
- MaxLength,
9
- Min,
10
- ValidateNested,
11
- } from "class-validator";
12
- import { Type } from "class-transformer";
13
- import { InputSchemaOverrideRequest } from "./InputSchemaOverrideRequest";
14
-
15
- /**
16
- * Body de PUT /backoffice/leaves/{leafId}. Upsert parcial:
17
- * - undefined → no se toca
18
- * - string/number/boolean seteado → pisa el valor previo del override
19
- * - null NO se acepta (para borrar un campo, usar DELETE /fields/{fieldName})
20
- *
21
- * Si todos los campos llegan undefined → 400 INVALID_PATCH_PAYLOAD.
22
- */
23
- export class BackofficeLeafOverrideUpsertRequest {
24
- @IsOptional()
25
- @IsString()
26
- @MaxLength(120)
27
- serviceName?: string;
28
-
29
- @IsOptional()
30
- @IsUrl({ protocols: ["https"], require_protocol: true })
31
- @MaxLength(500)
32
- logo?: string;
33
-
34
- @IsOptional()
35
- @IsString()
36
- @MaxLength(2000)
37
- description?: string;
38
-
39
- @IsOptional()
40
- @IsString()
41
- @MaxLength(1000)
42
- helpText?: string;
43
-
44
- @IsOptional()
45
- @IsInt()
46
- @Min(0)
47
- serviceOrder?: number;
48
-
49
- @IsOptional()
50
- @IsInt()
51
- @Min(0)
52
- subcategoryOrder?: number;
53
-
54
- @IsOptional()
55
- @IsBoolean()
56
- enabled?: boolean;
57
-
58
- @IsOptional()
59
- @IsString()
60
- @MaxLength(60)
61
- @Matches(/^[A-Z][A-Z0-9_ ]*$/, { message: "category must be uppercase with underscores or spaces" })
62
- category?: string;
63
-
64
- @IsOptional()
65
- @IsString()
66
- @MaxLength(60)
67
- subcategory?: string;
68
-
69
- @IsOptional()
70
- @IsBoolean()
71
- requiresReferenceVerification?: boolean;
72
-
73
- @IsOptional()
74
- @ValidateNested()
75
- @Type(() => InputSchemaOverrideRequest)
76
- inputSchema?: InputSchemaOverrideRequest;
77
- }
@@ -1,67 +0,0 @@
1
- import {
2
- IsArray,
3
- IsBoolean,
4
- IsEnum,
5
- IsNotEmpty,
6
- IsOptional,
7
- IsString,
8
- IsUrl,
9
- MaxLength,
10
- ValidateNested,
11
- } from "class-validator";
12
- import { Type } from "class-transformer";
13
- import { InputFieldTypeEnum } from "../enums/InputFieldTypeEnum";
14
- import { InputValidation } from "./InputValidation";
15
- import { SelectOption } from "./SelectOption";
16
-
17
- /**
18
- * Override parcial de un field individual del `inputSchema` por `key`.
19
- * El admin no puede agregar ni quitar fields — solo editar los existentes.
20
- */
21
- export class FieldOverrideRequest {
22
- @IsString()
23
- @IsNotEmpty()
24
- key!: string;
25
-
26
- @IsOptional()
27
- @IsEnum(InputFieldTypeEnum)
28
- type?: InputFieldTypeEnum;
29
-
30
- @IsOptional()
31
- @IsString()
32
- @MaxLength(120)
33
- label?: string;
34
-
35
- @IsOptional()
36
- @IsString()
37
- @MaxLength(120)
38
- placeholder?: string;
39
-
40
- @IsOptional()
41
- @IsBoolean()
42
- required?: boolean;
43
-
44
- @IsOptional()
45
- @IsUrl({ protocols: ["https"], require_protocol: true })
46
- helpImage?: string;
47
-
48
- @IsOptional()
49
- @IsBoolean()
50
- showHelp?: boolean;
51
-
52
- @IsOptional()
53
- @IsArray()
54
- @ValidateNested({ each: true })
55
- @Type(() => SelectOption)
56
- options?: SelectOption[];
57
-
58
- @IsOptional()
59
- @IsString()
60
- @MaxLength(60)
61
- dependsOn?: string;
62
-
63
- @IsOptional()
64
- @ValidateNested()
65
- @Type(() => InputValidation)
66
- validation?: InputValidation;
67
- }
@@ -1,15 +0,0 @@
1
- import { IsArray, ValidateNested } from "class-validator";
2
- import { Type } from "class-transformer";
3
- import { FieldOverrideRequest } from "./FieldOverrideRequest";
4
-
5
- /**
6
- * Override del inputSchema completo. El array `fieldOverrides[]` lista overrides
7
- * parciales por `key`. La validación cruzada de que cada `key` exista en el
8
- * inputSchema del conector la hace el manager (no se puede expresar con class-validator).
9
- */
10
- export class InputSchemaOverrideRequest {
11
- @IsArray()
12
- @ValidateNested({ each: true })
13
- @Type(() => FieldOverrideRequest)
14
- fieldOverrides!: FieldOverrideRequest[];
15
- }
@@ -1,10 +0,0 @@
1
- /**
2
- * Estado de un leaf en el listado del backoffice de overrides.
3
- *
4
- * - ACTIVE: el override (si existe) tiene un base correspondiente en el catálogo del conector.
5
- * - ORPHANED: existe override pero el conector ya no devuelve este leafId — el provider lo retiró.
6
- */
7
- export enum LeafOverrideStatusEnum {
8
- ACTIVE = "ACTIVE",
9
- ORPHANED = "ORPHANED",
10
- }