@hed-hog/core 0.0.73 → 0.0.75

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,5 +1,8 @@
1
- import { WithLocaleDTO } from '@hed-hog/api-locale';
2
- export declare class CreateDTO extends WithLocaleDTO {
1
+ export declare class CreateDTO {
3
2
  slug: string;
3
+ locale: Record<string, {
4
+ name: string;
5
+ description: string;
6
+ }>;
4
7
  }
5
8
  //# sourceMappingURL=create.dto.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"create.dto.d.ts","sourceRoot":"","sources":["../../../src/role/dto/create.dto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGnE,qBAAa,SAAU,SAAQ,aAAa;IAE1C,IAAI,EAAE,MAAM,CAAC;CACd"}
1
+ {"version":3,"file":"create.dto.d.ts","sourceRoot":"","sources":["../../../src/role/dto/create.dto.ts"],"names":[],"mappings":"AAGA,qBAAa,SAAS;IAEpB,IAAI,EAAE,MAAM,CAAC;IASb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC/D"}
@@ -12,11 +12,20 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.CreateDTO = void 0;
13
13
  const api_locale_1 = require("@hed-hog/api-locale");
14
14
  const class_validator_1 = require("class-validator");
15
- class CreateDTO extends api_locale_1.WithLocaleDTO {
15
+ class CreateDTO {
16
16
  }
17
17
  exports.CreateDTO = CreateDTO;
18
18
  __decorate([
19
19
  (0, class_validator_1.IsString)({ message: (args) => (0, api_locale_1.getLocaleText)('validation.slugMustBeString', args.value) }),
20
20
  __metadata("design:type", String)
21
21
  ], CreateDTO.prototype, "slug", void 0);
22
+ __decorate([
23
+ (0, class_validator_1.IsObject)({
24
+ message: (args) => (0, api_locale_1.getLocaleText)('validation.localeMustBeObject', args.value),
25
+ }),
26
+ (0, class_validator_1.IsNotEmpty)({
27
+ message: (args) => (0, api_locale_1.getLocaleText)('validation.localeRequired', args.value),
28
+ }),
29
+ __metadata("design:type", Object)
30
+ ], CreateDTO.prototype, "locale", void 0);
22
31
  //# sourceMappingURL=create.dto.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create.dto.js","sourceRoot":"","sources":["../../../src/role/dto/create.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAAmE;AACnE,qDAA2C;AAE3C,MAAa,SAAU,SAAQ,0BAAa;CAG3C;AAHD,8BAGC;AADC;IADC,IAAA,0BAAQ,EAAC,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,0BAAa,EAAC,6BAA6B,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;;uCAC7E"}
1
+ {"version":3,"file":"create.dto.js","sourceRoot":"","sources":["../../../src/role/dto/create.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAAoD;AACpD,qDAAiE;AAEjE,MAAa,SAAS;CAYrB;AAZD,8BAYC;AAVC;IADC,IAAA,0BAAQ,EAAC,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,0BAAa,EAAC,6BAA6B,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;;uCAC7E;AASb;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;;yCAC4D"}
@@ -63,9 +63,75 @@ export declare class RoleController {
63
63
  updateScreens(roleId: number, data: UpdateIdsDTO): Promise<{
64
64
  count: number;
65
65
  }>;
66
- show(roleId: number, locale: any): Promise<any>;
67
- create(data: CreateDTO): Promise<any>;
68
- update(roleId: number, data: UpdateDTO): Promise<any>;
66
+ show(roleId: number): Promise<{
67
+ locale: Record<string, {
68
+ name: string;
69
+ description: string;
70
+ }>;
71
+ role_locale: ({
72
+ locale: {
73
+ code: string;
74
+ };
75
+ } & {
76
+ name: string;
77
+ id: number;
78
+ description: string | null;
79
+ created_at: Date;
80
+ updated_at: Date;
81
+ locale_id: number;
82
+ role_id: number;
83
+ })[];
84
+ id: number;
85
+ created_at: Date;
86
+ updated_at: Date;
87
+ slug: string;
88
+ }>;
89
+ create(data: CreateDTO): Promise<{
90
+ locale: Record<string, {
91
+ name: string;
92
+ description: string;
93
+ }>;
94
+ role_locale: ({
95
+ locale: {
96
+ code: string;
97
+ };
98
+ } & {
99
+ name: string;
100
+ id: number;
101
+ description: string | null;
102
+ created_at: Date;
103
+ updated_at: Date;
104
+ locale_id: number;
105
+ role_id: number;
106
+ })[];
107
+ id: number;
108
+ created_at: Date;
109
+ updated_at: Date;
110
+ slug: string;
111
+ }>;
112
+ update(roleId: number, data: UpdateDTO): Promise<{
113
+ locale: Record<string, {
114
+ name: string;
115
+ description: string;
116
+ }>;
117
+ role_locale: ({
118
+ locale: {
119
+ code: string;
120
+ };
121
+ } & {
122
+ name: string;
123
+ id: number;
124
+ description: string | null;
125
+ created_at: Date;
126
+ updated_at: Date;
127
+ locale_id: number;
128
+ role_id: number;
129
+ })[];
130
+ id: number;
131
+ created_at: Date;
132
+ updated_at: Date;
133
+ slug: string;
134
+ }>;
69
135
  delete(data: DeleteDTO): Promise<{
70
136
  count: number;
71
137
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"role.controller.d.ts","sourceRoot":"","sources":["../../src/role/role.controller.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAGrD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,qBAEa,cAAc;IAGvB,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAAX,WAAW,EAAE,WAAW;IAIrC,IAAI,CAAe,gBAAgB,KAAA,EAAY,MAAM,KAAA;;;;;;;;;IAKrD,SAAS,CACC,gBAAgB,KAAA,EACC,MAAM,EAAE,MAAM;;;;;;;;;IAMzC,SAAS,CACC,gBAAgB,KAAA,EACC,MAAM,EAAE,MAAM,EACnC,MAAM,KAAA;;;;;;;;;IAMZ,UAAU,CACA,gBAAgB,KAAA,EACC,MAAM,EAAE,MAAM;;;;;;;;;IAMzC,WAAW,CACD,gBAAgB,KAAA,EACC,MAAM,EAAE,MAAM,EACnC,MAAM,KAAA;;;;;;;;;IAMZ,WAAW,CACgB,MAAM,EAAE,MAAM,EACrC,IAAI,EAAE,YAAY;;;IAMtB,WAAW,CACgB,MAAM,EAAE,MAAM,EACrC,IAAI,EAAE,YAAY;;;IAMtB,YAAY,CACe,MAAM,EAAE,MAAM,EACrC,IAAI,EAAE,YAAY;;;IAMtB,aAAa,CACc,MAAM,EAAE,MAAM,EACrC,IAAI,EAAE,YAAY;;;IAMtB,IAAI,CAAgC,MAAM,EAAE,MAAM,EAAY,MAAM,KAAA;IAKpE,MAAM,CAAS,IAAI,EAAE,SAAS;IAK9B,MAAM,CACqB,MAAM,EAAE,MAAM,EACrC,IAAI,EAAE,SAAS;IASnB,MAAM,CAAS,IAAI,EAAE,SAAS;;;CAGrC"}
1
+ {"version":3,"file":"role.controller.d.ts","sourceRoot":"","sources":["../../src/role/role.controller.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,qBAEa,cAAc;IAGvB,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAAX,WAAW,EAAE,WAAW;IAIrC,IAAI,CAAe,gBAAgB,KAAA,EAAY,MAAM,KAAA;;;;;;;;;IAKrD,SAAS,CACC,gBAAgB,KAAA,EACC,MAAM,EAAE,MAAM;;;;;;;;;IAMzC,SAAS,CACC,gBAAgB,KAAA,EACC,MAAM,EAAE,MAAM,EACnC,MAAM,KAAA;;;;;;;;;IAMZ,UAAU,CACA,gBAAgB,KAAA,EACC,MAAM,EAAE,MAAM;;;;;;;;;IAMzC,WAAW,CACD,gBAAgB,KAAA,EACC,MAAM,EAAE,MAAM,EACnC,MAAM,KAAA;;;;;;;;;IAMZ,WAAW,CACgB,MAAM,EAAE,MAAM,EACrC,IAAI,EAAE,YAAY;;;IAMtB,WAAW,CACgB,MAAM,EAAE,MAAM,EACrC,IAAI,EAAE,YAAY;;;IAMtB,YAAY,CACe,MAAM,EAAE,MAAM,EACrC,IAAI,EAAE,YAAY;;;IAMtB,aAAa,CACc,MAAM,EAAE,MAAM,EACrC,IAAI,EAAE,YAAY;;;IAMtB,IAAI,CAAgC,MAAM,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;IAKlD,MAAM,CAAS,IAAI,EAAE,SAAS;;;;;;;;;;;;;;;;;;;;;;;IAK9B,MAAM,CACqB,MAAM,EAAE,MAAM,EACrC,IAAI,EAAE,SAAS;;;;;;;;;;;;;;;;;;;;;;;IAMnB,MAAM,CAAS,IAAI,EAAE,SAAS;;;CAGrC"}
@@ -13,12 +13,12 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.RoleController = void 0;
16
+ const api_1 = require("@hed-hog/api");
17
+ const api_locale_1 = require("@hed-hog/api-locale");
16
18
  const api_pagination_1 = require("@hed-hog/api-pagination");
17
19
  const common_1 = require("@nestjs/common");
18
20
  const delete_dto_1 = require("../dto/delete.dto");
19
21
  const update_ids_dto_1 = require("../dto/update-ids.dto");
20
- const api_locale_1 = require("@hed-hog/api-locale");
21
- const api_1 = require("@hed-hog/api");
22
22
  const create_dto_1 = require("./dto/create.dto");
23
23
  const update_dto_1 = require("./dto/update.dto");
24
24
  const role_service_1 = require("./role.service");
@@ -53,17 +53,14 @@ let RoleController = class RoleController {
53
53
  async updateScreens(roleId, data) {
54
54
  return this.roleService.updateScreens(roleId, data);
55
55
  }
56
- async show(roleId, locale) {
57
- return this.roleService.get(locale, roleId);
56
+ async show(roleId) {
57
+ return this.roleService.get(roleId);
58
58
  }
59
59
  async create(data) {
60
60
  return this.roleService.create(data);
61
61
  }
62
62
  async update(roleId, data) {
63
- return this.roleService.update({
64
- id: roleId,
65
- data,
66
- });
63
+ return this.roleService.update(roleId, data);
67
64
  }
68
65
  async delete(data) {
69
66
  return this.roleService.delete(data);
@@ -147,9 +144,8 @@ __decorate([
147
144
  __decorate([
148
145
  (0, common_1.Get)(':roleId'),
149
146
  __param(0, (0, common_1.Param)('roleId', common_1.ParseIntPipe)),
150
- __param(1, (0, api_locale_1.Locale)()),
151
147
  __metadata("design:type", Function),
152
- __metadata("design:paramtypes", [Number, Object]),
148
+ __metadata("design:paramtypes", [Number]),
153
149
  __metadata("design:returntype", Promise)
154
150
  ], RoleController.prototype, "show", null);
155
151
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"role.controller.js","sourceRoot":"","sources":["../../src/role/role.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,4DAAqD;AACrD,2CAWwB;AACxB,kDAA8C;AAC9C,0DAAqD;AACrD,oDAA6C;AAC7C,sCAAoC;AACpC,iDAA6C;AAC7C,iDAA6C;AAC7C,iDAA6C;AAItC,IAAM,cAAc,GAApB,MAAM,cAAc;IACzB,YAEmB,WAAwB;QAAxB,gBAAW,GAAX,WAAW,CAAa;IACxC,CAAC;IAGE,AAAN,KAAK,CAAC,IAAI,CAAe,gBAAgB,EAAY,MAAM;QACzD,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACzD,CAAC;IAGK,AAAN,KAAK,CAAC,SAAS,CACC,gBAAgB,EACC,MAAc;QAE7C,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC9D,CAAC;IAGK,AAAN,KAAK,CAAC,SAAS,CACC,gBAAgB,EACC,MAAc,EACnC,MAAM;QAEhB,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACtE,CAAC;IAGK,AAAN,KAAK,CAAC,UAAU,CACA,gBAAgB,EACC,MAAc;QAE7C,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC/D,CAAC;IAGK,AAAN,KAAK,CAAC,WAAW,CACD,gBAAgB,EACC,MAAc,EACnC,MAAM;QAEhB,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACxE,CAAC;IAGK,AAAN,KAAK,CAAC,WAAW,CACgB,MAAc,EACrC,IAAkB;QAE1B,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC;IAGK,AAAN,KAAK,CAAC,WAAW,CACgB,MAAc,EACrC,IAAkB;QAE1B,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC;IAGK,AAAN,KAAK,CAAC,YAAY,CACe,MAAc,EACrC,IAAkB;QAE1B,OAAO,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACrD,CAAC;IAGK,AAAN,KAAK,CAAC,aAAa,CACc,MAAc,EACrC,IAAkB;QAE1B,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACtD,CAAC;IAGK,AAAN,KAAK,CAAC,IAAI,CAAgC,MAAc,EAAY,MAAM;QACxE,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9C,CAAC;IAGK,AAAN,KAAK,CAAC,MAAM,CAAS,IAAe;QAClC,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAGK,AAAN,KAAK,CAAC,MAAM,CACqB,MAAc,EACrC,IAAe;QAEvB,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;YAC7B,EAAE,EAAE,MAAM;YACV,IAAI;SACL,CAAC,CAAC;IACL,CAAC;IAGK,AAAN,KAAK,CAAC,MAAM,CAAS,IAAe;QAClC,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;CACF,CAAA;AAtGY,wCAAc;AAOnB;IADL,IAAA,YAAG,GAAE;IACM,WAAA,IAAA,2BAAU,GAAE,CAAA;IAAoB,WAAA,IAAA,mBAAM,GAAE,CAAA;;;;0CAEnD;AAGK;IADL,IAAA,YAAG,EAAC,cAAc,CAAC;IAEjB,WAAA,IAAA,2BAAU,GAAE,CAAA;IACZ,WAAA,IAAA,cAAK,EAAC,QAAQ,EAAE,qBAAY,CAAC,CAAA;;;;+CAG/B;AAGK;IADL,IAAA,YAAG,EAAC,cAAc,CAAC;IAEjB,WAAA,IAAA,2BAAU,GAAE,CAAA;IACZ,WAAA,IAAA,cAAK,EAAC,QAAQ,EAAE,qBAAY,CAAC,CAAA;IAC7B,WAAA,IAAA,mBAAM,GAAE,CAAA;;;;+CAGV;AAGK;IADL,IAAA,YAAG,EAAC,eAAe,CAAC;IAElB,WAAA,IAAA,2BAAU,GAAE,CAAA;IACZ,WAAA,IAAA,cAAK,EAAC,QAAQ,EAAE,qBAAY,CAAC,CAAA;;;;gDAG/B;AAGK;IADL,IAAA,YAAG,EAAC,gBAAgB,CAAC;IAEnB,WAAA,IAAA,2BAAU,GAAE,CAAA;IACZ,WAAA,IAAA,cAAK,EAAC,QAAQ,EAAE,qBAAY,CAAC,CAAA;IAC7B,WAAA,IAAA,mBAAM,GAAE,CAAA;;;;iDAGV;AAGK;IADL,IAAA,cAAK,EAAC,cAAc,CAAC;IAEnB,WAAA,IAAA,cAAK,EAAC,QAAQ,EAAE,qBAAY,CAAC,CAAA;IAC7B,WAAA,IAAA,aAAI,GAAE,CAAA;;6CAAO,6BAAY;;iDAG3B;AAGK;IADL,IAAA,cAAK,EAAC,cAAc,CAAC;IAEnB,WAAA,IAAA,cAAK,EAAC,QAAQ,EAAE,qBAAY,CAAC,CAAA;IAC7B,WAAA,IAAA,aAAI,GAAE,CAAA;;6CAAO,6BAAY;;iDAG3B;AAGK;IADL,IAAA,cAAK,EAAC,eAAe,CAAC;IAEpB,WAAA,IAAA,cAAK,EAAC,QAAQ,EAAE,qBAAY,CAAC,CAAA;IAC7B,WAAA,IAAA,aAAI,GAAE,CAAA;;6CAAO,6BAAY;;kDAG3B;AAGK;IADL,IAAA,cAAK,EAAC,gBAAgB,CAAC;IAErB,WAAA,IAAA,cAAK,EAAC,QAAQ,EAAE,qBAAY,CAAC,CAAA;IAC7B,WAAA,IAAA,aAAI,GAAE,CAAA;;6CAAO,6BAAY;;mDAG3B;AAGK;IADL,IAAA,YAAG,EAAC,SAAS,CAAC;IACH,WAAA,IAAA,cAAK,EAAC,QAAQ,EAAE,qBAAY,CAAC,CAAA;IAAkB,WAAA,IAAA,mBAAM,GAAE,CAAA;;;;0CAElE;AAGK;IADL,IAAA,aAAI,GAAE;IACO,WAAA,IAAA,aAAI,GAAE,CAAA;;qCAAO,sBAAS;;4CAEnC;AAGK;IADL,IAAA,cAAK,EAAC,SAAS,CAAC;IAEd,WAAA,IAAA,cAAK,EAAC,QAAQ,EAAE,qBAAY,CAAC,CAAA;IAC7B,WAAA,IAAA,aAAI,GAAE,CAAA;;6CAAO,sBAAS;;4CAMxB;AAGK;IADL,IAAA,eAAM,GAAE;IACK,WAAA,IAAA,aAAI,GAAE,CAAA;;qCAAO,sBAAS;;4CAEnC;yBArGU,cAAc;IAF1B,IAAA,UAAI,GAAE;IACN,IAAA,mBAAU,EAAC,MAAM,CAAC;IAGd,WAAA,IAAA,eAAM,EAAC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,0BAAW,CAAC,CAAC,CAAA;qCACR,0BAAW;GAHhC,cAAc,CAsG1B"}
1
+ {"version":3,"file":"role.controller.js","sourceRoot":"","sources":["../../src/role/role.controller.ts"],"names":[],"mappings":"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"}
@@ -67,12 +67,75 @@ export declare class RoleService {
67
67
  next: number;
68
68
  data: any;
69
69
  }>;
70
- get(locale: string, roleId: number): Promise<any>;
71
- create({ slug }: CreateDTO): Promise<any>;
72
- update({ id, data: { slug } }: {
70
+ get(roleId: number): Promise<{
71
+ locale: Record<string, {
72
+ name: string;
73
+ description: string;
74
+ }>;
75
+ role_locale: ({
76
+ locale: {
77
+ code: string;
78
+ };
79
+ } & {
80
+ name: string;
81
+ id: number;
82
+ description: string | null;
83
+ created_at: Date;
84
+ updated_at: Date;
85
+ locale_id: number;
86
+ role_id: number;
87
+ })[];
73
88
  id: number;
74
- data: UpdateDTO;
75
- }): Promise<any>;
89
+ created_at: Date;
90
+ updated_at: Date;
91
+ slug: string;
92
+ }>;
93
+ create(body: CreateDTO): Promise<{
94
+ locale: Record<string, {
95
+ name: string;
96
+ description: string;
97
+ }>;
98
+ role_locale: ({
99
+ locale: {
100
+ code: string;
101
+ };
102
+ } & {
103
+ name: string;
104
+ id: number;
105
+ description: string | null;
106
+ created_at: Date;
107
+ updated_at: Date;
108
+ locale_id: number;
109
+ role_id: number;
110
+ })[];
111
+ id: number;
112
+ created_at: Date;
113
+ updated_at: Date;
114
+ slug: string;
115
+ }>;
116
+ update(id: number, body: UpdateDTO): Promise<{
117
+ locale: Record<string, {
118
+ name: string;
119
+ description: string;
120
+ }>;
121
+ role_locale: ({
122
+ locale: {
123
+ code: string;
124
+ };
125
+ } & {
126
+ name: string;
127
+ id: number;
128
+ description: string | null;
129
+ created_at: Date;
130
+ updated_at: Date;
131
+ locale_id: number;
132
+ role_id: number;
133
+ })[];
134
+ id: number;
135
+ created_at: Date;
136
+ updated_at: Date;
137
+ slug: string;
138
+ }>;
76
139
  delete({ ids }: DeleteDTO, locale?: string): Promise<{
77
140
  count: number;
78
141
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"role.service.d.ts","sourceRoot":"","sources":["../../src/role/role.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;AAOpD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,qBACa,WAAW;IAGpB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAE9B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAElC,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAJb,aAAa,EAAE,aAAa,EAE5B,iBAAiB,EAAE,iBAAiB,EAEpC,aAAa,EAAE,aAAa;IAGzC,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,YAAY,GAAE,OAAO,CAAC;QAAC,KAAK,EAAC,MAAM,CAAA;KAAC,CAAC;IAgB1E,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAE,OAAO,CAAC;QAAC,KAAK,EAAC,MAAM,CAAA;KAAC,CAAC;IAgBzE,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAE,OAAO,CAAC;QAAC,KAAK,EAAC,MAAM,CAAA;KAAC,CAAC;IAgBxE,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAE,OAAO,CAAC;QAAC,KAAK,EAAC,MAAM,CAAA;KAAC,CAAC;IAgBvE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,aAAa;;;;;;;;;IAoBzD,SAAS,CACb,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,aAAa;;;;;;;;;IAgC3B,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,aAAa;;;;;;;;;IAoB1D,WAAW,CACf,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,aAAa;;;;;;;;;IAgC3B,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,aAAa;;;;;;;;;IAiCpD,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IA4BlC,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS;IAM1B,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,SAAS,CAAA;KAAE;IAM9D,MAAM,CAAC,EAAE,GAAG,EAAE,EAAE,SAAS,EAAE,MAAM,GAAE,MAAa,GAAE,OAAO,CAAC;QAAC,KAAK,EAAC,MAAM,CAAA;KAAC,CAAC;CAehF"}
1
+ {"version":3,"file":"role.service.d.ts","sourceRoot":"","sources":["../../src/role/role.service.ts"],"names":[],"mappings":"AAAA,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;AAOpD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,qBACa,WAAW;IAGpB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAE9B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAElC,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAJb,aAAa,EAAE,aAAa,EAE5B,iBAAiB,EAAE,iBAAiB,EAEpC,aAAa,EAAE,aAAa;IAGzC,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,YAAY,GAAE,OAAO,CAAC;QAAC,KAAK,EAAC,MAAM,CAAA;KAAC,CAAC;IAgB1E,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAE,OAAO,CAAC;QAAC,KAAK,EAAC,MAAM,CAAA;KAAC,CAAC;IAgBzE,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAE,OAAO,CAAC;QAAC,KAAK,EAAC,MAAM,CAAA;KAAC,CAAC;IAgBxE,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAE,OAAO,CAAC;QAAC,KAAK,EAAC,MAAM,CAAA;KAAC,CAAC;IAgBvE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,aAAa;;;;;;;;;IAoBzD,SAAS,CACb,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,aAAa;;;;;;;;;IAgC3B,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,aAAa;;;;;;;;;IAoB1D,WAAW,CACf,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,aAAa;;;;;;;;;IAgC3B,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,aAAa;;;;;;;;;IAiCpD,GAAG,CAAC,MAAM,EAAE,MAAM;;kBAyBU,MAAM;yBAAe,MAAM;;;;;;;;;;;;;;;;;;;;IAQvD,MAAM,CAAC,IAAI,EAAE,SAAS;;kBARM,MAAM;yBAAe,MAAM;;;;;;;;;;;;;;;;;;;;IAmCvD,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS;;kBAnCN,MAAM;yBAAe,MAAM;;;;;;;;;;;;;;;;;;;;IA2EvD,MAAM,CAAC,EAAE,GAAG,EAAE,EAAE,SAAS,EAAE,MAAM,GAAE,MAAa,GAAE,OAAO,CAAC;QAAC,KAAK,EAAC,MAAM,CAAA;KAAC,CAAC;CAehF"}
@@ -13,7 +13,6 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.RoleService = void 0;
16
- const api_1 = require("@hed-hog/api");
17
16
  const api_locale_1 = require("@hed-hog/api-locale");
18
17
  const api_pagination_1 = require("@hed-hog/api-pagination");
19
18
  const api_prisma_1 = require("@hed-hog/api-prisma");
@@ -182,38 +181,85 @@ let RoleService = class RoleService {
182
181
  },
183
182
  }, 'role_locale');
184
183
  }
185
- async get(locale, roleId) {
186
- return (0, api_1.getWithLocale)(locale, 'role_locale', await this.prismaService.role.findUnique({
184
+ async get(roleId) {
185
+ const role = await this.prismaService.role.findUnique({
187
186
  where: { id: roleId },
188
187
  include: {
189
188
  role_locale: {
190
- where: {
189
+ include: {
191
190
  locale: {
192
- enabled: true,
193
- },
194
- },
195
- select: {
196
- name: true,
197
- description: true,
198
- locale: {
199
- select: {
200
- code: true,
201
- },
191
+ select: { code: true },
202
192
  },
203
193
  },
204
194
  },
205
195
  },
206
- }));
207
- }
208
- async create({ slug }) {
209
- return this.localeService.createModelWithLocale('role', 'role_id', {
210
- slug,
211
196
  });
197
+ if (!role) {
198
+ return null;
199
+ }
200
+ const localeData = role.role_locale.reduce((acc, item) => {
201
+ const localeCode = item.locale.code;
202
+ acc[localeCode] = {
203
+ name: item.name,
204
+ description: item.description,
205
+ };
206
+ return acc;
207
+ }, {});
208
+ return Object.assign(Object.assign({}, role), { locale: localeData });
212
209
  }
213
- async update({ id, data: { slug } }) {
214
- return this.localeService.updateModelWithLocale('role', 'role_id', id, {
215
- slug,
210
+ async create(body) {
211
+ const { locale, slug } = body;
212
+ const role = await this.prismaService.role.create({
213
+ data: { slug },
216
214
  });
215
+ if (locale) {
216
+ await Promise.all(Object.entries(locale).map(async ([localeCode, localeData]) => {
217
+ const localeRecord = await this.localeService.getByCode(localeCode);
218
+ await this.prismaService.role_locale.create({
219
+ data: {
220
+ role_id: role.id,
221
+ locale_id: localeRecord.id,
222
+ name: localeData.name,
223
+ description: localeData.description,
224
+ },
225
+ });
226
+ }));
227
+ }
228
+ return this.get(role.id);
229
+ }
230
+ async update(id, body) {
231
+ const { locale } = body;
232
+ if (locale) {
233
+ await Promise.all(Object.entries(locale).map(async ([localeCode, localeData]) => {
234
+ const localeRecord = await this.localeService.getByCode(localeCode);
235
+ const existing = await this.prismaService.role_locale.findFirst({
236
+ where: {
237
+ role_id: id,
238
+ locale_id: localeRecord.id,
239
+ },
240
+ });
241
+ if (existing) {
242
+ await this.prismaService.role_locale.update({
243
+ where: { id: existing.id },
244
+ data: {
245
+ name: localeData.name,
246
+ description: localeData.description,
247
+ },
248
+ });
249
+ }
250
+ else {
251
+ await this.prismaService.role_locale.create({
252
+ data: {
253
+ role_id: id,
254
+ locale_id: localeRecord.id,
255
+ name: localeData.name,
256
+ description: localeData.description,
257
+ },
258
+ });
259
+ }
260
+ }));
261
+ }
262
+ return this.get(id);
217
263
  }
218
264
  async delete({ ids }, locale = 'en') {
219
265
  if (ids == undefined || ids == null) {
@@ -1 +1 @@
1
- {"version":3,"file":"role.service.js","sourceRoot":"","sources":["../../src/role/role.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"role.service.js","sourceRoot":"","sources":["../../src/role/role.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,oDAAmE;AACnE,4DAA2E;AAC3E,oDAAoD;AACpD,2CAKwB;AAOjB,IAAM,WAAW,GAAjB,MAAM,WAAW;IACtB,YAEmB,aAA4B,EAE5B,iBAAoC,EAEpC,aAA4B;QAJ5B,kBAAa,GAAb,aAAa,CAAe;QAE5B,sBAAiB,GAAjB,iBAAiB,CAAmB;QAEpC,kBAAa,GAAb,aAAa,CAAe;IAC5C,CAAC;IAEJ,KAAK,CAAC,WAAW,CAAC,MAAc,EAAE,EAAE,GAAG,EAAgB;QACrD,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,UAAU,CAAC;YAC5C,KAAK,EAAE;gBACL,OAAO,EAAE,MAAM;aAChB;SACF,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,UAAU,CAAC;YAC7C,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBACzB,OAAO,EAAE,MAAM;gBACf,OAAO,EAAE,MAAM;aAChB,CAAC,CAAC;YACH,cAAc,EAAE,IAAI;SACrB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,MAAc,EAAE,IAAkB;QACpD,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,UAAU,CAAC;YAC9C,KAAK,EAAE;gBACL,OAAO,EAAE,MAAM;aAChB;SACF,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,UAAU,CAAC;YAC/C,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBAChC,OAAO,EAAE,MAAM;gBACf,SAAS,EAAE,QAAQ;aACpB,CAAC,CAAC;YACH,cAAc,EAAE,IAAI;SACrB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAc,EAAE,IAAkB;QACnD,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC;YAC7C,KAAK,EAAE;gBACL,OAAO,EAAE,MAAM;aAChB;SACF,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC;YAC9C,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBAC/B,OAAO,EAAE,MAAM;gBACf,QAAQ,EAAE,OAAO;aAClB,CAAC,CAAC;YACH,cAAc,EAAE,IAAI;SACrB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,MAAc,EAAE,IAAkB;QAClD,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,UAAU,CAAC;YAC5C,KAAK,EAAE;gBACL,OAAO,EAAE,MAAM;aAChB;SACF,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,UAAU,CAAC;YAC7C,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBAC9B,OAAO,EAAE,MAAM;gBACf,OAAO,EAAE,MAAM;aAChB,CAAC,CAAC;YACH,cAAc,EAAE,IAAI;SACrB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,MAAc,EAAE,gBAA+B;QAC7D,OAAO,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CACpC,IAAI,CAAC,aAAa,CAAC,IAAI,EACvB,gBAAgB,EAChB;YACE,OAAO,EAAE;gBACP,SAAS,EAAE;oBACT,KAAK,EAAE;wBACL,OAAO,EAAE,MAAM;qBAChB;oBACD,MAAM,EAAE;wBACN,OAAO,EAAE,IAAI;wBACb,OAAO,EAAE,IAAI;qBACd;iBACF;aACF;SACF,CACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,SAAS,CACb,MAAc,EACd,MAAc,EACd,gBAA+B;QAE/B,OAAO,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CACpC,IAAI,CAAC,aAAa,CAAC,IAAI,EACvB,gBAAgB,EAChB;YACE,OAAO,EAAE;gBACP,WAAW,EAAE;oBACX,KAAK,EAAE;wBACL,MAAM,EAAE;4BACN,IAAI,EAAE,MAAM;yBACb;qBACF;oBACD,MAAM,EAAE;wBACN,IAAI,EAAE,IAAI;qBACX;iBACF;gBACD,SAAS,EAAE;oBACT,KAAK,EAAE;wBACL,OAAO,EAAE,MAAM;qBAChB;oBACD,MAAM,EAAE;wBACN,OAAO,EAAE,IAAI;wBACb,OAAO,EAAE,IAAI;qBACd;iBACF;aACF;SACF,EACD,aAAa,CACd,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,MAAc,EAAE,gBAA+B;QAC9D,OAAO,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CACpC,IAAI,CAAC,aAAa,CAAC,KAAK,EACxB,gBAAgB,EAChB;YACE,OAAO,EAAE;gBACP,UAAU,EAAE;oBACV,KAAK,EAAE;wBACL,OAAO,EAAE,MAAM;qBAChB;oBACD,MAAM,EAAE;wBACN,QAAQ,EAAE,IAAI;wBACd,OAAO,EAAE,IAAI;qBACd;iBACF;aACF;SACF,CACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,WAAW,CACf,MAAc,EACd,MAAc,EACd,gBAA+B;QAE/B,OAAO,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CACpC,IAAI,CAAC,aAAa,CAAC,MAAM,EACzB,gBAAgB,EAChB;YACE,OAAO,EAAE;gBACP,aAAa,EAAE;oBACb,KAAK,EAAE;wBACL,MAAM,EAAE;4BACN,IAAI,EAAE,MAAM;yBACb;qBACF;oBACD,MAAM,EAAE;wBACN,IAAI,EAAE,IAAI;qBACX;iBACF;gBACD,WAAW,EAAE;oBACX,KAAK,EAAE;wBACL,OAAO,EAAE,MAAM;qBAChB;oBACD,MAAM,EAAE;wBACN,SAAS,EAAE,IAAI;wBACf,OAAO,EAAE,IAAI;qBACd;iBACF;aACF;SACF,EACD,eAAe,CAChB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAAc,EAAE,gBAA+B;QACxD,MAAM,MAAM,GAAG,EAAE,CAAC;QAElB,MAAM,EAAE,GAAU,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAC1D,MAAM,EACN,gBAAgB,CACjB,CAAC;QAEF,OAAO,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CACpC,IAAI,CAAC,aAAa,CAAC,IAAI,EACvB,gBAAgB,EAChB;YACE,KAAK,EAAE;gBACL,EAAE;aACH;YACD,OAAO,EAAE;gBACP,WAAW,EAAE;oBACX,KAAK,EAAE;wBACL,MAAM,EAAE;4BACN,IAAI,EAAE,MAAM;yBACb;qBACF;oBACD,MAAM,EAAE;wBACN,IAAI,EAAE,IAAI;wBACV,WAAW,EAAE,IAAI;qBAClB;iBACF;aACF;SACF,EACD,aAAa,CACd,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,MAAc;QACtB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC;YACpD,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE;YACrB,OAAO,EAAE;gBACP,WAAW,EAAE;oBACX,OAAO,EAAE;wBACP,MAAM,EAAE;4BACN,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;yBACvB;qBACF;iBACF;aACF;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;YACvD,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACpC,GAAG,CAAC,UAAU,CAAC,GAAG;gBAChB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,WAAW,EAAE,IAAI,CAAC,WAAW;aAC9B,CAAC;YACF,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAA2D,CAAC,CAAC;QAEhE,uCACK,IAAI,KACP,MAAM,EAAE,UAAU,IAClB;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAe;QAC1B,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;QAE9B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC;YAChD,IAAI,EAAE,EAAE,IAAI,EAAE;SACf,CAAC,CAAC;QAEH,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,EAAE;gBAC5D,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;gBAEpE,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC;oBAC1C,IAAI,EAAE;wBACJ,OAAO,EAAE,IAAI,CAAC,EAAE;wBAChB,SAAS,EAAE,YAAY,CAAC,EAAE;wBAC1B,IAAI,EAAE,UAAU,CAAC,IAAI;wBACrB,WAAW,EAAE,UAAU,CAAC,WAAW;qBACpC;iBACF,CAAC,CAAC;YACL,CAAC,CAAC,CACH,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,IAAe;QACtC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QAExB,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,EAAE;gBAC5D,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;gBAEpE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,SAAS,CAAC;oBAC9D,KAAK,EAAE;wBACL,OAAO,EAAE,EAAE;wBACX,SAAS,EAAE,YAAY,CAAC,EAAE;qBAC3B;iBACF,CAAC,CAAC;gBAEH,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC;wBAC1C,KAAK,EAAE,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE;wBAC1B,IAAI,EAAE;4BACJ,IAAI,EAAE,UAAU,CAAC,IAAI;4BACrB,WAAW,EAAE,UAAU,CAAC,WAAW;yBACpC;qBACF,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC;wBAC1C,IAAI,EAAE;4BACJ,OAAO,EAAE,EAAE;4BACX,SAAS,EAAE,YAAY,CAAC,EAAE;4BAC1B,IAAI,EAAE,UAAU,CAAC,IAAI;4BACrB,WAAW,EAAE,UAAU,CAAC,WAAW;yBACpC;qBACF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC,CAAC,CACH,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,EAAa,EAAE,SAAiB,IAAI;QACpD,IAAI,GAAG,IAAI,SAAS,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;YACpC,MAAM,IAAI,4BAAmB,CAC3B,IAAA,0BAAa,EAAC,qBAAqB,EAAE,MAAM,EAAE,oDAAoD,CAAC,CACnG,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC;YACxC,KAAK,EAAE;gBACL,EAAE,EAAE;oBACF,EAAE,EAAE,GAAG;iBACR;aACF;SACF,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AA5UY,kCAAW;sBAAX,WAAW;IADvB,IAAA,mBAAU,GAAE;IAGR,WAAA,IAAA,eAAM,EAAC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,0BAAa,CAAC,CAAC,CAAA;IAEvC,WAAA,IAAA,eAAM,EAAC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,kCAAiB,CAAC,CAAC,CAAA;IAE3C,WAAA,IAAA,eAAM,EAAC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,0BAAa,CAAC,CAAC,CAAA;qCAHR,0BAAa;QAET,kCAAiB;QAErB,0BAAa;GAPpC,WAAW,CA4UvB"}
@@ -111,5 +111,41 @@ export declare class UserController {
111
111
  path: string;
112
112
  }>;
113
113
  delete(data: DeleteDTO, locale: string): Promise<import("@prisma/client").Prisma.BatchPayload>;
114
+ getUserRoles(userId: number): Promise<({
115
+ role_locale: ({
116
+ locale: {
117
+ code: string;
118
+ name: string;
119
+ region: string;
120
+ id: number;
121
+ created_at: Date;
122
+ updated_at: Date;
123
+ enabled: boolean;
124
+ };
125
+ } & {
126
+ name: string;
127
+ id: number;
128
+ description: string | null;
129
+ created_at: Date;
130
+ updated_at: Date;
131
+ locale_id: number;
132
+ role_id: number;
133
+ })[];
134
+ } & {
135
+ id: number;
136
+ created_at: Date;
137
+ updated_at: Date;
138
+ slug: string;
139
+ })[]>;
140
+ assignRoleToUser(userId: number, roleId: number): Promise<{
141
+ id: number;
142
+ created_at: Date;
143
+ updated_at: Date;
144
+ user_id: number;
145
+ role_id: number;
146
+ }>;
147
+ removeRoleFromUser(userId: number, roleId: number): Promise<{
148
+ count: number;
149
+ }>;
114
150
  }
115
151
  //# sourceMappingURL=user.controller.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"user.controller.d.ts","sourceRoot":"","sources":["../../src/user/user.controller.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,6BAA6B,EAAE,MAAM,0CAA0C,CAAC;AACzF,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,qBAEa,cAAc;IAGvB,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAAX,WAAW,EAAE,WAAW;IAIrC,IAAI,CAAe,gBAAgB,KAAA;;;;;;;;;;;;;;IAKnC,GAAG,CAAgC,MAAM,EAAE,MAAM,EAAY,MAAM,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAK3E,UAAU,CAAiB,KAAK,EAAE,MAAM;IAKxC,MAAM,CAAS,IAAI,EAAE,6BAA6B,EAAY,MAAM,EAAE,MAAM;;;;;;;;;;;;;;;IAK5E,MAAM,CACqB,MAAM,EAAE,MAAM,EACrC,IAAI,EAAE,SAAS,EACb,MAAM,EAAE,MAAM;;;;;;;;;;IAmBpB,YAAY,CACN,MAAM,EAAE,MAAM,EACO,MAAM,EAAE,MAAM,EAC7B,MAAM,EAAE,UAAU;;;;IAM9B,MAAM,CAAS,IAAI,EAAE,SAAS,EAAY,MAAM,EAAE,MAAM;CAG/D"}
1
+ {"version":3,"file":"user.controller.d.ts","sourceRoot":"","sources":["../../src/user/user.controller.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,6BAA6B,EAAE,MAAM,0CAA0C,CAAC;AACzF,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,qBAEa,cAAc;IAGvB,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAAX,WAAW,EAAE,WAAW;IAIrC,IAAI,CAAe,gBAAgB,KAAA;;;;;;;;;;;;;;IAKnC,GAAG,CAAgC,MAAM,EAAE,MAAM,EAAY,MAAM,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAK3E,UAAU,CAAiB,KAAK,EAAE,MAAM;IAKxC,MAAM,CAAS,IAAI,EAAE,6BAA6B,EAAY,MAAM,EAAE,MAAM;;;;;;;;;;;;;;;IAK5E,MAAM,CACqB,MAAM,EAAE,MAAM,EACrC,IAAI,EAAE,SAAS,EACb,MAAM,EAAE,MAAM;;;;;;;;;;IAmBpB,YAAY,CACN,MAAM,EAAE,MAAM,EACO,MAAM,EAAE,MAAM,EAC7B,MAAM,EAAE,UAAU;;;;IAM9B,MAAM,CAAS,IAAI,EAAE,SAAS,EAAY,MAAM,EAAE,MAAM;IAKxD,YAAY,CAAgC,MAAM,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;IAK1D,gBAAgB,CACW,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM;;;;;;;IAMzC,kBAAkB,CACS,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM;;;CAIhD"}
@@ -46,6 +46,15 @@ let UserController = class UserController {
46
46
  async delete(data, locale) {
47
47
  return this.userService.delete(locale, data);
48
48
  }
49
+ async getUserRoles(userId) {
50
+ return this.userService.getUserRoles(userId);
51
+ }
52
+ async assignRoleToUser(userId, roleId) {
53
+ return this.userService.assignRoleToUser(userId, roleId);
54
+ }
55
+ async removeRoleFromUser(userId, roleId) {
56
+ return this.userService.removeRoleFromUser(userId, roleId);
57
+ }
49
58
  };
50
59
  exports.UserController = UserController;
51
60
  __decorate([
@@ -115,6 +124,29 @@ __decorate([
115
124
  __metadata("design:paramtypes", [delete_dto_1.DeleteDTO, String]),
116
125
  __metadata("design:returntype", Promise)
117
126
  ], UserController.prototype, "delete", null);
127
+ __decorate([
128
+ (0, common_1.Get)(':userId/role'),
129
+ __param(0, (0, common_1.Param)('userId', common_1.ParseIntPipe)),
130
+ __metadata("design:type", Function),
131
+ __metadata("design:paramtypes", [Number]),
132
+ __metadata("design:returntype", Promise)
133
+ ], UserController.prototype, "getUserRoles", null);
134
+ __decorate([
135
+ (0, common_1.Post)(':userId/role/:roleId'),
136
+ __param(0, (0, common_1.Param)('userId', common_1.ParseIntPipe)),
137
+ __param(1, (0, common_1.Param)('roleId', common_1.ParseIntPipe)),
138
+ __metadata("design:type", Function),
139
+ __metadata("design:paramtypes", [Number, Number]),
140
+ __metadata("design:returntype", Promise)
141
+ ], UserController.prototype, "assignRoleToUser", null);
142
+ __decorate([
143
+ (0, common_1.Delete)(':userId/role/:roleId'),
144
+ __param(0, (0, common_1.Param)('userId', common_1.ParseIntPipe)),
145
+ __param(1, (0, common_1.Param)('roleId', common_1.ParseIntPipe)),
146
+ __metadata("design:type", Function),
147
+ __metadata("design:paramtypes", [Number, Number]),
148
+ __metadata("design:returntype", Promise)
149
+ ], UserController.prototype, "removeRoleFromUser", null);
118
150
  exports.UserController = UserController = __decorate([
119
151
  (0, api_1.Role)(),
120
152
  (0, common_1.Controller)('user'),
@@ -1 +1 @@
1
- {"version":3,"file":"user.controller.js","sourceRoot":"","sources":["../../src/user/user.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"user.controller.js","sourceRoot":"","sources":["../../src/user/user.controller.ts"],"names":[],"mappings":"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"}
@@ -187,5 +187,41 @@ export declare class UserService {
187
187
  updated_at: Date;
188
188
  user_id: number;
189
189
  }>;
190
+ getUserRoles(userId: number): Promise<({
191
+ role_locale: ({
192
+ locale: {
193
+ code: string;
194
+ name: string;
195
+ region: string;
196
+ id: number;
197
+ created_at: Date;
198
+ updated_at: Date;
199
+ enabled: boolean;
200
+ };
201
+ } & {
202
+ name: string;
203
+ id: number;
204
+ description: string | null;
205
+ created_at: Date;
206
+ updated_at: Date;
207
+ locale_id: number;
208
+ role_id: number;
209
+ })[];
210
+ } & {
211
+ id: number;
212
+ created_at: Date;
213
+ updated_at: Date;
214
+ slug: string;
215
+ })[]>;
216
+ assignRoleToUser(userId: number, roleId: number): Promise<{
217
+ id: number;
218
+ created_at: Date;
219
+ updated_at: Date;
220
+ user_id: number;
221
+ role_id: number;
222
+ }>;
223
+ removeRoleFromUser(userId: number, roleId: number): Promise<{
224
+ count: number;
225
+ }>;
190
226
  }
191
227
  //# sourceMappingURL=user.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"user.service.d.ts","sourceRoot":"","sources":["../../src/user/user.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAQ1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,6BAA6B,EAAE,MAAM,0CAA0C,CAAC;AACzF,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,qBACa,WAAW;IAGpB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAE9B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAElC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAEzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAE1B,OAAO,CAAC,QAAQ,CAAC,IAAI;gBARJ,aAAa,EAAE,aAAa,EAE5B,iBAAiB,EAAE,iBAAiB,EAEpC,QAAQ,EAAE,eAAe,EAEzB,SAAS,EAAE,gBAAgB,EAE3B,IAAI,EAAE,WAAW;IAG9B,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,EAAC,GAAG,EAAC,EAAE,SAAS;IAYvC,MAAM,CACV,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,EAAC,IAAI,EAAC,EAAE,SAAS;;;;;;;;;;IAeb,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAIlC,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU;;;;IAsC/D,IAAI,CAAC,gBAAgB,KAAA;;;;;;;;;;;;;;IAiErB,0BAA0B,CAC5B,MAAM,EAAE,MAAM,EACd,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,6BAA6B;;;;;;;;;;;;;;;IA8CpD,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAmBzC,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAwBpE,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;;;;;;;CAQ1D"}
1
+ {"version":3,"file":"user.service.d.ts","sourceRoot":"","sources":["../../src/user/user.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAQ1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,6BAA6B,EAAE,MAAM,0CAA0C,CAAC;AACzF,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,qBACa,WAAW;IAGpB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAE9B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAElC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAEzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAE1B,OAAO,CAAC,QAAQ,CAAC,IAAI;gBARJ,aAAa,EAAE,aAAa,EAE5B,iBAAiB,EAAE,iBAAiB,EAEpC,QAAQ,EAAE,eAAe,EAEzB,SAAS,EAAE,gBAAgB,EAE3B,IAAI,EAAE,WAAW;IAG9B,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,EAAC,GAAG,EAAC,EAAE,SAAS;IAYvC,MAAM,CACV,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,EAAC,IAAI,EAAC,EAAE,SAAS;;;;;;;;;;IAeb,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAIlC,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU;;;;IAsC/D,IAAI,CAAC,gBAAgB,KAAA;;;;;;;;;;;;;;IAiErB,0BAA0B,CAC5B,MAAM,EAAE,MAAM,EACd,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,6BAA6B;;;;;;;;;;;;;;;IA8CpD,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAmBzC,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAwBpE,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;;;;;;;IASnD,YAAY,CAAC,MAAM,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;IAmB3B,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;;;;;;;IAoB/C,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;;;CAkBxD"}
@@ -225,6 +225,55 @@ let UserService = class UserService {
225
225
  }
226
226
  });
227
227
  }
228
+ async getUserRoles(userId) {
229
+ const userRoles = await this.prismaService.role_user.findMany({
230
+ where: { user_id: userId },
231
+ include: {
232
+ role: {
233
+ include: {
234
+ role_locale: {
235
+ include: {
236
+ locale: true,
237
+ },
238
+ },
239
+ },
240
+ },
241
+ },
242
+ });
243
+ return userRoles.map((ur) => ur.role);
244
+ }
245
+ async assignRoleToUser(userId, roleId) {
246
+ const existingRoleUser = await this.prismaService.role_user.findFirst({
247
+ where: {
248
+ user_id: userId,
249
+ role_id: roleId,
250
+ },
251
+ });
252
+ if (existingRoleUser) {
253
+ return existingRoleUser;
254
+ }
255
+ return this.prismaService.role_user.create({
256
+ data: {
257
+ user_id: userId,
258
+ role_id: roleId,
259
+ },
260
+ });
261
+ }
262
+ async removeRoleFromUser(userId, roleId) {
263
+ const roleUser = await this.prismaService.role_user.findFirst({
264
+ where: {
265
+ user_id: userId,
266
+ role_id: roleId,
267
+ },
268
+ });
269
+ if (!roleUser) {
270
+ return { count: 0 };
271
+ }
272
+ await this.prismaService.role_user.delete({
273
+ where: { id: roleUser.id },
274
+ });
275
+ return { count: 1 };
276
+ }
228
277
  };
229
278
  exports.UserService = UserService;
230
279
  exports.UserService = UserService = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"user.service.js","sourceRoot":"","sources":["../../src/user/user.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"user.service.js","sourceRoot":"","sources":["../../src/user/user.service.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@
7
7
  relations:
8
8
  role:
9
9
  - where:
10
- slug: admin-access
10
+ slug: admin
11
11
  - url: /users
12
12
  icon: users
13
13
  name:
@@ -17,7 +17,17 @@
17
17
  relations:
18
18
  role:
19
19
  - where:
20
- slug: admin-access
20
+ slug: admin
21
+ - url: /roles
22
+ icon: shield-check
23
+ name:
24
+ en: Roles
25
+ pt: Cargos
26
+ slug: /roles
27
+ relations:
28
+ role:
29
+ - where:
30
+ slug: admin
21
31
  - url: /configurations
22
32
  icon: settings-2
23
33
  name:
@@ -294,6 +294,18 @@
294
294
  role:
295
295
  - where:
296
296
  slug: admin
297
+ - url: /user/:userId/role/:roleId
298
+ method: DELETE
299
+ relations:
300
+ role:
301
+ - where:
302
+ slug: admin
303
+ - url: /user/:userId/role/:roleId
304
+ method: POST
305
+ relations:
306
+ role:
307
+ - where:
308
+ slug: admin
297
309
  - url: /user/:userId
298
310
  method: GET
299
311
  relations:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hed-hog/core",
3
- "version": "0.0.73",
3
+ "version": "0.0.75",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "dependencies": {
@@ -29,11 +29,11 @@
29
29
  "sharp": "^0.34.2",
30
30
  "speakeasy": "^2.0.0",
31
31
  "uuid": "^11.1.0",
32
- "@hed-hog/api-mail": "0.0.7",
33
32
  "@hed-hog/api-pagination": "0.0.4",
33
+ "@hed-hog/api-mail": "0.0.7",
34
34
  "@hed-hog/api-prisma": "0.0.4",
35
- "@hed-hog/types": "0.0.1",
36
35
  "@hed-hog/api-locale": "0.0.10",
36
+ "@hed-hog/types": "0.0.1",
37
37
  "@hed-hog/api": "0.0.3"
38
38
  },
39
39
  "exports": {
@@ -1,7 +1,16 @@
1
- import { getLocaleText, WithLocaleDTO } from '@hed-hog/api-locale';
2
- import { IsString } from 'class-validator';
1
+ import { getLocaleText } from '@hed-hog/api-locale';
2
+ import { IsNotEmpty, IsObject, IsString } from 'class-validator';
3
3
 
4
- export class CreateDTO extends WithLocaleDTO {
4
+ export class CreateDTO {
5
5
  @IsString({ message: (args) => getLocaleText('validation.slugMustBeString', args.value) })
6
6
  slug: string;
7
+
8
+ @IsObject({
9
+ message: (args) =>
10
+ getLocaleText('validation.localeMustBeObject', args.value),
11
+ })
12
+ @IsNotEmpty({
13
+ message: (args) => getLocaleText('validation.localeRequired', args.value),
14
+ })
15
+ locale: Record<string, { name: string; description: string }>;
7
16
  }
@@ -1,3 +1,5 @@
1
+ import { Role } from '@hed-hog/api';
2
+ import { Locale } from '@hed-hog/api-locale';
1
3
  import { Pagination } from '@hed-hog/api-pagination';
2
4
  import {
3
5
  Body,
@@ -13,8 +15,6 @@ import {
13
15
  } from '@nestjs/common';
14
16
  import { DeleteDTO } from '../dto/delete.dto';
15
17
  import { UpdateIdsDTO } from '../dto/update-ids.dto';
16
- import { Locale } from '@hed-hog/api-locale';
17
- import { Role } from '@hed-hog/api';
18
18
  import { CreateDTO } from './dto/create.dto';
19
19
  import { UpdateDTO } from './dto/update.dto';
20
20
  import { RoleService } from './role.service';
@@ -99,8 +99,8 @@ export class RoleController {
99
99
  }
100
100
 
101
101
  @Get(':roleId')
102
- async show(@Param('roleId', ParseIntPipe) roleId: number, @Locale() locale) {
103
- return this.roleService.get(locale, roleId);
102
+ async show(@Param('roleId', ParseIntPipe) roleId: number) {
103
+ return this.roleService.get(roleId);
104
104
  }
105
105
 
106
106
  @Post()
@@ -113,10 +113,7 @@ export class RoleController {
113
113
  @Param('roleId', ParseIntPipe) roleId: number,
114
114
  @Body() data: UpdateDTO,
115
115
  ) {
116
- return this.roleService.update({
117
- id: roleId,
118
- data,
119
- });
116
+ return this.roleService.update(roleId, data);
120
117
  }
121
118
 
122
119
  @Delete()
@@ -1,12 +1,11 @@
1
- import { getWithLocale } from '@hed-hog/api';
2
1
  import { LocaleService, getLocaleText } from '@hed-hog/api-locale';
3
2
  import { PaginationDTO, PaginationService } from '@hed-hog/api-pagination';
4
3
  import { PrismaService } from '@hed-hog/api-prisma';
5
4
  import {
6
- BadRequestException,
7
- Inject,
8
- Injectable,
9
- forwardRef,
5
+ BadRequestException,
6
+ Inject,
7
+ Injectable,
8
+ forwardRef,
10
9
  } from '@nestjs/common';
11
10
  import { DeleteDTO } from '../dto/delete.dto';
12
11
  import { UpdateIdsDTO } from '../dto/update-ids.dto';
@@ -231,44 +230,104 @@ export class RoleService {
231
230
  );
232
231
  }
233
232
 
234
- async get(locale: string, roleId: number) {
235
- return getWithLocale(
236
- locale,
237
- 'role_locale',
238
- await this.prismaService.role.findUnique({
239
- where: { id: roleId },
240
- include: {
241
- role_locale: {
242
- where: {
243
- locale: {
244
- enabled: true,
245
- },
246
- },
247
- select: {
248
- name: true,
249
- description: true,
250
- locale: {
251
- select: {
252
- code: true,
253
- },
254
- },
233
+ async get(roleId: number) {
234
+ const role = await this.prismaService.role.findUnique({
235
+ where: { id: roleId },
236
+ include: {
237
+ role_locale: {
238
+ include: {
239
+ locale: {
240
+ select: { code: true },
255
241
  },
256
242
  },
257
243
  },
258
- }),
259
- );
244
+ },
245
+ });
246
+
247
+ if (!role) {
248
+ return null;
249
+ }
250
+
251
+ const localeData = role.role_locale.reduce((acc, item) => {
252
+ const localeCode = item.locale.code;
253
+ acc[localeCode] = {
254
+ name: item.name,
255
+ description: item.description,
256
+ };
257
+ return acc;
258
+ }, {} as Record<string, { name: string; description: string }>);
259
+
260
+ return {
261
+ ...role,
262
+ locale: localeData,
263
+ };
260
264
  }
261
265
 
262
- async create({ slug }: CreateDTO) {
263
- return this.localeService.createModelWithLocale('role', 'role_id', {
264
- slug,
266
+ async create(body: CreateDTO) {
267
+ const { locale, slug } = body;
268
+
269
+ const role = await this.prismaService.role.create({
270
+ data: { slug },
265
271
  });
272
+
273
+ if (locale) {
274
+ await Promise.all(
275
+ Object.entries(locale).map(async ([localeCode, localeData]) => {
276
+ const localeRecord = await this.localeService.getByCode(localeCode);
277
+
278
+ await this.prismaService.role_locale.create({
279
+ data: {
280
+ role_id: role.id,
281
+ locale_id: localeRecord.id,
282
+ name: localeData.name,
283
+ description: localeData.description,
284
+ },
285
+ });
286
+ })
287
+ );
288
+ }
289
+
290
+ return this.get(role.id);
266
291
  }
267
292
 
268
- async update({ id, data: { slug } }: { id: number; data: UpdateDTO }) {
269
- return this.localeService.updateModelWithLocale('role', 'role_id', id, {
270
- slug,
271
- });
293
+ async update(id: number, body: UpdateDTO) {
294
+ const { locale } = body;
295
+
296
+ if (locale) {
297
+ await Promise.all(
298
+ Object.entries(locale).map(async ([localeCode, localeData]) => {
299
+ const localeRecord = await this.localeService.getByCode(localeCode);
300
+
301
+ const existing = await this.prismaService.role_locale.findFirst({
302
+ where: {
303
+ role_id: id,
304
+ locale_id: localeRecord.id,
305
+ },
306
+ });
307
+
308
+ if (existing) {
309
+ await this.prismaService.role_locale.update({
310
+ where: { id: existing.id },
311
+ data: {
312
+ name: localeData.name,
313
+ description: localeData.description,
314
+ },
315
+ });
316
+ } else {
317
+ await this.prismaService.role_locale.create({
318
+ data: {
319
+ role_id: id,
320
+ locale_id: localeRecord.id,
321
+ name: localeData.name,
322
+ description: localeData.description,
323
+ },
324
+ });
325
+ }
326
+ })
327
+ );
328
+ }
329
+
330
+ return this.get(id);
272
331
  }
273
332
 
274
333
  async delete({ ids }: DeleteDTO, locale: string = 'en'):Promise<{count:number}> {
@@ -2,19 +2,19 @@ import { Role } from '@hed-hog/api';
2
2
  import { Locale } from '@hed-hog/api-locale';
3
3
  import { Pagination } from '@hed-hog/api-pagination';
4
4
  import {
5
- BadRequestException,
6
- Body,
7
- Controller,
8
- Delete,
9
- Get,
10
- Inject,
11
- Param,
12
- ParseIntPipe,
13
- Patch,
14
- Post,
15
- UploadedFile,
16
- UseInterceptors,
17
- forwardRef,
5
+ BadRequestException,
6
+ Body,
7
+ Controller,
8
+ Delete,
9
+ Get,
10
+ Inject,
11
+ Param,
12
+ ParseIntPipe,
13
+ Patch,
14
+ Post,
15
+ UploadedFile,
16
+ UseInterceptors,
17
+ forwardRef,
18
18
  } from '@nestjs/common';
19
19
  import { FileInterceptor } from '@nestjs/platform-express';
20
20
  import { DeleteDTO } from '../dto/delete.dto';
@@ -85,4 +85,25 @@ export class UserController {
85
85
  async delete(@Body() data: DeleteDTO, @Locale() locale: string) {
86
86
  return this.userService.delete(locale, data);
87
87
  }
88
+
89
+ @Get(':userId/role')
90
+ async getUserRoles(@Param('userId', ParseIntPipe) userId: number) {
91
+ return this.userService.getUserRoles(userId);
92
+ }
93
+
94
+ @Post(':userId/role/:roleId')
95
+ async assignRoleToUser(
96
+ @Param('userId', ParseIntPipe) userId: number,
97
+ @Param('roleId', ParseIntPipe) roleId: number,
98
+ ) {
99
+ return this.userService.assignRoleToUser(userId, roleId);
100
+ }
101
+
102
+ @Delete(':userId/role/:roleId')
103
+ async removeRoleFromUser(
104
+ @Param('userId', ParseIntPipe) userId: number,
105
+ @Param('roleId', ParseIntPipe) roleId: number,
106
+ ) {
107
+ return this.userService.removeRoleFromUser(userId, roleId);
108
+ }
88
109
  }
@@ -2,11 +2,11 @@ import { getLocaleText } from '@hed-hog/api-locale';
2
2
  import { PaginationService } from '@hed-hog/api-pagination';
3
3
  import { PrismaService, user } from '@hed-hog/api-prisma';
4
4
  import {
5
- BadRequestException,
6
- Inject,
7
- Injectable,
8
- NotFoundException,
9
- forwardRef,
5
+ BadRequestException,
6
+ Inject,
7
+ Injectable,
8
+ NotFoundException,
9
+ forwardRef,
10
10
  } from '@nestjs/common';
11
11
  import { ChallengeService } from '../challenge/challenge.service';
12
12
  import { DeleteDTO } from '../dto/delete.dto';
@@ -266,4 +266,62 @@ export class UserService {
266
266
  }
267
267
  })
268
268
  }
269
+
270
+ async getUserRoles(userId: number) {
271
+ const userRoles = await this.prismaService.role_user.findMany({
272
+ where: { user_id: userId },
273
+ include: {
274
+ role: {
275
+ include: {
276
+ role_locale: {
277
+ include: {
278
+ locale: true,
279
+ },
280
+ },
281
+ },
282
+ },
283
+ },
284
+ });
285
+
286
+ return userRoles.map((ur) => ur.role);
287
+ }
288
+
289
+ async assignRoleToUser(userId: number, roleId: number) {
290
+ const existingRoleUser = await this.prismaService.role_user.findFirst({
291
+ where: {
292
+ user_id: userId,
293
+ role_id: roleId,
294
+ },
295
+ });
296
+
297
+ if (existingRoleUser) {
298
+ return existingRoleUser;
299
+ }
300
+
301
+ return this.prismaService.role_user.create({
302
+ data: {
303
+ user_id: userId,
304
+ role_id: roleId,
305
+ },
306
+ });
307
+ }
308
+
309
+ async removeRoleFromUser(userId: number, roleId: number) {
310
+ const roleUser = await this.prismaService.role_user.findFirst({
311
+ where: {
312
+ user_id: userId,
313
+ role_id: roleId,
314
+ },
315
+ });
316
+
317
+ if (!roleUser) {
318
+ return { count: 0 };
319
+ }
320
+
321
+ await this.prismaService.role_user.delete({
322
+ where: { id: roleUser.id },
323
+ });
324
+
325
+ return { count: 1 };
326
+ }
269
327
  }