@hedhog/admin 0.46.42 → 0.46.44
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/dist/auth/auth.controller.d.ts +9 -0
- package/dist/auth/auth.controller.d.ts.map +1 -1
- package/dist/auth/auth.controller.js +23 -0
- package/dist/auth/auth.controller.js.map +1 -1
- package/dist/auth/auth.service.d.ts +9 -0
- package/dist/auth/auth.service.d.ts.map +1 -1
- package/dist/auth/auth.service.js +44 -3
- package/dist/auth/auth.service.js.map +1 -1
- package/dist/auth/dto/create-user.dto.d.ts +5 -0
- package/dist/auth/dto/create-user.dto.d.ts.map +1 -0
- package/dist/auth/dto/create-user.dto.js +34 -0
- package/dist/auth/dto/create-user.dto.js.map +1 -0
- package/dist/emails/lib.d.ts +2 -0
- package/dist/emails/lib.d.ts.map +1 -1
- package/dist/emails/lib.js +36 -6
- package/dist/emails/lib.js.map +1 -1
- package/dist/emails/templates.d.ts +4 -0
- package/dist/emails/templates.d.ts.map +1 -1
- package/dist/emails/templates.js +7 -0
- package/dist/emails/templates.js.map +1 -1
- package/package.json +6 -5
- package/src/auth/auth.controller.ts +14 -0
- package/src/auth/auth.service.ts +58 -3
- package/src/auth/dto/create-user.dto.ts +22 -0
- package/src/emails/lib.ts +43 -13
- package/src/emails/templates.ts +11 -0
@@ -1,5 +1,6 @@
|
|
1
1
|
import { AuthService } from './auth.service';
|
2
2
|
import { ChangeDTO } from './dto/change.dto';
|
3
|
+
import { CreateUserDTO } from './dto/create-user.dto';
|
3
4
|
import { EmailDTO } from './dto/email.dto';
|
4
5
|
import { ForgetDTO } from './dto/forget.dto';
|
5
6
|
import { LoginDTO } from './dto/login.dto';
|
@@ -9,6 +10,14 @@ import { User as UserType } from './types/user.type';
|
|
9
10
|
export declare class AuthController {
|
10
11
|
private readonly service;
|
11
12
|
constructor(service: AuthService);
|
13
|
+
createUserCheck(code: string): Promise<{
|
14
|
+
name: string;
|
15
|
+
id: number;
|
16
|
+
email: string;
|
17
|
+
}>;
|
18
|
+
createUser(data: CreateUserDTO): Promise<{
|
19
|
+
token: string;
|
20
|
+
}>;
|
12
21
|
verify({ id }: UserType): Promise<{
|
13
22
|
code: string | null;
|
14
23
|
name: string;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"auth.controller.d.ts","sourceRoot":"","sources":["../../src/auth/auth.controller.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"auth.controller.d.ts","sourceRoot":"","sources":["../../src/auth/auth.controller.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAErD,qBACa,cAAc;IAGvB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,WAAW;IAKjC,eAAe,CAAgB,IAAI,EAAE,MAAM;;;;;IAM3C,UAAU,CAAS,IAAI,EAAE,aAAa;;;IAMtC,MAAM,CAAS,EAAE,EAAE,EAAE,EAAE,QAAQ;;;;;;;;;;IAM/B,KAAK,CAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,QAAQ;;;;;;;;IAM3C,GAAG,CAAS,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM;;;IAMnC,MAAM,CAEV,EACE,KAAK,GACN,EAAE,SAAS,GAAG;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;KACd;;;IASG,KAAK,CAAS,EAAE,WAAW,EAAE,kBAAkB,EAAE,IAAI,EAAE,EAAE,QAAQ;;;IAUjE,cAAc,CAElB,EAAE,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,kBAAkB,EAAE,EAAE,SAAS;;;IAWlE,WAAW,CAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,QAAQ;;;CAGzE"}
|
@@ -17,6 +17,7 @@ const core_1 = require("@hedhog/core");
|
|
17
17
|
const common_1 = require("@nestjs/common");
|
18
18
|
const auth_service_1 = require("./auth.service");
|
19
19
|
const change_dto_1 = require("./dto/change.dto");
|
20
|
+
const create_user_dto_1 = require("./dto/create-user.dto");
|
20
21
|
const email_dto_1 = require("./dto/email.dto");
|
21
22
|
const login_dto_1 = require("./dto/login.dto");
|
22
23
|
const otp_dto_1 = require("./dto/otp.dto");
|
@@ -25,6 +26,12 @@ let AuthController = class AuthController {
|
|
25
26
|
constructor(service) {
|
26
27
|
this.service = service;
|
27
28
|
}
|
29
|
+
async createUserCheck(code) {
|
30
|
+
return this.service.createUserCheck(code);
|
31
|
+
}
|
32
|
+
async createUser(data) {
|
33
|
+
return this.service.createUser(data);
|
34
|
+
}
|
28
35
|
async verify({ id }) {
|
29
36
|
return this.service.verify(id);
|
30
37
|
}
|
@@ -59,6 +66,22 @@ let AuthController = class AuthController {
|
|
59
66
|
}
|
60
67
|
};
|
61
68
|
exports.AuthController = AuthController;
|
69
|
+
__decorate([
|
70
|
+
(0, core_1.Public)(),
|
71
|
+
(0, common_1.Get)('create-user'),
|
72
|
+
__param(0, (0, common_1.Query)('code')),
|
73
|
+
__metadata("design:type", Function),
|
74
|
+
__metadata("design:paramtypes", [String]),
|
75
|
+
__metadata("design:returntype", Promise)
|
76
|
+
], AuthController.prototype, "createUserCheck", null);
|
77
|
+
__decorate([
|
78
|
+
(0, core_1.Public)(),
|
79
|
+
(0, common_1.Post)('create-user'),
|
80
|
+
__param(0, (0, common_1.Body)()),
|
81
|
+
__metadata("design:type", Function),
|
82
|
+
__metadata("design:paramtypes", [create_user_dto_1.CreateUserDTO]),
|
83
|
+
__metadata("design:returntype", Promise)
|
84
|
+
], AuthController.prototype, "createUser", null);
|
62
85
|
__decorate([
|
63
86
|
(0, core_1.Role)(),
|
64
87
|
(0, common_1.Get)('verify'),
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"auth.controller.js","sourceRoot":"","sources":["../../src/auth/auth.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,uCAAkD;AAClD,
|
1
|
+
{"version":3,"file":"auth.controller.js","sourceRoot":"","sources":["../../src/auth/auth.controller.ts"],"names":[],"mappings":"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"}
|
@@ -3,6 +3,7 @@ import { PrismaService } from '@hedhog/prisma';
|
|
3
3
|
import { ConfigService } from '@nestjs/config';
|
4
4
|
import { JwtService } from '@nestjs/jwt';
|
5
5
|
import { ChangeDTO } from './dto/change.dto';
|
6
|
+
import { CreateUserDTO } from './dto/create-user.dto';
|
6
7
|
import { EmailDTO } from './dto/email.dto';
|
7
8
|
import { ForgetDTO } from './dto/forget.dto';
|
8
9
|
import { LoginDTO } from './dto/login.dto';
|
@@ -14,6 +15,14 @@ export declare class AuthService {
|
|
14
15
|
private readonly jwt;
|
15
16
|
private readonly mail;
|
16
17
|
constructor(configService: ConfigService, prisma: PrismaService, jwt: JwtService, mail: MailService);
|
18
|
+
createUserCheck(code: string): Promise<{
|
19
|
+
name: string;
|
20
|
+
id: number;
|
21
|
+
email: string;
|
22
|
+
}>;
|
23
|
+
createUser({ code, password }: CreateUserDTO): Promise<{
|
24
|
+
token: string;
|
25
|
+
}>;
|
17
26
|
verifyToken(token: string): Promise<any>;
|
18
27
|
generateRandomString(length: number): string;
|
19
28
|
generateRandomNumber(): number;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"auth.service.d.ts","sourceRoot":"","sources":["../../src/auth/auth.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAS/C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;
|
1
|
+
{"version":3,"file":"auth.service.d.ts","sourceRoot":"","sources":["../../src/auth/auth.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAS/C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AASzC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAG3C,qBACa,WAAW;IAEpB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAE9B,OAAO,CAAC,QAAQ,CAAC,MAAM;IAEvB,OAAO,CAAC,QAAQ,CAAC,GAAG;IAEpB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBANJ,aAAa,EAAE,aAAa,EAE5B,MAAM,EAAE,aAAa,EAErB,GAAG,EAAE,UAAU,EAEf,IAAI,EAAE,WAAW;IAG9B,eAAe,CAAC,IAAI,EAAE,MAAM;;;;;IAqB5B,UAAU,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,aAAa;;;IA4B5C,WAAW,CAAC,KAAK,EAAE,MAAM;IAM/B,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAW5C,oBAAoB,IAAI,MAAM;IAMxB,yBAAyB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;;;;;;;;IAsDzD,QAAQ,CAAC,IAAI,KAAA;;;IAUb,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,SAAS;;;IA4C3B,cAAc,CAAC,EACnB,KAAK,EACL,eAAe,EACf,WAAW,EACX,kBAAkB,GACnB,EAAE,SAAS;;;IAkCN,WAAW,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,QAAQ;;;IAyD1D,aAAa,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,kBAAkB,EAAE,EAAE,QAAQ;;;IAkDjE,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM;;;IA0B3B,KAAK,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,QAAQ;;;;;;;;IAWnC,MAAM,CAAC,EAAE,EAAE,MAAM;;;;;;;;;;CAKxB"}
|
@@ -28,6 +28,45 @@ let AuthService = class AuthService {
|
|
28
28
|
this.jwt = jwt;
|
29
29
|
this.mail = mail;
|
30
30
|
}
|
31
|
+
async createUserCheck(code) {
|
32
|
+
await this.verifyToken(code);
|
33
|
+
const user = await this.prisma.user.findFirst({
|
34
|
+
where: {
|
35
|
+
code,
|
36
|
+
},
|
37
|
+
select: {
|
38
|
+
id: true,
|
39
|
+
name: true,
|
40
|
+
email: true,
|
41
|
+
},
|
42
|
+
});
|
43
|
+
if (!user) {
|
44
|
+
throw new common_1.NotFoundException('Invalid code');
|
45
|
+
}
|
46
|
+
return user;
|
47
|
+
}
|
48
|
+
async createUser({ code, password }) {
|
49
|
+
const user = await this.createUserCheck(code);
|
50
|
+
const salt = await (0, bcrypt_1.genSalt)();
|
51
|
+
password = await (0, bcrypt_1.hash)(password, salt);
|
52
|
+
await this.prisma.user.update({
|
53
|
+
where: {
|
54
|
+
id: user.id,
|
55
|
+
},
|
56
|
+
data: {
|
57
|
+
password,
|
58
|
+
code: null,
|
59
|
+
},
|
60
|
+
});
|
61
|
+
await this.mail.send({
|
62
|
+
to: user.email,
|
63
|
+
subject: 'Conta criada',
|
64
|
+
body: (0, emails_1.getCreateUserEmail)({
|
65
|
+
name: user.name,
|
66
|
+
}),
|
67
|
+
});
|
68
|
+
return this.getToken(user);
|
69
|
+
}
|
31
70
|
async verifyToken(token) {
|
32
71
|
return this.jwt.verifyAsync(token, {
|
33
72
|
secret: String(process.env.JWT_SECRET),
|
@@ -53,6 +92,7 @@ let AuthService = class AuthService {
|
|
53
92
|
email,
|
54
93
|
},
|
55
94
|
});
|
95
|
+
console.log('user found', user);
|
56
96
|
if (!user) {
|
57
97
|
throw new common_1.BadRequestException('Acesso negado');
|
58
98
|
}
|
@@ -60,6 +100,7 @@ let AuthService = class AuthService {
|
|
60
100
|
if (!isPasswordValid) {
|
61
101
|
throw new common_1.BadRequestException('Acesso negado');
|
62
102
|
}
|
103
|
+
console.log('Password is valid');
|
63
104
|
if (!user.multifactor_id) {
|
64
105
|
return this.getToken(user);
|
65
106
|
}
|
@@ -162,16 +203,16 @@ let AuthService = class AuthService {
|
|
162
203
|
where: { email: currentEmail },
|
163
204
|
});
|
164
205
|
if (!user) {
|
165
|
-
throw new common_1.BadRequestException('
|
206
|
+
throw new common_1.BadRequestException('Usuário não encontrado.');
|
166
207
|
}
|
167
208
|
if (!(await (0, bcrypt_1.compare)(password, user.password))) {
|
168
|
-
throw new common_1.BadRequestException('
|
209
|
+
throw new common_1.BadRequestException('Senha inválida.');
|
169
210
|
}
|
170
211
|
const existingUser = await this.prisma.user.findFirst({
|
171
212
|
where: { email: newEmail },
|
172
213
|
});
|
173
214
|
if (existingUser) {
|
174
|
-
throw new common_1.ConflictException('
|
215
|
+
throw new common_1.ConflictException('Já existe um usuário com esse e-mail.');
|
175
216
|
}
|
176
217
|
const newUser = await this.prisma.user.updateMany({
|
177
218
|
where: { email: currentEmail },
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"auth.service.js","sourceRoot":"","sources":["../../src/auth/auth.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,uCAA2C;AAC3C,2CAA+C;AAC/C,2CAOwB;AACxB,2CAA+C;AAC/C,qCAAyC;AACzC,mCAAgD;AAChD,
|
1
|
+
{"version":3,"file":"auth.service.js","sourceRoot":"","sources":["../../src/auth/auth.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,uCAA2C;AAC3C,2CAA+C;AAC/C,2CAOwB;AACxB,2CAA+C;AAC/C,qCAAyC;AACzC,mCAAgD;AAChD,sCAMmB;AAQnB,yEAAgE;AAGzD,IAAM,WAAW,GAAjB,MAAM,WAAW;IACtB,YACmB,aAA4B,EAE5B,MAAqB,EAErB,GAAe,EAEf,IAAiB;QANjB,kBAAa,GAAb,aAAa,CAAe;QAE5B,WAAM,GAAN,MAAM,CAAe;QAErB,QAAG,GAAH,GAAG,CAAY;QAEf,SAAI,GAAJ,IAAI,CAAa;IACjC,CAAC;IAEJ,KAAK,CAAC,eAAe,CAAC,IAAY;QAChC,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAE7B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;YAC5C,KAAK,EAAE;gBACL,IAAI;aACL;YACD,MAAM,EAAE;gBACN,EAAE,EAAE,IAAI;gBACR,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,IAAI;aACZ;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,0BAAiB,CAAC,cAAc,CAAC,CAAC;QAC9C,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAiB;QAChD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAE9C,MAAM,IAAI,GAAG,MAAM,IAAA,gBAAO,GAAE,CAAC;QAE7B,QAAQ,GAAG,MAAM,IAAA,aAAI,EAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAEtC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;YAC5B,KAAK,EAAE;gBACL,EAAE,EAAE,IAAI,CAAC,EAAE;aACZ;YACD,IAAI,EAAE;gBACJ,QAAQ;gBACR,IAAI,EAAE,IAAI;aACX;SACF,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YACnB,EAAE,EAAE,IAAI,CAAC,KAAK;YACd,OAAO,EAAE,cAAc;YACvB,IAAI,EAAE,IAAA,2BAAkB,EAAC;gBACvB,IAAI,EAAE,IAAI,CAAC,IAAI;aAChB,CAAC;SACH,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAAa;QAC7B,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,EAAE;YACjC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;SACvC,CAAC,CAAC;IACL,CAAC;IAED,oBAAoB,CAAC,MAAc;QACjC,MAAM,UAAU,GACd,gEAAgE,CAAC;QACnE,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;YAClE,MAAM,IAAI,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC3C,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,oBAAoB;QAClB,MAAM,GAAG,GAAG,MAAM,CAAC;QACnB,MAAM,GAAG,GAAG,MAAM,CAAC;QACnB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,yBAAyB,CAAC,KAAa,EAAE,QAAgB;QAC7D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;YAC5C,KAAK,EAAE;gBACL,KAAK;aACN;SACF,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QAEhC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,4BAAmB,CAAC,eAAe,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,eAAe,GAAG,MAAM,IAAA,gBAAO,EAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/D,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,MAAM,IAAI,4BAAmB,CAAC,eAAe,CAAC,CAAC;QACjD,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QAEjC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,IAAI,IAAI,CAAC,cAAc,KAAK,uCAAe,CAAC,KAAK,EAAE,CAAC;gBAClD,MAAM,IAAI,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAEzC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;oBAC5B,KAAK,EAAE;wBACL,EAAE,EAAE,IAAI,CAAC,EAAE;qBACZ;oBACD,IAAI,EAAE;wBACJ,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC;qBACnB;iBACF,CAAC,CAAC;gBAEH,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;oBACnB,EAAE,EAAE,IAAI,CAAC,KAAK;oBACd,OAAO,EAAE,iBAAiB;oBAC1B,IAAI,EAAE,yBAAyB,IAAI,EAAE;iBACtC,CAAC,CAAC;YACL,CAAC;YAED,OAAO;gBACL,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;oBACnB,EAAE,EAAE,IAAI,CAAC,EAAE;oBACX,GAAG,EAAE,IAAI,CAAC,cAAc;iBACzB,CAAC;gBACF,GAAG,EAAE,IAAI;aACV,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,IAAI;QACjB,OAAO,IAAI,CAAC,QAAQ,CAAC;QAErB,MAAM,OAAO,GAAG,EAAE,IAAI,EAAE,CAAC;QAEzB,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;SAC9B,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,EAAa;;QAC/B,MAAM,MAAM,GACV,MAAA,OAAO,CAAC,GAAG,CAAC,OAAO,mCAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAS,SAAS,CAAC,CAAC;QAEnE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;YAC5C,KAAK,EAAE;gBACL,KAAK;aACN;YACD,MAAM,EAAE;gBACN,EAAE,EAAE,IAAI;aACT;SACF,CAAC,CAAC;QAEH,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,OAAO,qBACR,IAAI,CACR,CAAC;YAEF,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAEpC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;gBAC5B,KAAK,EAAE;oBACL,EAAE,EAAE,IAAI,CAAC,EAAE;iBACZ;gBACD,IAAI,EAAE;oBACJ,IAAI;iBACL;aACF,CAAC,CAAC;YAEH,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBACnB,EAAE,EAAE,KAAK;gBACT,OAAO,EAAE,sBAAsB;gBAC/B,IAAI,EAAE,IAAA,+BAAsB,EAC1B,GAAG,MAAM,mCAAmC,IAAI,EAAE,CACnD;aACF,CAAC,CAAC;QACL,CAAC;QAED,OAAO;YACL,OAAO,EACL,uFAAuF;SAC1F,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,EACnB,KAAK,EACL,eAAe,EACf,WAAW,EACX,kBAAkB,GACR;QACV,IAAI,WAAW,KAAK,kBAAkB,EAAE,CAAC;YACvC,MAAM,IAAI,4BAAmB,CAAC,qBAAqB,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;YAC5C,KAAK,EAAE,EAAE,KAAK,EAAE;SACjB,CAAC,CAAC;QAEH,IAAI,CAAC,CAAC,MAAM,IAAA,gBAAO,EAAC,eAAe,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;YACrD,MAAM,IAAI,0BAAiB,CAAC,mCAAmC,CAAC,CAAC;QACnE,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,IAAA,gBAAO,GAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,MAAM,IAAA,aAAI,EAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAE/C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;YAC5C,KAAK,EAAE;gBACL,EAAE,EAAE,IAAI,CAAC,EAAE;aACZ;YACD,IAAI,EAAE;gBACJ,QAAQ;aACT;SACF,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YACnB,EAAE,EAAE,KAAK;YACT,OAAO,EAAE,gBAAgB;YACzB,IAAI,EAAE,IAAA,+BAAsB,GAAE;SAC/B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAY;QAC9D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;YAC5C,KAAK,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE;SAC/B,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,4BAAmB,CAAC,yBAAyB,CAAC,CAAC;QAC3D,CAAC;QAED,IAAI,CAAC,CAAC,MAAM,IAAA,gBAAO,EAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,4BAAmB,CAAC,iBAAiB,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;YACpD,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE;SAC3B,CAAC,CAAC;QAEH,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,IAAI,0BAAiB,CAAC,uCAAuC,CAAC,CAAC;QACvE,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;YAChD,KAAK,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE;YAC9B,IAAI,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE;SAC1B,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC;YACzD,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE;YAC3B,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;SAC5B,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,0BAAiB,CAAC,wCAAwC,CAAC,CAAC;QACxE,CAAC;QAED,MAAM,EAAE,EAAE,EAAE,kBAAkB,EAAE,GAC9B,MAAM,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,SAAS,CAAC;YAC9C,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;SACzB,CAAC,CAAC;QAEL,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC;YAC1C,KAAK,EAAE;gBACL,SAAS,EAAE,UAAU,CAAC,SAAS;gBAC/B,OAAO,EAAE,kBAAkB;aAC5B;YACD,IAAI,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE;SAC1B,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YACnB,EAAE,EAAE,QAAQ;YACZ,OAAO,EAAE,gBAAgB;YACzB,IAAI,EAAE,IAAA,4BAAmB,GAAE;SAC5B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,kBAAkB,EAAY;;QACrE,IAAI,WAAW,KAAK,kBAAkB,EAAE,CAAC;YACvC,MAAM,IAAI,4BAAmB,CAAC,qBAAqB,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAE1C,OAAO,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;YAE7B,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,CAAC;YAE3B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;gBAC5C,KAAK,EAAE;oBACL,EAAE;oBACF,IAAI;iBACL;aACF,CAAC,CAAC;YAEH,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM,IAAI,GAAG,MAAM,IAAA,gBAAO,GAAE,CAAC;gBAC7B,MAAM,QAAQ,GAAG,MAAM,IAAA,aAAI,EAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;gBAEtD,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;oBAC5B,KAAK,EAAE;wBACL,EAAE,EAAE,IAAI,CAAC,EAAE;qBACZ;oBACD,IAAI,EAAE;wBACJ,QAAQ;wBACR,IAAI,EAAE,IAAI;qBACX;iBACF,CAAC,CAAC;gBAEH,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;oBACnB,EAAE,EAAE,IAAI,CAAC,KAAK;oBACd,OAAO,EAAE,kBAAkB;oBAC3B,IAAI,EAAE,IAAA,8BAAqB,GAAE;iBAC9B,CAAC,CAAC;gBAEH,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC7B,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,MAAM,IAAI,4BAAmB,CAC3B,iBAAiB,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,mCAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CACnD,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAU;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAEpC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;YAC5C,KAAK,EAAE;gBACL,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC;gBACd,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC;aACnB;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,0BAAiB,CAAC,iBAAiB,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;YAC5B,KAAK,EAAE;gBACL,EAAE,EAAE,IAAI,CAAC,EAAE;aACZ;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,IAAI;aACX;SACF,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAY;QACvC;;;;;;UAME;QACF,OAAO,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;YACjC,KAAK,EAAE,EAAE,EAAE,EAAE;SACd,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AA3XY,kCAAW;sBAAX,WAAW;IADvB,IAAA,mBAAU,GAAE;IAIR,WAAA,IAAA,eAAM,EAAC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,sBAAa,CAAC,CAAC,CAAA;IAEvC,WAAA,IAAA,eAAM,EAAC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,gBAAU,CAAC,CAAC,CAAA;IAEpC,WAAA,IAAA,eAAM,EAAC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,kBAAW,CAAC,CAAC,CAAA;qCALN,sBAAa;QAEpB,sBAAa;QAEhB,gBAAU;QAET,kBAAW;GARzB,WAAW,CA2XvB"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"create-user.dto.d.ts","sourceRoot":"","sources":["../../../src/auth/dto/create-user.dto.ts"],"names":[],"mappings":"AAEA,qBAAa,aAAa;IAGxB,IAAI,EAAE,MAAM,CAAC;IAeb,QAAQ,EAAE,MAAM,CAAC;CAClB"}
|
@@ -0,0 +1,34 @@
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
12
|
+
exports.CreateUserDTO = void 0;
|
13
|
+
const class_validator_1 = require("class-validator");
|
14
|
+
class CreateUserDTO {
|
15
|
+
}
|
16
|
+
exports.CreateUserDTO = CreateUserDTO;
|
17
|
+
__decorate([
|
18
|
+
(0, class_validator_1.IsString)(),
|
19
|
+
(0, class_validator_1.IsNotEmpty)(),
|
20
|
+
__metadata("design:type", String)
|
21
|
+
], CreateUserDTO.prototype, "code", void 0);
|
22
|
+
__decorate([
|
23
|
+
(0, class_validator_1.IsStrongPassword)({
|
24
|
+
minLength: 6,
|
25
|
+
minLowercase: 1,
|
26
|
+
minUppercase: 0,
|
27
|
+
minNumbers: 0,
|
28
|
+
minSymbols: 0,
|
29
|
+
}, {
|
30
|
+
message: 'A senha deve ter pelo menos 6 caracteres e conter pelo menos 1 letra minúscula.',
|
31
|
+
}),
|
32
|
+
__metadata("design:type", String)
|
33
|
+
], CreateUserDTO.prototype, "password", void 0);
|
34
|
+
//# sourceMappingURL=create-user.dto.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"create-user.dto.js","sourceRoot":"","sources":["../../../src/auth/dto/create-user.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAyE;AAEzE,MAAa,aAAa;CAmBzB;AAnBD,sCAmBC;AAhBC;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;2CACA;AAeb;IAbC,IAAA,kCAAgB,EACf;QACE,SAAS,EAAE,CAAC;QACZ,YAAY,EAAE,CAAC;QACf,YAAY,EAAE,CAAC;QACf,UAAU,EAAE,CAAC;QACb,UAAU,EAAE,CAAC;KACd,EACD;QACE,OAAO,EACL,iFAAiF;KACpF,CACF;;+CACgB"}
|
package/dist/emails/lib.d.ts
CHANGED
@@ -1,6 +1,8 @@
|
|
1
|
+
import { UserCreateEmailType } from './templates';
|
1
2
|
export declare const getUserLoginEmail: () => string;
|
2
3
|
export declare const getForgetPasswordEmail: (url: string) => string;
|
3
4
|
export declare const getChangePasswordEmail: () => string;
|
4
5
|
export declare const getChangeEmailEmail: () => string;
|
5
6
|
export declare const getResetPasswordEmail: () => string;
|
7
|
+
export declare const getCreateUserEmail: (data: UserCreateEmailType) => string;
|
6
8
|
//# sourceMappingURL=lib.d.ts.map
|
package/dist/emails/lib.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../src/emails/lib.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../src/emails/lib.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAOpE,eAAO,MAAM,iBAAiB,cAQ7B,CAAC;AAGF,eAAO,MAAM,sBAAsB,QAAS,MAAM,WAQjD,CAAC;AAGF,eAAO,MAAM,sBAAsB,cAQlC,CAAC;AAGF,eAAO,MAAM,mBAAmB,cAQ/B,CAAC;AAGF,eAAO,MAAM,qBAAqB,cAQjC,CAAC;AAEF,eAAO,MAAM,kBAAkB,SAAU,mBAAmB,WAQ3D,CAAC"}
|
package/dist/emails/lib.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.getResetPasswordEmail = exports.getChangeEmailEmail = exports.getChangePasswordEmail = exports.getForgetPasswordEmail = exports.getUserLoginEmail = void 0;
|
3
|
+
exports.getCreateUserEmail = exports.getResetPasswordEmail = exports.getChangeEmailEmail = exports.getChangePasswordEmail = exports.getForgetPasswordEmail = exports.getUserLoginEmail = void 0;
|
4
4
|
const templates_1 = require("./templates");
|
5
5
|
const getBodyWrapper = (content) => {
|
6
6
|
return templates_1.defaults.default_body(content);
|
@@ -8,36 +8,66 @@ const getBodyWrapper = (content) => {
|
|
8
8
|
// auth/login
|
9
9
|
const getUserLoginEmail = () => {
|
10
10
|
const body = templates_1.bodies['user_login'];
|
11
|
-
const content = [
|
11
|
+
const content = [
|
12
|
+
templates_1.defaults.header('Novo login no CoinBitClub'),
|
13
|
+
body(),
|
14
|
+
templates_1.defaults.footer(),
|
15
|
+
];
|
12
16
|
return getBodyWrapper(content);
|
13
17
|
};
|
14
18
|
exports.getUserLoginEmail = getUserLoginEmail;
|
15
19
|
// auth/forget
|
16
20
|
const getForgetPasswordEmail = (url) => {
|
17
21
|
const body = templates_1.bodies['user_forget_password'];
|
18
|
-
const content = [
|
22
|
+
const content = [
|
23
|
+
templates_1.defaults.header('Recuperação de senha'),
|
24
|
+
body(url),
|
25
|
+
templates_1.defaults.footer(),
|
26
|
+
];
|
19
27
|
return getBodyWrapper(content);
|
20
28
|
};
|
21
29
|
exports.getForgetPasswordEmail = getForgetPasswordEmail;
|
22
30
|
// auth/change-password
|
23
31
|
const getChangePasswordEmail = () => {
|
24
32
|
const body = templates_1.bodies['user_change_password'];
|
25
|
-
const content = [
|
33
|
+
const content = [
|
34
|
+
templates_1.defaults.header('Senha alterada'),
|
35
|
+
body(),
|
36
|
+
templates_1.defaults.footer(),
|
37
|
+
];
|
26
38
|
return getBodyWrapper(content);
|
27
39
|
};
|
28
40
|
exports.getChangePasswordEmail = getChangePasswordEmail;
|
29
41
|
// auth/change-email
|
30
42
|
const getChangeEmailEmail = () => {
|
31
43
|
const body = templates_1.bodies['user_change_email'];
|
32
|
-
const content = [
|
44
|
+
const content = [
|
45
|
+
templates_1.defaults.header('Email alterado'),
|
46
|
+
body(),
|
47
|
+
templates_1.defaults.footer(),
|
48
|
+
];
|
33
49
|
return getBodyWrapper(content);
|
34
50
|
};
|
35
51
|
exports.getChangeEmailEmail = getChangeEmailEmail;
|
36
52
|
// auth/reset
|
37
53
|
const getResetPasswordEmail = () => {
|
38
54
|
const body = templates_1.bodies['user_reset_password'];
|
39
|
-
const content = [
|
55
|
+
const content = [
|
56
|
+
templates_1.defaults.header('Senha recuperada'),
|
57
|
+
body(),
|
58
|
+
templates_1.defaults.footer(),
|
59
|
+
];
|
40
60
|
return getBodyWrapper(content);
|
41
61
|
};
|
42
62
|
exports.getResetPasswordEmail = getResetPasswordEmail;
|
63
|
+
const getCreateUserEmail = (data) => {
|
64
|
+
const body = templates_1.bodies['user_create'];
|
65
|
+
const content = [
|
66
|
+
templates_1.defaults.header('Conta criada'),
|
67
|
+
body(data),
|
68
|
+
templates_1.defaults.footer(),
|
69
|
+
];
|
70
|
+
return getBodyWrapper(content);
|
71
|
+
};
|
72
|
+
exports.getCreateUserEmail = getCreateUserEmail;
|
43
73
|
//# sourceMappingURL=lib.js.map
|
package/dist/emails/lib.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../../src/emails/lib.ts"],"names":[],"mappings":";;;AAAA,
|
1
|
+
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../../src/emails/lib.ts"],"names":[],"mappings":";;;AAAA,2CAAoE;AAEpE,MAAM,cAAc,GAAG,CAAC,OAAiB,EAAE,EAAE;IAC3C,OAAO,oBAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;AACxC,CAAC,CAAC;AAEF,aAAa;AACN,MAAM,iBAAiB,GAAG,GAAG,EAAE;IACpC,MAAM,IAAI,GAAG,kBAAM,CAAC,YAAY,CAAC,CAAC;IAClC,MAAM,OAAO,GAAG;QACd,oBAAQ,CAAC,MAAM,CAAC,2BAA2B,CAAC;QAC5C,IAAI,EAAE;QACN,oBAAQ,CAAC,MAAM,EAAE;KAClB,CAAC;IACF,OAAO,cAAc,CAAC,OAAO,CAAC,CAAC;AACjC,CAAC,CAAC;AARW,QAAA,iBAAiB,qBAQ5B;AAEF,cAAc;AACP,MAAM,sBAAsB,GAAG,CAAC,GAAW,EAAE,EAAE;IACpD,MAAM,IAAI,GAAG,kBAAM,CAAC,sBAAsB,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG;QACd,oBAAQ,CAAC,MAAM,CAAC,sBAAsB,CAAC;QACvC,IAAI,CAAC,GAAG,CAAC;QACT,oBAAQ,CAAC,MAAM,EAAE;KAClB,CAAC;IACF,OAAO,cAAc,CAAC,OAAO,CAAC,CAAC;AACjC,CAAC,CAAC;AARW,QAAA,sBAAsB,0BAQjC;AAEF,uBAAuB;AAChB,MAAM,sBAAsB,GAAG,GAAG,EAAE;IACzC,MAAM,IAAI,GAAG,kBAAM,CAAC,sBAAsB,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG;QACd,oBAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC;QACjC,IAAI,EAAE;QACN,oBAAQ,CAAC,MAAM,EAAE;KAClB,CAAC;IACF,OAAO,cAAc,CAAC,OAAO,CAAC,CAAC;AACjC,CAAC,CAAC;AARW,QAAA,sBAAsB,0BAQjC;AAEF,oBAAoB;AACb,MAAM,mBAAmB,GAAG,GAAG,EAAE;IACtC,MAAM,IAAI,GAAG,kBAAM,CAAC,mBAAmB,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG;QACd,oBAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC;QACjC,IAAI,EAAE;QACN,oBAAQ,CAAC,MAAM,EAAE;KAClB,CAAC;IACF,OAAO,cAAc,CAAC,OAAO,CAAC,CAAC;AACjC,CAAC,CAAC;AARW,QAAA,mBAAmB,uBAQ9B;AAEF,aAAa;AACN,MAAM,qBAAqB,GAAG,GAAG,EAAE;IACxC,MAAM,IAAI,GAAG,kBAAM,CAAC,qBAAqB,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG;QACd,oBAAQ,CAAC,MAAM,CAAC,kBAAkB,CAAC;QACnC,IAAI,EAAE;QACN,oBAAQ,CAAC,MAAM,EAAE;KAClB,CAAC;IACF,OAAO,cAAc,CAAC,OAAO,CAAC,CAAC;AACjC,CAAC,CAAC;AARW,QAAA,qBAAqB,yBAQhC;AAEK,MAAM,kBAAkB,GAAG,CAAC,IAAyB,EAAE,EAAE;IAC9D,MAAM,IAAI,GAAG,kBAAM,CAAC,aAAa,CAAC,CAAC;IACnC,MAAM,OAAO,GAAG;QACd,oBAAQ,CAAC,MAAM,CAAC,cAAc,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC;QACV,oBAAQ,CAAC,MAAM,EAAE;KAClB,CAAC;IACF,OAAO,cAAc,CAAC,OAAO,CAAC,CAAC;AACjC,CAAC,CAAC;AARW,QAAA,kBAAkB,sBAQ7B"}
|
@@ -3,7 +3,11 @@ export declare const defaults: {
|
|
3
3
|
default_body: (content: string[]) => string;
|
4
4
|
footer: () => string;
|
5
5
|
};
|
6
|
+
export type UserCreateEmailType = {
|
7
|
+
name: string;
|
8
|
+
};
|
6
9
|
export declare const bodies: {
|
10
|
+
user_create: ({ name }: UserCreateEmailType) => string;
|
7
11
|
user_forget_password: (url: string) => string;
|
8
12
|
user_change_password: () => string;
|
9
13
|
user_change_email: () => string;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/emails/templates.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ;oBACH,MAAM;4BAOX,MAAM,EAAE;;CAWpB,CAAC;AAEF,eAAO,MAAM,MAAM;
|
1
|
+
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/emails/templates.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ;oBACH,MAAM;4BAOX,MAAM,EAAE;;CAWpB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,eAAO,MAAM,MAAM;4BACO,mBAAmB;gCAOf,MAAM;;;;;CAuCnC,CAAC"}
|
package/dist/emails/templates.js
CHANGED
@@ -20,6 +20,13 @@ exports.defaults = {
|
|
20
20
|
`,
|
21
21
|
};
|
22
22
|
exports.bodies = {
|
23
|
+
user_create: ({ name }) => `
|
24
|
+
<div style="line-height: 1.8; font-size: 16px; color: #555; text-align: justify;">
|
25
|
+
<p>Olá ${name},</p>
|
26
|
+
<p>Obrigado por se cadastrar em nosso sistema!</p>
|
27
|
+
<p>Se você não fez essa solicitação, entre em contato conosco imediatamente para garantir a segurança de sua conta.</p>
|
28
|
+
</div>
|
29
|
+
`,
|
23
30
|
user_forget_password: (url) => `
|
24
31
|
<div style="line-height: 1.8; font-size: 16px; color: #555; text-align: justify;">
|
25
32
|
<p>Olá,</p>
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/emails/templates.ts"],"names":[],"mappings":";;;AAAa,QAAA,QAAQ,GAAG;IACtB,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC;;;gEAGmC,KAAK;;GAElE;IACD,YAAY,EAAE,CACZ,OAAiB,EACjB,EAAE,CAAC;;UAEG,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;;YAEd;IACV,MAAM,EAAE,GAAG,EAAE,CAAC;;;;GAIb;CACF,CAAC;
|
1
|
+
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/emails/templates.ts"],"names":[],"mappings":";;;AAAa,QAAA,QAAQ,GAAG;IACtB,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC;;;gEAGmC,KAAK;;GAElE;IACD,YAAY,EAAE,CACZ,OAAiB,EACjB,EAAE,CAAC;;UAEG,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;;YAEd;IACV,MAAM,EAAE,GAAG,EAAE,CAAC;;;;GAIb;CACF,CAAC;AAMW,QAAA,MAAM,GAAG;IACpB,WAAW,EAAE,CAAC,EAAE,IAAI,EAAuB,EAAE,EAAE,CAAC;;aAErC,IAAI;;;;GAId;IACD,oBAAoB,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC;;;;;;;;mBAQtB,GAAG;;;;;;GAMnB;IACD,oBAAoB,EAAE,GAAG,EAAE,CAAC;;;;;GAK3B;IACD,iBAAiB,EAAE,GAAG,EAAE,CAAC;;;;;GAKxB;IACD,mBAAmB,EAAE,GAAG,EAAE,CAAC;;;;;GAK1B;IACD,UAAU,EAAE,GAAG,EAAE,CAAC;;;;;GAKjB;CACF,CAAC"}
|
package/package.json
CHANGED
@@ -1,12 +1,13 @@
|
|
1
1
|
{
|
2
2
|
"name": "@hedhog/admin",
|
3
|
-
"version": "0.46.
|
3
|
+
"version": "0.46.44",
|
4
4
|
"private": false,
|
5
5
|
"main": "dist/index.js",
|
6
6
|
"scripts": {
|
7
7
|
"clean": "rimraf ./dist",
|
8
8
|
"prebuild": "npm run clean",
|
9
|
-
"build": "tsc --project tsconfig.production.json
|
9
|
+
"build": "tsc --project tsconfig.production.json",
|
10
|
+
"preprod": "npm run build && npm version patch",
|
10
11
|
"prod": "npm run build && npm publish --access public"
|
11
12
|
},
|
12
13
|
"file": [
|
@@ -23,15 +24,15 @@
|
|
23
24
|
"license": "MIT",
|
24
25
|
"description": "",
|
25
26
|
"dependencies": {
|
26
|
-
"@hedhog/mail": "^0.46.
|
27
|
+
"@hedhog/mail": "^0.46.3"
|
27
28
|
},
|
28
29
|
"devDependencies": {
|
29
|
-
"@hedhog/locale": "^0.46.
|
30
|
+
"@hedhog/locale": "^0.46.2",
|
30
31
|
"@hedhog/pagination": "^0.46.1",
|
31
32
|
"@hedhog/prisma": "^0.46.1",
|
32
33
|
"@hedhog/utils": "^0.0.28",
|
33
34
|
"@nestjs/jwt": "^10.2.0",
|
34
|
-
"@nestjs/mapped-types": "^2.0
|
35
|
+
"@nestjs/mapped-types": "^2.1.0",
|
35
36
|
"ts-node": "^10.9.1",
|
36
37
|
"typescript": "^5.1.3"
|
37
38
|
},
|
@@ -6,9 +6,11 @@ import {
|
|
6
6
|
Get,
|
7
7
|
Inject,
|
8
8
|
Post,
|
9
|
+
Query,
|
9
10
|
} from '@nestjs/common';
|
10
11
|
import { AuthService } from './auth.service';
|
11
12
|
import { ChangeDTO } from './dto/change.dto';
|
13
|
+
import { CreateUserDTO } from './dto/create-user.dto';
|
12
14
|
import { EmailDTO } from './dto/email.dto';
|
13
15
|
import { ForgetDTO } from './dto/forget.dto';
|
14
16
|
import { LoginDTO } from './dto/login.dto';
|
@@ -23,6 +25,18 @@ export class AuthController {
|
|
23
25
|
private readonly service: AuthService,
|
24
26
|
) {}
|
25
27
|
|
28
|
+
@Public()
|
29
|
+
@Get('create-user')
|
30
|
+
async createUserCheck(@Query('code') code: string) {
|
31
|
+
return this.service.createUserCheck(code);
|
32
|
+
}
|
33
|
+
|
34
|
+
@Public()
|
35
|
+
@Post('create-user')
|
36
|
+
async createUser(@Body() data: CreateUserDTO) {
|
37
|
+
return this.service.createUser(data);
|
38
|
+
}
|
39
|
+
|
26
40
|
@Role()
|
27
41
|
@Get('verify')
|
28
42
|
async verify(@User() { id }: UserType) {
|
package/src/auth/auth.service.ts
CHANGED
@@ -14,10 +14,12 @@ import { compare, genSalt, hash } from 'bcrypt';
|
|
14
14
|
import {
|
15
15
|
getChangeEmailEmail,
|
16
16
|
getChangePasswordEmail,
|
17
|
+
getCreateUserEmail,
|
17
18
|
getForgetPasswordEmail,
|
18
19
|
getResetPasswordEmail,
|
19
20
|
} from '../emails';
|
20
21
|
import { ChangeDTO } from './dto/change.dto';
|
22
|
+
import { CreateUserDTO } from './dto/create-user.dto';
|
21
23
|
import { EmailDTO } from './dto/email.dto';
|
22
24
|
import { ForgetDTO } from './dto/forget.dto';
|
23
25
|
import { LoginDTO } from './dto/login.dto';
|
@@ -37,6 +39,55 @@ export class AuthService {
|
|
37
39
|
private readonly mail: MailService,
|
38
40
|
) {}
|
39
41
|
|
42
|
+
async createUserCheck(code: string) {
|
43
|
+
await this.verifyToken(code);
|
44
|
+
|
45
|
+
const user = await this.prisma.user.findFirst({
|
46
|
+
where: {
|
47
|
+
code,
|
48
|
+
},
|
49
|
+
select: {
|
50
|
+
id: true,
|
51
|
+
name: true,
|
52
|
+
email: true,
|
53
|
+
},
|
54
|
+
});
|
55
|
+
|
56
|
+
if (!user) {
|
57
|
+
throw new NotFoundException('Invalid code');
|
58
|
+
}
|
59
|
+
|
60
|
+
return user;
|
61
|
+
}
|
62
|
+
|
63
|
+
async createUser({ code, password }: CreateUserDTO) {
|
64
|
+
const user = await this.createUserCheck(code);
|
65
|
+
|
66
|
+
const salt = await genSalt();
|
67
|
+
|
68
|
+
password = await hash(password, salt);
|
69
|
+
|
70
|
+
await this.prisma.user.update({
|
71
|
+
where: {
|
72
|
+
id: user.id,
|
73
|
+
},
|
74
|
+
data: {
|
75
|
+
password,
|
76
|
+
code: null,
|
77
|
+
},
|
78
|
+
});
|
79
|
+
|
80
|
+
await this.mail.send({
|
81
|
+
to: user.email,
|
82
|
+
subject: 'Conta criada',
|
83
|
+
body: getCreateUserEmail({
|
84
|
+
name: user.name,
|
85
|
+
}),
|
86
|
+
});
|
87
|
+
|
88
|
+
return this.getToken(user);
|
89
|
+
}
|
90
|
+
|
40
91
|
async verifyToken(token: string) {
|
41
92
|
return this.jwt.verifyAsync(token, {
|
42
93
|
secret: String(process.env.JWT_SECRET),
|
@@ -67,6 +118,8 @@ export class AuthService {
|
|
67
118
|
},
|
68
119
|
});
|
69
120
|
|
121
|
+
console.log('user found', user);
|
122
|
+
|
70
123
|
if (!user) {
|
71
124
|
throw new BadRequestException('Acesso negado');
|
72
125
|
}
|
@@ -76,6 +129,8 @@ export class AuthService {
|
|
76
129
|
throw new BadRequestException('Acesso negado');
|
77
130
|
}
|
78
131
|
|
132
|
+
console.log('Password is valid');
|
133
|
+
|
79
134
|
if (!user.multifactor_id) {
|
80
135
|
return this.getToken(user);
|
81
136
|
} else {
|
@@ -209,11 +264,11 @@ export class AuthService {
|
|
209
264
|
});
|
210
265
|
|
211
266
|
if (!user) {
|
212
|
-
throw new BadRequestException('
|
267
|
+
throw new BadRequestException('Usuário não encontrado.');
|
213
268
|
}
|
214
269
|
|
215
270
|
if (!(await compare(password, user.password))) {
|
216
|
-
throw new BadRequestException('
|
271
|
+
throw new BadRequestException('Senha inválida.');
|
217
272
|
}
|
218
273
|
|
219
274
|
const existingUser = await this.prisma.user.findFirst({
|
@@ -221,7 +276,7 @@ export class AuthService {
|
|
221
276
|
});
|
222
277
|
|
223
278
|
if (existingUser) {
|
224
|
-
throw new ConflictException('
|
279
|
+
throw new ConflictException('Já existe um usuário com esse e-mail.');
|
225
280
|
}
|
226
281
|
|
227
282
|
const newUser = await this.prisma.user.updateMany({
|
@@ -0,0 +1,22 @@
|
|
1
|
+
import { IsNotEmpty, IsString, IsStrongPassword } from 'class-validator';
|
2
|
+
|
3
|
+
export class CreateUserDTO {
|
4
|
+
@IsString()
|
5
|
+
@IsNotEmpty()
|
6
|
+
code: string;
|
7
|
+
|
8
|
+
@IsStrongPassword(
|
9
|
+
{
|
10
|
+
minLength: 6,
|
11
|
+
minLowercase: 1,
|
12
|
+
minUppercase: 0,
|
13
|
+
minNumbers: 0,
|
14
|
+
minSymbols: 0,
|
15
|
+
},
|
16
|
+
{
|
17
|
+
message:
|
18
|
+
'A senha deve ter pelo menos 6 caracteres e conter pelo menos 1 letra minúscula.',
|
19
|
+
},
|
20
|
+
)
|
21
|
+
password: string;
|
22
|
+
}
|
package/src/emails/lib.ts
CHANGED
@@ -1,40 +1,70 @@
|
|
1
|
-
import { bodies, defaults } from
|
1
|
+
import { bodies, defaults, UserCreateEmailType } from './templates';
|
2
2
|
|
3
3
|
const getBodyWrapper = (content: string[]) => {
|
4
|
-
return defaults.default_body(content)
|
5
|
-
}
|
4
|
+
return defaults.default_body(content);
|
5
|
+
};
|
6
6
|
|
7
7
|
// auth/login
|
8
8
|
export const getUserLoginEmail = () => {
|
9
9
|
const body = bodies['user_login'];
|
10
|
-
const content = [
|
10
|
+
const content = [
|
11
|
+
defaults.header('Novo login no CoinBitClub'),
|
12
|
+
body(),
|
13
|
+
defaults.footer(),
|
14
|
+
];
|
11
15
|
return getBodyWrapper(content);
|
12
|
-
}
|
16
|
+
};
|
13
17
|
|
14
18
|
// auth/forget
|
15
19
|
export const getForgetPasswordEmail = (url: string) => {
|
16
20
|
const body = bodies['user_forget_password'];
|
17
|
-
const content = [
|
21
|
+
const content = [
|
22
|
+
defaults.header('Recuperação de senha'),
|
23
|
+
body(url),
|
24
|
+
defaults.footer(),
|
25
|
+
];
|
18
26
|
return getBodyWrapper(content);
|
19
|
-
}
|
27
|
+
};
|
20
28
|
|
21
29
|
// auth/change-password
|
22
30
|
export const getChangePasswordEmail = () => {
|
23
31
|
const body = bodies['user_change_password'];
|
24
|
-
const content = [
|
32
|
+
const content = [
|
33
|
+
defaults.header('Senha alterada'),
|
34
|
+
body(),
|
35
|
+
defaults.footer(),
|
36
|
+
];
|
25
37
|
return getBodyWrapper(content);
|
26
|
-
}
|
38
|
+
};
|
27
39
|
|
28
40
|
// auth/change-email
|
29
41
|
export const getChangeEmailEmail = () => {
|
30
42
|
const body = bodies['user_change_email'];
|
31
|
-
const content = [
|
43
|
+
const content = [
|
44
|
+
defaults.header('Email alterado'),
|
45
|
+
body(),
|
46
|
+
defaults.footer(),
|
47
|
+
];
|
32
48
|
return getBodyWrapper(content);
|
33
|
-
}
|
49
|
+
};
|
34
50
|
|
35
51
|
// auth/reset
|
36
52
|
export const getResetPasswordEmail = () => {
|
37
53
|
const body = bodies['user_reset_password'];
|
38
|
-
const content = [
|
54
|
+
const content = [
|
55
|
+
defaults.header('Senha recuperada'),
|
56
|
+
body(),
|
57
|
+
defaults.footer(),
|
58
|
+
];
|
39
59
|
return getBodyWrapper(content);
|
40
|
-
}
|
60
|
+
};
|
61
|
+
|
62
|
+
export const getCreateUserEmail = (data: UserCreateEmailType) => {
|
63
|
+
const body = bodies['user_create'];
|
64
|
+
const content = [
|
65
|
+
defaults.header('Conta criada'),
|
66
|
+
body(data),
|
67
|
+
defaults.footer(),
|
68
|
+
];
|
69
|
+
return getBodyWrapper(content);
|
70
|
+
};
|
package/src/emails/templates.ts
CHANGED
@@ -19,7 +19,18 @@ export const defaults = {
|
|
19
19
|
`,
|
20
20
|
};
|
21
21
|
|
22
|
+
export type UserCreateEmailType = {
|
23
|
+
name: string;
|
24
|
+
};
|
25
|
+
|
22
26
|
export const bodies = {
|
27
|
+
user_create: ({ name }: UserCreateEmailType) => `
|
28
|
+
<div style="line-height: 1.8; font-size: 16px; color: #555; text-align: justify;">
|
29
|
+
<p>Olá ${name},</p>
|
30
|
+
<p>Obrigado por se cadastrar em nosso sistema!</p>
|
31
|
+
<p>Se você não fez essa solicitação, entre em contato conosco imediatamente para garantir a segurança de sua conta.</p>
|
32
|
+
</div>
|
33
|
+
`,
|
23
34
|
user_forget_password: (url: string) => `
|
24
35
|
<div style="line-height: 1.8; font-size: 16px; color: #555; text-align: justify;">
|
25
36
|
<p>Olá,</p>
|