@hed-hog/core 0.0.151 → 0.0.153

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.
Files changed (108) hide show
  1. package/dist/dashboard/dashboard/dashboard.controller.d.ts +214 -9
  2. package/dist/dashboard/dashboard/dashboard.controller.d.ts.map +1 -1
  3. package/dist/dashboard/dashboard/dashboard.controller.js +35 -35
  4. package/dist/dashboard/dashboard/dashboard.controller.js.map +1 -1
  5. package/dist/dashboard/dashboard/dashboard.module.d.ts +1 -1
  6. package/dist/dashboard/dashboard/dashboard.module.d.ts.map +1 -1
  7. package/dist/dashboard/dashboard/dashboard.module.js +11 -6
  8. package/dist/dashboard/dashboard/dashboard.module.js.map +1 -1
  9. package/dist/dashboard/dashboard/dashboard.service.d.ts +217 -16
  10. package/dist/dashboard/dashboard/dashboard.service.d.ts.map +1 -1
  11. package/dist/dashboard/dashboard/dashboard.service.js +115 -28
  12. package/dist/dashboard/dashboard/dashboard.service.js.map +1 -1
  13. package/dist/dashboard/dashboard/dto/create.dto.d.ts +4 -2
  14. package/dist/dashboard/dashboard/dto/create.dto.d.ts.map +1 -1
  15. package/dist/dashboard/dashboard/dto/create.dto.js +10 -1
  16. package/dist/dashboard/dashboard/dto/create.dto.js.map +1 -1
  17. package/dist/dashboard/dashboard/dto/index.d.ts +5 -0
  18. package/dist/dashboard/dashboard/dto/index.d.ts.map +1 -0
  19. package/dist/dashboard/dashboard/dto/index.js +25 -0
  20. package/dist/dashboard/dashboard/dto/index.js.map +1 -0
  21. package/dist/dashboard/dashboard/dto/update.dto.d.ts +5 -4
  22. package/dist/dashboard/dashboard/dto/update.dto.d.ts.map +1 -1
  23. package/dist/dashboard/dashboard/dto/update.dto.js +27 -3
  24. package/dist/dashboard/dashboard/dto/update.dto.js.map +1 -1
  25. package/dist/dashboard/dashboard-component/dashboard-component.controller.d.ts +114 -9
  26. package/dist/dashboard/dashboard-component/dashboard-component.controller.d.ts.map +1 -1
  27. package/dist/dashboard/dashboard-component/dashboard-component.controller.js +35 -36
  28. package/dist/dashboard/dashboard-component/dashboard-component.controller.js.map +1 -1
  29. package/dist/dashboard/dashboard-component/dashboard-component.module.js +4 -3
  30. package/dist/dashboard/dashboard-component/dashboard-component.module.js.map +1 -1
  31. package/dist/dashboard/dashboard-component/dashboard-component.service.d.ts +116 -15
  32. package/dist/dashboard/dashboard-component/dashboard-component.service.d.ts.map +1 -1
  33. package/dist/dashboard/dashboard-component/dashboard-component.service.js +109 -22
  34. package/dist/dashboard/dashboard-component/dashboard-component.service.js.map +1 -1
  35. package/dist/dashboard/dashboard-component/dto/create.dto.d.ts +4 -2
  36. package/dist/dashboard/dashboard-component/dto/create.dto.d.ts.map +1 -1
  37. package/dist/dashboard/dashboard-component/dto/create.dto.js +10 -1
  38. package/dist/dashboard/dashboard-component/dto/create.dto.js.map +1 -1
  39. package/dist/dashboard/dashboard-component/dto/index.d.ts +5 -0
  40. package/dist/dashboard/dashboard-component/dto/index.d.ts.map +1 -0
  41. package/dist/dashboard/dashboard-component/dto/index.js +25 -0
  42. package/dist/dashboard/dashboard-component/dto/index.js.map +1 -0
  43. package/dist/dashboard/dashboard-component/dto/update.dto.d.ts +13 -4
  44. package/dist/dashboard/dashboard-component/dto/update.dto.d.ts.map +1 -1
  45. package/dist/dashboard/dashboard-component/dto/update.dto.js +67 -3
  46. package/dist/dashboard/dashboard-component/dto/update.dto.js.map +1 -1
  47. package/dist/dashboard/dashboard-core/dashboard-core.controller.d.ts +56 -0
  48. package/dist/dashboard/dashboard-core/dashboard-core.controller.d.ts.map +1 -1
  49. package/dist/dashboard/dashboard-core/dashboard-core.controller.js +65 -0
  50. package/dist/dashboard/dashboard-core/dashboard-core.controller.js.map +1 -1
  51. package/dist/dashboard/dashboard-core/dashboard-core.service.d.ts +52 -0
  52. package/dist/dashboard/dashboard-core/dashboard-core.service.d.ts.map +1 -1
  53. package/dist/dashboard/dashboard-core/dashboard-core.service.js +221 -0
  54. package/dist/dashboard/dashboard-core/dashboard-core.service.js.map +1 -1
  55. package/dist/dashboard/dashboard-item/dashboard-item.controller.d.ts +26 -29
  56. package/dist/dashboard/dashboard-item/dashboard-item.controller.d.ts.map +1 -1
  57. package/dist/dashboard/dashboard-item/dashboard-item.controller.js +24 -43
  58. package/dist/dashboard/dashboard-item/dashboard-item.controller.js.map +1 -1
  59. package/dist/dashboard/dashboard-item/dashboard-item.service.d.ts +30 -34
  60. package/dist/dashboard/dashboard-item/dashboard-item.service.d.ts.map +1 -1
  61. package/dist/dashboard/dashboard-item/dashboard-item.service.js +51 -35
  62. package/dist/dashboard/dashboard-item/dashboard-item.service.js.map +1 -1
  63. package/dist/dashboard/dashboard-item/dto/index.d.ts +5 -0
  64. package/dist/dashboard/dashboard-item/dto/index.d.ts.map +1 -0
  65. package/dist/dashboard/dashboard-item/dto/index.js +25 -0
  66. package/dist/dashboard/dashboard-item/dto/index.js.map +1 -0
  67. package/dist/dashboard/dashboard-item/dto/update.dto.d.ts +7 -4
  68. package/dist/dashboard/dashboard-item/dto/update.dto.d.ts.map +1 -1
  69. package/dist/dashboard/dashboard-item/dto/update.dto.js +42 -3
  70. package/dist/dashboard/dashboard-item/dto/update.dto.js.map +1 -1
  71. package/dist/dashboard/dashboard.module.js +1 -1
  72. package/dist/dashboard/dashboard.module.js.map +1 -1
  73. package/dist/oauth/oauth.controller.d.ts.map +1 -1
  74. package/dist/oauth/oauth.controller.js.map +1 -1
  75. package/dist/oauth/providers/microsoft-entra-id.provider.d.ts.map +1 -1
  76. package/dist/oauth/providers/microsoft-entra-id.provider.js +7 -4
  77. package/dist/oauth/providers/microsoft-entra-id.provider.js.map +1 -1
  78. package/dist/setting/setting.service.d.ts.map +1 -1
  79. package/dist/setting/setting.service.js +1 -0
  80. package/dist/setting/setting.service.js.map +1 -1
  81. package/hedhog/data/route.yaml +44 -14
  82. package/hedhog/data/setting_group.yaml +10 -0
  83. package/hedhog/query/dashboard-seed.sql +131 -0
  84. package/package.json +1 -1
  85. package/src/dashboard/dashboard/dashboard.controller.ts +26 -23
  86. package/src/dashboard/dashboard/dashboard.module.ts +7 -2
  87. package/src/dashboard/dashboard/dashboard.service.ts +125 -44
  88. package/src/dashboard/dashboard/dto/create.dto.ts +12 -3
  89. package/src/dashboard/dashboard/dto/index.ts +7 -0
  90. package/src/dashboard/dashboard/dto/update.dto.ts +17 -3
  91. package/src/dashboard/dashboard-component/dashboard-component.controller.ts +22 -19
  92. package/src/dashboard/dashboard-component/dashboard-component.module.ts +3 -3
  93. package/src/dashboard/dashboard-component/dashboard-component.service.ts +128 -39
  94. package/src/dashboard/dashboard-component/dto/create.dto.ts +12 -3
  95. package/src/dashboard/dashboard-component/dto/index.ts +7 -0
  96. package/src/dashboard/dashboard-component/dto/update.dto.ts +49 -3
  97. package/src/dashboard/dashboard-core/dashboard-core.controller.ts +53 -2
  98. package/src/dashboard/dashboard-core/dashboard-core.service.ts +271 -0
  99. package/src/dashboard/dashboard-item/dashboard-item.controller.ts +17 -26
  100. package/src/dashboard/dashboard-item/dashboard-item.service.ts +55 -47
  101. package/src/dashboard/dashboard-item/dto/index.ts +7 -0
  102. package/src/dashboard/dashboard-item/dto/update.dto.ts +27 -3
  103. package/src/dashboard/dashboard.module.ts +2 -2
  104. package/src/language/en.json +4 -1
  105. package/src/language/pt.json +4 -1
  106. package/src/oauth/oauth.controller.ts +1 -2
  107. package/src/oauth/providers/microsoft-entra-id.provider.ts +9 -4
  108. package/src/setting/setting.service.ts +1 -0
