@hed-hog/core 0.0.79 → 0.0.82

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 (77) hide show
  1. package/dist/auth/dto/change.dto.d.ts.map +1 -1
  2. package/dist/auth/dto/change.dto.js +4 -6
  3. package/dist/auth/dto/change.dto.js.map +1 -1
  4. package/dist/auth/dto/email.dto.d.ts.map +1 -1
  5. package/dist/auth/dto/email.dto.js +4 -3
  6. package/dist/auth/dto/email.dto.js.map +1 -1
  7. package/dist/auth/dto/forget.dto.d.ts.map +1 -1
  8. package/dist/auth/dto/forget.dto.js +3 -1
  9. package/dist/auth/dto/forget.dto.js.map +1 -1
  10. package/dist/auth/dto/login.dto.d.ts.map +1 -1
  11. package/dist/auth/dto/login.dto.js +3 -1
  12. package/dist/auth/dto/login.dto.js.map +1 -1
  13. package/dist/auth/guards/auth.guard.d.ts.map +1 -1
  14. package/dist/auth/guards/auth.guard.js +3 -1
  15. package/dist/auth/guards/auth.guard.js.map +1 -1
  16. package/dist/challenge/challenge.service.d.ts +2 -2
  17. package/dist/challenge/challenge.service.d.ts.map +1 -1
  18. package/dist/challenge/challenge.service.js.map +1 -1
  19. package/dist/install/dto/install.dto.d.ts.map +1 -1
  20. package/dist/install/dto/install.dto.js +3 -1
  21. package/dist/install/dto/install.dto.js.map +1 -1
  22. package/dist/mail/dto/test-mail.dto.d.ts.map +1 -1
  23. package/dist/mail/dto/test-mail.dto.js +4 -2
  24. package/dist/mail/dto/test-mail.dto.js.map +1 -1
  25. package/dist/profile/dto/change-email.dto.d.ts +5 -0
  26. package/dist/profile/dto/change-email.dto.d.ts.map +1 -0
  27. package/dist/profile/dto/change-email.dto.js +31 -0
  28. package/dist/profile/dto/change-email.dto.js.map +1 -0
  29. package/dist/profile/dto/change-password.dto.d.ts.map +1 -1
  30. package/dist/profile/dto/change-password.dto.js +2 -2
  31. package/dist/profile/dto/change-password.dto.js.map +1 -1
  32. package/dist/profile/dto/email-verification-confirm.dto.d.ts.map +1 -1
  33. package/dist/profile/dto/email-verification-confirm.dto.js +4 -2
  34. package/dist/profile/dto/email-verification-confirm.dto.js.map +1 -1
  35. package/dist/profile/dto/send-email-verification.dto.d.ts.map +1 -1
  36. package/dist/profile/dto/send-email-verification.dto.js +3 -3
  37. package/dist/profile/dto/send-email-verification.dto.js.map +1 -1
  38. package/dist/profile/profile.controller.d.ts +9 -0
  39. package/dist/profile/profile.controller.d.ts.map +1 -1
  40. package/dist/profile/profile.controller.js +13 -0
  41. package/dist/profile/profile.controller.js.map +1 -1
  42. package/dist/profile/profile.service.d.ts +7 -0
  43. package/dist/profile/profile.service.d.ts.map +1 -1
  44. package/dist/profile/profile.service.js +5 -0
  45. package/dist/profile/profile.service.js.map +1 -1
  46. package/dist/token/token.service.d.ts.map +1 -1
  47. package/dist/token/token.service.js +2 -1
  48. package/dist/token/token.service.js.map +1 -1
  49. package/hedhog/data/route.yaml +12 -0
  50. package/package.json +7 -5
  51. package/src/auth/dto/change.dto.ts +5 -10
  52. package/src/auth/dto/email.dto.ts +5 -4
  53. package/src/auth/dto/forget.dto.ts +4 -2
  54. package/src/auth/dto/login.dto.ts +4 -2
  55. package/src/auth/guards/auth.guard.ts +7 -5
  56. package/src/challenge/challenge.service.ts +2 -0
  57. package/src/install/dto/install.dto.ts +4 -2
  58. package/src/mail/dto/test-mail.dto.ts +5 -3
  59. package/src/profile/dto/change-email.dto.ts +15 -0
  60. package/src/profile/dto/change-password.dto.ts +3 -3
  61. package/src/profile/dto/email-verification-confirm.dto.ts +5 -3
  62. package/src/profile/dto/send-email-verification.dto.ts +4 -4
  63. package/src/profile/profile.controller.ts +6 -0
  64. package/src/profile/profile.service.ts +9 -0
  65. package/src/token/token.service.ts +5 -2
  66. package/dist/core/core.controller.d.ts +0 -44
  67. package/dist/core/core.controller.d.ts.map +0 -1
  68. package/dist/core/core.controller.js +0 -38
  69. package/dist/core/core.controller.js.map +0 -1
  70. package/dist/core/core.module.d.ts +0 -3
  71. package/dist/core/core.module.d.ts.map +0 -1
  72. package/dist/core/core.module.js +0 -28
  73. package/dist/core/core.module.js.map +0 -1
  74. package/dist/core/core.service.d.ts +0 -56
  75. package/dist/core/core.service.d.ts.map +0 -1
  76. package/dist/core/core.service.js +0 -320
  77. package/dist/core/core.service.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  import { getLocaleText } from "@hed-hog/api-locale";
