@fiado/type-kit 3.14.0 → 3.15.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.
@@ -0,0 +1,14 @@
1
+ import { BannerAssetKindEnum } from "../enums/BannerAssetKindEnum";
2
+ /**
3
+ * Solicitud del backoffice para subir directamente un asset de banner
4
+ * (imagen, video o poster). El backend responde con una presigned URL
5
+ * de S3 a la que el cliente sube el binario por PUT, y devuelve también
6
+ * la URL pública final (CloudFront) que se guarda en el banner.
7
+ */
8
+ export declare class BannerUploadUrlRequest {
9
+ kind: BannerAssetKindEnum;
10
+ /** MIME type del archivo. Debe estar en el whitelist correspondiente al `kind`. */
11
+ contentType: string;
12
+ /** Extensión sin punto (ej. "png", "mp4"). Se usa para componer la key en S3. */
13
+ fileExtension: string;
14
+ }
@@ -0,0 +1,37 @@
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.BannerUploadUrlRequest = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ const BannerAssetKindEnum_1 = require("../enums/BannerAssetKindEnum");
15
+ /**
16
+ * Solicitud del backoffice para subir directamente un asset de banner
17
+ * (imagen, video o poster). El backend responde con una presigned URL
18
+ * de S3 a la que el cliente sube el binario por PUT, y devuelve también
19
+ * la URL pública final (CloudFront) que se guarda en el banner.
20
+ */
21
+ class BannerUploadUrlRequest {
22
+ }
23
+ exports.BannerUploadUrlRequest = BannerUploadUrlRequest;
24
+ __decorate([
25
+ (0, class_validator_1.IsEnum)(BannerAssetKindEnum_1.BannerAssetKindEnum),
26
+ __metadata("design:type", String)
27
+ ], BannerUploadUrlRequest.prototype, "kind", void 0);
28
+ __decorate([
29
+ (0, class_validator_1.IsString)(),
30
+ (0, class_validator_1.IsNotEmpty)(),
31
+ __metadata("design:type", String)
32
+ ], BannerUploadUrlRequest.prototype, "contentType", void 0);
33
+ __decorate([
34
+ (0, class_validator_1.IsString)(),
35
+ (0, class_validator_1.IsNotEmpty)(),
36
+ __metadata("design:type", String)
37
+ ], BannerUploadUrlRequest.prototype, "fileExtension", void 0);
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Respuesta con la presigned URL para subir el asset directamente a S3.
3
+ * El backoffice debe hacer `PUT uploadUrl` con header `Content-Type` exacto
4
+ * al que se solicitó, y body binario del archivo (≤ maxSizeBytes).
5
+ *
6
+ * `publicUrl` es la URL final servida vía CloudFront — esa es la que se
7
+ * guarda en `imageUrl` / `videoUrl` / `posterUrl` del banner.
8
+ */
9
+ export declare class BannerUploadUrlResponse {
10
+ uploadUrl: string;
11
+ publicUrl: string;
12
+ key: string;
13
+ expiresAt: string;
14
+ maxSizeBytes: number;
15
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BannerUploadUrlResponse = void 0;
4
+ /**
5
+ * Respuesta con la presigned URL para subir el asset directamente a S3.
6
+ * El backoffice debe hacer `PUT uploadUrl` con header `Content-Type` exacto
7
+ * al que se solicitó, y body binario del archivo (≤ maxSizeBytes).
8
+ *
9
+ * `publicUrl` es la URL final servida vía CloudFront — esa es la que se
10
+ * guarda en `imageUrl` / `videoUrl` / `posterUrl` del banner.
11
+ */
12
+ class BannerUploadUrlResponse {
13
+ }
14
+ exports.BannerUploadUrlResponse = BannerUploadUrlResponse;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Tipo de asset que el backoffice quiere subir para un banner.
3
+ *
4
+ * Determina el whitelist de MIME types y el tamaño máximo permitido por la
5
+ * presigned URL que devuelve el backend.
6
+ */
7
+ export declare enum BannerAssetKindEnum {
8
+ IMAGE = "IMAGE",
9
+ VIDEO = "VIDEO",
10
+ POSTER = "POSTER"
11
+ }
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BannerAssetKindEnum = void 0;
4
+ /**
5
+ * Tipo de asset que el backoffice quiere subir para un banner.
6
+ *
7
+ * Determina el whitelist de MIME types y el tamaño máximo permitido por la
8
+ * presigned URL que devuelve el backend.
9
+ */
10
+ var BannerAssetKindEnum;
11
+ (function (BannerAssetKindEnum) {
12
+ BannerAssetKindEnum["IMAGE"] = "IMAGE";
13
+ BannerAssetKindEnum["VIDEO"] = "VIDEO";
14
+ BannerAssetKindEnum["POSTER"] = "POSTER";
15
+ })(BannerAssetKindEnum || (exports.BannerAssetKindEnum = BannerAssetKindEnum = {}));
@@ -11,6 +11,7 @@ export * from "./enums/FavoriteDisabledReasonEnum";
11
11
  export * from "./enums/BenefitPaymentStatusEnum";
12
12
  export * from "./enums/BenefitPaymentErrorCodeEnum";
13
13
  export * from "./enums/LeafOverrideStatusEnum";
14
+ export * from "./enums/BannerAssetKindEnum";
14
15
  export * from "./dtos/BenefitItem";
15
16
  export * from "./dtos/BenefitListResponse";
16
17
  export * from "./dtos/BenefitSummary";
@@ -59,3 +60,5 @@ export * from "./dtos/BackofficeLeafOverrideUpsertRequest";
59
60
  export * from "./dtos/BackofficeLeafListItem";
60
61
  export * from "./dtos/BackofficeLeafListResponse";
61
62
  export * from "./dtos/BackofficeLeafDetailResponse";
63
+ export * from "./dtos/BannerUploadUrlRequest";
64
+ export * from "./dtos/BannerUploadUrlResponse";
@@ -28,6 +28,7 @@ __exportStar(require("./enums/FavoriteDisabledReasonEnum"), exports);
28
28
  __exportStar(require("./enums/BenefitPaymentStatusEnum"), exports);
29
29
  __exportStar(require("./enums/BenefitPaymentErrorCodeEnum"), exports);
30
30
  __exportStar(require("./enums/LeafOverrideStatusEnum"), exports);
31
+ __exportStar(require("./enums/BannerAssetKindEnum"), exports);
31
32
  //DTOs
32
33
  __exportStar(require("./dtos/BenefitItem"), exports);
33
34
  __exportStar(require("./dtos/BenefitListResponse"), exports);
@@ -81,3 +82,6 @@ __exportStar(require("./dtos/BackofficeLeafOverrideUpsertRequest"), exports);
81
82
  __exportStar(require("./dtos/BackofficeLeafListItem"), exports);
82
83
  __exportStar(require("./dtos/BackofficeLeafListResponse"), exports);
83
84
  __exportStar(require("./dtos/BackofficeLeafDetailResponse"), exports);
85
+ //Banner assets upload (presigned PUT)
86
+ __exportStar(require("./dtos/BannerUploadUrlRequest"), exports);
87
+ __exportStar(require("./dtos/BannerUploadUrlResponse"), exports);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fiado/type-kit",
3
- "version": "3.14.0",
3
+ "version": "3.15.0",
4
4
  "description": "",
5
5
  "main": "bin/index.js",
6
6
  "types": "bin/index.d.ts",
@@ -0,0 +1,23 @@
1
+ import { IsEnum, IsNotEmpty, IsString } from "class-validator";
2
+ import { BannerAssetKindEnum } from "../enums/BannerAssetKindEnum";
3
+
4
+ /**
5
+ * Solicitud del backoffice para subir directamente un asset de banner
6
+ * (imagen, video o poster). El backend responde con una presigned URL
7
+ * de S3 a la que el cliente sube el binario por PUT, y devuelve también
8
+ * la URL pública final (CloudFront) que se guarda en el banner.
9
+ */
10
+ export class BannerUploadUrlRequest {
11
+ @IsEnum(BannerAssetKindEnum)
12
+ kind!: BannerAssetKindEnum;
13
+
14
+ /** MIME type del archivo. Debe estar en el whitelist correspondiente al `kind`. */
15
+ @IsString()
16
+ @IsNotEmpty()
17
+ contentType!: string;
18
+
19
+ /** Extensión sin punto (ej. "png", "mp4"). Se usa para componer la key en S3. */
20
+ @IsString()
21
+ @IsNotEmpty()
22
+ fileExtension!: string;
23
+ }
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Respuesta con la presigned URL para subir el asset directamente a S3.
3
+ * El backoffice debe hacer `PUT uploadUrl` con header `Content-Type` exacto
4
+ * al que se solicitó, y body binario del archivo (≤ maxSizeBytes).
5
+ *
6
+ * `publicUrl` es la URL final servida vía CloudFront — esa es la que se
7
+ * guarda en `imageUrl` / `videoUrl` / `posterUrl` del banner.
8
+ */
9
+ export class BannerUploadUrlResponse {
10
+ uploadUrl: string;
11
+ publicUrl: string;
12
+ key: string;
13
+ expiresAt: string;
14
+ maxSizeBytes: number;
15
+ }
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Tipo de asset que el backoffice quiere subir para un banner.
3
+ *
4
+ * Determina el whitelist de MIME types y el tamaño máximo permitido por la
5
+ * presigned URL que devuelve el backend.
6
+ */
7
+ export enum BannerAssetKindEnum {
8
+ IMAGE = "IMAGE",
9
+ VIDEO = "VIDEO",
10
+ POSTER = "POSTER",
11
+ }
@@ -12,6 +12,7 @@ export * from "./enums/FavoriteDisabledReasonEnum";
12
12
  export * from "./enums/BenefitPaymentStatusEnum";
13
13
  export * from "./enums/BenefitPaymentErrorCodeEnum";
14
14
  export * from "./enums/LeafOverrideStatusEnum";
15
+ export * from "./enums/BannerAssetKindEnum";
15
16
 
16
17
  //DTOs
17
18
  export * from "./dtos/BenefitItem";
@@ -66,3 +67,6 @@ export * from "./dtos/BackofficeLeafOverrideUpsertRequest";
66
67
  export * from "./dtos/BackofficeLeafListItem";
67
68
  export * from "./dtos/BackofficeLeafListResponse";
68
69
  export * from "./dtos/BackofficeLeafDetailResponse";
70
+ //Banner assets upload (presigned PUT)
71
+ export * from "./dtos/BannerUploadUrlRequest";
72
+ export * from "./dtos/BannerUploadUrlResponse";