@hedhog/admin 0.12.1 → 0.12.2

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 (54) hide show
  1. package/{hedhog.yaml → bkp.hedhog.yaml} +1012 -814
  2. package/dist/auth/consts/body.js +23 -23
  3. package/package.json +43 -43
  4. package/src/admin.module.ts +37 -37
  5. package/src/auth/auth.controller.ts +72 -72
  6. package/src/auth/auth.module.ts +39 -39
  7. package/src/auth/auth.service.spec.ts +196 -196
  8. package/src/auth/auth.service.ts +234 -234
  9. package/src/auth/consts/body.ts +26 -26
  10. package/src/auth/consts/subject.ts +1 -1
  11. package/src/auth/dto/forget.dto.ts +6 -6
  12. package/src/auth/dto/login.dto.ts +15 -15
  13. package/src/auth/dto/otp.dto.ts +11 -11
  14. package/src/auth/dto/reset.dto.ts +14 -14
  15. package/src/auth/enums/multifactor-type.enum.ts +4 -4
  16. package/src/auth/guards/auth.guard.ts +50 -50
  17. package/src/auth/types/user.type.ts +8 -8
  18. package/src/dto/delete.dto.ts +8 -8
  19. package/src/dto/update-ids.dto.ts +9 -9
  20. package/src/index.ts +20 -20
  21. package/src/menu/dto/create.dto.ts +25 -25
  22. package/src/menu/dto/order.dto.ts +8 -8
  23. package/src/menu/dto/update.dto.ts +19 -19
  24. package/src/menu/menu.controller.ts +105 -105
  25. package/src/menu/menu.module.ts +18 -18
  26. package/src/menu/menu.service.spec.ts +247 -247
  27. package/src/menu/menu.service.ts +263 -263
  28. package/src/role/dto/create.dto.ts +7 -7
  29. package/src/role/dto/update.dto.ts +4 -4
  30. package/src/role/guards/role.guard.ts +123 -123
  31. package/src/role/role.controller.ts +126 -126
  32. package/src/role/role.module.ts +28 -28
  33. package/src/role/role.service.spec.ts +417 -417
  34. package/src/role/role.service.ts +289 -289
  35. package/src/route/dto/create.dto.ts +13 -13
  36. package/src/route/dto/update.dto.ts +15 -15
  37. package/src/route/route.controller.ts +91 -91
  38. package/src/route/route.module.ts +18 -18
  39. package/src/route/route.service.spec.ts +300 -300
  40. package/src/route/route.service.ts +164 -164
  41. package/src/screen/dto/create.dto.ts +11 -11
  42. package/src/screen/dto/update.dto.ts +19 -19
  43. package/src/screen/screen.controller.ts +93 -93
  44. package/src/screen/screen.module.ts +18 -18
  45. package/src/screen/screen.service.spec.ts +298 -298
  46. package/src/screen/screen.service.ts +179 -179
  47. package/src/types/http-method.ts +8 -8
  48. package/src/user/constants/user.constants.ts +1 -1
  49. package/src/user/dto/create.dto.ts +24 -24
  50. package/src/user/dto/update.dto.ts +41 -41
  51. package/src/user/user.controller.ts +75 -75
  52. package/src/user/user.module.ts +18 -18
  53. package/src/user/user.service.spec.ts +294 -294
  54. package/src/user/user.service.ts +129 -129
