@hed-hog/category 0.0.3 → 0.0.5

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.
@@ -39,7 +39,7 @@ export declare class CategoryController {
39
39
  next: number;
40
40
  data: any;
41
41
  }>;
42
- delete(id: number): Promise<{
42
+ delete(id: number, locale: string): Promise<{
43
43
  id: number;
44
44
  created_at: Date;
45
45
  updated_at: Date;
@@ -1 +1 @@
1
- {"version":3,"file":"category.controller.d.ts","sourceRoot":"","sources":["../src/category.controller.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,qBACa,kBAAkB;IAE3B,OAAO,CAAC,QAAQ,CAAC,eAAe;gBAAf,eAAe,EAAE,eAAe;IAI7C,iBAAiB,CAAW,MAAM,EAAE,MAAM;IAK1C,QAAQ;;;;;;IAKR,OAAO,CAA4B,EAAE,EAAE,MAAM;;;;;;;;;;;;;;;;;;;IAK7C,WAAW,CACM,UAAU,EAAE,MAAM,EAC7B,MAAM,EAAE,MAAM;IAMpB,OAAO,CACG,gBAAgB,KAAA,EACpB,MAAM,EAAE,MAAM,EACP,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM;;;;;;;;;IAM3B,MAAM,CAA4B,EAAE,EAAE,MAAM;;;;;;;;;;IAK5C,MAAM,CACF,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,WAAW;;;;;;;;;;IAenE,MAAM,CACiB,EAAE,EAAE,MAAM,EAC7B,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,WAAW,CAAC;;;;;;;;;;;;;;;;;;;CAcnF"}
1
+ {"version":3,"file":"category.controller.d.ts","sourceRoot":"","sources":["../src/category.controller.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,qBACa,kBAAkB;IAE3B,OAAO,CAAC,QAAQ,CAAC,eAAe;gBAAf,eAAe,EAAE,eAAe;IAI7C,iBAAiB,CAAW,MAAM,EAAE,MAAM;IAK1C,QAAQ;;;;;;IAKR,OAAO,CAA4B,EAAE,EAAE,MAAM;;;;;;;;;;;;;;;;;;;IAK7C,WAAW,CACM,UAAU,EAAE,MAAM,EAC7B,MAAM,EAAE,MAAM;IAMpB,OAAO,CACG,gBAAgB,KAAA,EACpB,MAAM,EAAE,MAAM,EACP,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM;;;;;;;;;IAM3B,MAAM,CACiB,EAAE,EAAE,MAAM,EAC3B,MAAM,EAAE,MAAM;;;;;;;;;;IAMpB,MAAM,CACF,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,WAAW;;;;;;;;;;IAenE,MAAM,CACiB,EAAE,EAAE,MAAM,EAC7B,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,WAAW,CAAC;;;;;;;;;;;;;;;;;;;CAcnF"}
@@ -37,8 +37,8 @@ let CategoryController = class CategoryController {
37
37
  async findAll(paginationParams, locale, status, parent) {
38
38
  return this.categoryService.findAll(paginationParams, locale, status, parent);
39
39
  }
40
- async delete(id) {
41
- return this.categoryService.delete(id);
40
+ async delete(id, locale) {
41
+ return this.categoryService.delete(id, locale);
42
42
  }
43
43
  async create({ locale, slug, category_id, color, icon, status }) {
44
44
  return this.categoryService.create({
@@ -103,8 +103,9 @@ __decorate([
103
103
  __decorate([
104
104
  (0, common_1.Delete)(':id'),
105
105
  __param(0, (0, common_1.Param)('id', common_1.ParseIntPipe)),
106
+ __param(1, (0, api_locale_1.Locale)()),
106
107
  __metadata("design:type", Function),
107
- __metadata("design:paramtypes", [Number]),
108
+ __metadata("design:paramtypes", [Number, String]),
108
109
  __metadata("design:returntype", Promise)
109
110
  ], CategoryController.prototype, "delete", null);
110
111
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"category.controller.js","sourceRoot":"","sources":["../src/category.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"category.controller.js","sourceRoot":"","sources":["../src/category.controller.ts"],"names":[],"mappings":"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"}
@@ -43,7 +43,7 @@ export declare class CategoryService {
43
43
  next: number;
44
44
  data: any;
45
45
  }>;
46
- delete(id: number): Promise<{
46
+ delete(id: number, locale?: string): Promise<{
47
47
  id: number;
48
48
  created_at: Date;
49
49
  updated_at: Date;
@@ -1 +1 @@
1
- {"version":3,"file":"category.service.d.ts","sourceRoot":"","sources":["../src/category.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,qBACa,eAAe;IAExB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAE3B,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAHb,MAAM,EAAE,aAAa,EACrB,UAAU,EAAE,iBAAiB,EAE7B,aAAa,EAAE,aAAa;IAGzC,QAAQ;;;;;;IAoBR,OAAO,CAAC,EAAE,EAAE,MAAM;;;;;;;;;;;;;;;;;;;IAelB,iBAAiB,CAAC,MAAM,EAAE,MAAM;IAuBhC,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAsBtC,OAAO,CAAC,gBAAgB,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;;;;;;;;;IAgDvF,MAAM,CAAC,EAAE,EAAE,MAAM;;;;;;;;;;IAcjB,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,WAAW;;;;;;;;;;IAkCtE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,WAAW,CAAC;;;;;;;;;;;;;;;;;;;CAsDlG"}
1
+ {"version":3,"file":"category.service.d.ts","sourceRoot":"","sources":["../src/category.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAiB,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,qBACa,eAAe;IAExB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAE3B,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAHb,MAAM,EAAE,aAAa,EACrB,UAAU,EAAE,iBAAiB,EAE7B,aAAa,EAAE,aAAa;IAGzC,QAAQ;;;;;;IAoBR,OAAO,CAAC,EAAE,EAAE,MAAM;;;;;;;;;;;;;;;;;;;IAelB,iBAAiB,CAAC,MAAM,EAAE,MAAM;IAuBhC,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAsBtC,OAAO,CAAC,gBAAgB,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;;;;;;;;;IAgDvF,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,GAAE,MAAa;;;;;;;;;;IAcxC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,WAAW;;;;;;;;;;IAkCtE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,WAAW,CAAC;;;;;;;;;;;;;;;;;;;CAsDlG"}
@@ -57,7 +57,7 @@ let CategoryService = class CategoryService {
57
57
  async getRootCategories(locale) {
58
58
  const localeRecord = await this.localeService.getByCode(locale);
59
59
  if (!localeRecord) {
60
- throw new common_1.BadRequestException(`Locale ${locale} not found`);
60
+ throw new common_1.BadRequestException((0, api_locale_1.getLocaleText)('localeNotFound', locale, `Locale ${locale} not found`).replace('{{locale}}', locale));
61
61
  }
62
62
  const categories = await this.prisma.category.findMany({
63
63
  where: { category_id: null, status: 'active' },
@@ -75,7 +75,7 @@ let CategoryService = class CategoryService {
75
75
  async getByParent(id, locale) {
76
76
  const localeRecord = await this.localeService.getByCode(locale);
77
77
  if (!localeRecord) {
78
- throw new common_1.BadRequestException(`Locale ${locale} not found`);
78
+ throw new common_1.BadRequestException((0, api_locale_1.getLocaleText)('localeNotFound', locale, `Locale ${locale} not found`).replace('{{locale}}', locale));
79
79
  }
80
80
  const categories = await this.prisma.category.findMany({
81
81
  where: { category_id: Number(id) },
@@ -92,7 +92,7 @@ let CategoryService = class CategoryService {
92
92
  async findAll(paginationParams, locale, status, parent) {
93
93
  const localeRecord = await this.localeService.getByCode(locale);
94
94
  if (!localeRecord) {
95
- throw new common_1.BadRequestException(`Locale ${locale} not found`);
95
+ throw new common_1.BadRequestException((0, api_locale_1.getLocaleText)('localeNotFound', locale, `Locale ${locale} not found`).replace('{{locale}}', locale));
96
96
  }
97
97
  const fields = ['slug'];
98
98
  const OR = this.prisma.createInsensitiveSearch(fields, paginationParams);
@@ -121,12 +121,12 @@ let CategoryService = class CategoryService {
121
121
  result.data = result.data.map((category) => (0, api_1.itemTranslations)('category_locale', category));
122
122
  return result;
123
123
  }
124
- async delete(id) {
124
+ async delete(id, locale = 'en') {
125
125
  const category = await this.prisma.category.findUnique({
126
126
  where: { id: Number(id) },
127
127
  });
128
128
  if (!category) {
129
- throw new common_1.NotFoundException('Category not found');
129
+ throw new common_1.NotFoundException((0, api_locale_1.getLocaleText)('categoryNotFound', locale, 'Category not found'));
130
130
  }
131
131
  return this.prisma.category.delete({
132
132
  where: { id: Number(id) },
@@ -143,13 +143,13 @@ let CategoryService = class CategoryService {
143
143
  },
144
144
  });
145
145
  if (!category) {
146
- throw new common_1.BadRequestException('Category not created');
146
+ throw new common_1.BadRequestException((0, api_locale_1.getLocaleText)('categoryNotCreated', 'en', 'Category not created'));
147
147
  }
148
148
  // Process all locales from the locale object
149
149
  for (const [localeCode, localeData] of Object.entries(locale)) {
150
150
  const localeRecord = await this.localeService.getByCode(localeCode);
151
151
  if (!localeRecord) {
152
- throw new common_1.BadRequestException(`Locale ${localeCode} not found`);
152
+ throw new common_1.BadRequestException((0, api_locale_1.getLocaleText)('localeNotFound', 'en', `Locale ${localeCode} not found`).replace('{{locale}}', localeCode));
153
153
  }
154
154
  await this.prisma.category_locale.create({
155
155
  data: {
@@ -166,7 +166,7 @@ let CategoryService = class CategoryService {
166
166
  where: { id: Number(id) },
167
167
  });
168
168
  if (!category) {
169
- throw new common_1.NotFoundException('Category not found');
169
+ throw new common_1.NotFoundException((0, api_locale_1.getLocaleText)('categoryNotFound', 'en', 'Category not found'));
170
170
  }
171
171
  await this.prisma.category.update({
172
172
  where: { id: Number(id) },
@@ -183,7 +183,7 @@ let CategoryService = class CategoryService {
183
183
  for (const [localeCode, localeData] of Object.entries(locale)) {
184
184
  const localeRecord = await this.localeService.getByCode(localeCode);
185
185
  if (!localeRecord) {
186
- throw new common_1.BadRequestException(`Locale ${localeCode} not found`);
186
+ throw new common_1.BadRequestException((0, api_locale_1.getLocaleText)('localeNotFound', 'en', `Locale ${localeCode} not found`).replace('{{locale}}', localeCode));
187
187
  }
188
188
  const existingLocale = await this.prisma.category_locale.findFirst({
189
189
  where: {
@@ -1 +1 @@
1
- {"version":3,"file":"category.service.js","sourceRoot":"","sources":["../src/category.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"category.service.js","sourceRoot":"","sources":["../src/category.service.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"category.dto.d.ts","sourceRoot":"","sources":["../../src/dto/category.dto.ts"],"names":[],"mappings":"AAUA,qBAAa,WAAW;IAGtB,IAAI,EAAE,MAAM,CAAC;IAIb,WAAW,CAAC,EAAE,MAAM,CAAC;IAOrB,KAAK,CAAC,EAAE,MAAM,CAAC;IAIf,IAAI,CAAC,EAAE,MAAM,CAAC;IAMd,MAAM,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IAI/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC1C"}
1
+ {"version":3,"file":"category.dto.d.ts","sourceRoot":"","sources":["../../src/dto/category.dto.ts"],"names":[],"mappings":"AAWA,qBAAa,WAAW;IAQtB,IAAI,EAAE,MAAM,CAAC;IAUb,WAAW,CAAC,EAAE,MAAM,CAAC;IAWrB,KAAK,CAAC,EAAE,MAAM,CAAC;IAOf,IAAI,CAAC,EAAE,MAAM,CAAC;IAOd,MAAM,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IAS/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC1C"}
@@ -10,43 +10,58 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.CategoryDTO = void 0;
13
+ const api_locale_1 = require("@hed-hog/api-locale");
13
14
  const class_validator_1 = require("class-validator");
14
15
  class CategoryDTO {
15
16
  }
16
17
  exports.CategoryDTO = CategoryDTO;
17
18
  __decorate([
18
- (0, class_validator_1.IsString)({ message: 'O slug deve ser uma string.' }),
19
- (0, class_validator_1.IsNotEmpty)({ message: 'O slug é obrigatório.' }),
19
+ (0, class_validator_1.IsString)({
20
+ message: (args) => (0, api_locale_1.getLocaleText)('validation.slugMustBeString', args.value),
21
+ }),
22
+ (0, class_validator_1.IsNotEmpty)({
23
+ message: (args) => (0, api_locale_1.getLocaleText)('validation.slugRequired', args.value),
24
+ }),
20
25
  __metadata("design:type", String)
21
26
  ], CategoryDTO.prototype, "slug", void 0);
22
27
  __decorate([
23
28
  (0, class_validator_1.IsOptional)(),
24
- (0, class_validator_1.IsNumber)({}, { message: 'O ID da categoria deve ser um número.' }),
29
+ (0, class_validator_1.IsNumber)({}, {
30
+ message: (args) => (0, api_locale_1.getLocaleText)('validation.categoryIdMustBeNumber', args.value),
31
+ }),
25
32
  __metadata("design:type", Number)
26
33
  ], CategoryDTO.prototype, "category_id", void 0);
27
34
  __decorate([
28
35
  (0, class_validator_1.IsOptional)(),
29
- (0, class_validator_1.IsString)({ message: 'A cor deve ser uma string.' }),
36
+ (0, class_validator_1.IsString)({
37
+ message: (args) => (0, api_locale_1.getLocaleText)('validation.colorMustBeString', args.value),
38
+ }),
30
39
  (0, class_validator_1.Matches)(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/, {
31
- message: 'A cor deve ser um valor hexadecimal válido.',
40
+ message: (args) => (0, api_locale_1.getLocaleText)('validation.colorMustBeHex', args.value),
32
41
  }),
33
42
  __metadata("design:type", String)
34
43
  ], CategoryDTO.prototype, "color", void 0);
35
44
  __decorate([
36
45
  (0, class_validator_1.IsOptional)(),
37
- (0, class_validator_1.IsString)({ message: 'O ícone deve ser uma string.' }),
46
+ (0, class_validator_1.IsString)({
47
+ message: (args) => (0, api_locale_1.getLocaleText)('validation.iconMustBeString', args.value),
48
+ }),
38
49
  __metadata("design:type", String)
39
50
  ], CategoryDTO.prototype, "icon", void 0);
40
51
  __decorate([
41
52
  (0, class_validator_1.IsOptional)(),
42
53
  (0, class_validator_1.IsEnum)(['active', 'inactive'], {
43
- message: 'O status deve ser "active" ou "inactive".',
54
+ message: (args) => (0, api_locale_1.getLocaleText)('validation.statusMustBeEnum', args.value),
44
55
  }),
45
56
  __metadata("design:type", String)
46
57
  ], CategoryDTO.prototype, "status", void 0);
47
58
  __decorate([
48
- (0, class_validator_1.IsObject)(),
49
- (0, class_validator_1.IsNotEmpty)(),
59
+ (0, class_validator_1.IsObject)({
60
+ message: (args) => (0, api_locale_1.getLocaleText)('validation.localeMustBeObject', args.value),
61
+ }),
62
+ (0, class_validator_1.IsNotEmpty)({
63
+ message: (args) => (0, api_locale_1.getLocaleText)('validation.localeRequired', args.value),
64
+ }),
50
65
  __metadata("design:type", Object)
51
66
  ], CategoryDTO.prototype, "locale", void 0);
52
67
  //# sourceMappingURL=category.dto.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"category.dto.js","sourceRoot":"","sources":["../../src/dto/category.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAQyB;AAEzB,MAAa,WAAW;CA6BvB;AA7BD,kCA6BC;AA1BC;IAFC,IAAA,0BAAQ,EAAC,EAAE,OAAO,EAAE,6BAA6B,EAAE,CAAC;IACpD,IAAA,4BAAU,EAAC,EAAE,OAAO,EAAE,uBAAuB,EAAE,CAAC;;yCACpC;AAIb;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,EAAC,EAAE,EAAE,EAAE,OAAO,EAAE,uCAAuC,EAAE,CAAC;;gDAC9C;AAOrB;IALC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,EAAC,EAAE,OAAO,EAAE,4BAA4B,EAAE,CAAC;IACnD,IAAA,yBAAO,EAAC,oCAAoC,EAAE;QAC7C,OAAO,EAAE,6CAA6C;KACvD,CAAC;;0CACa;AAIf;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,EAAC,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAAC;;yCACxC;AAMd;IAJC,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAM,EAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE;QAC9B,OAAO,EAAE,2CAA2C;KACrD,CAAC;;2CAC6B;AAI/B;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;2CAC4B"}
1
+ {"version":3,"file":"category.dto.js","sourceRoot":"","sources":["../../src/dto/category.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAAoD;AACpD,qDAQyB;AAEzB,MAAa,WAAW;CAqDvB;AArDD,kCAqDC;AA7CC;IAPC,IAAA,0BAAQ,EAAC;QACR,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAChB,IAAA,0BAAa,EAAC,6BAA6B,EAAE,IAAI,CAAC,KAAK,CAAC;KAC3D,CAAC;IACD,IAAA,4BAAU,EAAC;QACV,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,0BAAa,EAAC,yBAAyB,EAAE,IAAI,CAAC,KAAK,CAAC;KACxE,CAAC;;yCACW;AAUb;IARC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,EACP,EAAE,EACF;QACE,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAChB,IAAA,0BAAa,EAAC,mCAAmC,EAAE,IAAI,CAAC,KAAK,CAAC;KACjE,CACF;;gDACoB;AAWrB;IATC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,EAAC;QACR,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAChB,IAAA,0BAAa,EAAC,8BAA8B,EAAE,IAAI,CAAC,KAAK,CAAC;KAC5D,CAAC;IACD,IAAA,yBAAO,EAAC,oCAAoC,EAAE;QAC7C,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAChB,IAAA,0BAAa,EAAC,2BAA2B,EAAE,IAAI,CAAC,KAAK,CAAC;KACzD,CAAC;;0CACa;AAOf;IALC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,EAAC;QACR,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAChB,IAAA,0BAAa,EAAC,6BAA6B,EAAE,IAAI,CAAC,KAAK,CAAC;KAC3D,CAAC;;yCACY;AAOd;IALC,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAM,EAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE;QAC9B,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAChB,IAAA,0BAAa,EAAC,6BAA6B,EAAE,IAAI,CAAC,KAAK,CAAC;KAC3D,CAAC;;2CAC6B;AAS/B;IAPC,IAAA,0BAAQ,EAAC;QACR,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAChB,IAAA,0BAAa,EAAC,+BAA+B,EAAE,IAAI,CAAC,KAAK,CAAC;KAC7D,CAAC;IACD,IAAA,4BAAU,EAAC;QACV,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,0BAAa,EAAC,2BAA2B,EAAE,IAAI,CAAC,KAAK,CAAC;KAC1E,CAAC;;2CACuC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hed-hog/category",
3
- "version": "0.0.3",
3
+ "version": "0.0.5",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "dependencies": {
@@ -11,8 +11,8 @@
11
11
  "@nestjs/mapped-types": "*",
12
12
  "@hed-hog/api": "0.0.3",
13
13
  "@hed-hog/api-locale": "0.0.10",
14
+ "@hed-hog/admin": "0.0.134",
14
15
  "@hed-hog/api-pagination": "0.0.3",
15
- "@hed-hog/admin": "0.0.130",
16
16
  "@hed-hog/api-prisma": "0.0.4"
17
17
  },
18
18
  "exports": {
@@ -1,15 +1,15 @@
1
1
  import { Locale } from '@hed-hog/api-locale';
2
2
  import { Pagination } from '@hed-hog/api-pagination';
3
3
  import {
4
- Body,
5
- Controller,
6
- Delete,
7
- Get,
8
- Param,
9
- ParseIntPipe,
10
- Patch,
11
- Post,
12
- Query
4
+ Body,
5
+ Controller,
6
+ Delete,
7
+ Get,
8
+ Param,
9
+ ParseIntPipe,
10
+ Patch,
11
+ Post,
12
+ Query
13
13
  } from '@nestjs/common';
14
14
  import { CategoryService } from './category.service';
15
15
  import { CategoryDTO } from './dto/category.dto';
@@ -54,8 +54,11 @@ export class CategoryController {
54
54
  }
55
55
 
56
56
  @Delete(':id')
57
- async delete(@Param('id', ParseIntPipe) id: number) {
58
- return this.categoryService.delete(id);
57
+ async delete(
58
+ @Param('id', ParseIntPipe) id: number,
59
+ @Locale() locale: string,
60
+ ) {
61
+ return this.categoryService.delete(id, locale);
59
62
  }
60
63
 
61
64
  @Post()
@@ -1,5 +1,5 @@
1
1
  import { itemTranslations } from '@hed-hog/api';
2
- import { LocaleService } from '@hed-hog/api-locale';
2
+ import { LocaleService, getLocaleText } from '@hed-hog/api-locale';
3
3
  import { PaginationDTO, PaginationService } from '@hed-hog/api-pagination';
4
4
  import { PrismaService } from '@hed-hog/api-prisma';
5
5
  import { BadRequestException, Inject, Injectable, NotFoundException, forwardRef } from '@nestjs/common';
@@ -52,7 +52,7 @@ export class CategoryService {
52
52
  async getRootCategories(locale: string){
53
53
  const localeRecord = await this.localeService.getByCode(locale);
54
54
  if (!localeRecord) {
55
- throw new BadRequestException(`Locale ${locale} not found`);
55
+ throw new BadRequestException(getLocaleText('localeNotFound', locale, `Locale ${locale} not found`).replace('{{locale}}', locale));
56
56
  }
57
57
 
58
58
  const categories = await this.prisma.category.findMany({
@@ -75,7 +75,7 @@ export class CategoryService {
75
75
  async getByParent(id: string, locale: string){
76
76
  const localeRecord = await this.localeService.getByCode(locale);
77
77
  if (!localeRecord) {
78
- throw new BadRequestException(`Locale ${locale} not found`);
78
+ throw new BadRequestException(getLocaleText('localeNotFound', locale, `Locale ${locale} not found`).replace('{{locale}}', locale));
79
79
  }
80
80
 
81
81
  const categories = await this.prisma.category.findMany({
@@ -97,7 +97,7 @@ export class CategoryService {
97
97
  async findAll(paginationParams: PaginationDTO, locale: string, status: string, parent: string){
98
98
  const localeRecord = await this.localeService.getByCode(locale);
99
99
  if (!localeRecord) {
100
- throw new BadRequestException(`Locale ${locale} not found`);
100
+ throw new BadRequestException(getLocaleText('localeNotFound', locale, `Locale ${locale} not found`).replace('{{locale}}', locale));
101
101
  }
102
102
 
103
103
  const fields = ['slug'];
@@ -142,13 +142,13 @@ export class CategoryService {
142
142
  return result;
143
143
  }
144
144
 
145
- async delete(id: number){
145
+ async delete(id: number, locale: string = 'en'){
146
146
  const category = await this.prisma.category.findUnique({
147
147
  where: { id: Number(id) },
148
148
  });
149
149
 
150
150
  if (!category) {
151
- throw new NotFoundException('Category not found');
151
+ throw new NotFoundException(getLocaleText('categoryNotFound', locale, 'Category not found'));
152
152
  }
153
153
 
154
154
  return this.prisma.category.delete({
@@ -168,14 +168,14 @@ export class CategoryService {
168
168
  });
169
169
 
170
170
  if (!category) {
171
- throw new BadRequestException('Category not created');
171
+ throw new BadRequestException(getLocaleText('categoryNotCreated', 'en', 'Category not created'));
172
172
  }
173
173
 
174
174
  // Process all locales from the locale object
175
175
  for (const [localeCode, localeData] of Object.entries(locale)) {
176
176
  const localeRecord = await this.localeService.getByCode(localeCode);
177
177
  if (!localeRecord) {
178
- throw new BadRequestException(`Locale ${localeCode} not found`);
178
+ throw new BadRequestException(getLocaleText('localeNotFound', 'en', `Locale ${localeCode} not found`).replace('{{locale}}', localeCode));
179
179
  }
180
180
 
181
181
  await this.prisma.category_locale.create({
@@ -196,7 +196,7 @@ export class CategoryService {
196
196
  });
197
197
 
198
198
  if (!category) {
199
- throw new NotFoundException('Category not found');
199
+ throw new NotFoundException(getLocaleText('categoryNotFound', 'en', 'Category not found'));
200
200
  }
201
201
 
202
202
  await this.prisma.category.update({
@@ -215,7 +215,7 @@ export class CategoryService {
215
215
  for (const [localeCode, localeData] of Object.entries(locale)) {
216
216
  const localeRecord = await this.localeService.getByCode(localeCode);
217
217
  if (!localeRecord) {
218
- throw new BadRequestException(`Locale ${localeCode} not found`);
218
+ throw new BadRequestException(getLocaleText('localeNotFound', 'en', `Locale ${localeCode} not found`).replace('{{locale}}', localeCode));
219
219
  }
220
220
 
221
221
  const existingLocale = await this.prisma.category_locale.findFirst({
@@ -1,3 +1,4 @@
1
+ import { getLocaleText } from '@hed-hog/api-locale';
1
2
  import {
2
3
  IsEnum,
3
4
  IsNotEmpty,
@@ -9,32 +10,56 @@ import {
9
10
  } from 'class-validator';
10
11
 
11
12
  export class CategoryDTO {
12
- @IsString({ message: 'O slug deve ser uma string.' })
13
- @IsNotEmpty({ message: 'O slug é obrigatório.' })
13
+ @IsString({
14
+ message: (args) =>
15
+ getLocaleText('validation.slugMustBeString', args.value),
16
+ })
17
+ @IsNotEmpty({
18
+ message: (args) => getLocaleText('validation.slugRequired', args.value),
19
+ })
14
20
  slug: string;
15
21
 
16
22
  @IsOptional()
17
- @IsNumber({}, { message: 'O ID da categoria deve ser um número.' })
23
+ @IsNumber(
24
+ {},
25
+ {
26
+ message: (args) =>
27
+ getLocaleText('validation.categoryIdMustBeNumber', args.value),
28
+ },
29
+ )
18
30
  category_id?: number;
19
31
 
20
32
  @IsOptional()
21
- @IsString({ message: 'A cor deve ser uma string.' })
33
+ @IsString({
34
+ message: (args) =>
35
+ getLocaleText('validation.colorMustBeString', args.value),
36
+ })
22
37
  @Matches(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/, {
23
- message: 'A cor deve ser um valor hexadecimal válido.',
38
+ message: (args) =>
39
+ getLocaleText('validation.colorMustBeHex', args.value),
24
40
  })
25
41
  color?: string;
26
42
 
27
43
  @IsOptional()
28
- @IsString({ message: 'O ícone deve ser uma string.' })
44
+ @IsString({
45
+ message: (args) =>
46
+ getLocaleText('validation.iconMustBeString', args.value),
47
+ })
29
48
  icon?: string;
30
49
 
31
50
  @IsOptional()
32
51
  @IsEnum(['active', 'inactive'], {
33
- message: 'O status deve ser "active" ou "inactive".',
52
+ message: (args) =>
53
+ getLocaleText('validation.statusMustBeEnum', args.value),
34
54
  })
35
55
  status?: 'active' | 'inactive';
36
56
 
37
- @IsObject()
38
- @IsNotEmpty()
57
+ @IsObject({
58
+ message: (args) =>
59
+ getLocaleText('validation.localeMustBeObject', args.value),
60
+ })
61
+ @IsNotEmpty({
62
+ message: (args) => getLocaleText('validation.localeRequired', args.value),
63
+ })
39
64
  locale: Record<string, { name: string }>;
40
65
  }
@@ -0,0 +1,16 @@
1
+ {
2
+ "categoryNotFound": "Category not found",
3
+ "categoryNotCreated": "Category not created",
4
+ "localeNotFound": "Locale {{locale}} not found",
5
+ "validation": {
6
+ "slugMustBeString": "Slug must be a string",
7
+ "slugRequired": "Slug is required",
8
+ "categoryIdMustBeNumber": "Category ID must be a number",
9
+ "colorMustBeString": "Color must be a string",
10
+ "colorMustBeHex": "Color must be a valid hexadecimal value",
11
+ "iconMustBeString": "Icon must be a string",
12
+ "statusMustBeEnum": "Status must be 'active' or 'inactive'",
13
+ "localeMustBeObject": "Locale must be an object",
14
+ "localeRequired": "Locale is required"
15
+ }
16
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "categoryNotFound": "Categoria não encontrada",
3
+ "categoryNotCreated": "Categoria não criada",
4
+ "localeNotFound": "Localidade {{locale}} não encontrada",
5
+ "validation": {
6
+ "slugMustBeString": "Slug deve ser uma string",
7
+ "slugRequired": "Slug é obrigatório",
8
+ "categoryIdMustBeNumber": "ID da categoria deve ser um número",
9
+ "colorMustBeString": "Cor deve ser uma string",
10
+ "colorMustBeHex": "Cor deve ser um valor hexadecimal válido",
11
+ "iconMustBeString": "Ícone deve ser uma string",
12
+ "statusMustBeEnum": "Status deve ser 'active' ou 'inactive'",
13
+ "localeMustBeObject": "Localidade deve ser um objeto",
14
+ "localeRequired": "Localidade é obrigatória"
15
+ }
16
+ }