@hed-hog/core 0.0.199 → 0.0.201

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.
@@ -45,6 +45,63 @@ export declare class DashboardCoreController {
45
45
  }[];
46
46
  };
47
47
  }>;
48
+ getWidgetsData(user: any, locale: string): Promise<{
49
+ accountSecurity: {
50
+ score: number;
51
+ checks: ({
52
+ id: string;
53
+ labelKey: string;
54
+ descriptionKey: string;
55
+ enabled: boolean;
56
+ mfaTypes?: undefined;
57
+ } | {
58
+ id: string;
59
+ labelKey: string;
60
+ descriptionKey: string;
61
+ enabled: boolean;
62
+ mfaTypes: import("@prisma/client").$Enums.user_mfa_type_enum[];
63
+ })[];
64
+ };
65
+ activityTimeline: {
66
+ id: number;
67
+ action: string;
68
+ created_at: Date;
69
+ }[];
70
+ loginHistory: {
71
+ day: string;
72
+ logins: number;
73
+ failed: number;
74
+ }[];
75
+ profile: {
76
+ id: number;
77
+ name: string;
78
+ photo_id: number;
79
+ email: string;
80
+ role: string;
81
+ memberSince: Date;
82
+ lastLogin: Date;
83
+ totalSessions: number;
84
+ totalRoles: number;
85
+ };
86
+ quickStats: {
87
+ onlineTime: string;
88
+ actionsToday: number;
89
+ consecutiveDays: number;
90
+ securityLevel: number;
91
+ };
92
+ userRoles: {
93
+ id: number;
94
+ slug: string;
95
+ name: string;
96
+ }[];
97
+ userSessions: {
98
+ id: string;
99
+ ip_address: string;
100
+ user_agent: string;
101
+ created_at: Date;
102
+ expires_at: Date;
103
+ }[];
104
+ }>;
48
105
  getUserDashboards(user: any, locale: string): Promise<{
49
106
  id: number;
50
107
  slug: string;
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard-core.controller.d.ts","sourceRoot":"","sources":["../../../src/dashboard/dashboard-core/dashboard-core.controller.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhE,qBAEa,uBAAuB;IACtB,OAAO,CAAC,QAAQ,CAAC,oBAAoB;gBAApB,oBAAoB,EAAE,oBAAoB;IAGvE,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAKjB,iBAAiB;;;;;;;;;;;;;;IAKjB,iBAAiB,CAAS,IAAI,KAAA,EAAY,MAAM,EAAE,MAAM;;;;;;;;;;;;IAKxD,WAAW,CAAS,IAAI,KAAA,EAAiB,IAAI,EAAE,MAAM,EAAY,MAAM,EAAE,MAAM;;;;;;;;IAK/E,aAAa,CAAS,IAAI,KAAA,EAAiB,IAAI,EAAE,MAAM,EAAY,MAAM,EAAE,MAAM;;;;;;;;;;;;;;;;IAKjF,cAAc,CACJ,IAAI,KAAA,EACG,IAAI,EAAE,MAAM,EACnB,IAAI,EAAE;QAAE,MAAM,EAAE,KAAK,CAAC;YAAE,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE;;;IAM5F,SAAS,CACC,IAAI,KAAA,EACG,IAAI,EAAE,MAAM,EACnB,IAAI,EAAE;QAAE,aAAa,EAAE,MAAM,CAAA;KAAE,EAC7B,MAAM,EAAE,MAAM;;;;;;;;;;;;;;;;IAW1B,YAAY,CACF,IAAI,KAAA,EACG,IAAI,EAAE,MAAM,EACR,QAAQ,EAAE,MAAM;;;IAUrC,QAAQ,CAAgB,IAAI,EAAE,MAAM,EAAY,MAAM,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGvD"}
1
+ {"version":3,"file":"dashboard-core.controller.d.ts","sourceRoot":"","sources":["../../../src/dashboard/dashboard-core/dashboard-core.controller.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhE,qBAEa,uBAAuB;IACtB,OAAO,CAAC,QAAQ,CAAC,oBAAoB;gBAApB,oBAAoB,EAAE,oBAAoB;IAGvE,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAKjB,iBAAiB;;;;;;;;;;;;;;IAKjB,cAAc,CAAS,IAAI,KAAA,EAAY,MAAM,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAKrD,iBAAiB,CAAS,IAAI,KAAA,EAAY,MAAM,EAAE,MAAM;;;;;;;;;;;;IAKxD,WAAW,CAAS,IAAI,KAAA,EAAiB,IAAI,EAAE,MAAM,EAAY,MAAM,EAAE,MAAM;;;;;;;;IAK/E,aAAa,CAAS,IAAI,KAAA,EAAiB,IAAI,EAAE,MAAM,EAAY,MAAM,EAAE,MAAM;;;;;;;;;;;;;;;;IAKjF,cAAc,CACJ,IAAI,KAAA,EACG,IAAI,EAAE,MAAM,EACnB,IAAI,EAAE;QAAE,MAAM,EAAE,KAAK,CAAC;YAAE,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE;;;IAM5F,SAAS,CACC,IAAI,KAAA,EACG,IAAI,EAAE,MAAM,EACnB,IAAI,EAAE;QAAE,aAAa,EAAE,MAAM,CAAA;KAAE,EAC7B,MAAM,EAAE,MAAM;;;;;;;;;;;;;;;;IAW1B,YAAY,CACF,IAAI,KAAA,EACG,IAAI,EAAE,MAAM,EACR,QAAQ,EAAE,MAAM;;;IAUrC,QAAQ,CAAgB,IAAI,EAAE,MAAM,EAAY,MAAM,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGvD"}
@@ -27,6 +27,9 @@ let DashboardCoreController = class DashboardCoreController {
27
27
  getMailStatistics() {
28
28
  return this.dashboardCoreService.getMailStatistics();
29
29
  }
30
+ getWidgetsData(user, locale) {
31
+ return this.dashboardCoreService.getWidgetsData(user.id, locale);
32
+ }
30
33
  getUserDashboards(user, locale) {
31
34
  return this.dashboardCoreService.getUserDashboards(user.id, locale);
32
35
  }
@@ -62,6 +65,14 @@ __decorate([
62
65
  __metadata("design:paramtypes", []),
63
66
  __metadata("design:returntype", void 0)
64
67
  ], DashboardCoreController.prototype, "getMailStatistics", null);
68
+ __decorate([
69
+ (0, common_1.Get)('widgets/me'),
70
+ __param(0, (0, api_1.User)()),
71
+ __param(1, (0, api_locale_1.Locale)()),
72
+ __metadata("design:type", Function),
73
+ __metadata("design:paramtypes", [Object, String]),
74
+ __metadata("design:returntype", void 0)
75
+ ], DashboardCoreController.prototype, "getWidgetsData", null);
65
76
  __decorate([
66
77
  (0, common_1.Get)('user-dashboards'),
67
78
  __param(0, (0, api_1.User)()),
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard-core.controller.js","sourceRoot":"","sources":["../../../src/dashboard/dashboard-core/dashboard-core.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dashboard-core.controller.js","sourceRoot":"","sources":["../../../src/dashboard/dashboard-core/dashboard-core.controller.ts"],"names":[],"mappings":"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"}
@@ -156,5 +156,117 @@ export declare class DashboardCoreService {
156
156
  dashboard_id: number;
157
157
  }[];
158
158
  }[]>;
159
+ getAccountSecurity(userId: number): Promise<{
160
+ score: number;
161
+ checks: ({
162
+ id: string;
163
+ labelKey: string;
164
+ descriptionKey: string;
165
+ enabled: boolean;
166
+ mfaTypes?: undefined;
167
+ } | {
168
+ id: string;
169
+ labelKey: string;
170
+ descriptionKey: string;
171
+ enabled: boolean;
172
+ mfaTypes: import("@prisma/client").$Enums.user_mfa_type_enum[];
173
+ })[];
174
+ }>;
175
+ getActivityTimeline(userId: number): Promise<{
176
+ id: number;
177
+ action: string;
178
+ created_at: Date;
179
+ }[]>;
180
+ getLoginHistory(userId: number): Promise<{
181
+ day: string;
182
+ logins: number;
183
+ failed: number;
184
+ }[]>;
185
+ getProfile(userId: number): Promise<{
186
+ id: number;
187
+ name: string;
188
+ photo_id: number;
189
+ email: string;
190
+ role: string;
191
+ memberSince: Date;
192
+ lastLogin: Date;
193
+ totalSessions: number;
194
+ totalRoles: number;
195
+ }>;
196
+ getQuickStats(userId: number): Promise<{
197
+ onlineTime: string;
198
+ actionsToday: number;
199
+ consecutiveDays: number;
200
+ securityLevel: number;
201
+ }>;
202
+ getUserRoles(userId: number, locale: string): Promise<{
203
+ id: number;
204
+ slug: string;
205
+ name: string;
206
+ }[]>;
207
+ getWidgetsData(userId: number, locale: string): Promise<{
208
+ accountSecurity: {
209
+ score: number;
210
+ checks: ({
211
+ id: string;
212
+ labelKey: string;
213
+ descriptionKey: string;
214
+ enabled: boolean;
215
+ mfaTypes?: undefined;
216
+ } | {
217
+ id: string;
218
+ labelKey: string;
219
+ descriptionKey: string;
220
+ enabled: boolean;
221
+ mfaTypes: import("@prisma/client").$Enums.user_mfa_type_enum[];
222
+ })[];
223
+ };
224
+ activityTimeline: {
225
+ id: number;
226
+ action: string;
227
+ created_at: Date;
228
+ }[];
229
+ loginHistory: {
230
+ day: string;
231
+ logins: number;
232
+ failed: number;
233
+ }[];
234
+ profile: {
235
+ id: number;
236
+ name: string;
237
+ photo_id: number;
238
+ email: string;
239
+ role: string;
240
+ memberSince: Date;
241
+ lastLogin: Date;
242
+ totalSessions: number;
243
+ totalRoles: number;
244
+ };
245
+ quickStats: {
246
+ onlineTime: string;
247
+ actionsToday: number;
248
+ consecutiveDays: number;
249
+ securityLevel: number;
250
+ };
251
+ userRoles: {
252
+ id: number;
253
+ slug: string;
254
+ name: string;
255
+ }[];
256
+ userSessions: {
257
+ id: string;
258
+ ip_address: string;
259
+ user_agent: string;
260
+ created_at: Date;
261
+ expires_at: Date;
262
+ }[];
263
+ }>;
264
+ getUserSessions(userId: number): Promise<{
265
+ id: string;
266
+ ip_address: string;
267
+ user_agent: string;
268
+ created_at: Date;
269
+ expires_at: Date;
270
+ }[]>;
159
271
  }
160
272
  //# 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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAoBzC,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAK3C,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA0HjB,iBAAiB;;;;;;;;;;;;;;IAoDjB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;;;;;;;;;;;;;;;;IAyD9D,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;;;IA4DE,wBAAwB,CAC5B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM;;;;;;;;;;;;;;;;IA6Gd,6BAA6B,CACjC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM;;;IAaZ,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;;;;;;;;IAiDjE,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;;;;;;;;;;;;CAgCvD"}
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAoBzC,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAK3C,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA0HjB,iBAAiB;;;;;;;;;;;;;;IAoDjB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;;;;;;;;;;;;;;;;IAyD9D,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;;;IA4DE,wBAAwB,CAC5B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM;;;;;;;;;;;;;;;;IA6Gd,6BAA6B,CACjC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM;;;IAaZ,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;;;;;;;;IAiDjE,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;;;;;;;;;;;;IAiChD,kBAAkB,CAAC,MAAM,EAAE,MAAM;;;;;;;;;;;;;;;;IAuEjC,mBAAmB,CAAC,MAAM,EAAE,MAAM;;;;;IAclC,eAAe,CAAC,MAAM,EAAE,MAAM;;;;;IA4B9B,UAAU,CAAC,MAAM,EAAE,MAAM;;;;;;;;;;;IA6DzB,aAAa,CAAC,MAAM,EAAE,MAAM;;;;;;IAqD5B,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;;;;;IAqB3C,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAuB7C,eAAe,CAAC,MAAM,EAAE,MAAM;;;;;;;CAoBrC"}
@@ -462,6 +462,266 @@ let DashboardCoreService = class DashboardCoreService {
462
462
  dashboard_locale: dashboard.dashboard_locale,
463
463
  }));
464
464
  }