@@ -2,29 +2,29 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getBody = void 0;
4
4
  const getBody = (url) => {
5
- return `
6
- <body style="font-family: Arial, sans-serif; background-color: #eef2f7; color: #333; margin: 0; padding: 0;">
7
- <div style="max-width: 600px; margin: 40px auto; background-color: #ffffff; border: 1px solid #dcdfe6; border-radius: 10px; padding: 40px; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);">
8
- <div style="text-align: center; margin-bottom: 30px;">
9
- <h1 style="color: #2c3e50; font-size: 26px; margin: 0;">Recuperação de Senha</h1>
10
- </div>
11
- <div style="line-height: 1.8; font-size: 16px; color: #555; text-align: justify;">
12
- <p>Olá,</p>
13
- <p>Recebemos uma solicitação para redefinir sua senha em nossa plataforma. Para garantir que você é o proprietário desta conta, criamos um link exclusivo para redefinir sua senha.</p>
14
- <p>Se você não fez essa solicitação, entre em contato conosco imediatamente para garantir a segurança de sua conta.</p>
15
- <p>Para redefinir sua senha, clique no botão abaixo:</p>
16
- </div>
17
- <div style="text-align: center; margin: 30px 0;">
18
- <a href="${url}" style="display: inline-block; padding: 15px 30px; background-color: #3498db; color: #ffffff; text-decoration: none; font-size: 16px; font-weight: bold; border-radius: 8px; box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);">Redefinir Senha</a>
19
- </div>
20
- <div style="font-size: 14px; line-height: 1.7; color: #666;">
21
- <p>Por razões de segurança, evite compartilhar suas informações de login ou clicar em links suspeitos.</p>
22
- <p>Agradecemos por escolher nossa plataforma!</p>
23
- </div>
24
- <div style="text-align: center; font-size: 13px; color: #95a5a6; margin-top: 40px; border-top: 1px solid #ecf0f1; padding-top: 20px;">
25
- <p>Este email foi enviado automaticamente. Por favor, não responda.</p>
26
- </div>
27
- </div>
5
+ return `
6
+ <body style="font-family: Arial, sans-serif; background-color: #eef2f7; color: #333; margin: 0; padding: 0;">
7
+ <div style="max-width: 600px; margin: 40px auto; background-color: #ffffff; border: 1px solid #dcdfe6; border-radius: 10px; padding: 40px; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);">
8
+ <div style="text-align: center; margin-bottom: 30px;">
9
+ <h1 style="color: #2c3e50; font-size: 26px; margin: 0;">Recuperação de Senha</h1>
10
+ </div>
11
+ <div style="line-height: 1.8; font-size: 16px; color: #555; text-align: justify;">
12
+ <p>Olá,</p>
13
+ <p>Recebemos uma solicitação para redefinir sua senha em nossa plataforma. Para garantir que você é o proprietário desta conta, criamos um link exclusivo para redefinir sua senha.</p>
14
+ <p>Se você não fez essa solicitação, entre em contato conosco imediatamente para garantir a segurança de sua conta.</p>
15
+ <p>Para redefinir sua senha, clique no botão abaixo:</p>
16
+ </div>
17
+ <div style="text-align: center; margin: 30px 0;">
18
+ <a href="${url}" style="display: inline-block; padding: 15px 30px; background-color: #3498db; color: #ffffff; text-decoration: none; font-size: 16px; font-weight: bold; border-radius: 8px; box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);">Redefinir Senha</a>
19
+ </div>
20
+ <div style="font-size: 14px; line-height: 1.7; color: #666;">
21
+ <p>Por razões de segurança, evite compartilhar suas informações de login ou clicar em links suspeitos.</p>
22
+ <p>Agradecemos por escolher nossa plataforma!</p>
23
+ </div>
24
+ <div style="text-align: center; font-size: 13px; color: #95a5a6; margin-top: 40px; border-top: 1px solid #ecf0f1; padding-top: 20px;">
25
+ <p>Este email foi enviado automaticamente. Por favor, não responda.</p>
26
+ </div>
27
+ </div>
28
28
  </body>`;
29
29
  };
30
30
  exports.getBody = getBody;
package/package.json CHANGED
@@ -1,43 +1,43 @@
1
- {
2
- "name": "@hedhog/admin",
3
- "version": "0.12.1",
4
- "private": false,
5
- "main": "dist/index.js",
6
- "scripts": {
7
- "clean": "rimraf ./dist",
8
- "prebuild": "npm run clean",
9
- "build": "tsc --project tsconfig.production.json && npm version patch",
10
- "prod": "npm run build && npm publish --access public"
11
- },
12
- "file": [
13
- "dist/**/*",
14
- "src/entities/**/*.ts",
15
- "src/migrations/**/*.ts",
16
- "src/**/*.ejs",
17
- "hedhog.yaml"
18
- ],
19
- "keywords": [],
20
- "author": "",
21
- "license": "MIT",
22
- "description": "",
23
- "devDependencies": {
24
- "@hedhog/locale": "^0.7.8",
25
- "@hedhog/mail": "^0.7.6",
26
- "@hedhog/pagination": "^0.7.4",
27
- "@hedhog/prisma": "^0.7.6",
28
- "@hedhog/setting": "^0.7.9",
29
- "@hedhog/utils": "^0.0.28",
30
- "@nestjs/mapped-types": "^2.0.5",
31
- "ts-node": "^10.9.1",
32
- "typescript": "^5.1.3"
33
- },
34
- "peerDependencies": {
35
- "@hedhog/locale": "latest",
36
- "@hedhog/mail": "latest",
37
- "@hedhog/pagination": "latest",
38
- "@hedhog/prisma": "latest",
39
- "@hedhog/setting": "latest",
40
- "@hedhog/utils": "latest",
41
- "@nestjs/jwt": "latest"
42
- }
43
- }
1
+ {
2
+ "name": "@hedhog/admin",
3
+ "version": "0.12.2",
4
+ "private": false,
5
+ "main": "dist/index.js",
6
+ "scripts": {
7
+ "clean": "rimraf ./dist",
8
+ "prebuild": "npm run clean",
9
+ "build": "tsc --project tsconfig.production.json && npm version patch",
10
+ "prod": "npm run build && npm publish --access public"
11
+ },
12
+ "file": [
13
+ "dist/**/*",
14
+ "src/entities/**/*.ts",
15
+ "src/migrations/**/*.ts",
16
+ "src/**/*.ejs",
17
+ "hedhog.yaml"
18
+ ],
19
+ "keywords": [],
20
+ "author": "",
21
+ "license": "MIT",
22
+ "description": "",
23
+ "devDependencies": {
24
+ "@hedhog/locale": "^0.7.8",
25
+ "@hedhog/mail": "^0.7.6",
26
+ "@hedhog/pagination": "^0.7.4",
27
+ "@hedhog/prisma": "^0.7.6",
28
+ "@hedhog/setting": "^0.7.9",
29
+ "@hedhog/utils": "^0.0.28",
30
+ "@nestjs/mapped-types": "^2.0.5",
31
+ "ts-node": "^10.9.1",
32
+ "typescript": "^5.1.3"
33
+ },
34
+ "peerDependencies": {
35
+ "@hedhog/locale": "latest",
36
+ "@hedhog/mail": "latest",
37
+ "@hedhog/pagination": "latest",
38
+ "@hedhog/prisma": "latest",
39
+ "@hedhog/setting": "latest",
40
+ "@hedhog/utils": "latest",
41
+ "@nestjs/jwt": "latest"
42
+ }
43
+ }
@@ -1,37 +1,37 @@
1
- import { PaginationModule } from '@hedhog/pagination';
2
- import { PrismaModule } from '@hedhog/prisma';
3
- import { forwardRef, Module } from '@nestjs/common';
4
- import { AuthModule } from './auth/auth.module';
5
- import { LocaleModule } from '@hedhog/locale';
6
- import { MenuModule } from './menu/menu.module';
7
- import { RoleModule } from './role/role.module';
8
- import { RouteModule } from './route/route.module';
9
- import { ScreenModule } from './screen/screen.module';
10
- import { UserModule } from './user/user.module';
11
- import { MailModule } from '@hedhog/mail';
12
-
13
- @Module({
14
- imports: [
15
- forwardRef(() => AuthModule),
16
- forwardRef(() => MailModule),
17
- forwardRef(() => MenuModule),
18
- forwardRef(() => PaginationModule),
19
- forwardRef(() => RoleModule),
20
- forwardRef(() => RouteModule),
21
- forwardRef(() => PrismaModule),
22
- forwardRef(() => ScreenModule),
23
- forwardRef(() => LocaleModule),
24
- forwardRef(() => UserModule),
25
- ],
26
- exports: [
27
- UserModule,
28
- AuthModule,
29
- MailModule,
30
- RouteModule,
31
- RoleModule,
32
- MenuModule,
33
- ScreenModule,
34
- LocaleModule,
35
- ],
36
- })
37
- export class AdminModule {}
1
+ import { PaginationModule } from '@hedhog/pagination';
2
+ import { PrismaModule } from '@hedhog/prisma';
3
+ import { forwardRef, Module } from '@nestjs/common';
4
+ import { AuthModule } from './auth/auth.module';
5
+ import { LocaleModule } from '@hedhog/locale';
6
+ import { MenuModule } from './menu/menu.module';
7
+ import { RoleModule } from './role/role.module';
8
+ import { RouteModule } from './route/route.module';
9
+ import { ScreenModule } from './screen/screen.module';
10
+ import { UserModule } from './user/user.module';
11
+ import { MailModule } from '@hedhog/mail';
12
+
13
+ @Module({
14
+ imports: [
15
+ forwardRef(() => AuthModule),
16
+ forwardRef(() => MailModule),
17
+ forwardRef(() => MenuModule),
18
+ forwardRef(() => PaginationModule),
19
+ forwardRef(() => RoleModule),
20
+ forwardRef(() => RouteModule),
21
+ forwardRef(() => PrismaModule),
22
+ forwardRef(() => ScreenModule),
23
+ forwardRef(() => LocaleModule),
24
+ forwardRef(() => UserModule),
25
+ ],
26
+ exports: [
27
+ UserModule,
28
+ AuthModule,
29
+ MailModule,
30
+ RouteModule,
31
+ RoleModule,
32
+ MenuModule,
33
+ ScreenModule,
34
+ LocaleModule,
35
+ ],
36
+ })
37
+ export class AdminModule {}
@@ -1,72 +1,72 @@
1
- import {
2
- Body,
3
- Controller,
4
- forwardRef,
5
- Get,
6
- Inject,
7
- Post,
8
- } from '@nestjs/common';
9
- import { Role, Public, User } from '@hedhog/core';
10
- import { AuthService } from './auth.service';
11
- import { ForgetDTO } from './dto/forget.dto';
12
- import { ResetDTO } from './dto/reset.dto';
13
- import { LoginDTO } from './dto/login.dto';
14
- import { OtpDTO } from './dto/otp.dto';
15
- import { User as UserType } from './types/user.type';
16
-
17
- @Controller('auth')
18
- export class AuthController {
19
- constructor(
20
- @Inject(forwardRef(() => AuthService))
21
- private readonly service: AuthService,
22
- ) { }
23
-
24
- @Role()
25
- @Get('verify')
26
- async verify(@User() { id }: UserType) {
27
- return this.service.verify(id);
28
- }
29
-
30
- @Public()
31
- @Post('login')
32
- async login(@Body() { email, password }: LoginDTO) {
33
- return this.service.login({ email, password });
34
- }
35
-
36
- @Public()
37
- @Post('otp')
38
- async otp(@Body() { token, code }: OtpDTO) {
39
- return this.service.otp({ token, code });
40
- }
41
-
42
- @Public()
43
- @Post('forget')
44
- async forget(@Body() {
45
- email,
46
- subject,
47
- body,
48
- }: ForgetDTO & {
49
- subject: string;
50
- body: string;
51
- }) {
52
- return this.service.forget({
53
- email,
54
- subject,
55
- body,
56
- });
57
- }
58
-
59
- @Public()
60
- @Post('reset')
61
- async reset(@Body() {
62
- newPassword,
63
- confirmNewPassword,
64
- code,
65
- }: ResetDTO) {
66
- return this.service.resetPassword({
67
- newPassword,
68
- confirmNewPassword,
69
- code,
70
- });
71
- }
72
- }
1
+ import {
2
+ Body,
3
+ Controller,
4
+ forwardRef,
5
+ Get,
6
+ Inject,
7
+ Post,
8
+ } from '@nestjs/common';
9
+ import { Role, Public, User } from '@hedhog/core';
10
+ import { AuthService } from './auth.service';
11
+ import { ForgetDTO } from './dto/forget.dto';
12
+ import { ResetDTO } from './dto/reset.dto';
13
+ import { LoginDTO } from './dto/login.dto';
14
+ import { OtpDTO } from './dto/otp.dto';
15
+ import { User as UserType } from './types/user.type';
16
+
17
+ @Controller('auth')
18
+ export class AuthController {
19
+ constructor(
20
+ @Inject(forwardRef(() => AuthService))
21
+ private readonly service: AuthService,
22
+ ) { }
23
+
24
+ @Role()
25
+ @Get('verify')
26
+ async verify(@User() { id }: UserType) {
27
+ return this.service.verify(id);
28
+ }
29
+
30
+ @Public()
31
+ @Post('login')
32
+ async login(@Body() { email, password }: LoginDTO) {
33
+ return this.service.login({ email, password });
34
+ }
35
+
36
+ @Public()
37
+ @Post('otp')
38
+ async otp(@Body() { token, code }: OtpDTO) {
39
+ return this.service.otp({ token, code });
40
+ }
41
+
42
+ @Public()
43
+ @Post('forget')
44
+ async forget(@Body() {
45
+ email,
46
+ subject,
47
+ body,
48
+ }: ForgetDTO & {
49
+ subject: string;
50
+ body: string;
51
+ }) {
52
+ return this.service.forget({
53
+ email,
54
+ subject,
55
+ body,
56
+ });
57
+ }
58
+
59
+ @Public()
60
+ @Post('reset')
61
+ async reset(@Body() {
62
+ newPassword,
63
+ confirmNewPassword,
64
+ code,
65
+ }: ResetDTO) {
66
+ return this.service.resetPassword({
67
+ newPassword,
68
+ confirmNewPassword,
69
+ code,
70
+ });
71
+ }
72
+ }
@@ -1,39 +1,39 @@
1
- import { MailModule } from '@hedhog/mail';
2
- import { PrismaModule } from '@hedhog/prisma';
3
- import { forwardRef, Module } from '@nestjs/common';
4
- import { APP_GUARD } from '@nestjs/core';
5
- import { JwtModule } from '@nestjs/jwt';
6
- import { AuthController } from './auth.controller';
7
- import { AuthService } from './auth.service';
8
- import { AuthGuard } from './guards/auth.guard';
9
-
10
- @Module({
11
- imports: [
12
- forwardRef(() =>
13
- JwtModule.registerAsync({
14
- global: true,
15
- useFactory: () => {
16
- return {
17
- secret: String(process.env.JWT_SECRET),
18
- global: true,
19
- signOptions: {
20
- expiresIn: process.env.JWT_EXPIRES_IN || '30d',
21
- },
22
- };
23
- },
24
- }),
25
- ),
26
- forwardRef(() => PrismaModule),
27
- forwardRef(() => MailModule),
28
- ],
29
- controllers: [AuthController],
30
- providers: [
31
- AuthService,
32
- {
33
- provide: APP_GUARD,
34
- useClass: AuthGuard,
35
- },
36
- ],
37
- exports: [AuthService],
38
- })
39
- export class AuthModule {}
1
+ import { MailModule } from '@hedhog/mail';
2
+ import { PrismaModule } from '@hedhog/prisma';
3
+ import { forwardRef, Module } from '@nestjs/common';
4
+ import { APP_GUARD } from '@nestjs/core';
5
+ import { JwtModule } from '@nestjs/jwt';
6
+ import { AuthController } from './auth.controller';
7
+ import { AuthService } from './auth.service';
8
+ import { AuthGuard } from './guards/auth.guard';
9
+
10
+ @Module({
11
+ imports: [
12
+ forwardRef(() =>
13
+ JwtModule.registerAsync({
14
+ global: true,
15
+ useFactory: () => {
16
+ return {
17
+ secret: String(process.env.JWT_SECRET),
18
+ global: true,
19
+ signOptions: {
20
+ expiresIn: process.env.JWT_EXPIRES_IN || '30d',
21
+ },
22
+ };
23
+ },
24
+ }),
25
+ ),
26
+ forwardRef(() => PrismaModule),
27
+ forwardRef(() => MailModule),
28
+ ],
29
+ controllers: [AuthController],
30
+ providers: [
31
+ AuthService,
32
+ {
33
+ provide: APP_GUARD,
34
+ useClass: AuthGuard,
35
+ },
36
+ ],
37
+ exports: [AuthService],
38
+ })
39
+ export class AuthModule {}