@hedhog/admin 0.11.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.
- package/{hedhog.yaml → bkp.hedhog.yaml} +1012 -814
- package/dist/auth/consts/body.js +23 -23
- package/package.json +43 -43
- package/src/admin.module.ts +37 -37
- package/src/auth/auth.controller.ts +72 -72
- package/src/auth/auth.module.ts +39 -39
- package/src/auth/auth.service.spec.ts +196 -196
- package/src/auth/auth.service.ts +234 -234
- package/src/auth/consts/body.ts +26 -26
- package/src/auth/consts/subject.ts +1 -1
- package/src/auth/dto/forget.dto.ts +6 -6
- package/src/auth/dto/login.dto.ts +15 -15
- package/src/auth/dto/otp.dto.ts +11 -11
- package/src/auth/dto/reset.dto.ts +14 -14
- package/src/auth/enums/multifactor-type.enum.ts +4 -4
- package/src/auth/guards/auth.guard.ts +50 -50
- package/src/auth/types/user.type.ts +8 -8
- package/src/dto/delete.dto.ts +8 -8
- package/src/dto/update-ids.dto.ts +9 -9
- package/src/index.ts +20 -20
- package/src/menu/dto/create.dto.ts +25 -25
- package/src/menu/dto/order.dto.ts +8 -8
- package/src/menu/dto/update.dto.ts +19 -19
- package/src/menu/menu.controller.ts +105 -105
- package/src/menu/menu.module.ts +18 -18
- package/src/menu/menu.service.spec.ts +247 -247
- package/src/menu/menu.service.ts +263 -263
- package/src/role/dto/create.dto.ts +7 -7
- package/src/role/dto/update.dto.ts +4 -4
- package/src/role/guards/role.guard.ts +123 -123
- package/src/role/role.controller.ts +126 -126
- package/src/role/role.module.ts +28 -28
- package/src/role/role.service.spec.ts +417 -417
- package/src/role/role.service.ts +289 -289
- package/src/route/dto/create.dto.ts +13 -13
- package/src/route/dto/update.dto.ts +15 -15
- package/src/route/route.controller.ts +91 -91
- package/src/route/route.module.ts +18 -18
- package/src/route/route.service.spec.ts +300 -300
- package/src/route/route.service.ts +164 -164
- package/src/screen/dto/create.dto.ts +11 -11
- package/src/screen/dto/update.dto.ts +19 -19
- package/src/screen/screen.controller.ts +93 -93
- package/src/screen/screen.module.ts +18 -18
- package/src/screen/screen.service.spec.ts +298 -298
- package/src/screen/screen.service.ts +179 -179
- package/src/types/http-method.ts +8 -8
- package/src/user/constants/user.constants.ts +1 -1
- package/src/user/dto/create.dto.ts +24 -24
- package/src/user/dto/update.dto.ts +41 -41
- package/src/user/user.controller.ts +75 -75
- package/src/user/user.module.ts +18 -18
- package/src/user/user.service.spec.ts +294 -294
- package/src/user/user.service.ts +129 -129
package/dist/auth/consts/body.js
CHANGED
@@ -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.
|
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
|
+
}
|
package/src/admin.module.ts
CHANGED
@@ -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
|
+
}
|
package/src/auth/auth.module.ts
CHANGED
@@ -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 {}
|