465
+ async getAccountSecurity(userId) {
466
+ const now = new Date();
467
+ const thirtyDaysAgo = new Date(now.getTime() - 30 * 24 * 60 * 60 * 1000);
468
+ const ninetyDaysAgo = new Date(now.getTime() - 90 * 24 * 60 * 60 * 1000);
469
+ const latestPassword = await this.prismaService.user_credential.findFirst({
470
+ where: { user_id: userId, type: 'password', revoked_at: null },
471
+ orderBy: { created_at: 'desc' },
472
+ });
473
+ const passwordOk = latestPassword
474
+ ? latestPassword.created_at >= ninetyDaysAgo
475
+ : false;
476
+ const mfaRecords = await this.prismaService.user_mfa.findMany({
477
+ where: { user_id: userId, verified_at: { not: null }, suspended_until: null },
478
+ });
479
+ const mfaEnabled = mfaRecords.length > 0;
480
+ const mfaTypes = mfaRecords.map((m) => m.type);
481
+ const verifiedEmail = await this.prismaService.user_identifier.findFirst({
482
+ where: {
483
+ user_id: userId,
484
+ type: 'email',
485
+ verified_at: { not: null },
486
+ enabled: true,
487
+ },
488
+ });
489
+ const emailVerified = !!verifiedEmail;
490
+ const oldSession = await this.prismaService.user_session.findFirst({
491
+ where: {
492
+ user_id: userId,
493
+ revoked_at: null,
494
+ expires_at: { gte: now },
495
+ created_at: { lte: thirtyDaysAgo },
496
+ },
497
+ });
498
+ const sessionsOk = !oldSession;
499
+ const checks = [
500
+ {
501
+ id: 'password',
502
+ labelKey: 'strongPassword',
503
+ descriptionKey: passwordOk ? 'passwordRecentlyUpdated' : 'passwordOld',
504
+ enabled: passwordOk,
505
+ },
506
+ {
507
+ id: '2fa',
508
+ labelKey: 'mfaEnabled',
509
+ descriptionKey: mfaEnabled ? 'mfaActive' : 'mfaInactive',
510
+ enabled: mfaEnabled,
511
+ mfaTypes,
512
+ },
513
+ {
514
+ id: 'email',
515
+ labelKey: 'verifiedEmail',
516
+ descriptionKey: emailVerified ? 'emailVerified' : 'emailNotVerified',
517
+ enabled: emailVerified,
518
+ },
519
+ {
520
+ id: 'sessions',
521
+ labelKey: 'sessionReview',
522
+ descriptionKey: sessionsOk ? 'noOldSessions' : 'hasOldSessions',
523
+ enabled: sessionsOk,
524
+ },
525
+ ];
526
+ const enabledCount = checks.filter((c) => c.enabled).length;
527
+ const score = Math.round((enabledCount / checks.length) * 100);
528
+ return { score, checks };
529
+ }
530
+ async getActivityTimeline(userId) {
531
+ const events = await this.prismaService.user_activity.findMany({
532
+ where: { user_id: userId },
533
+ orderBy: { created_at: 'desc' },
534
+ take: 20,
535
+ });
536
+ return events.map((e) => ({
537
+ id: e.id,
538
+ action: e.action,
539
+ created_at: e.created_at,
540
+ }));
541
+ }
542
+ async getLoginHistory(userId) {
543
+ const now = new Date();
544
+ const days = [];
545
+ for (let i = 6; i >= 0; i--) {
546
+ const d = new Date(now);
547
+ d.setDate(d.getDate() - i);
548
+ d.setHours(0, 0, 0, 0);
549
+ const weekDays = ['Dom', 'Seg', 'Ter', 'Qua', 'Qui', 'Sex', 'Sáb'];
550
+ days.push({ day: weekDays[d.getDay()], date: d });
551
+ }
552
+ const result = await Promise.all(days.map(async ({ day, date }) => {
553
+ const start = new Date(date);
554
+ const end = new Date(date);
555
+ end.setHours(23, 59, 59, 999);
556
+ const sessions = await this.prismaService.user_session.count({
557
+ where: { user_id: userId, created_at: { gte: start, lte: end } },
558
+ });
559
+ return { day, logins: sessions, failed: 0 };
560
+ }));
561
+ return result;
562
+ }
563
+ async getProfile(userId) {
564
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
565
+ const user = await this.prismaService.user.findUnique({
566
+ where: { id: userId },
567
+ include: {
568
+ user_identifier: {
569
+ where: { type: 'email', enabled: true },
570
+ orderBy: { created_at: 'asc' },
571
+ take: 1,
572
+ },
573
+ role_user: {
574
+ take: 1,
575
+ orderBy: { role_id: 'asc' },
576
+ include: {
577
+ role: {
578
+ include: {
579
+ role_locale: {
580
+ take: 1,
581
+ },
582
+ },
583
+ },
584
+ },
585
+ },
586
+ user_session: {
587
+ where: { revoked_at: null },
588
+ orderBy: { created_at: 'desc' },
589
+ take: 1,
590
+ },
591
+ },
592
+ });
593
+ if (!user)
594
+ return null;
595
+ const email = (_b = (_a = user.user_identifier[0]) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : null;
596
+ const roleName = (_j = (_f = (_e = (_d = (_c = user.role_user[0]) === null || _c === void 0 ? void 0 : _c.role) === null || _d === void 0 ? void 0 : _d.role_locale[0]) === null || _e === void 0 ? void 0 : _e.name) !== null && _f !== void 0 ? _f : (_h = (_g = user.role_user[0]) === null || _g === void 0 ? void 0 : _g.role) === null || _h === void 0 ? void 0 : _h.slug) !== null && _j !== void 0 ? _j : null;
597
+ const lastSession = (_l = (_k = user.user_session[0]) === null || _k === void 0 ? void 0 : _k.created_at) !== null && _l !== void 0 ? _l : null;
598
+ const [totalSessions, totalRoles] = await Promise.all([
599
+ this.prismaService.user_session.count({
600
+ where: { user_id: userId, revoked_at: null },
601
+ }),
602
+ this.prismaService.role_user.count({
603
+ where: { user_id: userId },
604
+ }),
605
+ ]);
606
+ return {
607
+ id: user.id,
608
+ name: user.name,
609
+ photo_id: user.photo_id,
610
+ email,
611
+ role: roleName,
612
+ memberSince: user.created_at,
613
+ lastLogin: lastSession,
614
+ totalSessions,
615
+ totalRoles,
616
+ };
617
+ }
618
+ async getQuickStats(userId) {
619
+ const now = new Date();
620
+ const todayStart = new Date(now.getFullYear(), now.getMonth(), now.getDate());
621
+ const activeSession = await this.prismaService.user_session.findFirst({
622
+ where: {
623
+ user_id: userId,
624
+ revoked_at: null,
625
+ expires_at: { gte: now },
626
+ },
627
+ orderBy: { created_at: 'desc' },
628
+ });
629
+ let onlineMinutes = 0;
630
+ if (activeSession) {
631
+ onlineMinutes = Math.floor((now.getTime() - activeSession.created_at.getTime()) / 60000);
632
+ }
633
+ const onlineHours = Math.floor(onlineMinutes / 60);
634
+ const onlineRemainingMins = onlineMinutes % 60;
635
+ const onlineTime = onlineHours > 0
636
+ ? `${onlineHours}h ${onlineRemainingMins}m`
637
+ : `${onlineRemainingMins}m`;
638
+ const actionsToday = await this.prismaService.user_activity.count({
639
+ where: { user_id: userId, created_at: { gte: todayStart } },
640
+ });
641
+ let consecutiveDays = 0;
642
+ const checkDate = new Date(todayStart);
643
+ for (let i = 0; i < 365; i++) {
644
+ const start = new Date(checkDate);
645
+ const end = new Date(checkDate);
646
+ end.setHours(23, 59, 59, 999);
647
+ const count = await this.prismaService.user_session.count({
648
+ where: { user_id: userId, created_at: { gte: start, lte: end } },
649
+ });
650
+ if (count === 0)
651
+ break;
652
+ consecutiveDays++;
653
+ checkDate.setDate(checkDate.getDate() - 1);
654
+ }
655
+ const securityData = await this.getAccountSecurity(userId);
656
+ const securityLevel = Math.max(1, Math.ceil(securityData.score / 20));
657
+ return {
658
+ onlineTime,
659
+ actionsToday,
660
+ consecutiveDays,
661
+ securityLevel,
662
+ };
663
+ }
664
+ async getUserRoles(userId, locale) {
665
+ const roleUsers = await this.prismaService.role_user.findMany({
666
+ where: { user_id: userId },
667
+ include: {
668
+ role: {
669
+ include: {
670
+ role_locale: {
671
+ where: { locale: { code: locale } },
672
+ },
673
+ },
674
+ },
675
+ },
676
+ });
677
+ return roleUsers.map((ru) => {
678
+ var _a, _b;
679
+ return ({
680
+ id: ru.role.id,
681
+ slug: ru.role.slug,
682
+ name: (_b = (_a = ru.role.role_locale[0]) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : ru.role.slug,
683
+ });
684
+ });
685
+ }
686
+ async getWidgetsData(userId, locale) {
687
+ const [accountSecurity, activityTimeline, loginHistory, profile, quickStats, userRoles, userSessions] = await Promise.all([
688
+ this.getAccountSecurity(userId),
689
+ this.getActivityTimeline(userId),
690
+ this.getLoginHistory(userId),
691
+ this.getProfile(userId),
692
+ this.getQuickStats(userId),
693
+ this.getUserRoles(userId, locale),
694
+ this.getUserSessions(userId),
695
+ ]);
696
+ return {
697
+ accountSecurity,
698
+ activityTimeline,
699
+ loginHistory,
700
+ profile,
701
+ quickStats,
702
+ userRoles,
703
+ userSessions,
704
+ };
705
+ }
706
+ async getUserSessions(userId) {
707
+ const now = new Date();
708
+ const sessions = await this.prismaService.user_session.findMany({
709
+ where: {
710
+ user_id: userId,
711
+ revoked_at: null,
712
+ expires_at: { gte: now },
713
+ },
714
+ orderBy: { created_at: 'desc' },
715
+ take: 10,
716
+ });
717
+ return sessions.map((s) => ({
718
+ id: String(s.id),
719
+ ip_address: s.ip_address,
720
+ user_agent: s.user_agent,
721
+ created_at: s.created_at,
722
+ expires_at: s.expires_at,
723
+ }));
724
+ }
465
725
  };
466
726
  exports.DashboardCoreService = DashboardCoreService;
467
727
  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":"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"}
1
+ {"version":3,"file":"dashboard-core.service.js","sourceRoot":"","sources":["../../../src/dashboard/dashboard-core/dashboard-core.service.ts"],"names":[],"mappings":"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"}
@@ -124,15 +124,6 @@
124
124
  description:
125
125
  en: Shows quick statistics about your account and activity.
126
126
  pt: Mostra estatísticas rápidas sobre sua conta e atividade.
127
- - slug: user-permissions
128
- width: 6
129
- height: 6
130
- name:
131
- en: User Permissions
132
- pt: Permissões do Usuário
133
- description:
134
- en: Displays the permissions granted to your profile.
135
- pt: Exibe as permissões concedidas ao seu perfil.
136
127
  - slug: user-roles
137
128
  width: 6
138
129
  height: 6
@@ -82,12 +82,6 @@
82
82
  role_id:
83
83
  where:
84
84
  slug: user
85
- - component_id:
86
- where:
87
- slug: user-permissions
88
- role_id:
89
- where:
90
- slug: user
91
85
  - component_id:
92
86
  where:
93
87
  slug: user-roles
@@ -55,9 +55,9 @@
55
55
  where:
56
56
  slug: default
57
57
  width: 6
58
- height: 3
59
- x_axis: 0
60
- y_axis: 4
58
+ height: 6
59
+ x_axis: 6
60
+ y_axis: 11
61
61
  - component_id:
62
62
  where:
63
63
  slug: sessions-today-card
@@ -86,7 +86,7 @@
86
86
  where:
87
87
  slug: default
88
88
  width: 12
89
- height: 6
89
+ height: 2
90
90
  x_axis: 0
91
91
  y_axis: 0
92
92
  - component_id:
@@ -95,70 +95,60 @@
95
95
  dashboard_id:
96
96
  where:
97
97
  slug: default
98
- width: 6
98
+ width: 12
99
99
  height: 1
100
- x_axis: 4
101
- y_axis: 0
100
+ x_axis: 0
101
+ y_axis: 2
102
102
  - component_id:
103
103
  where:
104
104
  slug: account-security
105
105
  dashboard_id:
106
106
  where:
107
107
  slug: default
108
- width: 5
109
- height: 12
108
+ width: 6
109
+ height: 4
110
110
  x_axis: 0
111
- y_axis: 2
111
+ y_axis: 7
112
112
  - component_id:
113
113
  where:
114
114
  slug: login-history-chart
115
115
  dashboard_id:
116
116
  where:
117
117
  slug: default
118
- width: 7
119
- height: 6
120
- x_axis: 6
121
- y_axis: 2
118
+ width: 6
119
+ height: 4
120
+ x_axis: 0
121
+ y_axis: 3
122
122
  - component_id:
123
123
  where:
124
124
  slug: email-notifications
125
125
  dashboard_id:
126
126
  where:
127
127
  slug: default
128
- width: 7
129
- height: 6
128
+ width: 6
129
+ height: 4
130
130
  x_axis: 6
131
- y_axis: 4
131
+ y_axis: 7
132
132
  - component_id:
133
133
  where:
134
134
  slug: activity-timeline
135
135
  dashboard_id:
136
136
  where:
137
137
  slug: default
138
- width: 12
139
- height: 9
140
- x_axis: 0
141
- y_axis: 6
142
- - component_id:
143
- where:
144
- slug: user-sessions
145
- dashboard_id:
146
- where:
147
- slug: default
148
- width: 12
149
- height: 6
138
+ width: 6
139
+ height: 2
150
140
  x_axis: 6
151
- y_axis: 6
141
+ y_axis: 5
152
142
  - component_id:
153
143
  where:
154
- slug: user-permissions
144
+ slug: user-sessions
155
145
  dashboard_id:
156
146
  where:
157
147
  slug: default
158
148
  width: 6
159
- height: 6
160
- x_axis: 0
161
- y_axis: 9
149
+ height: 2
150
+ x_axis: 6
151
+ y_axis: 3
162
152
  - component_id:
163
153
  where:
164
154
  slug: user-roles
@@ -167,5 +157,5 @@
167
157
  slug: default
168
158
  width: 6
169
159
  height: 6
170
- x_axis: 6
171
- y_axis: 9
160
+ x_axis: 0
161
+ y_axis: 11
@@ -662,6 +662,12 @@
662
662
  role:
663
663
  - where:
664
664
  slug: admin
665
+ - url: /dashboard-core/widgets/me
666
+ method: GET
667
+ relations:
668
+ role:
669
+ - where:
670
+ slug: user
665
671
  - url: /dashboard-core/widget/:slug
666
672
  method: POST
667
673
  relations:
@@ -58,7 +58,7 @@ export const DashboardContent = ({ dashboardSlug }: DashboardContentProps) => {
58
58
 
59
59
  useEffect(() => {
60
60
  if (dashboardAccess && !dashboardAccess.hasAccess) {
61
- router.replace('/dashboard/default');
61
+ router.replace('/core/dashboard/default');
62
62
  }
63
63
  }, [dashboardAccess, router]);
64
64
 
@@ -7,7 +7,7 @@ export default function DashboardRedirectPage() {
7
7
  const router = useRouter();
8
8
 
9
9
  useEffect(() => {
10
- router.replace('/dashboard/default');
10
+ router.replace('/core/dashboard/default');
11
11
  }, [router]);
12
12
 
13
13
  return null;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hed-hog/core",
3
- "version": "0.0.199",
3
+ "version": "0.0.201",
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-locale": "0.0.11",
33
34
  "@hed-hog/api-prisma": "0.0.4",
34
35
  "@hed-hog/api-mail": "0.0.7",
35
- "@hed-hog/api-locale": "0.0.11",
36
- "@hed-hog/api-types": "0.0.1",
37
- "@hed-hog/api": "0.0.3"
36
+ "@hed-hog/api": "0.0.3",
37
+ "@hed-hog/api-types": "0.0.1"
38
38
  },
39
39
  "exports": {
40
40
  ".": {
@@ -18,6 +18,11 @@ export class DashboardCoreController {
18
18
  return this.dashboardCoreService.getMailStatistics();
19
19
  }
20
20
 
21
+ @Get('widgets/me')
22
+ getWidgetsData(@User() user, @Locale() locale: string) {
23
+ return this.dashboardCoreService.getWidgetsData(user.id, locale);
24
+ }
25
+
21
26
  @Get('user-dashboards')
22
27
  getUserDashboards(@User() user, @Locale() locale: string) {
23
28
  return this.dashboardCoreService.getUserDashboards(user.id, locale);
@@ -540,4 +540,296 @@ export class DashboardCoreService {
540
540
  dashboard_locale: dashboard.dashboard_locale,
541
541
  }));
542
542
  }
543
+
544
+ async getAccountSecurity(userId: number) {
545
+ const now = new Date();
546
+ const thirtyDaysAgo = new Date(now.getTime() - 30 * 24 * 60 * 60 * 1000);
547
+ const ninetyDaysAgo = new Date(now.getTime() - 90 * 24 * 60 * 60 * 1000);
548
+
549
+ const latestPassword = await this.prismaService.user_credential.findFirst({
550
+ where: { user_id: userId, type: 'password', revoked_at: null },
551
+ orderBy: { created_at: 'desc' },
552
+ });
553
+ const passwordOk = latestPassword
554
+ ? latestPassword.created_at >= ninetyDaysAgo
555
+ : false;
556
+
557
+ const mfaRecords = await this.prismaService.user_mfa.findMany({
558
+ where: { user_id: userId, verified_at: { not: null }, suspended_until: null },
559
+ });
560
+ const mfaEnabled = mfaRecords.length > 0;
561
+ const mfaTypes = mfaRecords.map((m) => m.type);
562
+
563
+ const verifiedEmail = await this.prismaService.user_identifier.findFirst({
564
+ where: {
565
+ user_id: userId,
566
+ type: 'email',
567
+ verified_at: { not: null },
568
+ enabled: true,
569
+ },
570
+ });
571
+ const emailVerified = !!verifiedEmail;
572
+ const oldSession = await this.prismaService.user_session.findFirst({
573
+ where: {
574
+ user_id: userId,
575
+ revoked_at: null,
576
+ expires_at: { gte: now },
577
+ created_at: { lte: thirtyDaysAgo },
578
+ },
579
+ });
580
+ const sessionsOk = !oldSession;
581
+ const checks = [
582
+ {
583
+ id: 'password',
584
+ labelKey: 'strongPassword',
585
+ descriptionKey: passwordOk ? 'passwordRecentlyUpdated' : 'passwordOld',
586
+ enabled: passwordOk,
587
+ },
588
+ {
589
+ id: '2fa',
590
+ labelKey: 'mfaEnabled',
591
+ descriptionKey: mfaEnabled ? 'mfaActive' : 'mfaInactive',
592
+ enabled: mfaEnabled,
593
+ mfaTypes,
594
+ },
595
+ {
596
+ id: 'email',
597
+ labelKey: 'verifiedEmail',
598
+ descriptionKey: emailVerified ? 'emailVerified' : 'emailNotVerified',
599
+ enabled: emailVerified,
600
+ },
601
+ {
602
+ id: 'sessions',
603
+ labelKey: 'sessionReview',
604
+ descriptionKey: sessionsOk ? 'noOldSessions' : 'hasOldSessions',
605
+ enabled: sessionsOk,
606
+ },
607
+ ];
608
+
609
+ const enabledCount = checks.filter((c) => c.enabled).length;
610
+ const score = Math.round((enabledCount / checks.length) * 100);
611
+
612
+ return { score, checks };
613
+ }
614
+
615
+ async getActivityTimeline(userId: number) {
616
+ const events = await this.prismaService.user_activity.findMany({
617
+ where: { user_id: userId },
618
+ orderBy: { created_at: 'desc' },
619
+ take: 20,
620
+ });
621
+
622
+ return events.map((e) => ({
623
+ id: e.id,
624
+ action: e.action,
625
+ created_at: e.created_at,
626
+ }));
627
+ }
628
+
629
+ async getLoginHistory(userId: number) {
630
+ const now = new Date();
631
+ const days: { day: string; date: Date }[] = [];
632
+ for (let i = 6; i >= 0; i--) {
633
+ const d = new Date(now);
634
+ d.setDate(d.getDate() - i);
635
+ d.setHours(0, 0, 0, 0);
636
+ const weekDays = ['Dom', 'Seg', 'Ter', 'Qua', 'Qui', 'Sex', 'Sáb'];
637
+ days.push({ day: weekDays[d.getDay()], date: d });
638
+ }
639
+
640
+ const result = await Promise.all(
641
+ days.map(async ({ day, date }) => {
642
+ const start = new Date(date);
643
+ const end = new Date(date);
644
+ end.setHours(23, 59, 59, 999);
645
+
646
+ const sessions = await this.prismaService.user_session.count({
647
+ where: { user_id: userId, created_at: { gte: start, lte: end } },
648
+ });
649
+
650
+ return { day, logins: sessions, failed: 0 };
651
+ }),
652
+ );
653
+
654
+ return result;
655
+ }
656
+
657
+ async getProfile(userId: number) {
658
+ const user = await this.prismaService.user.findUnique({
659
+ where: { id: userId },
660
+ include: {
661
+ user_identifier: {
662
+ where: { type: 'email', enabled: true },
663
+ orderBy: { created_at: 'asc' },
664
+ take: 1,
665
+ },
666
+ role_user: {
667
+ take: 1,
668
+ orderBy: { role_id: 'asc' },
669
+ include: {
670
+ role: {
671
+ include: {
672
+ role_locale: {
673
+ take: 1,
674
+ },
675
+ },
676
+ },
677
+ },
678
+ },
679
+ user_session: {
680
+ where: { revoked_at: null },
681
+ orderBy: { created_at: 'desc' },
682
+ take: 1,
683
+ },
684
+ },
685
+ });
686
+
687
+ if (!user) return null;
688
+
689
+ const email = user.user_identifier[0]?.value ?? null;
690
+ const roleName =
691
+ user.role_user[0]?.role?.role_locale[0]?.name ??
692
+ user.role_user[0]?.role?.slug ??
693
+ null;
694
+ const lastSession = user.user_session[0]?.created_at ?? null;
695
+
696
+ const [totalSessions, totalRoles] = await Promise.all([
697
+ this.prismaService.user_session.count({
698
+ where: { user_id: userId, revoked_at: null },
699
+ }),
700
+ this.prismaService.role_user.count({
701
+ where: { user_id: userId },
702
+ }),
703
+ ]);
704
+
705
+ return {
706
+ id: user.id,
707
+ name: user.name,
708
+ photo_id: user.photo_id,
709
+ email,
710
+ role: roleName,
711
+ memberSince: user.created_at,
712
+ lastLogin: lastSession,
713
+ totalSessions,
714
+ totalRoles,
715
+ };
716
+ }
717
+
718
+ async getQuickStats(userId: number) {
719
+ const now = new Date();
720
+ const todayStart = new Date(now.getFullYear(), now.getMonth(), now.getDate());
721
+ const activeSession = await this.prismaService.user_session.findFirst({
722
+ where: {
723
+ user_id: userId,
724
+ revoked_at: null,
725
+ expires_at: { gte: now },
726
+ },
727
+ orderBy: { created_at: 'desc' },
728
+ });
729
+
730
+ let onlineMinutes = 0;
731
+ if (activeSession) {
732
+ onlineMinutes = Math.floor(
733
+ (now.getTime() - activeSession.created_at.getTime()) / 60000,
734
+ );
735
+ }
736
+ const onlineHours = Math.floor(onlineMinutes / 60);
737
+ const onlineRemainingMins = onlineMinutes % 60;
738
+ const onlineTime =
739
+ onlineHours > 0
740
+ ? `${onlineHours}h ${onlineRemainingMins}m`
741
+ : `${onlineRemainingMins}m`;
742
+
743
+ const actionsToday = await this.prismaService.user_activity.count({
744
+ where: { user_id: userId, created_at: { gte: todayStart } },
745
+ });
746
+
747
+ let consecutiveDays = 0;
748
+ const checkDate = new Date(todayStart);
749
+ for (let i = 0; i < 365; i++) {
750
+ const start = new Date(checkDate);
751
+ const end = new Date(checkDate);
752
+ end.setHours(23, 59, 59, 999);
753
+ const count = await this.prismaService.user_session.count({
754
+ where: { user_id: userId, created_at: { gte: start, lte: end } },
755
+ });
756
+ if (count === 0) break;
757
+ consecutiveDays++;
758
+ checkDate.setDate(checkDate.getDate() - 1);
759
+ }
760
+
761
+ const securityData = await this.getAccountSecurity(userId);
762
+ const securityLevel = Math.max(1, Math.ceil(securityData.score / 20));
763
+ return {
764
+ onlineTime,
765
+ actionsToday,
766
+ consecutiveDays,
767
+ securityLevel,
768
+ };
769
+ }
770
+
771
+ async getUserRoles(userId: number, locale: string) {
772
+ const roleUsers = await this.prismaService.role_user.findMany({
773
+ where: { user_id: userId },
774
+ include: {
775
+ role: {
776
+ include: {
777
+ role_locale: {
778
+ where: { locale: { code: locale } },
779
+ },
780
+ },
781
+ },
782
+ },
783
+ });
784
+
785
+ return roleUsers.map((ru) => ({
786
+ id: ru.role.id,
787
+ slug: ru.role.slug,
788
+ name: ru.role.role_locale[0]?.name ?? ru.role.slug,
789
+ }));
790
+ }
791
+
792
+ async getWidgetsData(userId: number, locale: string) {
793
+ const [accountSecurity, activityTimeline, loginHistory, profile, quickStats, userRoles, userSessions] =
794
+ await Promise.all([
795
+ this.getAccountSecurity(userId),
796
+ this.getActivityTimeline(userId),
797
+ this.getLoginHistory(userId),
798
+ this.getProfile(userId),
799
+ this.getQuickStats(userId),
800
+ this.getUserRoles(userId, locale),
801
+ this.getUserSessions(userId),
802
+ ]);
803
+
804
+ return {
805
+ accountSecurity,
806
+ activityTimeline,
807
+ loginHistory,
808
+ profile,
809
+ quickStats,
810
+ userRoles,
811
+ userSessions,
812
+ };
813
+ }
814
+
815
+ async getUserSessions(userId: number) {
816
+ const now = new Date();
817
+ const sessions = await this.prismaService.user_session.findMany({
818
+ where: {
819
+ user_id: userId,
820
+ revoked_at: null,
821
+ expires_at: { gte: now },
822
+ },
823
+ orderBy: { created_at: 'desc' },
824
+ take: 10,
825
+ });
826
+
827
+ return sessions.map((s) => ({
828
+ id: String(s.id),
829
+ ip_address: s.ip_address,
830
+ user_agent: s.user_agent,
831
+ created_at: s.created_at,
832
+ expires_at: s.expires_at,
833
+ }));
834
+ }
543
835
  }