2
- import { ForbiddenException, forwardRef, Inject, Injectable } from "@nestjs/common";
2
+ import { ForbiddenException, forwardRef, Inject, Injectable, UnauthorizedException } from "@nestjs/common";
3
3
  import { JwtService } from "@nestjs/jwt";
4
4
  import { SecurityService } from "../security/security.service";
5
5
  import { SettingService } from "../setting/setting.service";
@@ -20,7 +20,10 @@ export class TokenService {
20
20
  try {
21
21
  return this.jwt.verifyAsync(token, { secret: this.security.getJwtSecret() });
22
22
  } catch (error) {
23
- throw new ForbiddenException(error, getLocaleText('accessDenied', locale, 'Access denied.'));
23
+ // Return 401 for JWT errors (expired, invalid, etc.)
24
+ throw new UnauthorizedException(
25
+ (error as any).message || getLocaleText('accessDenied', locale, 'Access denied.')
26
+ );
24
27
  }
25
28
  }
26
29
 
@@ -1,44 +0,0 @@
1
- import { CoreService } from './system.service';
2
- export declare class CoreController {
3
- private readonly service;
4
- constructor(service: CoreService);
5
- index(): Promise<{
6
- os: {
7
- name: string;
8
- platform: NodeJS.Platform;
9
- version: string;
10
- architecture: NodeJS.Architecture;
11
- uptime: number;
12
- cpu: {
13
- model: string;
14
- speed: number;
15
- physicalCores: number;
16
- virtualCores: number;
17
- };
18
- memory: {
19
- total: number;
20
- free: number;
21
- };
22
- disk: unknown;
23
- };
24
- modules: unknown;
25
- users: {
26
- total: number;
27
- admin: number;
28
- active: number;
29
- activities: {
30
- created_at: Date;
31
- user: {
32
- name: string;
33
- id: number;
34
- };
35
- }[];
36
- };
37
- database: {
38
- connections: number;
39
- size: number;
40
- queriesPerSecond: number;
41
- };
42
- }>;
43
- }
44
- //# sourceMappingURL=core.controller.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"core.controller.d.ts","sourceRoot":"","sources":["../../src/core/core.controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,qBACa,cAAc;IAGvB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,WAAW;IAIjC,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGZ"}
@@ -1,38 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- var __param = (this && this.__param) || function (paramIndex, decorator) {
12
- return function (target, key) { decorator(target, key, paramIndex); }
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.CoreController = void 0;
16
- const common_1 = require("@nestjs/common");
17
- const core_service_1 = require("./core.service");
18
- let CoreController = class CoreController {
19
- constructor(service) {
20
- this.service = service;
21
- }
22
- async index() {
23
- return this.service.index();
24
- }
25
- };
26
- exports.CoreController = CoreController;
27
- __decorate([
28
- (0, common_1.Get)(),
29
- __metadata("design:type", Function),
30
- __metadata("design:paramtypes", []),
31
- __metadata("design:returntype", Promise)
32
- ], CoreController.prototype, "index", null);
33
- exports.CoreController = CoreController = __decorate([
34
- (0, common_1.Controller)('core'),
35
- __param(0, (0, common_1.Inject)((0, common_1.forwardRef)(() => core_service_1.CoreService))),
36
- __metadata("design:paramtypes", [core_service_1.CoreService])
37
- ], CoreController);
38
- //# sourceMappingURL=core.controller.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"core.controller.js","sourceRoot":"","sources":["../../src/core/core.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAqE;AACrE,iDAA6C;AAGtC,IAAM,cAAc,GAApB,MAAM,cAAc;IACzB,YAEmB,OAAoB;QAApB,YAAO,GAAP,OAAO,CAAa;IACpC,CAAC;IAGE,AAAN,KAAK,CAAC,KAAK;QACT,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;CACF,CAAA;AAVY,wCAAc;AAOnB;IADL,IAAA,YAAG,GAAE;;;;2CAGL;yBATU,cAAc;IAD1B,IAAA,mBAAU,EAAC,MAAM,CAAC;IAGd,WAAA,IAAA,eAAM,EAAC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,0BAAW,CAAC,CAAC,CAAA;qCACZ,0BAAW;GAH5B,cAAc,CAU1B"}
@@ -1,3 +0,0 @@
1
- export declare class CoreModule {
2
- }
3
- //# sourceMappingURL=core.module.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"core.module.d.ts","sourceRoot":"","sources":["../../src/core/core.module.ts"],"names":[],"mappings":"AAMA,qBAUa,UAAU;CAAI"}
@@ -1,28 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.CoreModule = void 0;
10
- const api_prisma_1 = require("@hed-hog/api-prisma");
11
- const common_1 = require("@nestjs/common");
12
- const jwt_1 = require("@nestjs/jwt");
13
- const core_controller_1 = require("./core.controller");
14
- const core_service_1 = require("./core.service");
15
- let CoreModule = class CoreModule {
16
- };
17
- exports.CoreModule = CoreModule;
18
- exports.CoreModule = CoreModule = __decorate([
19
- (0, common_1.Module)({
20
- imports: [
21
- (0, common_1.forwardRef)(() => jwt_1.JwtModule),
22
- (0, common_1.forwardRef)(() => api_prisma_1.PrismaModule),
23
- ],
24
- controllers: [core_controller_1.CoreController],
25
- providers: [core_service_1.CoreService],
26
- })
27
- ], CoreModule);
28
- //# sourceMappingURL=core.module.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"core.module.js","sourceRoot":"","sources":["../../src/core/core.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,oDAAmD;AACnD,2CAAoD;AACpD,qCAAwC;AACxC,uDAAmD;AACnD,iDAA6C;AAYtC,IAAM,UAAU,GAAhB,MAAM,UAAU;CAAI,CAAA;AAAd,gCAAU;qBAAV,UAAU;IAVtB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,IAAA,mBAAU,EAAC,GAAG,EAAE,CACd,eAAS,CACV;YACD,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,yBAAY,CAAC;SAC/B;QACD,WAAW,EAAE,CAAC,gCAAc,CAAC;QAC7B,SAAS,EAAE,CAAC,0BAAW,CAAC;KACzB,CAAC;GACW,UAAU,CAAI"}
@@ -1,56 +0,0 @@
1
- import { PrismaService } from '@hed-hog/api-prisma';
2
- export declare class CoreService {
3
- private prismaService;
4
- constructor(prismaService: PrismaService);
5
- index(): Promise<{
6
- os: {
7
- name: string;
8
- platform: NodeJS.Platform;
9
- version: string;
10
- architecture: NodeJS.Architecture;
11
- uptime: number;
12
- cpu: {
13
- model: string;
14
- speed: number;
15
- physicalCores: number;
16
- virtualCores: number;
17
- };
18
- memory: {
19
- total: number;
20
- free: number;
21
- };
22
- disk: unknown;
23
- };
24
- modules: unknown;
25
- users: {
26
- total: number;
27
- admin: number;
28
- active: number;
29
- activities: {
30
- created_at: Date;
31
- user: {
32
- name: string;
33
- id: number;
34
- };
35
- }[];
36
- };
37
- database: {
38
- connections: number;
39
- size: number;
40
- queriesPerSecond: number;
41
- };
42
- }>;
43
- private getFriendlyOSName;
44
- private getDatabaseInfo;
45
- private getUsersInfo;
46
- private getModulesInfo;
47
- private getLatestVersion;
48
- private getCpuInfo;
49
- private getMemoryInfo;
50
- private getDiskInfo;
51
- private getDiskCommand;
52
- private parseWindowsDiskInfo;
53
- private parsedSizeFormated;
54
- private parseUnixDiskInfo;
55
- }
56
- //# sourceMappingURL=core.service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"core.service.d.ts","sourceRoot":"","sources":["../../src/core/core.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAOpD,qBACa,WAAW;IACV,OAAO,CAAC,aAAa;gBAAb,aAAa,EAAE,aAAa;IAE1C,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAsBX,OAAO,CAAC,iBAAiB;YAqBX,eAAe;YAgCf,YAAY;YA2CZ,cAAc;YAoCd,gBAAgB;IAkB9B,OAAO,CAAC,UAAU;IASlB,OAAO,CAAC,aAAa;YAOP,WAAW;IA4BzB,OAAO,CAAC,cAAc;IAgBtB,OAAO,CAAC,oBAAoB;IAgB5B,OAAO,CAAC,kBAAkB;IAkB1B,OAAO,CAAC,iBAAiB;CAkB1B"}
@@ -1,320 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
19
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
20
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
21
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
22
- return c > 3 && r && Object.defineProperty(target, key, r), r;
23
- };
24
- var __importStar = (this && this.__importStar) || (function () {
25
- var ownKeys = function(o) {
26
- ownKeys = Object.getOwnPropertyNames || function (o) {
27
- var ar = [];
28
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
- return ar;
30
- };
31
- return ownKeys(o);
32
- };
33
- return function (mod) {
34
- if (mod && mod.__esModule) return mod;
35
- var result = {};
36
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
- __setModuleDefault(result, mod);
38
- return result;
39
- };
40
- })();
41
- var __metadata = (this && this.__metadata) || function (k, v) {
42
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
43
- };
44
- Object.defineProperty(exports, "__esModule", { value: true });
45
- exports.CoreService = void 0;
46
- const api_prisma_1 = require("@hed-hog/api-prisma");
47
- const common_1 = require("@nestjs/common");
48
- const child_process_1 = require("child_process");
49
- const fs = __importStar(require("fs"));
50
- const os = __importStar(require("os"));
51
- const path = __importStar(require("path"));
52
- let CoreService = class CoreService {
53
- constructor(prismaService) {
54
- this.prismaService = prismaService;
55
- }
56
- async index() {
57
- const cpus = os.cpus();
58
- const totalSpeed = cpus.reduce((acc, cpu) => acc + cpu.speed, 0);
59
- const averageSpeed = totalSpeed / cpus.length;
60
- return {
61
- os: {
62
- name: this.getFriendlyOSName(),
63
- platform: os.platform(),
64
- version: os.release(),
65
- architecture: os.arch(),
66
- uptime: os.uptime(),
67
- cpu: this.getCpuInfo(cpus, averageSpeed),
68
- memory: this.getMemoryInfo(),
69
- disk: await this.getDiskInfo(),
70
- },
71
- modules: await this.getModulesInfo(),
72
- users: await this.getUsersInfo(),
73
- database: await this.getDatabaseInfo(),
74
- };
75
- }
76
- getFriendlyOSName() {
77
- switch (os.platform()) {
78
- case 'aix':
79
- return `AIX`;
80
- case 'darwin':
81
- return `macOS`;
82
- case 'freebsd':
83
- return `FreeBSD`;
84
- case 'linux':
85
- return `Linux`;
86
- case 'openbsd':
87
- return `OpenBSD`;
88
- case 'sunos':
89
- return `SunOS`;
90
- case 'win32':
91
- return `Windows`;
92
- default:
93
- return `Unknown`;
94
- }
95
- }
96
- async getDatabaseInfo() {
97
- let connections, size, queriesPerSecond;
98
- if (process.env.DATABASE_URL.includes('postgres')) {
99
- [connections, size, queriesPerSecond] = await Promise.all([
100
- this.prismaService.$queryRaw `SELECT COUNT(*) FROM pg_stat_activity`, // For PostgreSQL
101
- this.prismaService
102
- .$queryRaw `SELECT pg_database_size(current_database())`, // For PostgreSQL
103
- this.prismaService
104
- .$queryRaw `SELECT sum(numbackends) FROM pg_stat_database`, // For PostgreSQL
105
- ]);
106
- }
107
- else if (process.env.DATABASE_URL.includes('mysql')) {
108
- [connections, size, queriesPerSecond] = await Promise.all([
109
- this.prismaService
110
- .$queryRaw `SHOW STATUS WHERE variable_name = 'Threads_connected'`, // For MySQL
111
- this.prismaService
112
- .$queryRaw `SELECT SUM(data_length + index_length) AS size FROM information_schema.tables WHERE table_schema = DATABASE()`, // For MySQL
113
- this.prismaService
114
- .$queryRaw `SHOW STATUS WHERE variable_name = 'Queries'`, // For MySQL
115
- ]);
116
- }
117
- else {
118
- throw new Error('Unsupported database type');
119
- }
120
- return {
121
- connections: +String(connections[0].count || connections[0].Value) || 0,
122
- size: +String(size[0].pg_database_size || size[0].size) || 0,
123
- queriesPerSecond: +String(queriesPerSecond[0].sum || queriesPerSecond[0].Value) || 0,
124
- };
125
- }
126
- async getUsersInfo() {
127
- const users = await this.prismaService.user.findMany({
128
- include: {
129
- role_user: {
130
- where: {
131
- role_id: 1,
132
- },
133
- select: {
134
- role_id: true,
135
- },
136
- },
137
- },
138
- });
139
- const activities = await this.prismaService.user_activity.findMany({
140
- where: {
141
- created_at: {
142
- gte: new Date(new Date().getTime() - 7 * 24 * 60 * 60 * 1000),
143
- },
144
- },
145
- take: 10,
146
- orderBy: {
147
- created_at: 'desc',
148
- },
149
- select: {
150
- created_at: true,
151
- user: {
152
- select: {
153
- name: true,
154
- id: true,
155
- },
156
- },
157
- },
158
- });
159
- return {
160
- total: users.length,
161
- admin: users.filter((user) => user.role_user.length > 0).length,
162
- active: 0,
163
- activities,
164
- };
165
- }
166
- async getModulesInfo() {
167
- const packageJsonPath = path.resolve(process.cwd(), 'package.json');
168
- return new Promise((resolve, reject) => {
169
- fs.readFile(packageJsonPath, 'utf8', async (err, data) => {
170
- if (err) {
171
- reject(`Error reading package.json: ${err.message}`);
172
- return;
173
- }
174
- try {
175
- const packageJson = JSON.parse(data);
176
- const dependencies = packageJson.dependencies || {};
177
- const hedgehogModules = await Promise.all(Object.keys(dependencies)
178
- .filter((key) => key.startsWith('@hedhog'))
179
- .map(async (key) => {
180
- const currentVersion = dependencies[key].replace(/^[\^~]/, '');
181
- const latestVersion = await this.getLatestVersion(key);
182
- return {
183
- name: key,
184
- version: dependencies[key],
185
- latestVersion,
186
- upToDate: currentVersion === latestVersion,
187
- };
188
- }));
189
- resolve(hedgehogModules);
190
- }
191
- catch (parseError) {
192
- reject(`Error parsing package.json: ${parseError === null || parseError === void 0 ? void 0 : parseError.message}`);
193
- }
194
- });
195
- });
196
- }
197
- async getLatestVersion(moduleName) {
198
- return new Promise((resolve, reject) => {
199
- (0, child_process_1.exec)(`npm show ${moduleName} version`, (error, stdout, stderr) => {
200
- if (error) {
201
- reject(`Error fetching latest version for ${moduleName}: ${error.message}`);
202
- return;
203
- }
204
- if (stderr) {
205
- reject(`stderr: ${stderr}`);
206
- return;
207
- }
208
- resolve(stdout.trim());
209
- });
210
- });
211
- }
212
- getCpuInfo(cpus, averageSpeed) {
213
- return {
214
- model: cpus[0].model,
215
- speed: averageSpeed,
216
- physicalCores: cpus.length / 2, // Assuming hyper-threading, this gives physical cores
217
- virtualCores: cpus.length,
218
- };
219
- }
220
- getMemoryInfo() {
221
- return {
222
- total: os.totalmem(),
223
- free: os.freemem(),
224
- };
225
- }
226
- async getDiskInfo() {
227
- return new Promise((resolve, reject) => {
228
- const command = this.getDiskCommand();
229
- if (!command) {
230
- reject('Unsupported OS');
231
- return;
232
- }
233
- (0, child_process_1.exec)(command, (error, stdout, stderr) => {
234
- if (error) {
235
- reject(`error: ${error.message}`);
236
- return;
237
- }
238
- if (stderr) {
239
- reject(`stderr: ${stderr}`);
240
- return;
241
- }
242
- const diskInfo = os.platform() === 'win32'
243
- ? this.parseWindowsDiskInfo(stdout)
244
- : this.parseUnixDiskInfo(stdout);
245
- resolve(diskInfo.filter((disk) => disk.filesystem !== undefined));
246
- });
247
- });
248
- }
249
- getDiskCommand() {
250
- switch (os.platform()) {
251
- case 'win32':
252
- if (fs.existsSync('C:\\Windows\\System32\\wbem\\wmic.exe')) {
253
- return 'wmic logicaldisk get size,freespace,caption';
254
- }
255
- else {
256
- return 'powershell -Command "Get-PSDrive -PSProvider FileSystem | Select-Object Name,Used,Free"';
257
- }
258
- case 'darwin':
259
- case 'linux':
260
- return 'df -h';
261
- default:
262
- return null;
263
- }
264
- }
265
- parseWindowsDiskInfo(output) {
266
- const lines = output.trim().split('\n');
267
- const result = [];
268
- for (let i = 1; i < lines.length; i++) {
269
- const parts = lines[i].trim().split(/\s+/);
270
- if (parts.length === 3) {
271
- result.push({
272
- filesystem: parts[0].replace(':', ''),
273
- size: parseInt(parts[1], 10),
274
- free: parseInt(parts[2], 10),
275
- });
276
- }
277
- }
278
- return result;
279
- }
280
- parsedSizeFormated(size) {
281
- const unit = size.slice(-1).toUpperCase();
282
- const value = parseFloat(size.slice(0, -1));
283
- switch (unit) {
284
- case 'T':
285
- return value * 1024 ** 4;
286
- case 'G':
287
- return value * 1024 ** 3;
288
- case 'M':
289
- return value * 1024 ** 2;
290
- case 'K':
291
- return value * 1024;
292
- default:
293
- return value; // Assume bytes if no unit is provided
294
- }
295
- }
296
- parseUnixDiskInfo(output) {
297
- const lines = output.trim().split('\n');
298
- const result = [];
299
- for (let i = 1; i < lines.length; i++) {
300
- const parts = lines[i].split(/\s+/);
301
- if (parts.length >= 6) {
302
- const size = this.parsedSizeFormated(parts[1]);
303
- const free = this.parsedSizeFormated(parts[3]);
304
- result.push({
305
- filesystem: parts[0],
306
- free,
307
- size,
308
- mountpoint: parts[5],
309
- });
310
- }
311
- }
312
- return result;
313
- }
314
- };
315
- exports.CoreService = CoreService;
316
- exports.CoreService = CoreService = __decorate([
317
- (0, common_1.Injectable)(),
318
- __metadata("design:paramtypes", [api_prisma_1.PrismaService])
319
- ], CoreService);
320
- //# sourceMappingURL=core.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"core.service.js","sourceRoot":"","sources":["../../src/core/core.service.ts"],"names":[],"mappings":"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"}