@@ -24,6 +24,24 @@ let DashboardCoreController = class DashboardCoreController {
24
24
  fromSlug(slug, locale) {
25
25
  return this.dashboardCoreService.fromSlug(slug, locale);
26
26
  }
27
+ getStatistics() {
28
+ return this.dashboardCoreService.getStatistics();
29
+ }
30
+ getUserGrowth() {
31
+ return this.dashboardCoreService.getUserGrowth();
32
+ }
33
+ getUserLayout(user, slug) {
34
+ return this.dashboardCoreService.getUserLayout(user.id, slug);
35
+ }
36
+ saveUserLayout(user, slug, body) {
37
+ return this.dashboardCoreService.saveUserLayout(user.id, slug, body.layout);
38
+ }
39
+ addWidget(user, slug, body) {
40
+ return this.dashboardCoreService.addWidgetToUserDashboard(user.id, slug, body.componentSlug);
41
+ }
42
+ removeWidget(user, slug, widgetId) {
43
+ return this.dashboardCoreService.removeWidgetFromUserDashboard(user.id, slug, widgetId);
44
+ }
27
45
  };
28
46
  exports.DashboardCoreController = DashboardCoreController;
29
47
  __decorate([
@@ -34,6 +52,53 @@ __decorate([
34
52
  __metadata("design:paramtypes", [String, Object]),
35
53
  __metadata("design:returntype", void 0)
36
54
  ], DashboardCoreController.prototype, "fromSlug", null);
55
+ __decorate([
56
+ (0, common_1.Get)('stats/overview'),
57
+ __metadata("design:type", Function),
58
+ __metadata("design:paramtypes", []),
59
+ __metadata("design:returntype", void 0)
60
+ ], DashboardCoreController.prototype, "getStatistics", null);
61
+ __decorate([
62
+ (0, common_1.Get)('stats/user-growth'),
63
+ __metadata("design:type", Function),
64
+ __metadata("design:paramtypes", []),
65
+ __metadata("design:returntype", void 0)
66
+ ], DashboardCoreController.prototype, "getUserGrowth", null);
67
+ __decorate([
68
+ (0, common_1.Get)('layout/:slug'),
69
+ __param(0, (0, api_1.User)()),
70
+ __param(1, (0, common_1.Param)('slug')),
71
+ __metadata("design:type", Function),
72
+ __metadata("design:paramtypes", [Object, String]),
73
+ __metadata("design:returntype", void 0)
74
+ ], DashboardCoreController.prototype, "getUserLayout", null);
75
+ __decorate([
76
+ (0, common_1.Post)('layout/:slug'),
77
+ __param(0, (0, api_1.User)()),
78
+ __param(1, (0, common_1.Param)('slug')),
79
+ __param(2, (0, common_1.Body)()),
80
+ __metadata("design:type", Function),
81
+ __metadata("design:paramtypes", [Object, String, Object]),
82
+ __metadata("design:returntype", void 0)
83
+ ], DashboardCoreController.prototype, "saveUserLayout", null);
84
+ __decorate([
85
+ (0, common_1.Post)('widget/:slug'),
86
+ __param(0, (0, api_1.User)()),
87
+ __param(1, (0, common_1.Param)('slug')),
88
+ __param(2, (0, common_1.Body)()),
89
+ __metadata("design:type", Function),
90
+ __metadata("design:paramtypes", [Object, String, Object]),
91
+ __metadata("design:returntype", void 0)
92
+ ], DashboardCoreController.prototype, "addWidget", null);
93
+ __decorate([
94
+ (0, common_1.Delete)('widget/:slug/:widgetId'),
95
+ __param(0, (0, api_1.User)()),
96
+ __param(1, (0, common_1.Param)('slug')),
97
+ __param(2, (0, common_1.Param)('widgetId')),
98
+ __metadata("design:type", Function),
99
+ __metadata("design:paramtypes", [Object, String, String]),
100
+ __metadata("design:returntype", void 0)
101
+ ], DashboardCoreController.prototype, "removeWidget", null);
37
102
  exports.DashboardCoreController = DashboardCoreController = __decorate([
38
103
  (0, api_1.Role)(),
39
104
  (0, common_1.Controller)('dashboard-core'),
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard-core.controller.js","sourceRoot":"","sources":["../../../src/dashboard/dashboard-core/dashboard-core.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,sCAAoC;AACpC,oDAA6C;AAC7C,2CAAwD;AACxD,qEAAgE;AAGzD,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAClC,YAA6B,oBAA0C;QAA1C,yBAAoB,GAApB,oBAAoB,CAAsB;IAAG,CAAC;IAG3E,QAAQ,CAAgB,IAAY,EAAY,MAAM;QACpD,OAAO,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC1D,CAAC;CACF,CAAA;AAPY,0DAAuB;AAIlC;IADC,IAAA,YAAG,EAAC,OAAO,CAAC;IACH,WAAA,IAAA,cAAK,EAAC,MAAM,CAAC,CAAA;IAAgB,WAAA,IAAA,mBAAM,GAAE,CAAA;;;;uDAE9C;kCANU,uBAAuB;IAFnC,IAAA,UAAI,GAAE;IACN,IAAA,mBAAU,EAAC,gBAAgB,CAAC;qCAEwB,6CAAoB;GAD5D,uBAAuB,CAOnC"}
1
+ {"version":3,"file":"dashboard-core.controller.js","sourceRoot":"","sources":["../../../src/dashboard/dashboard-core/dashboard-core.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,sCAA0C;AAC1C,oDAA6C;AAC7C,2CAA4E;AAC5E,qEAAgE;AAIzD,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAClC,YAA6B,oBAA0C;QAA1C,yBAAoB,GAApB,oBAAoB,CAAsB;IAAG,CAAC;IAG3E,QAAQ,CAAgB,IAAY,EAAY,MAAM;QACpD,OAAO,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC1D,CAAC;IAGD,aAAa;QACX,OAAO,IAAI,CAAC,oBAAoB,CAAC,aAAa,EAAE,CAAC;IACnD,CAAC;IAGD,aAAa;QACX,OAAO,IAAI,CAAC,oBAAoB,CAAC,aAAa,EAAE,CAAC;IACnD,CAAC;IAGD,aAAa,CAAS,IAAI,EAAiB,IAAY;QACrD,OAAO,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAChE,CAAC;IAGD,cAAc,CACJ,IAAI,EACG,IAAY,EACnB,IAAkF;QAE1F,OAAO,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9E,CAAC;IAGD,SAAS,CACC,IAAI,EACG,IAAY,EACnB,IAA+B;QAEvC,OAAO,IAAI,CAAC,oBAAoB,CAAC,wBAAwB,CACvD,IAAI,CAAC,EAAE,EACP,IAAI,EACJ,IAAI,CAAC,aAAa,CACnB,CAAC;IACJ,CAAC;IAGD,YAAY,CACF,IAAI,EACG,IAAY,EACR,QAAgB;QAEnC,OAAO,IAAI,CAAC,oBAAoB,CAAC,6BAA6B,CAC5D,IAAI,CAAC,EAAE,EACP,IAAI,EACJ,QAAQ,CACT,CAAC;IACJ,CAAC;CACF,CAAA;AAzDY,0DAAuB;AAIlC;IADC,IAAA,YAAG,EAAC,OAAO,CAAC;IACH,WAAA,IAAA,cAAK,EAAC,MAAM,CAAC,CAAA;IAAgB,WAAA,IAAA,mBAAM,GAAE,CAAA;;;;uDAE9C;AAGD;IADC,IAAA,YAAG,EAAC,gBAAgB,CAAC;;;;4DAGrB;AAGD;IADC,IAAA,YAAG,EAAC,mBAAmB,CAAC;;;;4DAGxB;AAGD;IADC,IAAA,YAAG,EAAC,cAAc,CAAC;IACL,WAAA,IAAA,UAAI,GAAE,CAAA;IAAQ,WAAA,IAAA,cAAK,EAAC,MAAM,CAAC,CAAA;;;;4DAEzC;AAGD;IADC,IAAA,aAAI,EAAC,cAAc,CAAC;IAElB,WAAA,IAAA,UAAI,GAAE,CAAA;IACN,WAAA,IAAA,cAAK,EAAC,MAAM,CAAC,CAAA;IACb,WAAA,IAAA,aAAI,GAAE,CAAA;;;;6DAGR;AAGD;IADC,IAAA,aAAI,EAAC,cAAc,CAAC;IAElB,WAAA,IAAA,UAAI,GAAE,CAAA;IACN,WAAA,IAAA,cAAK,EAAC,MAAM,CAAC,CAAA;IACb,WAAA,IAAA,aAAI,GAAE,CAAA;;;;wDAOR;AAGD;IADC,IAAA,eAAM,EAAC,wBAAwB,CAAC;IAE9B,WAAA,IAAA,UAAI,GAAE,CAAA;IACN,WAAA,IAAA,cAAK,EAAC,MAAM,CAAC,CAAA;IACb,WAAA,IAAA,cAAK,EAAC,UAAU,CAAC,CAAA;;;;2DAOnB;kCAxDU,uBAAuB;IAFnC,IAAA,UAAI,GAAE;IACN,IAAA,mBAAU,EAAC,gBAAgB,CAAC;qCAEwB,6CAAoB;GAD5D,uBAAuB,CAyDnC"}
@@ -48,5 +48,57 @@ export declare class DashboardCoreService {
48
48
  x_axis: number;
49
49
  y_axis: number;
50
50
  })[]>;
51
+ getStatistics(): Promise<{
52
+ totalUsers: number;
53
+ recentUsers: number;
54
+ activeUsers: number;
55
+ totalRoles: number;
56
+ totalMenus: number;
57
+ totalRoutes: number;
58
+ }>;
59
+ getUserGrowth(): Promise<{
60
+ date: Date;
61
+ count: number;
62
+ }[]>;
63
+ getUserLayout(userId: number, slug: string): Promise<{
64
+ i: string;
65
+ component_id: number;
66
+ slug: string;
67
+ x: number;
68
+ y: number;
69
+ w: number;
70
+ h: number;
71
+ minW: number;
72
+ maxW: number;
73
+ minH: number;
74
+ maxH: number;
75
+ isResizable: boolean;
76
+ }[]>;
77
+ saveUserLayout(userId: number, slug: string, layout: Array<{
78
+ i: string;
79
+ x: number;
80
+ y: number;
81
+ w: number;
82
+ h: number;
83
+ }>): Promise<{
84
+ success: boolean;
85
+ }>;
86
+ addWidgetToUserDashboard(userId: number, slug: string, componentSlug: string): Promise<{
87
+ i: string;
88
+ component_id: number;
89
+ slug: string;
90
+ x: number;
91
+ y: number;
92
+ w: number;
93
+ h: number;
94
+ minW: number;
95
+ maxW: number;
96
+ minH: number;
97
+ maxH: number;
98
+ isResizable: boolean;
99
+ }>;
100
+ removeWidgetFromUserDashboard(userId: number, slug: string, widgetId: string): Promise<{
101
+ success: boolean;
102
+ }>;
51
103
  }
52
104
  //# sourceMappingURL=dashboard-core.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard-core.service.d.ts","sourceRoot":"","sources":["../../../src/dashboard/dashboard-core/dashboard-core.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGpD,qBACa,oBAAoB;IACnB,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAAb,aAAa,EAAE,aAAa;IAEnD,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmB1C"}
1
+ {"version":3,"file":"dashboard-core.service.d.ts","sourceRoot":"","sources":["../../../src/dashboard/dashboard-core/dashboard-core.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGpD,qBACa,oBAAoB;IACnB,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAAb,aAAa,EAAE,aAAa;IAEnD,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAoBnC,aAAa;;;;;;;;IA6Cb,aAAa;;;;IAqBb,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;;;;;;;;;;;;;;IAqC1C,cAAc,CAClB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,KAAK,CAAC;QACZ,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;KACX,CAAC;;;IAoEE,wBAAwB,CAC5B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM;;;;;;;;;;;;;;IAsEjB,6BAA6B,CACjC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM;;;CAcnB"}
@@ -35,6 +35,227 @@ let DashboardCoreService = class DashboardCoreService {
35
35
  },
36
36
  });
37
37
  }
38
+ async getStatistics() {
39
+ const now = new Date();
40
+ const sevenDaysAgo = new Date(now.getTime() - 7 * 24 * 60 * 60 * 1000);
41
+ const thirtyDaysAgo = new Date(now.getTime() - 30 * 24 * 60 * 60 * 1000);
42
+ // Total de usuários
43
+ const totalUsers = await this.prismaService.user.count();
44
+ // Usuários criados nos últimos 7 dias
45
+ const recentUsers = await this.prismaService.user.count({
46
+ where: {
47
+ created_at: {
48
+ gte: sevenDaysAgo,
49
+ },
50
+ },
51
+ });
52
+ // Usuários ativos (criados nos últimos 30 dias como aproximação)
53
+ const activeUsers = await this.prismaService.user.count({
54
+ where: {
55
+ created_at: {
56
+ gte: thirtyDaysAgo,
57
+ },
58
+ },
59
+ });
60
+ // Total de roles
61
+ const totalRoles = await this.prismaService.role.count();
62
+ // Total de menus
63
+ const totalMenus = await this.prismaService.menu.count();
64
+ // Total de rotas
65
+ const totalRoutes = await this.prismaService.route.count();
66
+ return {
67
+ totalUsers,
68
+ recentUsers,
69
+ activeUsers,
70
+ totalRoles,
71
+ totalMenus,
72
+ totalRoutes,
73
+ };
74
+ }
75
+ async getUserGrowth() {
76
+ const now = new Date();
77
+ const thirtyDaysAgo = new Date(now.getTime() - 30 * 24 * 60 * 60 * 1000);
78
+ // Contagem de usuários criados por dia nos últimos 30 dias
79
+ const usersByDay = await this.prismaService.$queryRaw `
80
+ SELECT DATE("created_at") as date, COUNT(*) as count
81
+ FROM "user"
82
+ WHERE "created_at" >= ${thirtyDaysAgo}
83
+ GROUP BY DATE("created_at")
84
+ ORDER BY date ASC
85
+ `;
86
+ return usersByDay.map((item) => ({
87
+ date: item.date,
88
+ count: Number(item.count),
89
+ }));
90
+ }
91
+ async getUserLayout(userId, slug) {
92
+ // Busca os itens do dashboard para este slug
93
+ const dashboardItems = await this.prismaService.dashboard_item.findMany({
94
+ where: {
95
+ dashboard: {
96
+ slug,
97
+ },
98
+ },
99
+ include: {
100
+ dashboard_user: {
101
+ where: {
102
+ user_id: userId,
103
+ },
104
+ },
105
+ dashboard_component: true,
106
+ },
107
+ });
108
+ return dashboardItems.map((item) => {
109
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
110
+ const userLayout = item.dashboard_user[0];
111
+ return {
112
+ i: `widget-${item.id}`,
113
+ component_id: item.component_id,
114
+ slug: item.dashboard_component.slug,
115
+ x: (_b = (_a = userLayout === null || userLayout === void 0 ? void 0 : userLayout.x_axis) !== null && _a !== void 0 ? _a : item.x_axis) !== null && _b !== void 0 ? _b : 0,
116
+ y: (_d = (_c = userLayout === null || userLayout === void 0 ? void 0 : userLayout.y_axis) !== null && _c !== void 0 ? _c : item.y_axis) !== null && _d !== void 0 ? _d : 0,
117
+ w: (_f = (_e = userLayout === null || userLayout === void 0 ? void 0 : userLayout.width) !== null && _e !== void 0 ? _e : item.width) !== null && _f !== void 0 ? _f : 2,
118
+ h: (_h = (_g = userLayout === null || userLayout === void 0 ? void 0 : userLayout.height) !== null && _g !== void 0 ? _g : item.height) !== null && _h !== void 0 ? _h : 2,
119
+ minW: item.dashboard_component.min_width,
120
+ maxW: item.dashboard_component.max_width,
121
+ minH: item.dashboard_component.min_height,
122
+ maxH: item.dashboard_component.max_height,
123
+ isResizable: (_j = item.dashboard_component.is_resizable) !== null && _j !== void 0 ? _j : true,
124
+ };
125
+ });
126
+ }
127
+ async saveUserLayout(userId, slug, layout) {
128
+ // Busca o dashboard
129
+ const dashboard = await this.prismaService.dashboard.findFirst({
130
+ where: { slug },
131
+ });
132
+ if (!dashboard) {
133
+ throw new Error(`Dashboard with slug '${slug}' not found`);
134
+ }
135
+ // Para cada item do layout, salva ou atualiza o dashboard_user
136
+ for (const item of layout) {
137
+ // Extrai o ID do item do identificador
138
+ const itemId = parseInt(item.i.replace('widget-', ''));
139
+ // Verifica se o item existe
140
+ const dashboardItem = await this.prismaService.dashboard_item.findFirst({
141
+ where: {
142
+ id: itemId,
143
+ dashboard_id: dashboard.id,
144
+ },
145
+ });
146
+ if (!dashboardItem) {
147
+ continue;
148
+ }
149
+ // Busca se já existe um dashboard_user para este item e usuário
150
+ const existingUserLayout = await this.prismaService.dashboard_user.findFirst({
151
+ where: {
152
+ item_id: itemId,
153
+ user_id: userId,
154
+ },
155
+ });
156
+ if (existingUserLayout) {
157
+ // Atualiza o layout existente
158
+ await this.prismaService.dashboard_user.update({
159
+ where: {
160
+ id: existingUserLayout.id,
161
+ },
162
+ data: {
163
+ x_axis: item.x,
164
+ y_axis: item.y,
165
+ width: item.w,
166
+ height: item.h,
167
+ },
168
+ });
169
+ }
170
+ else {
171
+ // Cria um novo layout de usuário
172
+ await this.prismaService.dashboard_user.create({
173
+ data: {
174
+ item_id: itemId,
175
+ user_id: userId,
176
+ x_axis: item.x,
177
+ y_axis: item.y,
178
+ width: item.w,
179
+ height: item.h,
180
+ },
181
+ });
182
+ }
183
+ }
184
+ return { success: true };
185
+ }
186
+ async addWidgetToUserDashboard(userId, slug, componentSlug) {
187
+ var _a;
188
+ // Busca o dashboard
189
+ const dashboard = await this.prismaService.dashboard.findFirst({
190
+ where: { slug },
191
+ });
192
+ if (!dashboard) {
193
+ throw new Error(`Dashboard with slug '${slug}' not found`);
194
+ }
195
+ // Busca o componente
196
+ const component = await this.prismaService.dashboard_component.findFirst({
197
+ where: { slug: componentSlug },
198
+ });
199
+ if (!component) {
200
+ throw new Error(`Component with slug '${componentSlug}' not found`);
201
+ }
202
+ // Verifica se já existe um item para este componente no dashboard
203
+ let dashboardItem = await this.prismaService.dashboard_item.findFirst({
204
+ where: {
205
+ dashboard_id: dashboard.id,
206
+ component_id: component.id,
207
+ },
208
+ });
209
+ // Se não existe, cria um novo item
210
+ if (!dashboardItem) {
211
+ dashboardItem = await this.prismaService.dashboard_item.create({
212
+ data: {
213
+ dashboard_id: dashboard.id,
214
+ component_id: component.id,
215
+ width: component.width,
216
+ height: component.height,
217
+ x_axis: 0,
218
+ y_axis: 0,
219
+ },
220
+ });
221
+ }
222
+ // Cria um registro de dashboard_user para este usuário
223
+ const userLayout = await this.prismaService.dashboard_user.create({
224
+ data: {
225
+ item_id: dashboardItem.id,
226
+ user_id: userId,
227
+ width: component.width,
228
+ height: component.height,
229
+ x_axis: 0,
230
+ y_axis: 999, // Coloca no final
231
+ },
232
+ });
233
+ return {
234
+ i: `widget-${dashboardItem.id}`,
235
+ component_id: component.id,
236
+ slug: component.slug,
237
+ x: userLayout.x_axis,
238
+ y: userLayout.y_axis,
239
+ w: userLayout.width,
240
+ h: userLayout.height,
241
+ minW: component.min_width,
242
+ maxW: component.max_width,
243
+ minH: component.min_height,
244
+ maxH: component.max_height,
245
+ isResizable: (_a = component.is_resizable) !== null && _a !== void 0 ? _a : true,
246
+ };
247
+ }
248
+ async removeWidgetFromUserDashboard(userId, slug, widgetId) {
249
+ const itemId = parseInt(widgetId.replace('widget-', ''));
250
+ // Remove o dashboard_user
251
+ await this.prismaService.dashboard_user.deleteMany({
252
+ where: {
253
+ item_id: itemId,
254
+ user_id: userId,
255
+ },
256
+ });
257
+ return { success: true };
258
+ }
38
259
  };
