@tomei/sso 0.2.2 → 0.2.3
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/.commitlintrc.json +22 -22
- package/.prettierrc +4 -4
- package/Jenkinsfile +42 -0
- package/README.md +23 -23
- package/__tests__/unit/components/login-history/login-history.repository.spec.ts +95 -95
- package/__tests__/unit/components/login-user/login-user.spec.ts +223 -223
- package/__tests__/unit/components/login-user/user.repository.spec.ts +81 -81
- package/__tests__/unit/components/password-hash/password-hash.service.spec.ts +31 -32
- package/__tests__/unit/components/system-access/system-access.repository.spec.ts +78 -78
- package/__tests__/unit/redis-client/redis.service.spec.ts +23 -23
- package/__tests__/unit/session/session.service.spec.ts +27 -27
- package/create-sso-user.sql +39 -39
- package/dist/__tests__/unit/components/login-history/login-history.repository.spec.d.ts +1 -1
- package/dist/__tests__/unit/components/login-history/login-history.repository.spec.js +98 -98
- package/dist/__tests__/unit/components/login-user/login-user.spec.d.ts +1 -1
- package/dist/__tests__/unit/components/login-user/login-user.spec.js +207 -207
- package/dist/__tests__/unit/components/login-user/login-user.spec.js.map +1 -1
- package/dist/__tests__/unit/components/login-user/user.repository.spec.d.ts +1 -1
- package/dist/__tests__/unit/components/login-user/user.repository.spec.js +77 -77
- package/dist/__tests__/unit/components/password-hash/password-hash.service.spec.d.ts +1 -1
- package/dist/__tests__/unit/components/password-hash/password-hash.service.spec.js +37 -37
- package/dist/__tests__/unit/components/password-hash/password-hash.service.spec.js.map +1 -1
- package/dist/__tests__/unit/components/system/system.repository.spec.d.ts +1 -1
- package/dist/__tests__/unit/components/system/system.repository.spec.js +84 -84
- package/dist/__tests__/unit/components/system-access/system-access.repository.spec.d.ts +1 -1
- package/dist/__tests__/unit/components/system-access/system-access.repository.spec.js +74 -74
- package/dist/__tests__/unit/redis-client/redis.service.spec.d.ts +1 -1
- package/dist/__tests__/unit/redis-client/redis.service.spec.js +31 -31
- package/dist/__tests__/unit/session/session.service.spec.d.ts +1 -1
- package/dist/__tests__/unit/session/session.service.spec.js +35 -35
- package/dist/index.d.ts +1 -1
- package/dist/index.js +17 -17
- package/dist/src/components/index.d.ts +7 -7
- package/dist/src/components/index.js +23 -23
- package/dist/src/components/login-history/index.d.ts +1 -1
- package/dist/src/components/login-history/index.js +17 -17
- package/dist/src/components/login-history/login-history.repository.d.ts +9 -9
- package/dist/src/components/login-history/login-history.repository.js +49 -49
- package/dist/src/components/login-user/index.d.ts +3 -3
- package/dist/src/components/login-user/index.js +19 -19
- package/dist/src/components/login-user/interfaces/index.d.ts +1 -1
- package/dist/src/components/login-user/interfaces/index.js +17 -17
- package/dist/src/components/login-user/interfaces/user-info.interface.d.ts +9 -9
- package/dist/src/components/login-user/interfaces/user-info.interface.js +2 -2
- package/dist/src/components/login-user/login-user.d.ts +41 -41
- package/dist/src/components/login-user/login-user.js +332 -332
- package/dist/src/components/login-user/user.repository.d.ts +9 -9
- package/dist/src/components/login-user/user.repository.js +49 -49
- package/dist/src/components/password-hash/index.d.ts +2 -2
- package/dist/src/components/password-hash/index.js +18 -18
- package/dist/src/components/password-hash/interfaces/index.d.ts +1 -1
- package/dist/src/components/password-hash/interfaces/index.js +17 -17
- package/dist/src/components/password-hash/interfaces/password-hash-service.interface.d.ts +4 -4
- package/dist/src/components/password-hash/interfaces/password-hash-service.interface.js +2 -2
- package/dist/src/components/password-hash/password-hash.service.d.ts +6 -6
- package/dist/src/components/password-hash/password-hash.service.js +27 -27
- package/dist/src/components/system/index.d.ts +1 -1
- package/dist/src/components/system/index.js +17 -17
- package/dist/src/components/system/system.repository.d.ts +9 -9
- package/dist/src/components/system/system.repository.js +49 -49
- package/dist/src/components/system-access/index.d.ts +1 -1
- package/dist/src/components/system-access/index.js +17 -17
- package/dist/src/components/system-access/system-access.repository.d.ts +9 -9
- package/dist/src/components/system-access/system-access.repository.js +49 -49
- package/dist/src/components/user-group/index.d.ts +1 -1
- package/dist/src/components/user-group/index.js +17 -17
- package/dist/src/components/user-group/user-group.repository.d.ts +9 -9
- package/dist/src/components/user-group/user-group.repository.js +49 -49
- package/dist/src/components/user-user-group/index.d.ts +1 -1
- package/dist/src/components/user-user-group/index.js +17 -17
- package/dist/src/components/user-user-group/user-user-group.repository.d.ts +9 -9
- package/dist/src/components/user-user-group/user-user-group.repository.js +49 -49
- package/dist/src/index.d.ts +6 -6
- package/dist/src/index.js +23 -23
- package/dist/src/interfaces/index.d.ts +2 -2
- package/dist/src/interfaces/index.js +18 -18
- package/dist/src/interfaces/system-login.interface.d.ts +6 -6
- package/dist/src/interfaces/system-login.interface.js +2 -2
- package/dist/src/interfaces/user-session.interface.d.ts +4 -4
- package/dist/src/interfaces/user-session.interface.js +2 -2
- package/dist/src/mail/index.d.ts +2 -2
- package/dist/src/mail/index.js +18 -18
- package/dist/src/mail/interfaces/index.d.ts +2 -2
- package/dist/src/mail/interfaces/index.js +18 -18
- package/dist/src/mail/interfaces/send-mail.interface.d.ts +8 -8
- package/dist/src/mail/interfaces/send-mail.interface.js +2 -2
- package/dist/src/mail/interfaces/send-new-login-alert.interface.d.ts +6 -6
- package/dist/src/mail/interfaces/send-new-login-alert.interface.js +2 -2
- package/dist/src/mail/mail.d.ts +7 -7
- package/dist/src/mail/mail.js +48 -48
- package/dist/src/mail/mail.service.d.ts +7 -7
- package/dist/src/mail/mail.service.js +41 -41
- package/dist/src/prisma-client/__mocks__/prisma.d.ts +3 -3
- package/dist/src/prisma-client/__mocks__/prisma.js +13 -13
- package/dist/src/prisma-client/client.d.ts +3 -3
- package/dist/src/prisma-client/client.js +5 -5
- package/dist/src/prisma-client/index.d.ts +1 -1
- package/dist/src/prisma-client/index.js +17 -17
- package/dist/src/redis-client/__mocks__/jest-initial-setup.d.ts +1 -1
- package/dist/src/redis-client/__mocks__/jest-initial-setup.js +4 -4
- package/dist/src/redis-client/__mocks__/redis-mock.d.ts +2 -2
- package/dist/src/redis-client/__mocks__/redis-mock.js +22 -22
- package/dist/src/redis-client/index.d.ts +1 -1
- package/dist/src/redis-client/index.js +17 -17
- package/dist/src/redis-client/redis.service.d.ts +7 -7
- package/dist/src/redis-client/redis.service.js +55 -55
- package/dist/src/session/index.d.ts +2 -2
- package/dist/src/session/index.js +18 -18
- package/dist/src/session/interfaces/index.d.ts +1 -1
- package/dist/src/session/interfaces/index.js +17 -17
- package/dist/src/session/interfaces/session-service.interface.d.ts +5 -5
- package/dist/src/session/interfaces/session-service.interface.js +2 -2
- package/dist/src/session/session.service.d.ts +9 -9
- package/dist/src/session/session.service.js +51 -51
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +69 -69
- package/sampledotenv +7 -7
- package/src/components/index.ts +7 -7
- package/src/components/login-history/index.ts +1 -1
- package/src/components/login-history/login-history.repository.ts +33 -33
- package/src/components/login-user/index.ts +4 -4
- package/src/components/login-user/interfaces/user-info.interface.ts +9 -9
- package/src/components/login-user/login-user.ts +1 -1
- package/src/components/login-user/user.repository.ts +33 -33
- package/src/components/password-hash/index.ts +2 -2
- package/src/components/password-hash/interfaces/password-hash-service.interface.ts +4 -4
- package/src/components/password-hash/password-hash.service.ts +14 -14
- package/src/components/system/index.ts +1 -1
- package/src/components/system/system.repository.ts +33 -33
- package/src/components/system-access/index.ts +1 -1
- package/src/components/system-access/system-access.repository.ts +33 -33
- package/src/components/user-group/user-group.repository.ts +33 -33
- package/src/components/user-user-group/user-user-group.repository.ts +33 -33
- package/src/index.ts +7 -7
- package/src/interfaces/index.ts +2 -2
- package/src/interfaces/system-login.interface.ts +6 -6
- package/src/interfaces/user-session.interface.ts +5 -5
- package/src/mail/index.ts +2 -2
- package/src/mail/interfaces/index.ts +2 -2
- package/src/mail/interfaces/send-mail.interface.ts +8 -8
- package/src/mail/interfaces/send-new-login-alert.interface.ts +6 -6
- package/src/mail/mail.service.ts +33 -33
- package/src/mail/mail.ts +40 -40
- package/src/prisma-client/__mocks__/prisma.ts +15 -15
- package/src/prisma-client/client.ts +3 -3
- package/src/redis-client/__mocks__/jest-initial-setup.ts +2 -2
- package/src/redis-client/__mocks__/redis-mock.ts +28 -28
- package/src/session/index.ts +2 -2
- package/src/session/interfaces/index.ts +1 -1
- package/src/session/interfaces/session-service.interface.ts +6 -6
- package/src/session/session.service.ts +45 -45
- package/tsconfig.build.json +5 -5
package/dist/src/mail/mail.js
CHANGED
|
@@ -1,49 +1,49 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
const nodemailer = require("nodemailer");
|
|
13
|
-
class Mail {
|
|
14
|
-
constructor() { }
|
|
15
|
-
static init() {
|
|
16
|
-
if (!Mail.transporter) {
|
|
17
|
-
Mail.transporter = nodemailer.createTransport({
|
|
18
|
-
host: process.env.SMTP_HOST,
|
|
19
|
-
port: Number(process.env.SMTP_PORT),
|
|
20
|
-
secure: Number(process.env.SMTP_PORT) === 465,
|
|
21
|
-
auth: {
|
|
22
|
-
user: process.env.EMAIL_SENDER,
|
|
23
|
-
pass: process.env.EMAIL_PASSWORD,
|
|
24
|
-
},
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
return new Mail();
|
|
28
|
-
}
|
|
29
|
-
sendMail(options) {
|
|
30
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
31
|
-
try {
|
|
32
|
-
yield Mail.transporter.sendMail({
|
|
33
|
-
from: process.env.EMAIL_SENDER,
|
|
34
|
-
to: options.to,
|
|
35
|
-
cc: options.cc,
|
|
36
|
-
bcc: options.bcc,
|
|
37
|
-
subject: options.subject,
|
|
38
|
-
text: options.text,
|
|
39
|
-
html: options.html,
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
catch (error) {
|
|
43
|
-
throw error;
|
|
44
|
-
}
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
exports.default = Mail;
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
const nodemailer = require("nodemailer");
|
|
13
|
+
class Mail {
|
|
14
|
+
constructor() { }
|
|
15
|
+
static init() {
|
|
16
|
+
if (!Mail.transporter) {
|
|
17
|
+
Mail.transporter = nodemailer.createTransport({
|
|
18
|
+
host: process.env.SMTP_HOST,
|
|
19
|
+
port: Number(process.env.SMTP_PORT),
|
|
20
|
+
secure: Number(process.env.SMTP_PORT) === 465,
|
|
21
|
+
auth: {
|
|
22
|
+
user: process.env.EMAIL_SENDER,
|
|
23
|
+
pass: process.env.EMAIL_PASSWORD,
|
|
24
|
+
},
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
return new Mail();
|
|
28
|
+
}
|
|
29
|
+
sendMail(options) {
|
|
30
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
31
|
+
try {
|
|
32
|
+
yield Mail.transporter.sendMail({
|
|
33
|
+
from: process.env.EMAIL_SENDER,
|
|
34
|
+
to: options.to,
|
|
35
|
+
cc: options.cc,
|
|
36
|
+
bcc: options.bcc,
|
|
37
|
+
subject: options.subject,
|
|
38
|
+
text: options.text,
|
|
39
|
+
html: options.html,
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
catch (error) {
|
|
43
|
+
throw error;
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
exports.default = Mail;
|
|
49
49
|
//# sourceMappingURL=mail.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { ISendNewLoginAlertOptions } from './interfaces/send-new-login-alert.interface';
|
|
2
|
-
import Mail from './mail';
|
|
3
|
-
export declare class MailService {
|
|
4
|
-
MailClient: Mail;
|
|
5
|
-
constructor();
|
|
6
|
-
sendNewLoginAlertEmail(options: ISendNewLoginAlertOptions): Promise<void>;
|
|
7
|
-
}
|
|
1
|
+
import { ISendNewLoginAlertOptions } from './interfaces/send-new-login-alert.interface';
|
|
2
|
+
import Mail from './mail';
|
|
3
|
+
export declare class MailService {
|
|
4
|
+
MailClient: Mail;
|
|
5
|
+
constructor();
|
|
6
|
+
sendNewLoginAlertEmail(options: ISendNewLoginAlertOptions): Promise<void>;
|
|
7
|
+
}
|
|
@@ -1,42 +1,42 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.MailService = void 0;
|
|
13
|
-
const mail_1 = require("./mail");
|
|
14
|
-
class MailService {
|
|
15
|
-
constructor() {
|
|
16
|
-
this.MailClient = mail_1.default.init();
|
|
17
|
-
}
|
|
18
|
-
sendNewLoginAlertEmail(options) {
|
|
19
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
20
|
-
try {
|
|
21
|
-
yield this.MailClient.sendMail({
|
|
22
|
-
to: options.Email,
|
|
23
|
-
subject: 'New Login Alert',
|
|
24
|
-
html: `<p>Dear ${options.Name},</p>
|
|
25
|
-
<p>There was a new login to your account from ${options.IpAddress} on ${options.LoginDate.toLocaleString()}.</p>
|
|
26
|
-
<p>If this was you, you can safely ignore this email.</p>
|
|
27
|
-
<p>If you suspect that someone else is trying to access your account, please contact us immediately at itd-support@tomei.com.my.</p>
|
|
28
|
-
<p>Thank you!,</p>
|
|
29
|
-
<p>
|
|
30
|
-
Best Regards,
|
|
31
|
-
IT Department
|
|
32
|
-
</p>`,
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
catch (error) {
|
|
36
|
-
throw error;
|
|
37
|
-
}
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
exports.MailService = MailService;
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.MailService = void 0;
|
|
13
|
+
const mail_1 = require("./mail");
|
|
14
|
+
class MailService {
|
|
15
|
+
constructor() {
|
|
16
|
+
this.MailClient = mail_1.default.init();
|
|
17
|
+
}
|
|
18
|
+
sendNewLoginAlertEmail(options) {
|
|
19
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
20
|
+
try {
|
|
21
|
+
yield this.MailClient.sendMail({
|
|
22
|
+
to: options.Email,
|
|
23
|
+
subject: 'New Login Alert',
|
|
24
|
+
html: `<p>Dear ${options.Name},</p>
|
|
25
|
+
<p>There was a new login to your account from ${options.IpAddress} on ${options.LoginDate.toLocaleString()}.</p>
|
|
26
|
+
<p>If this was you, you can safely ignore this email.</p>
|
|
27
|
+
<p>If you suspect that someone else is trying to access your account, please contact us immediately at itd-support@tomei.com.my.</p>
|
|
28
|
+
<p>Thank you!,</p>
|
|
29
|
+
<p>
|
|
30
|
+
Best Regards,
|
|
31
|
+
IT Department
|
|
32
|
+
</p>`,
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
catch (error) {
|
|
36
|
+
throw error;
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
exports.MailService = MailService;
|
|
42
42
|
//# sourceMappingURL=mail.service.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { PrismaClient } from '@prisma/client';
|
|
2
|
-
import { DeepMockProxy } from 'jest-mock-extended';
|
|
3
|
-
export declare const prismaMock: DeepMockProxy<PrismaClient<import(".prisma/client").Prisma.PrismaClientOptions, never, import(".prisma/client").Prisma.RejectOnNotFound | import(".prisma/client").Prisma.RejectPerOperation | undefined>>;
|
|
1
|
+
import { PrismaClient } from '@prisma/client';
|
|
2
|
+
import { DeepMockProxy } from 'jest-mock-extended';
|
|
3
|
+
export declare const prismaMock: DeepMockProxy<PrismaClient<import(".prisma/client").Prisma.PrismaClientOptions, never, import(".prisma/client").Prisma.RejectOnNotFound | import(".prisma/client").Prisma.RejectPerOperation | undefined>>;
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.prismaMock = void 0;
|
|
4
|
-
const jest_mock_extended_1 = require("jest-mock-extended");
|
|
5
|
-
const client_1 = require("../client");
|
|
6
|
-
jest.mock('../client', () => ({
|
|
7
|
-
__esModule: true,
|
|
8
|
-
default: (0, jest_mock_extended_1.mockDeep)(),
|
|
9
|
-
}));
|
|
10
|
-
beforeEach(() => {
|
|
11
|
-
(0, jest_mock_extended_1.mockReset)(exports.prismaMock);
|
|
12
|
-
});
|
|
13
|
-
exports.prismaMock = client_1.default;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.prismaMock = void 0;
|
|
4
|
+
const jest_mock_extended_1 = require("jest-mock-extended");
|
|
5
|
+
const client_1 = require("../client");
|
|
6
|
+
jest.mock('../client', () => ({
|
|
7
|
+
__esModule: true,
|
|
8
|
+
default: (0, jest_mock_extended_1.mockDeep)(),
|
|
9
|
+
}));
|
|
10
|
+
beforeEach(() => {
|
|
11
|
+
(0, jest_mock_extended_1.mockReset)(exports.prismaMock);
|
|
12
|
+
});
|
|
13
|
+
exports.prismaMock = client_1.default;
|
|
14
14
|
//# sourceMappingURL=prisma.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { PrismaClient } from '@prisma/client';
|
|
2
|
-
declare const prisma: PrismaClient<import(".prisma/client").Prisma.PrismaClientOptions, never, import(".prisma/client").Prisma.RejectOnNotFound | import(".prisma/client").Prisma.RejectPerOperation | undefined>;
|
|
3
|
-
export default prisma;
|
|
1
|
+
import { PrismaClient } from '@prisma/client';
|
|
2
|
+
declare const prisma: PrismaClient<import(".prisma/client").Prisma.PrismaClientOptions, never, import(".prisma/client").Prisma.RejectOnNotFound | import(".prisma/client").Prisma.RejectPerOperation | undefined>;
|
|
3
|
+
export default prisma;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const client_1 = require("@prisma/client");
|
|
4
|
-
const prisma = new client_1.PrismaClient();
|
|
5
|
-
exports.default = prisma;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const client_1 = require("@prisma/client");
|
|
4
|
+
const prisma = new client_1.PrismaClient();
|
|
5
|
+
exports.default = prisma;
|
|
6
6
|
//# sourceMappingURL=client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from './client';
|
|
1
|
+
export * from './client';
|
|
@@ -1,18 +1,18 @@
|
|
|
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./client"), exports);
|
|
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./client"), exports);
|
|
18
18
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const redis_mock_1 = require("./redis-mock");
|
|
4
|
-
jest.mock('redis', () => redis_mock_1.default);
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const redis_mock_1 = require("./redis-mock");
|
|
4
|
+
jest.mock('redis', () => redis_mock_1.default);
|
|
5
5
|
//# sourceMappingURL=jest-initial-setup.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const _default: any;
|
|
2
|
-
export default _default;
|
|
1
|
+
declare const _default: any;
|
|
2
|
+
export default _default;
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const redis_mock_1 = require("redis-mock");
|
|
4
|
-
const util_1 = require("util");
|
|
5
|
-
const client = (0, redis_mock_1.createClient)();
|
|
6
|
-
const setEx = (0, util_1.promisify)(client.setex).bind(client);
|
|
7
|
-
const v4Client = {
|
|
8
|
-
connect: () => undefined,
|
|
9
|
-
get: (0, util_1.promisify)(client.get).bind(client),
|
|
10
|
-
set: (0, util_1.promisify)(client.set).bind(client),
|
|
11
|
-
del: (0, util_1.promisify)(client.del).bind(client),
|
|
12
|
-
hSet: (0, util_1.promisify)(client.hset).bind(client),
|
|
13
|
-
hGet: (0, util_1.promisify)(client.hget).bind(client),
|
|
14
|
-
hDel: (0, util_1.promisify)(client.hdel).bind(client),
|
|
15
|
-
flushAll: (0, util_1.promisify)(client.flushall).bind(client),
|
|
16
|
-
setEx: (0, util_1.promisify)(client.setex).bind(client),
|
|
17
|
-
expire: (0, util_1.promisify)(client.expire).bind(client),
|
|
18
|
-
mGet: (0, util_1.promisify)(client.mget).bind(client),
|
|
19
|
-
pSetEx: (key, ms, value) => setEx(key, ms / 1000, value),
|
|
20
|
-
on: () => undefined,
|
|
21
|
-
};
|
|
22
|
-
exports.default = Object.assign(Object.assign({}, redis_mock_1.default), { createClient: () => v4Client });
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const redis_mock_1 = require("redis-mock");
|
|
4
|
+
const util_1 = require("util");
|
|
5
|
+
const client = (0, redis_mock_1.createClient)();
|
|
6
|
+
const setEx = (0, util_1.promisify)(client.setex).bind(client);
|
|
7
|
+
const v4Client = {
|
|
8
|
+
connect: () => undefined,
|
|
9
|
+
get: (0, util_1.promisify)(client.get).bind(client),
|
|
10
|
+
set: (0, util_1.promisify)(client.set).bind(client),
|
|
11
|
+
del: (0, util_1.promisify)(client.del).bind(client),
|
|
12
|
+
hSet: (0, util_1.promisify)(client.hset).bind(client),
|
|
13
|
+
hGet: (0, util_1.promisify)(client.hget).bind(client),
|
|
14
|
+
hDel: (0, util_1.promisify)(client.hdel).bind(client),
|
|
15
|
+
flushAll: (0, util_1.promisify)(client.flushall).bind(client),
|
|
16
|
+
setEx: (0, util_1.promisify)(client.setex).bind(client),
|
|
17
|
+
expire: (0, util_1.promisify)(client.expire).bind(client),
|
|
18
|
+
mGet: (0, util_1.promisify)(client.mget).bind(client),
|
|
19
|
+
pSetEx: (key, ms, value) => setEx(key, ms / 1000, value),
|
|
20
|
+
on: () => undefined,
|
|
21
|
+
};
|
|
22
|
+
exports.default = Object.assign(Object.assign({}, redis_mock_1.default), { createClient: () => v4Client });
|
|
23
23
|
//# sourceMappingURL=redis-mock.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from './redis.service';
|
|
1
|
+
export * from './redis.service';
|
|
@@ -1,18 +1,18 @@
|
|
|
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./redis.service"), exports);
|
|
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./redis.service"), exports);
|
|
18
18
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export declare class RedisService {
|
|
2
|
-
private static client;
|
|
3
|
-
private constructor();
|
|
4
|
-
static init(): Promise<RedisService>;
|
|
5
|
-
set(key: string, value: any, expire?: number): Promise<void>;
|
|
6
|
-
get(key: string): Promise<null>;
|
|
7
|
-
}
|
|
1
|
+
export declare class RedisService {
|
|
2
|
+
private static client;
|
|
3
|
+
private constructor();
|
|
4
|
+
static init(): Promise<RedisService>;
|
|
5
|
+
set(key: string, value: any, expire?: number): Promise<void>;
|
|
6
|
+
get(key: string): Promise<null>;
|
|
7
|
+
}
|
|
@@ -1,56 +1,56 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.RedisService = void 0;
|
|
13
|
-
const redis_1 = require("redis");
|
|
14
|
-
class RedisService {
|
|
15
|
-
constructor() { }
|
|
16
|
-
static init() {
|
|
17
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
18
|
-
if (!RedisService.client) {
|
|
19
|
-
RedisService.client = (0, redis_1.createClient)({
|
|
20
|
-
url: process.env.REDIS_URL,
|
|
21
|
-
password: process.env.REDIS_PASSWORD,
|
|
22
|
-
});
|
|
23
|
-
RedisService.client.on('error', (error) => {
|
|
24
|
-
console.error('Redis error:', error);
|
|
25
|
-
});
|
|
26
|
-
RedisService.client.on('connect', () => console.log('Redis connected'));
|
|
27
|
-
RedisService.client.on('reconnecting', () => console.log('Redis reconnecting'));
|
|
28
|
-
yield RedisService.client.connect();
|
|
29
|
-
}
|
|
30
|
-
return new RedisService();
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
set(key, value, expire = 3600 * 24 * 1) {
|
|
34
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
35
|
-
try {
|
|
36
|
-
const newList = typeof value === 'string' ? value : JSON.stringify(value);
|
|
37
|
-
yield RedisService.client.setEx(key, expire, newList);
|
|
38
|
-
}
|
|
39
|
-
catch (error) {
|
|
40
|
-
console.log(error);
|
|
41
|
-
}
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
get(key) {
|
|
45
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
46
|
-
try {
|
|
47
|
-
return yield RedisService.client.get(key);
|
|
48
|
-
}
|
|
49
|
-
catch (error) {
|
|
50
|
-
throw error;
|
|
51
|
-
}
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
exports.RedisService = RedisService;
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.RedisService = void 0;
|
|
13
|
+
const redis_1 = require("redis");
|
|
14
|
+
class RedisService {
|
|
15
|
+
constructor() { }
|
|
16
|
+
static init() {
|
|
17
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
18
|
+
if (!RedisService.client) {
|
|
19
|
+
RedisService.client = (0, redis_1.createClient)({
|
|
20
|
+
url: process.env.REDIS_URL,
|
|
21
|
+
password: process.env.REDIS_PASSWORD,
|
|
22
|
+
});
|
|
23
|
+
RedisService.client.on('error', (error) => {
|
|
24
|
+
console.error('Redis error:', error);
|
|
25
|
+
});
|
|
26
|
+
RedisService.client.on('connect', () => console.log('Redis connected'));
|
|
27
|
+
RedisService.client.on('reconnecting', () => console.log('Redis reconnecting'));
|
|
28
|
+
yield RedisService.client.connect();
|
|
29
|
+
}
|
|
30
|
+
return new RedisService();
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
set(key, value, expire = 3600 * 24 * 1) {
|
|
34
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
35
|
+
try {
|
|
36
|
+
const newList = typeof value === 'string' ? value : JSON.stringify(value);
|
|
37
|
+
yield RedisService.client.setEx(key, expire, newList);
|
|
38
|
+
}
|
|
39
|
+
catch (error) {
|
|
40
|
+
console.log(error);
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
get(key) {
|
|
45
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
46
|
+
try {
|
|
47
|
+
return yield RedisService.client.get(key);
|
|
48
|
+
}
|
|
49
|
+
catch (error) {
|
|
50
|
+
throw error;
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
exports.RedisService = RedisService;
|
|
56
56
|
//# sourceMappingURL=redis.service.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './interfaces';
|
|
2
|
-
export * from './session.service';
|
|
1
|
+
export * from './interfaces';
|
|
2
|
+
export * from './session.service';
|
|
@@ -1,19 +1,19 @@
|
|
|
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./interfaces"), exports);
|
|
18
|
-
__exportStar(require("./session.service"), exports);
|
|
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./interfaces"), exports);
|
|
18
|
+
__exportStar(require("./session.service"), exports);
|
|
19
19
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from './session-service.interface';
|
|
1
|
+
export * from './session-service.interface';
|
|
@@ -1,18 +1,18 @@
|
|
|
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./session-service.interface"), exports);
|
|
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./session-service.interface"), exports);
|
|
18
18
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { IUserSession } from '../../interfaces/user-session.interface';
|
|
2
|
-
export interface ISessionService {
|
|
3
|
-
retrieveUserSession(userId: string): Promise<IUserSession>;
|
|
4
|
-
setUserSession(userId: string, sessionData: IUserSession): Promise<void>;
|
|
5
|
-
}
|
|
1
|
+
import { IUserSession } from '../../interfaces/user-session.interface';
|
|
2
|
+
export interface ISessionService {
|
|
3
|
+
retrieveUserSession(userId: string): Promise<IUserSession>;
|
|
4
|
+
setUserSession(userId: string, sessionData: IUserSession): Promise<void>;
|
|
5
|
+
}
|