@hed-hog/core 0.0.73 → 0.0.74

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.
@@ -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":";;;;;;;;;;;;;;;AAAA,sCAAoC;AACpC,oDAA6C;AAC7C,4DAAqD;AACrD,2CAcwB;AACxB,+DAA2D;AAC3D,kDAA8C;AAC9C,iGAAyF;AACzF,iDAA6C;AAC7C,iDAA6C;AAItC,IAAM,cAAc,GAApB,MAAM,cAAc;IACzB,YAEmB,WAAwB;QAAxB,gBAAW,GAAX,WAAW,CAAa;IACvC,CAAC;IAGC,AAAN,KAAK,CAAC,IAAI,CAAe,gBAAgB;QACvC,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACjD,CAAC;IAGK,AAAN,KAAK,CAAC,GAAG,CAAgC,MAAc,EAAY,MAAc;QAC/E,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9C,CAAC;IAGK,AAAN,KAAK,CAAC,UAAU,CAAiB,KAAa;IAE9C,CAAC;IAGK,AAAN,KAAK,CAAC,MAAM,CAAS,IAAmC,EAAY,MAAc;QAChF,OAAO,IAAI,CAAC,WAAW,CAAC,0BAA0B,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACnE,CAAC;IAGK,AAAN,KAAK,CAAC,MAAM,CACqB,MAAc,EACrC,IAAe,EACb,MAAc;QAExB,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC;IAgBK,AAAN,KAAK,CAAC,YAAY,CACN,MAAc,EACO,MAAc,EAC7B,MAAkB;QAElC,OAAO,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IAC9D,CAAC;IAGK,AAAN,KAAK,CAAC,MAAM,CAAS,IAAe,EAAY,MAAc;QAC5D,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC/C,CAAC;IAGK,AAAN,KAAK,CAAC,YAAY,CAAgC,MAAc;QAC9D,OAAO,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC;IAGK,AAAN,KAAK,CAAC,gBAAgB,CACW,MAAc,EACd,MAAc;QAE7C,OAAO,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3D,CAAC;IAGK,AAAN,KAAK,CAAC,kBAAkB,CACS,MAAc,EACd,MAAc;QAE7C,OAAO,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7D,CAAC;CACF,CAAA;AAlFY,wCAAc;AAOnB;IADL,IAAA,YAAG,GAAE;IACM,WAAA,IAAA,2BAAU,GAAE,CAAA;;;;0CAEvB;AAGK;IADL,IAAA,YAAG,EAAC,SAAS,CAAC;IACJ,WAAA,IAAA,cAAK,EAAC,QAAQ,EAAE,qBAAY,CAAC,CAAA;IAAkB,WAAA,IAAA,mBAAM,GAAE,CAAA;;;;yCAEjE;AAGK;IADL,IAAA,YAAG,EAAC,cAAc,CAAC;IACF,WAAA,IAAA,cAAK,EAAC,OAAO,CAAC,CAAA;;;;gDAE/B;AAGK;IADL,IAAA,aAAI,GAAE;IACO,WAAA,IAAA,aAAI,GAAE,CAAA;IAAuC,WAAA,IAAA,mBAAM,GAAE,CAAA;;qCAAxC,kEAA6B;;4CAEvD;AAGK;IADL,IAAA,cAAK,EAAC,SAAS,CAAC;IAEd,WAAA,IAAA,cAAK,EAAC,QAAQ,EAAE,qBAAY,CAAC,CAAA;IAC7B,WAAA,IAAA,aAAI,GAAE,CAAA;IACN,WAAA,IAAA,mBAAM,GAAE,CAAA;;6CADK,sBAAS;;4CAIxB;AAgBK;IAdL,IAAA,wBAAe,EACd,IAAA,kCAAe,EAAC,QAAQ,EAAE;QACxB,MAAM,EAAE;YACN,QAAQ,EAAE,IAAI,GAAG,IAAI,GAAG,CAAC,EAAE,MAAM;SAClC;QACD,UAAU,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE;YAC5B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACxC,OAAO,EAAE,CAAC,IAAI,4BAAmB,CAAC,kBAAkB,CAAC,EAAE,KAAK,CAAC,CAAC;YAChE,CAAC;YACD,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACjB,CAAC;KACF,CAAC,CACH;IACA,IAAA,aAAI,EAAC,gBAAgB,CAAC;IAEpB,WAAA,IAAA,mBAAM,GAAE,CAAA;IACR,WAAA,IAAA,cAAK,EAAC,QAAQ,EAAE,qBAAY,CAAC,CAAA;IAC7B,WAAA,IAAA,qBAAY,GAAE,CAAA;;;;kDAGhB;AAGK;IADL,IAAA,eAAM,GAAE;IACK,WAAA,IAAA,aAAI,GAAE,CAAA;IAAmB,WAAA,IAAA,mBAAM,GAAE,CAAA;;qCAApB,sBAAS;;4CAEnC;AAGK;IADL,IAAA,YAAG,EAAC,cAAc,CAAC;IACA,WAAA,IAAA,cAAK,EAAC,QAAQ,EAAE,qBAAY,CAAC,CAAA;;;;kDAEhD;AAGK;IADL,IAAA,aAAI,EAAC,sBAAsB,CAAC;IAE1B,WAAA,IAAA,cAAK,EAAC,QAAQ,EAAE,qBAAY,CAAC,CAAA;IAC7B,WAAA,IAAA,cAAK,EAAC,QAAQ,EAAE,qBAAY,CAAC,CAAA;;;;sDAG/B;AAGK;IADL,IAAA,eAAM,EAAC,sBAAsB,CAAC;IAE5B,WAAA,IAAA,cAAK,EAAC,QAAQ,EAAE,qBAAY,CAAC,CAAA;IAC7B,WAAA,IAAA,cAAK,EAAC,QAAQ,EAAE,qBAAY,CAAC,CAAA;;;;wDAG/B;yBAjFU,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,CAkF1B"}
@@ -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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"}
@@ -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.74",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "dependencies": {
@@ -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
  }