39
260
  exports.DashboardCoreService = DashboardCoreService;
40
261
  exports.DashboardCoreService = DashboardCoreService = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard-core.service.js","sourceRoot":"","sources":["../../../src/dashboard/dashboard-core/dashboard-core.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAAoD;AACpD,2CAA4C;AAGrC,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAC/B,YAA6B,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;IAAG,CAAC;IAE7D,KAAK,CAAC,QAAQ,CAAC,IAAY,EAAE,IAAY;QACvC,OAAO,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,QAAQ,CAAC;YAChD,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,EAAE;YAC9B,OAAO,EAAE;gBACP,cAAc,EAAE,IAAI;gBACpB,mBAAmB,EAAE;oBACnB,OAAO,EAAE;wBACP,0BAA0B,EAAE;4BAC1B,KAAK,EAAE;gCACL,MAAM,EAAE;oCACN,IAAI;iCACL;6BACF;yBACF;qBACF;iBACF;aACF;SACF,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAtBY,oDAAoB;+BAApB,oBAAoB;IADhC,IAAA,mBAAU,GAAE;qCAEiC,0BAAa;GAD9C,oBAAoB,CAsBhC"}
1
+ {"version":3,"file":"dashboard-core.service.js","sourceRoot":"","sources":["../../../src/dashboard/dashboard-core/dashboard-core.service.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,9 @@
1
- import { CreateDTO } from './dto/create.dto';
2
- import { UpdateDTO } from './dto/update.dto';
3
1
  import { DashboardItemService } from './dashboard-item.service';
4
- import { DeleteDTO } from '@hed-hog/api';
2
+ import { CreateDashboardItemDTO } from './dto';
5
3
  export declare class DashboardItemController {
6
4
  private readonly dashboardItemService;
7
5
  constructor(dashboardItemService: DashboardItemService);
8
- list(paginationParams: any): Promise<{
6
+ getAllDashboardItems(paginationParams: any, locale: string, dashboardId?: string): Promise<{
9
7
  total: any;
10
8
  lastPage: number;
11
9
  page: number;
@@ -14,7 +12,28 @@ export declare class DashboardItemController {
14
12
  next: number;
15
13
  data: any[];
16
14
  }>;
17
- get(id: number): Promise<{
15
+ createDashboardItem(data: CreateDashboardItemDTO, locale: string): Promise<{
16
+ dashboard: {
17
+ id: number;
18
+ created_at: Date;
19
+ updated_at: Date;
20
+ slug: string;
21
+ };
22
+ dashboard_component: {
23
+ path: string;
24
+ width: number;
25
+ id: number;
26
+ created_at: Date;
27
+ updated_at: Date;
28
+ slug: string;
29
+ min_width: number;
30
+ max_width: number | null;
31
+ min_height: number;
32
+ max_height: number | null;
33
+ height: number;
34
+ is_resizable: boolean;
35
+ };
36
+ } & {
18
37
  width: number;
19
38
  id: number;
20
39
  created_at: Date;
@@ -25,30 +44,8 @@ export declare class DashboardItemController {
25
44
  x_axis: number;
26
45
  y_axis: number;
27
46
  }>;
28
- create(data: CreateDTO): Promise<{
29
- width: number;
30
- id: number;
31
- created_at: Date;
32
- updated_at: Date;
33
- height: number;
34
- component_id: number;
35
- dashboard_id: number;
36
- x_axis: number;
37
- y_axis: number;
38
- }>;
39
- update(id: number, data: UpdateDTO): Promise<{
40
- width: number;
41
- id: number;
42
- created_at: Date;
43
- updated_at: Date;
44
- height: number;
45
- component_id: number;
46
- dashboard_id: number;
47
- x_axis: number;
48
- y_axis: number;
49
- }>;
50
- delete(data: DeleteDTO): Promise<{
51
- count: number;
47
+ deleteDashboardItem(id: number, locale: string): Promise<{
48
+ success: boolean;
52
49
  }>;
53
50
  }
54
51
  //# sourceMappingURL=dashboard-item.controller.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard-item.controller.d.ts","sourceRoot":"","sources":["../../../src/dashboard/dashboard-item/dashboard-item.controller.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAQ,SAAS,EAAE,MAAM,cAAc,CAAC;AAE/C,qBAEa,uBAAuB;IAGhC,OAAO,CAAC,QAAQ,CAAC,oBAAoB;gBAApB,oBAAoB,EAAE,oBAAoB;IAIvD,IAAI,CAAe,gBAAgB,KAAA;;;;;;;;;IAKnC,GAAG,CAA4B,EAAE,EAAE,MAAM;;;;;;;;;;;IAKzC,MAAM,CAAS,IAAI,EAAE,SAAS;;;;;;;;;;;IAK9B,MAAM,CAA4B,EAAE,EAAE,MAAM,EAAU,IAAI,EAAE,SAAS;;;;;;;;;;;IAQrE,MAAM,CAAS,IAAI,EAAE,SAAS;;;CAGrC"}
1
+ {"version":3,"file":"dashboard-item.controller.d.ts","sourceRoot":"","sources":["../../../src/dashboard/dashboard-item/dashboard-item.controller.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,OAAO,CAAC;AAE/C,qBAEa,uBAAuB;IAGhC,OAAO,CAAC,QAAQ,CAAC,oBAAoB;gBAApB,oBAAoB,EAAE,oBAAoB;IAI7D,oBAAoB,CACJ,gBAAgB,KAAA,EACpB,MAAM,EAAE,MAAM,EACF,WAAW,CAAC,EAAE,MAAM;;;;;;;;;IAO5C,mBAAmB,CAAS,IAAI,EAAE,sBAAsB,EAAY,MAAM,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAKlF,mBAAmB,CAA4B,EAAE,EAAE,MAAM,EAAY,MAAM,EAAE,MAAM;;;CAGpF"}
@@ -13,72 +13,53 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.DashboardItemController = 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
- const create_dto_1 = require("./dto/create.dto");
19
- const update_dto_1 = require("./dto/update.dto");
20
20
  const dashboard_item_service_1 = require("./dashboard-item.service");
21
- const api_1 = require("@hed-hog/api");
21
+ const dto_1 = require("./dto");
22
22
  let DashboardItemController = class DashboardItemController {
23
23
  constructor(dashboardItemService) {
24
24
  this.dashboardItemService = dashboardItemService;
25
25
  }
26
- async list(paginationParams) {
27
- return this.dashboardItemService.list(paginationParams);
28
- }
29
- async get(id) {
30
- return this.dashboardItemService.get(id);
26
+ getAllDashboardItems(paginationParams, locale, dashboardId) {
27
+ const id = dashboardId ? parseInt(dashboardId) : undefined;
28
+ return this.dashboardItemService.getAllDashboardItems(paginationParams, locale, id);
31
29
  }
32
- async create(data) {
33
- return this.dashboardItemService.create(data);
30
+ createDashboardItem(data, locale) {
31
+ return this.dashboardItemService.createDashboardItem(data, locale);
34
32
  }
35
- async update(id, data) {
36
- return this.dashboardItemService.update({
37
- id,
38
- data,
39
- });
40
- }
41
- async delete(data) {
42
- return this.dashboardItemService.delete(data);
33
+ deleteDashboardItem(id, locale) {
34
+ return this.dashboardItemService.deleteDashboardItem(id, locale);
43
35
  }
44
36
  };
45
37
  exports.DashboardItemController = DashboardItemController;
46
38
  __decorate([
47
39
  (0, common_1.Get)(),
48
40
  __param(0, (0, api_pagination_1.Pagination)()),
41
+ __param(1, (0, api_locale_1.Locale)()),
42
+ __param(2, (0, common_1.Query)('dashboardId')),
49
43
  __metadata("design:type", Function),
50
- __metadata("design:paramtypes", [Object]),
51
- __metadata("design:returntype", Promise)
52
- ], DashboardItemController.prototype, "list", null);
53
- __decorate([
54
- (0, common_1.Get)(':id'),
55
- __param(0, (0, common_1.Param)('id', common_1.ParseIntPipe)),
56
- __metadata("design:type", Function),
57
- __metadata("design:paramtypes", [Number]),
58
- __metadata("design:returntype", Promise)
59
- ], DashboardItemController.prototype, "get", null);
44
+ __metadata("design:paramtypes", [Object, String, String]),
45
+ __metadata("design:returntype", void 0)
46
+ ], DashboardItemController.prototype, "getAllDashboardItems", null);
60
47
  __decorate([
61
48
  (0, common_1.Post)(),
62
49
  __param(0, (0, common_1.Body)()),
50
+ __param(1, (0, api_locale_1.Locale)()),
63
51
  __metadata("design:type", Function),
64
- __metadata("design:paramtypes", [create_dto_1.CreateDTO]),
65
- __metadata("design:returntype", Promise)
66
- ], DashboardItemController.prototype, "create", null);
52
+ __metadata("design:paramtypes", [dto_1.CreateDashboardItemDTO, String]),
53
+ __metadata("design:returntype", void 0)
54
+ ], DashboardItemController.prototype, "createDashboardItem", null);
67
55
  __decorate([
68
- (0, common_1.Patch)(':id'),
56
+ (0, common_1.Delete)(':id'),
69
57
  __param(0, (0, common_1.Param)('id', common_1.ParseIntPipe)),
70
- __param(1, (0, common_1.Body)()),
71
- __metadata("design:type", Function),
72
- __metadata("design:paramtypes", [Number, update_dto_1.UpdateDTO]),
73
- __metadata("design:returntype", Promise)
74
- ], DashboardItemController.prototype, "update", null);
75
- __decorate([
76
- (0, common_1.Delete)(),
77
- __param(0, (0, common_1.Body)()),
58
+ __param(1, (0, api_locale_1.Locale)()),
78
59
  __metadata("design:type", Function),
79
- __metadata("design:paramtypes", [api_1.DeleteDTO]),
80
- __metadata("design:returntype", Promise)
81
- ], DashboardItemController.prototype, "delete", null);
60
+ __metadata("design:paramtypes", [Number, String]),
61
+ __metadata("design:returntype", void 0)
62
+ ], DashboardItemController.prototype, "deleteDashboardItem", null);
82
63
  exports.DashboardItemController = DashboardItemController = __decorate([
83
64
  (0, api_1.Role)(),
84
65
  (0, common_1.Controller)('dashboard-item'),
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard-item.controller.js","sourceRoot":"","sources":["../../../src/dashboard/dashboard-item/dashboard-item.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,4DAAqD;AAErD,2CAWwB;AACxB,iDAA6C;AAC7C,iDAA6C;AAC7C,qEAAgE;AAChE,sCAA+C;AAIxC,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAClC,YAEmB,oBAA0C;QAA1C,yBAAoB,GAApB,oBAAoB,CAAsB;IAC1D,CAAC;IAGE,AAAN,KAAK,CAAC,IAAI,CAAe,gBAAgB;QACvC,OAAO,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC1D,CAAC;IAGK,AAAN,KAAK,CAAC,GAAG,CAA4B,EAAU;QAC7C,OAAO,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC3C,CAAC;IAGK,AAAN,KAAK,CAAC,MAAM,CAAS,IAAe;QAClC,OAAO,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAGK,AAAN,KAAK,CAAC,MAAM,CAA4B,EAAU,EAAU,IAAe;QACzE,OAAO,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC;YACtC,EAAE;YACF,IAAI;SACL,CAAC,CAAC;IACL,CAAC;IAGK,AAAN,KAAK,CAAC,MAAM,CAAS,IAAe;QAClC,OAAO,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;CACF,CAAA;AAjCY,0DAAuB;AAO5B;IADL,IAAA,YAAG,GAAE;IACM,WAAA,IAAA,2BAAU,GAAE,CAAA;;;;mDAEvB;AAGK;IADL,IAAA,YAAG,EAAC,KAAK,CAAC;IACA,WAAA,IAAA,cAAK,EAAC,IAAI,EAAE,qBAAY,CAAC,CAAA;;;;kDAEnC;AAGK;IADL,IAAA,aAAI,GAAE;IACO,WAAA,IAAA,aAAI,GAAE,CAAA;;qCAAO,sBAAS;;qDAEnC;AAGK;IADL,IAAA,cAAK,EAAC,KAAK,CAAC;IACC,WAAA,IAAA,cAAK,EAAC,IAAI,EAAE,qBAAY,CAAC,CAAA;IAAc,WAAA,IAAA,aAAI,GAAE,CAAA;;6CAAO,sBAAS;;qDAK1E;AAGK;IADL,IAAA,eAAM,GAAE;IACK,WAAA,IAAA,aAAI,GAAE,CAAA;;qCAAO,eAAS;;qDAEnC;kCAhCU,uBAAuB;IAFnC,IAAA,UAAI,GAAE;IACN,IAAA,mBAAU,EAAC,gBAAgB,CAAC;IAGxB,WAAA,IAAA,eAAM,EAAC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,6CAAoB,CAAC,CAAC,CAAA;qCACR,6CAAoB;GAHlD,uBAAuB,CAiCnC"}
1
+ {"version":3,"file":"dashboard-item.controller.js","sourceRoot":"","sources":["../../../src/dashboard/dashboard-item/dashboard-item.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,sCAAoC;AACpC,oDAA6C;AAC7C,4DAAqD;AACrD,2CAWwB;AACxB,qEAAgE;AAChE,+BAA+C;AAIxC,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAClC,YAEmB,oBAA0C;QAA1C,yBAAoB,GAApB,oBAAoB,CAAsB;IAC1D,CAAC;IAGJ,oBAAoB,CACJ,gBAAgB,EACpB,MAAc,EACF,WAAoB;QAE1C,MAAM,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3D,OAAO,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,gBAAgB,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;IACtF,CAAC;IAGD,mBAAmB,CAAS,IAA4B,EAAY,MAAc;QAChF,OAAO,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACrE,CAAC;IAGD,mBAAmB,CAA4B,EAAU,EAAY,MAAc;QACjF,OAAO,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IACnE,CAAC;CACF,CAAA;AAzBY,0DAAuB;AAOlC;IADC,IAAA,YAAG,GAAE;IAEH,WAAA,IAAA,2BAAU,GAAE,CAAA;IACZ,WAAA,IAAA,mBAAM,GAAE,CAAA;IACR,WAAA,IAAA,cAAK,EAAC,aAAa,CAAC,CAAA;;;;mEAItB;AAGD;IADC,IAAA,aAAI,GAAE;IACc,WAAA,IAAA,aAAI,GAAE,CAAA;IAAgC,WAAA,IAAA,mBAAM,GAAE,CAAA;;qCAAjC,4BAAsB;;kEAEvD;AAGD;IADC,IAAA,eAAM,EAAC,KAAK,CAAC;IACO,WAAA,IAAA,cAAK,EAAC,IAAI,EAAE,qBAAY,CAAC,CAAA;IAAc,WAAA,IAAA,mBAAM,GAAE,CAAA;;;;kEAEnE;kCAxBU,uBAAuB;IAFnC,IAAA,UAAI,GAAE;IACN,IAAA,mBAAU,EAAC,gBAAgB,CAAC;IAGxB,WAAA,IAAA,eAAM,EAAC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,6CAAoB,CAAC,CAAC,CAAA;qCACR,6CAAoB;GAHlD,uBAAuB,CAyBnC"}