@hed-hog/core 0.0.197 → 0.0.199

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.
@@ -3,6 +3,7 @@ export declare class CreateDTO {
3
3
  url: string;
4
4
  order?: number;
5
5
  icon?: string;
6
- menuId?: number;
6
+ menu_id?: number;
7
+ locale?: Record<string, string>;
7
8
  }
8
9
  //# sourceMappingURL=create.dto.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"create.dto.d.ts","sourceRoot":"","sources":["../../../src/menu/dto/create.dto.ts"],"names":[],"mappings":"AAGA,qBAAa,SAAS;IAGpB,IAAI,EAAE,MAAM,CAAC;IAIb,GAAG,EAAE,MAAM,CAAC;IAKZ,KAAK,CAAC,EAAE,MAAM,CAAC;IAIf,IAAI,CAAC,EAAE,MAAM,CAAC;IAKd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
1
+ {"version":3,"file":"create.dto.d.ts","sourceRoot":"","sources":["../../../src/menu/dto/create.dto.ts"],"names":[],"mappings":"AAGA,qBAAa,SAAS;IAGpB,IAAI,EAAE,MAAM,CAAC;IAIb,GAAG,EAAE,MAAM,CAAC;IAKZ,KAAK,CAAC,EAAE,MAAM,CAAC;IAIf,IAAI,CAAC,EAAE,MAAM,CAAC;IAKd,OAAO,CAAC,EAAE,MAAM,CAAC;IAIjB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC"}
@@ -41,5 +41,10 @@ __decorate([
41
41
  (0, class_validator_1.Min)(1),
42
42
  (0, class_validator_1.IsOptional)(),
43
43
  __metadata("design:type", Number)
44
- ], CreateDTO.prototype, "menuId", void 0);
44
+ ], CreateDTO.prototype, "menu_id", void 0);
45
+ __decorate([
46
+ (0, class_validator_1.IsObject)(),
47
+ (0, class_validator_1.IsOptional)(),
48
+ __metadata("design:type", Object)
49
+ ], CreateDTO.prototype, "locale", void 0);
45
50
  //# sourceMappingURL=create.dto.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create.dto.js","sourceRoot":"","sources":["../../../src/menu/dto/create.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAAoD;AACpD,qDAA+E;AAE/E,MAAa,SAAS;CAsBrB;AAtBD,8BAsBC;AAnBC;IAFC,IAAA,0BAAQ,EAAC,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,0BAAa,EAAC,6BAA6B,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;IACzF,IAAA,4BAAU,EAAC,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,0BAAa,EAAC,6BAA6B,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;;uCAC/E;AAIb;IAFC,IAAA,0BAAQ,EAAC,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,0BAAa,EAAC,4BAA4B,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;IACxF,IAAA,4BAAU,EAAC,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,0BAAa,EAAC,4BAA4B,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;;sCAC/E;AAKZ;IAHC,IAAA,uBAAK,EAAC,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,0BAAa,EAAC,8BAA8B,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;IACvF,IAAA,qBAAG,EAAC,CAAC,CAAC;IACN,IAAA,4BAAU,GAAE;;wCACE;AAIf;IAFC,IAAA,0BAAQ,EAAC,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,0BAAa,EAAC,6BAA6B,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;IACzF,IAAA,4BAAU,GAAE;;uCACC;AAKd;IAHC,IAAA,uBAAK,EAAC,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,0BAAa,EAAC,8BAA8B,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;IACvF,IAAA,qBAAG,EAAC,CAAC,CAAC;IACN,IAAA,4BAAU,GAAE;;yCACG"}
1
+ {"version":3,"file":"create.dto.js","sourceRoot":"","sources":["../../../src/menu/dto/create.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAAoD;AACpD,qDAAyF;AAEzF,MAAa,SAAS;CA0BrB;AA1BD,8BA0BC;AAvBC;IAFC,IAAA,0BAAQ,EAAC,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,0BAAa,EAAC,6BAA6B,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;IACzF,IAAA,4BAAU,EAAC,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,0BAAa,EAAC,6BAA6B,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;;uCAC/E;AAIb;IAFC,IAAA,0BAAQ,EAAC,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,0BAAa,EAAC,4BAA4B,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;IACxF,IAAA,4BAAU,EAAC,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,0BAAa,EAAC,4BAA4B,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;;sCAC/E;AAKZ;IAHC,IAAA,uBAAK,EAAC,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,0BAAa,EAAC,8BAA8B,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;IACvF,IAAA,qBAAG,EAAC,CAAC,CAAC;IACN,IAAA,4BAAU,GAAE;;wCACE;AAIf;IAFC,IAAA,0BAAQ,EAAC,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,0BAAa,EAAC,6BAA6B,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;IACzF,IAAA,4BAAU,GAAE;;uCACC;AAKd;IAHC,IAAA,uBAAK,EAAC,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,0BAAa,EAAC,8BAA8B,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;IACvF,IAAA,qBAAG,EAAC,CAAC,CAAC;IACN,IAAA,4BAAU,GAAE;;0CACI;AAIjB;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;yCACmB"}
@@ -4,5 +4,6 @@ export declare class UpdateDTO {
4
4
  order?: number;
5
5
  icon?: string;
6
6
  locale?: Record<string, string>;
7
+ menu_id?: number;
7
8
  }
8
9
  //# sourceMappingURL=update.dto.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"update.dto.d.ts","sourceRoot":"","sources":["../../../src/menu/dto/update.dto.ts"],"names":[],"mappings":"AAGA,qBAAa,SAAS;IAGpB,IAAI,CAAC,EAAE,MAAM,CAAC;IAId,GAAG,CAAC,EAAE,MAAM,CAAC;IAIb,KAAK,CAAC,EAAE,MAAM,CAAC;IAIf,IAAI,CAAC,EAAE,MAAM,CAAC;IAGd,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC"}
1
+ {"version":3,"file":"update.dto.d.ts","sourceRoot":"","sources":["../../../src/menu/dto/update.dto.ts"],"names":[],"mappings":"AAGA,qBAAa,SAAS;IAGpB,IAAI,CAAC,EAAE,MAAM,CAAC;IAId,GAAG,CAAC,EAAE,MAAM,CAAC;IAIb,KAAK,CAAC,EAAE,MAAM,CAAC;IAIf,IAAI,CAAC,EAAE,MAAM,CAAC;IAGd,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAGhC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB"}
@@ -39,4 +39,8 @@ __decorate([
39
39
  (0, class_validator_1.IsOptional)(),
40
40
  __metadata("design:type", Object)
41
41
  ], UpdateDTO.prototype, "locale", void 0);
42
+ __decorate([
43
+ (0, class_validator_1.IsOptional)(),
44
+ __metadata("design:type", Number)
45
+ ], UpdateDTO.prototype, "menu_id", void 0);
42
46
  //# sourceMappingURL=update.dto.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"update.dto.js","sourceRoot":"","sources":["../../../src/menu/dto/update.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAAoD;AACpD,qDAA8D;AAE9D,MAAa,SAAS;CAmBrB;AAnBD,8BAmBC;AAhBC;IAFC,IAAA,0BAAQ,EAAC,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,0BAAa,EAAC,6BAA6B,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;IACzF,IAAA,4BAAU,GAAE;;uCACC;AAId;IAFC,IAAA,0BAAQ,EAAC,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,0BAAa,EAAC,4BAA4B,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;IACxF,IAAA,4BAAU,GAAE;;sCACA;AAIb;IAFC,IAAA,uBAAK,EAAC,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,0BAAa,EAAC,8BAA8B,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;IACvF,IAAA,4BAAU,GAAE;;wCACE;AAIf;IAFC,IAAA,0BAAQ,EAAC,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,0BAAa,EAAC,6BAA6B,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;IACzF,IAAA,4BAAU,GAAE;;uCACC;AAGd;IADC,IAAA,4BAAU,GAAE;;yCACmB"}
1
+ {"version":3,"file":"update.dto.js","sourceRoot":"","sources":["../../../src/menu/dto/update.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAAoD;AACpD,qDAA8D;AAE9D,MAAa,SAAS;CAsBrB;AAtBD,8BAsBC;AAnBC;IAFC,IAAA,0BAAQ,EAAC,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,0BAAa,EAAC,6BAA6B,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;IACzF,IAAA,4BAAU,GAAE;;uCACC;AAId;IAFC,IAAA,0BAAQ,EAAC,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,0BAAa,EAAC,4BAA4B,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;IACxF,IAAA,4BAAU,GAAE;;sCACA;AAIb;IAFC,IAAA,uBAAK,EAAC,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,0BAAa,EAAC,8BAA8B,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;IACvF,IAAA,4BAAU,GAAE;;wCACE;AAIf;IAFC,IAAA,0BAAQ,EAAC,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,0BAAa,EAAC,6BAA6B,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;IACzF,IAAA,4BAAU,GAAE;;uCACC;AAGd;IADC,IAAA,4BAAU,GAAE;;yCACmB;AAGhC;IADC,IAAA,4BAAU,GAAE;;0CACI"}
@@ -10,6 +10,10 @@ export declare class MenuController {
10
10
  getSystemMenu({ id }: {
11
11
  id: any;
12
12
  }, locale: any): Promise<any[]>;
13
+ stats(): Promise<{
14
+ total: number;
15
+ }>;
16
+ listAll(locale: any): Promise<any[]>;
13
17
  list(paginationParams: any, locale: any): Promise<{
14
18
  total: any;
15
19
  lastPage: number;
@@ -32,6 +36,19 @@ export declare class MenuController {
32
36
  count: number;
33
37
  }>;
34
38
  show(locale: any, menuId: number): Promise<{
39
+ menu_locale: ({
40
+ locale: {
41
+ code: string;
42
+ };
43
+ } & {
44
+ name: string;
45
+ id: number;
46
+ created_at: Date;
47
+ updated_at: Date;
48
+ locale_id: number;
49
+ menu_id: number;
50
+ })[];
51
+ } & {
35
52
  id: number;
36
53
  order: number;
37
54
  created_at: Date;
@@ -1 +1 @@
1
- {"version":3,"file":"menu.controller.d.ts","sourceRoot":"","sources":["../../src/menu/menu.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,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,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,aAAa,CAAS,EAAE,EAAE,EAAE;;KAAA,EAAY,MAAM,KAAA;IAK9C,IAAI,CAAe,gBAAgB,KAAA,EAAY,MAAM,KAAA;;;;;;;;;IAKrD,SAAS,CACkB,MAAM,EAAE,MAAM,EAC/B,gBAAgB,KAAA,EACpB,MAAM,KAAA;;;;;;;;;IAMZ,WAAW,CACgB,MAAM,EAAE,MAAM,EACrC,IAAI,EAAE,YAAY,EAChB,MAAM,KAAA;;;IAMZ,IAAI,CAAW,MAAM,KAAA,EAAgC,MAAM,EAAE,MAAM;;;;;;;;;;IAKnE,MAAM,CAAW,MAAM,KAAA,EAAU,IAAI,EAAE,SAAS;;;;;;;;;;IAKhD,WAAW,CAAW,MAAM,KAAA,EAAU,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAKpE,MAAM,CACA,MAAM,KAAA,EACe,MAAM,EAAE,MAAM,EACrC,IAAI,EAAE,SAAS;;;;;;;;;;IASnB,MAAM,CAAW,MAAM,KAAA,EAAU,IAAI,EAAE,SAAS;;;CAGvD"}
1
+ {"version":3,"file":"menu.controller.d.ts","sourceRoot":"","sources":["../../src/menu/menu.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,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,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,aAAa,CAAS,EAAE,EAAE,EAAE;;KAAA,EAAY,MAAM,KAAA;IAK9C,KAAK;;;IAKL,OAAO,CAAW,MAAM,KAAA;IAKxB,IAAI,CAAe,gBAAgB,KAAA,EAAY,MAAM,KAAA;;;;;;;;;IAKrD,SAAS,CACkB,MAAM,EAAE,MAAM,EAC/B,gBAAgB,KAAA,EACpB,MAAM,KAAA;;;;;;;;;IAMZ,WAAW,CACgB,MAAM,EAAE,MAAM,EACrC,IAAI,EAAE,YAAY,EAChB,MAAM,KAAA;;;IAMZ,IAAI,CAAW,MAAM,KAAA,EAAgC,MAAM,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;IAKnE,MAAM,CAAW,MAAM,KAAA,EAAU,IAAI,EAAE,SAAS;;;;;;;;;;IAKhD,WAAW,CAAW,MAAM,KAAA,EAAU,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAKpE,MAAM,CACA,MAAM,KAAA,EACe,MAAM,EAAE,MAAM,EACrC,IAAI,EAAE,SAAS;;;;;;;;;;IASnB,MAAM,CAAW,MAAM,KAAA,EAAU,IAAI,EAAE,SAAS;;;CAGvD"}
@@ -30,6 +30,12 @@ let MenuController = class MenuController {
30
30
  async getSystemMenu({ id }, locale) {
31
31
  return this.menuService.getSystemMenu(locale, id);
32
32
  }
33
+ async stats() {
34
+ return this.menuService.stats();
35
+ }
36
+ async listAll(locale) {
37
+ return this.menuService.listAll(locale);
38
+ }
33
39
  async list(paginationParams, locale) {
34
40
  return this.menuService.list(locale, paginationParams);
35
41
  }
@@ -67,6 +73,19 @@ __decorate([
67
73
  __metadata("design:paramtypes", [Object, Object]),
68
74
  __metadata("design:returntype", Promise)
69
75
  ], MenuController.prototype, "getSystemMenu", null);
76
+ __decorate([
77
+ (0, common_1.Get)('stats'),
78
+ __metadata("design:type", Function),
79
+ __metadata("design:paramtypes", []),
80
+ __metadata("design:returntype", Promise)
81
+ ], MenuController.prototype, "stats", null);
82
+ __decorate([
83
+ (0, common_1.Get)('all'),
84
+ __param(0, (0, api_locale_1.Locale)()),
85
+ __metadata("design:type", Function),
86
+ __metadata("design:paramtypes", [Object]),
87
+ __metadata("design:returntype", Promise)
88
+ ], MenuController.prototype, "listAll", null);
70
89
  __decorate([
71
90
  (0, common_1.Get)(),
72
91
  __param(0, (0, api_pagination_1.Pagination)()),
@@ -1 +1 @@
1
- {"version":3,"file":"menu.controller.js","sourceRoot":"","sources":["../../src/menu/menu.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"menu.controller.js","sourceRoot":"","sources":["../../src/menu/menu.controller.ts"],"names":[],"mappings":"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"}
@@ -35,6 +35,10 @@ export declare class MenuService {
35
35
  }>;
36
36
  getMenus(locale: string, userId: number, menuId?: number): Promise<any[]>;
37
37
  getSystemMenu(locale: string, userId: number): Promise<any[]>;
38
+ stats(): Promise<{
39
+ total: number;
40
+ }>;
41
+ listAll(locale: string): Promise<any[]>;
38
42
  list(locale: string, paginationParams: PaginationDTO): Promise<{
39
43
  total: any;
40
44
  lastPage: number;
@@ -45,6 +49,19 @@ export declare class MenuService {
45
49
  data: any[];
46
50
  }>;
47
51
  get(locale: string, menuId: number): Promise<{
52
+ menu_locale: ({
53
+ locale: {
54
+ code: string;
55
+ };
56
+ } & {
57
+ name: string;
58
+ id: number;
59
+ created_at: Date;
60
+ updated_at: Date;
61
+ locale_id: number;
62
+ menu_id: number;
63
+ })[];
64
+ } & {
48
65
  id: number;
49
66
  order: number;
50
67
  created_at: Date;
@@ -54,7 +71,7 @@ export declare class MenuService {
54
71
  menu_id: number | null;
55
72
  url: string | null;
56
73
  }>;
57
- create(_locale: string, { slug, url, icon, order, menuId }: CreateDTO): Promise<{
74
+ create(_locale: string, { slug, url, icon, order, menu_id, locale }: CreateDTO): Promise<{
58
75
  id: number;
59
76
  order: number;
60
77
  created_at: Date;
@@ -1 +1 @@
1
- {"version":3,"file":"menu.service.d.ts","sourceRoot":"","sources":["../../src/menu/menu.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAQpD,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,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,qBACa,WAAW;IAGpB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAE9B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;gBAFjB,aAAa,EAAE,aAAa,EAE5B,iBAAiB,EAAE,iBAAiB;IAGjD,aAAa,CAAC,MAAM,EAAC,MAAM,EAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC;QAAC,KAAK,EAAC,MAAM,CAAA;KAAC,CAAC;IA4BxF,WAAW,CAAC,MAAM,EAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC;QAAC,KAAK,EAAC,MAAM,CAAA;KAAC,CAAC;IA4BvF,WAAW,CACf,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,aAAa;;;;;;;;;IA4C3B,SAAS,CACb,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,aAAa;;;;;;;;;IA8C3B,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,SAAI;IA2DnD,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAI5C,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,aAAa;;;;;;;;;IA+BpD,GAAG,CAAC,MAAM,EAAC,MAAM,EAAC,MAAM,EAAE,MAAM;;;;;;;;;;IAehC,MAAM,CAAC,OAAO,EAAC,MAAM,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,SAAS;;;;;;;;;;IAMpE,MAAM,CAAC,MAAM,EAAC,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,SAAS,CAAA;KAAE;;;;;;;;;;IA6DnE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC;QAAC,KAAK,EAAC,MAAM,CAAA;KAAC,CAAC;IA8BnE,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;CAsBpE"}
1
+ {"version":3,"file":"menu.service.d.ts","sourceRoot":"","sources":["../../src/menu/menu.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAQpD,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,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,qBACa,WAAW;IAGpB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAE9B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;gBAFjB,aAAa,EAAE,aAAa,EAE5B,iBAAiB,EAAE,iBAAiB;IAGjD,aAAa,CAAC,MAAM,EAAC,MAAM,EAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC;QAAC,KAAK,EAAC,MAAM,CAAA;KAAC,CAAC;IA4BxF,WAAW,CAAC,MAAM,EAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC;QAAC,KAAK,EAAC,MAAM,CAAA;KAAC,CAAC;IA4BvF,WAAW,CACf,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,aAAa;;;;;;;;;IA4C3B,SAAS,CACb,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,aAAa;;;;;;;;;IA8C3B,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,SAAI;IA2DnD,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAI5C,KAAK;;;IAKL,OAAO,CAAC,MAAM,EAAE,MAAM;IAatB,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,aAAa;;;;;;;;;IA0CpD,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;IAuBlC,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,SAAS;;;;;;;;;;IAyB9E,MAAM,CAAC,MAAM,EAAC,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,SAAS,CAAA;KAAE;;;;;;;;;;IAwDnE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC;QAAC,KAAK,EAAC,MAAM,CAAA;KAAC,CAAC;IA8BnE,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;CAsBpE"}
@@ -197,13 +197,37 @@ let MenuService = class MenuService {
197
197
  async getSystemMenu(locale, userId) {
198
198
  return this.getMenus(locale, userId);
199
199
  }
200
+ async stats() {
201
+ const total = await this.prismaService.menu.count();
202
+ return { total };
203
+ }
204
+ async listAll(locale) {
205
+ const menus = await this.prismaService.menu.findMany({
206
+ orderBy: { order: 'asc' },
207
+ include: {
208
+ menu_locale: {
209
+ where: { locale: { code: locale } },
210
+ select: { name: true },
211
+ },
212
+ },
213
+ });
214
+ return menus.map((m) => (0, api_1.itemTranslations)('menu_locale', m));
215
+ }
200
216
  async list(locale, paginationParams) {
201
- const fields = ['url', 'icon'];
202
- const OR = this.prismaService.createInsensitiveSearch(fields, paginationParams);
217
+ const search = paginationParams.search;
218
+ const whereOr = [];
219
+ if (search) {
220
+ whereOr.push({ url: { contains: search, mode: 'insensitive' } }, { icon: { contains: search, mode: 'insensitive' } }, { slug: { contains: search, mode: 'insensitive' } }, {
221
+ menu_locale: {
222
+ some: {
223
+ name: { contains: search, mode: 'insensitive' },
224
+ locale: { code: locale },
225
+ },
226
+ },
227
+ });
228
+ }
203
229
  return this.paginationService.paginate(this.prismaService.menu, paginationParams, {
204
- where: {
205
- OR,
206
- },
230
+ where: whereOr.length ? { OR: whereOr } : {},
207
231
  include: {
208
232
  menu_locale: {
209
233
  where: {
@@ -219,18 +243,44 @@ let MenuService = class MenuService {
219
243
  }, 'menu_locale');
220
244
  }
221
245
  async get(locale, menuId) {
222
- const user = await this.prismaService.menu.findUnique({
246
+ const menu = await this.prismaService.menu.findUnique({
223
247
  where: { id: menuId },
248
+ include: {
249
+ menu_locale: {
250
+ include: {
251
+ locale: {
252
+ select: { code: true },
253
+ },
254
+ },
255
+ },
256
+ },
224
257
  });
225
- if (!user) {
258
+ if (!menu) {
226
259
  throw new common_1.NotFoundException((0, api_locale_1.getLocaleText)('menuNotFound', locale, 'Menu not found.'));
227
260
  }
228
- return user;
261
+ return menu;
229
262
  }
230
- async create(_locale, { slug, url, icon, order, menuId }) {
231
- return this.prismaService.menu.create({
232
- data: { slug, url, icon, order, menu_id: menuId },
263
+ async create(_locale, { slug, url, icon, order, menu_id, locale }) {
264
+ const created = await this.prismaService.menu.create({
265
+ data: { slug, url, icon, order, menu_id },
233
266
  });
267
+ if (locale && typeof locale === 'object') {
268
+ for (const [localeCode, name] of Object.entries(locale)) {
269
+ const localeRecord = await this.prismaService.locale.findUnique({
270
+ where: { code: localeCode },
271
+ });
272
+ if (localeRecord && name) {
273
+ await this.prismaService.menu_locale.create({
274
+ data: {
275
+ menu_id: created.id,
276
+ locale_id: localeRecord.id,
277
+ name: name,
278
+ },
279
+ });
280
+ }
281
+ }
282
+ }
283
+ return created;
234
284
  }
235
285
  async update(locale, { id, data }) {
236
286
  const menuExists = await this.prismaService.menu.count({
@@ -242,19 +292,16 @@ let MenuService = class MenuService {
242
292
  throw new common_1.BadRequestException((0, api_locale_1.getLocaleText)('menuNotFound', locale, 'Menu not found.'));
243
293
  }
244
294
  const { locale: localeData } = data, menuData = __rest(data, ["locale"]);
245
- // Update menu data
246
295
  const result = await this.prismaService.menu.update({
247
296
  where: { id },
248
- data: menuData,
297
+ data: menuData
249
298
  });
250
- // Update locale translations if provided
251
299
  if (localeData) {
252
300
  for (const [localeCode, translation] of Object.entries(localeData)) {
253
301
  const localeRecord = await this.prismaService.locale.findUnique({
254
302
  where: { code: localeCode },
255
303
  });
256
304
  if (localeRecord) {
257
- // Check if translation exists
258
305
  const existingTranslation = await this.prismaService.menu_locale.findFirst({
259
306
  where: {
260
307
  menu_id: id,
@@ -262,14 +309,12 @@ let MenuService = class MenuService {
262
309
  },
263
310
  });
264
311
  if (existingTranslation) {
265
- // Update existing translation
266
312
  await this.prismaService.menu_locale.update({
267
313
  where: { id: existingTranslation.id },
268
314
  data: { name: translation },
269
315
  });
270
316
  }
271
317
  else {
272
- // Create new translation
273
318
  await this.prismaService.menu_locale.create({
274
319
  data: {
275
320
  menu_id: id,
@@ -1 +1 @@
1
- {"version":3,"file":"menu.service.js","sourceRoot":"","sources":["../../src/menu/menu.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"menu.service.js","sourceRoot":"","sources":["../../src/menu/menu.service.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,17 @@
9
9
  role:
10
10
  - where:
11
11
  slug: admin-access
12
+ - url: /core/menu
13
+ order: 0
14
+ icon: menu
15
+ name:
16
+ en: Menus
17
+ pt: Menus
18
+ slug: /core/menu
19
+ relations:
20
+ role:
21
+ - where:
22
+ slug: admin
12
23
  - order: 1
13
24
  icon: settings-2
14
25
  name:
@@ -72,6 +72,18 @@
72
72
  slug: admin-access
73
73
  - where:
74
74
  slug: user
75
+ - url: /menu/stats
76
+ method: GET
77
+ relations:
78
+ role:
79
+ - where:
80
+ slug: admin
81
+ - url: /menu/all
82
+ method: GET
83
+ relations:
84
+ role:
85
+ - where:
86
+ slug: admin
75
87
  - url: /menu/system
76
88
  method: GET
77
89
  relations:
@@ -13,10 +13,10 @@ import { useApp } from '@hed-hog/next-app-provider';
13
13
  import { Link as LinkIcon, Unlink } from 'lucide-react';
14
14
  import { useTranslations } from 'next-intl';
15
15
  import Link from 'next/link';
16
- import FacebookIcon from '../../../../../public/facebook.svg';
17
- import GithubIcon from '../../../../../public/github.svg';
18
- import GoogleIcon from '../../../../../public/google.svg';
19
- import MicrosoftIcon from '../../../../../public/microsoft.svg';
16
+ import FacebookIcon from '../../../../../../../public/facebook.svg';
17
+ import GithubIcon from '../../../../../../../public/github.svg';
18
+ import GoogleIcon from '../../../../../../../public/google.svg';
19
+ import MicrosoftIcon from '../../../../../../../public/microsoft.svg';
20
20
 
21
21
  export function ConnectedAccounts() {
22
22
  const { getSettingValue, request, setAccessToken, showToastHandler, user } =
@@ -55,7 +55,7 @@ export default function AccountLayout({ children }: LayoutProps) {
55
55
  };
56
56
 
57
57
  const handleTabChange = (value: string) => {
58
- router.push(`/account/${value}`);
58
+ router.push(`/core/account/${value}`);
59
59
  };
60
60
 
61
61
  return (
@@ -1,5 +1,5 @@
1
1
  import { redirect } from 'next/navigation';
2
2
 
3
3
  export default function Page() {
4
- redirect('/account/profile');
4
+ redirect('/core/account/profile');
5
5
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hed-hog/core",
3
- "version": "0.0.197",
3
+ "version": "0.0.199",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "dependencies": {
@@ -30,11 +30,11 @@
30
30
  "speakeasy": "^2.0.0",
31
31
  "uuid": "^11.1.0",
32
32
  "@hed-hog/api-pagination": "0.0.5",
33
- "@hed-hog/api-mail": "0.0.7",
34
33
  "@hed-hog/api-prisma": "0.0.4",
34
+ "@hed-hog/api-mail": "0.0.7",
35
35
  "@hed-hog/api-locale": "0.0.11",
36
- "@hed-hog/api": "0.0.3",
37
- "@hed-hog/api-types": "0.0.1"
36
+ "@hed-hog/api-types": "0.0.1",
37
+ "@hed-hog/api": "0.0.3"
38
38
  },
39
39
  "exports": {
40
40
  ".": {
@@ -1,5 +1,5 @@
1
1
  import { getLocaleText } from '@hed-hog/api-locale';
2
- import { IsInt, IsNotEmpty, IsOptional, IsString, Min } from 'class-validator';
2
+ import { IsInt, IsNotEmpty, IsObject, IsOptional, IsString, Min } from 'class-validator';
3
3
 
4
4
  export class CreateDTO {
5
5
  @IsString({ message: (args) => getLocaleText('validation.slugMustBeString', args.value) })
@@ -22,5 +22,9 @@ export class CreateDTO {
22
22
  @IsInt({ message: (args) => getLocaleText('validation.orderMustBeNumber', args.value) })
23
23
  @Min(1)
24
24
  @IsOptional()
25
- menuId?: number;
25
+ menu_id?: number;
26
+
27
+ @IsObject()
28
+ @IsOptional()
29
+ locale?: Record<string, string>;
26
30
  }
@@ -20,4 +20,7 @@ export class UpdateDTO {
20
20
 
21
21
  @IsOptional()
22
22
  locale?: Record<string, string>;
23
+
24
+ @IsOptional()
25
+ menu_id?: number;
23
26
  }
@@ -2,16 +2,16 @@ import { Role, User } 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
- Body,
6
- Controller,
7
- Delete,
8
- Get,
9
- Inject,
10
- Param,
11
- ParseIntPipe,
12
- Patch,
13
- Post,
14
- forwardRef,
5
+ Body,
6
+ Controller,
7
+ Delete,
8
+ Get,
9
+ Inject,
10
+ Param,
11
+ ParseIntPipe,
12
+ Patch,
13
+ Post,
14
+ forwardRef,
15
15
  } from '@nestjs/common';
16
16
  import { DeleteDTO } from '../dto/delete.dto';
17
17
  import { UpdateIdsDTO } from '../dto/update-ids.dto';
@@ -33,6 +33,16 @@ export class MenuController {
33
33
  return this.menuService.getSystemMenu(locale, id);
34
34
  }
35
35
 
36
+ @Get('stats')
37
+ async stats() {
38
+ return this.menuService.stats();
39
+ }
40
+
41
+ @Get('all')
42
+ async listAll(@Locale() locale) {
43
+ return this.menuService.listAll(locale);
44
+ }
45
+
36
46
  @Get()
37
47
  async list(@Pagination() paginationParams, @Locale() locale) {
38
48
  return this.menuService.list(locale, paginationParams);
@@ -239,20 +239,49 @@ export class MenuService {
239
239
  return this.getMenus(locale, userId);
240
240
  }
241
241
 
242
+ async stats() {
243
+ const total = await this.prismaService.menu.count();
244
+ return { total };
245
+ }
246
+
247
+ async listAll(locale: string) {
248
+ const menus = await this.prismaService.menu.findMany({
249
+ orderBy: { order: 'asc' },
250
+ include: {
251
+ menu_locale: {
252
+ where: { locale: { code: locale } },
253
+ select: { name: true },
254
+ },
255
+ },
256
+ });
257
+ return menus.map((m: any) => itemTranslations('menu_locale', m));
258
+ }
259
+
242
260
  async list(locale: string, paginationParams: PaginationDTO) {
243
- const fields = ['url', 'icon'];
244
- const OR = this.prismaService.createInsensitiveSearch(
245
- fields,
246
- paginationParams,
247
- );
261
+ const search = paginationParams.search;
262
+ const whereOr: any[] = [];
263
+
264
+ if (search) {
265
+ whereOr.push(
266
+ { url: { contains: search, mode: 'insensitive' } },
267
+ { icon: { contains: search, mode: 'insensitive' } },
268
+ { slug: { contains: search, mode: 'insensitive' } },
269
+ {
270
+ menu_locale: {
271
+ some: {
272
+ name: { contains: search, mode: 'insensitive' },
273
+ locale: { code: locale },
274
+ },
275
+ },
276
+ },
277
+ );
278
+ }
248
279
 
249
280
  return this.paginationService.paginate(
250
281
  this.prismaService.menu,
251
282
  paginationParams,
252
283
  {
253
- where: {
254
- OR,
255
- },
284
+ where: whereOr.length ? { OR: whereOr } : {},
256
285
  include: {
257
286
  menu_locale: {
258
287
  where: {
@@ -270,25 +299,52 @@ export class MenuService {
270
299
  );
271
300
  }
272
301
 
273
- async get(locale:string,menuId: number) {
274
-
275
- const user = await this.prismaService.menu.findUnique({
302
+ async get(locale: string, menuId: number) {
303
+ const menu = await this.prismaService.menu.findUnique({
276
304
  where: { id: menuId },
305
+ include: {
306
+ menu_locale: {
307
+ include: {
308
+ locale: {
309
+ select: { code: true },
310
+ },
311
+ },
312
+ },
313
+ },
277
314
  });
278
315
 
279
- if (!user) {
316
+ if (!menu) {
280
317
  throw new NotFoundException(
281
- getLocaleText('menuNotFound', locale, 'Menu not found.'),
318
+ getLocaleText('menuNotFound', locale, 'Menu not found.'),
282
319
  );
283
320
  }
284
321
 
285
- return user;
322
+ return menu;
286
323
  }
287
324
 
288
- async create(_locale:string, { slug, url, icon, order, menuId }: CreateDTO) {
289
- return this.prismaService.menu.create({
290
- data: { slug, url, icon, order, menu_id: menuId },
325
+ async create(_locale: string, { slug, url, icon, order, menu_id, locale }: CreateDTO) {
326
+ const created = await this.prismaService.menu.create({
327
+ data: { slug, url, icon, order, menu_id },
291
328
  });
329
+
330
+ if (locale && typeof locale === 'object') {
331
+ for (const [localeCode, name] of Object.entries(locale)) {
332
+ const localeRecord = await this.prismaService.locale.findUnique({
333
+ where: { code: localeCode },
334
+ });
335
+ if (localeRecord && name) {
336
+ await this.prismaService.menu_locale.create({
337
+ data: {
338
+ menu_id: created.id,
339
+ locale_id: localeRecord.id,
340
+ name: name as string,
341
+ },
342
+ });
343
+ }
344
+ }
345
+ }
346
+
347
+ return created;
292
348
  }
293
349
 
294
350
  async update(locale:string, { id, data }: { id: number; data: UpdateDTO }) {
@@ -307,13 +363,11 @@ export class MenuService {
307
363
 
308
364
  const { locale: localeData, ...menuData } = data;
309
365
 
310
- // Update menu data
311
366
  const result = await this.prismaService.menu.update({
312
367
  where: { id },
313
- data: menuData,
368
+ data: menuData
314
369
  });
315
370
 
316
- // Update locale translations if provided
317
371
  if (localeData) {
318
372
  for (const [localeCode, translation] of Object.entries(localeData)) {
319
373
  const localeRecord = await this.prismaService.locale.findUnique({
@@ -321,7 +375,6 @@ export class MenuService {
321
375
  });
322
376
 
323
377
  if (localeRecord) {
324
- // Check if translation exists
325
378
  const existingTranslation = await this.prismaService.menu_locale.findFirst({
326
379
  where: {
327
380
  menu_id: id,
@@ -330,13 +383,11 @@ export class MenuService {
330
383
  });
331
384
 
332
385
  if (existingTranslation) {
333
- // Update existing translation
334
386
  await this.prismaService.menu_locale.update({
335
387
  where: { id: existingTranslation.id },
336
388
  data: { name: translation },
337
389
  });
338
390
  } else {
339
- // Create new translation
340
391
  await this.prismaService.menu_locale.create({
341
392
  data: {
342
393
  menu_id: id,