nuudel-main 1.0.0
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/LICENSE +21 -0
- package/README.md +3 -0
- package/build/main/index.d.ts +6 -0
- package/build/main/index.js +19 -0
- package/build/main/lib/Types/Image.d.ts +10 -0
- package/build/main/lib/Types/Image.js +49 -0
- package/build/main/lib/Types/Link.d.ts +8 -0
- package/build/main/lib/Types/Link.js +23 -0
- package/build/main/lib/Types/Lookup.d.ts +8 -0
- package/build/main/lib/Types/Lookup.js +39 -0
- package/build/main/lib/Types/Note.d.ts +8 -0
- package/build/main/lib/Types/Note.js +29 -0
- package/build/main/lib/Types/index.d.ts +4 -0
- package/build/main/lib/Types/index.js +17 -0
- package/build/main/lib/controller/aws-s3.d.ts +2 -0
- package/build/main/lib/controller/aws-s3.js +64 -0
- package/build/main/lib/controller/imageResize.d.ts +2 -0
- package/build/main/lib/controller/imageResize.js +29 -0
- package/build/main/lib/controller/index.d.ts +5 -0
- package/build/main/lib/controller/index.js +13 -0
- package/build/main/lib/controller/profileCallback.d.ts +1 -0
- package/build/main/lib/controller/profileCallback.js +22 -0
- package/build/main/lib/controller/recapcha.d.ts +2 -0
- package/build/main/lib/controller/recapcha.js +44 -0
- package/build/main/lib/controller/sentNotification.d.ts +7 -0
- package/build/main/lib/controller/sentNotification.js +119 -0
- package/build/main/lib/controller/upload.d.ts +4 -0
- package/build/main/lib/controller/upload.js +90 -0
- package/build/main/lib/lib/ConnectDB.d.ts +1 -0
- package/build/main/lib/lib/ConnectDB.js +39 -0
- package/build/main/lib/lib/converter.d.ts +1 -0
- package/build/main/lib/lib/converter.js +104 -0
- package/build/main/lib/lib/index.d.ts +3 -0
- package/build/main/lib/lib/index.js +11 -0
- package/build/main/lib/loc/I18n.d.ts +5 -0
- package/build/main/lib/loc/I18n.js +37 -0
- package/build/main/lib/mailer/index.d.ts +2 -0
- package/build/main/lib/mailer/index.js +6 -0
- package/build/main/lib/mailer/sendmail.d.ts +2 -0
- package/build/main/lib/mailer/sendmail.js +52 -0
- package/build/main/lib/makeContext.d.ts +24 -0
- package/build/main/lib/makeContext.js +44 -0
- package/build/main/lib/makeSchema.d.ts +2 -0
- package/build/main/lib/makeSchema.js +46 -0
- package/build/main/lib/object-id.scalar.d.ts +11 -0
- package/build/main/lib/object-id.scalar.js +175 -0
- package/build/main/lib/permission.d.ts +8 -0
- package/build/main/lib/permission.js +89 -0
- package/build/main/lib/plugin/index.d.ts +3 -0
- package/build/main/lib/plugin/index.js +28 -0
- package/build/main/lib/plugin/next/NextPlugin.d.ts +2 -0
- package/build/main/lib/plugin/next/NextPlugin.js +30 -0
- package/build/main/lib/plugin/oauth/Ioauth.d.ts +36 -0
- package/build/main/lib/plugin/oauth/Ioauth.js +3 -0
- package/build/main/lib/plugin/oauth/coreProfile.d.ts +14 -0
- package/build/main/lib/plugin/oauth/coreProfile.js +44 -0
- package/build/main/lib/plugin/oauth/facebook.d.ts +9 -0
- package/build/main/lib/plugin/oauth/facebook.js +72 -0
- package/build/main/lib/plugin/oauth/oauthPlugin.d.ts +27 -0
- package/build/main/lib/plugin/oauth/oauthPlugin.js +150 -0
- package/build/main/lib/plugin/oauth/utils.d.ts +2 -0
- package/build/main/lib/plugin/oauth/utils.js +25 -0
- package/build/main/lib/service/core.model.d.ts +38 -0
- package/build/main/lib/service/core.model.js +483 -0
- package/build/main/lib/service/index.d.ts +6 -0
- package/build/main/lib/service/index.js +19 -0
- package/build/main/lib/service/makeContext.d.ts +24 -0
- package/build/main/lib/service/makeContext.js +44 -0
- package/build/main/lib/service/makeSchema.d.ts +2 -0
- package/build/main/lib/service/makeSchema.js +46 -0
- package/build/main/lib/service/object-id.scalar.d.ts +11 -0
- package/build/main/lib/service/object-id.scalar.js +175 -0
- package/build/main/lib/service/permission.d.ts +8 -0
- package/build/main/lib/service/permission.js +89 -0
- package/build/main/lib/service/typegoose-middleware.d.ts +2 -0
- package/build/main/lib/service/typegoose-middleware.js +23 -0
- package/build/main/lib/typegoose-middleware.d.ts +2 -0
- package/build/main/lib/typegoose-middleware.js +23 -0
- package/build/module/index.d.ts +6 -0
- package/build/module/index.js +7 -0
- package/build/module/lib/Types/Image.d.ts +10 -0
- package/build/module/lib/Types/Image.js +45 -0
- package/build/module/lib/Types/Link.d.ts +8 -0
- package/build/module/lib/Types/Link.js +20 -0
- package/build/module/lib/Types/Lookup.d.ts +8 -0
- package/build/module/lib/Types/Lookup.js +35 -0
- package/build/module/lib/Types/Note.d.ts +8 -0
- package/build/module/lib/Types/Note.js +26 -0
- package/build/module/lib/Types/index.d.ts +4 -0
- package/build/module/lib/Types/index.js +5 -0
- package/build/module/lib/controller/aws-s3.d.ts +2 -0
- package/build/module/lib/controller/aws-s3.js +56 -0
- package/build/module/lib/controller/imageResize.d.ts +2 -0
- package/build/module/lib/controller/imageResize.js +22 -0
- package/build/module/lib/controller/index.d.ts +5 -0
- package/build/module/lib/controller/index.js +6 -0
- package/build/module/lib/controller/profileCallback.d.ts +1 -0
- package/build/module/lib/controller/profileCallback.js +15 -0
- package/build/module/lib/controller/recapcha.d.ts +2 -0
- package/build/module/lib/controller/recapcha.js +37 -0
- package/build/module/lib/controller/sentNotification.d.ts +7 -0
- package/build/module/lib/controller/sentNotification.js +115 -0
- package/build/module/lib/controller/upload.d.ts +4 -0
- package/build/module/lib/controller/upload.js +82 -0
- package/build/module/lib/lib/ConnectDB.d.ts +1 -0
- package/build/module/lib/lib/ConnectDB.js +33 -0
- package/build/module/lib/lib/converter.d.ts +1 -0
- package/build/module/lib/lib/converter.js +100 -0
- package/build/module/lib/lib/index.d.ts +3 -0
- package/build/module/lib/lib/index.js +4 -0
- package/build/module/lib/loc/I18n.d.ts +5 -0
- package/build/module/lib/loc/I18n.js +30 -0
- package/build/module/lib/mailer/index.d.ts +2 -0
- package/build/module/lib/mailer/index.js +3 -0
- package/build/module/lib/mailer/sendmail.d.ts +2 -0
- package/build/module/lib/mailer/sendmail.js +44 -0
- package/build/module/lib/makeContext.d.ts +24 -0
- package/build/module/lib/makeContext.js +42 -0
- package/build/module/lib/makeSchema.d.ts +2 -0
- package/build/module/lib/makeSchema.js +41 -0
- package/build/module/lib/object-id.scalar.d.ts +11 -0
- package/build/module/lib/object-id.scalar.js +167 -0
- package/build/module/lib/permission.d.ts +8 -0
- package/build/module/lib/permission.js +85 -0
- package/build/module/lib/plugin/index.d.ts +3 -0
- package/build/module/lib/plugin/index.js +4 -0
- package/build/module/lib/plugin/next/NextPlugin.d.ts +2 -0
- package/build/module/lib/plugin/next/NextPlugin.js +23 -0
- package/build/module/lib/plugin/oauth/Ioauth.d.ts +36 -0
- package/build/module/lib/plugin/oauth/Ioauth.js +2 -0
- package/build/module/lib/plugin/oauth/coreProfile.d.ts +14 -0
- package/build/module/lib/plugin/oauth/coreProfile.js +40 -0
- package/build/module/lib/plugin/oauth/facebook.d.ts +9 -0
- package/build/module/lib/plugin/oauth/facebook.js +68 -0
- package/build/module/lib/plugin/oauth/oauthPlugin.d.ts +27 -0
- package/build/module/lib/plugin/oauth/oauthPlugin.js +143 -0
- package/build/module/lib/plugin/oauth/utils.d.ts +2 -0
- package/build/module/lib/plugin/oauth/utils.js +20 -0
- package/build/module/lib/service/core.model.d.ts +38 -0
- package/build/module/lib/service/core.model.js +500 -0
- package/build/module/lib/service/index.d.ts +6 -0
- package/build/module/lib/service/index.js +7 -0
- package/build/module/lib/service/lists/core.model.d.ts +38 -0
- package/build/module/lib/service/lists/core.model.js +500 -0
- package/build/module/lib/service/makeContext.d.ts +24 -0
- package/build/module/lib/service/makeContext.js +42 -0
- package/build/module/lib/service/makeSchema.d.ts +2 -0
- package/build/module/lib/service/makeSchema.js +41 -0
- package/build/module/lib/service/object-id.scalar.d.ts +11 -0
- package/build/module/lib/service/object-id.scalar.js +167 -0
- package/build/module/lib/service/permission.d.ts +8 -0
- package/build/module/lib/service/permission.js +85 -0
- package/build/module/lib/service/typegoose-middleware.d.ts +2 -0
- package/build/module/lib/service/typegoose-middleware.js +19 -0
- package/build/module/lib/typegoose-middleware.d.ts +2 -0
- package/build/module/lib/typegoose-middleware.js +19 -0
- package/package.json +127 -0
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Remove = exports.Upload = exports.folder = void 0;
|
|
7
|
+
const fs_1 = __importDefault(require("fs"));
|
|
8
|
+
const path_1 = __importDefault(require("path"));
|
|
9
|
+
const aws_s3_1 = require("./aws-s3");
|
|
10
|
+
const uuid_1 = require("uuid");
|
|
11
|
+
const { NEXT_PUBLIC_OBJECT_STORAGE_BUCKET, NEXT_PUBLIC_IMAGE_UPLOAD_URL, } = process.env;
|
|
12
|
+
const host = `${NEXT_PUBLIC_OBJECT_STORAGE_BUCKET}.${NEXT_PUBLIC_IMAGE_UPLOAD_URL}`;
|
|
13
|
+
exports.folder = './public/uploads/';
|
|
14
|
+
const Upload = (req, rep) => {
|
|
15
|
+
if (!req.isMultipart()) {
|
|
16
|
+
rep.code(400).send(new Error('Request is not multipart'));
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
function handler(field, file, filename, encoding, mimetype) {
|
|
20
|
+
const extensions = ['png', 'jpeg', 'jpg', 'webp', 'gif'];
|
|
21
|
+
const ext = filename
|
|
22
|
+
.split('.')
|
|
23
|
+
.pop()
|
|
24
|
+
.toLowerCase();
|
|
25
|
+
let fname = filename.replace(/\%|\'|\,|\"|\*|\:|\<|\>|\?|\/|\|/g, '') ||
|
|
26
|
+
`${(0, uuid_1.v4)()}.${ext}`;
|
|
27
|
+
if (fname.length > 219) {
|
|
28
|
+
fname = fname.substring(fname.length - 219);
|
|
29
|
+
}
|
|
30
|
+
if (extensions.indexOf(ext) < 0) {
|
|
31
|
+
rep.code(400).send(new Error('Not allowed extension detected: ' + ext));
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
var saveTo = path_1.default.join(exports.folder, fname);
|
|
35
|
+
file.pipe(fs_1.default.createWriteStream(saveTo), { encoding });
|
|
36
|
+
file.on('end', async function () {
|
|
37
|
+
let uri = '';
|
|
38
|
+
try {
|
|
39
|
+
uri = await (0, aws_s3_1.push)(fname, encoding, mimetype);
|
|
40
|
+
}
|
|
41
|
+
catch (err) {
|
|
42
|
+
rep.code(400).send(err);
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
fs_1.default.unlink(saveTo, function (err) { });
|
|
46
|
+
if (!rep.sent) {
|
|
47
|
+
rep.code(200).send({ secure_url: uri });
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
const mp = req.multipart(handler, function (err) {
|
|
52
|
+
if (err) {
|
|
53
|
+
rep.code(400).send(err);
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
console.log('upload completed', process.memoryUsage().rss);
|
|
57
|
+
if (!rep.sent) {
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
mp.on('field', function (key, value) {
|
|
61
|
+
if (key === 'delete' && !!value && value.indexOf(`://${host}/`) > 0) {
|
|
62
|
+
let filename = value.split(`://${host}/`)[1];
|
|
63
|
+
(0, aws_s3_1.remove)(filename)
|
|
64
|
+
.then(() => { })
|
|
65
|
+
.catch(err => { });
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
};
|
|
69
|
+
exports.Upload = Upload;
|
|
70
|
+
const Remove = (req, rep) => {
|
|
71
|
+
const { body } = req;
|
|
72
|
+
if (!!body.delete && body.delete.indexOf(`://${host}/`) > 0) {
|
|
73
|
+
let filename = body.delete.split(`://${host}/`)[1];
|
|
74
|
+
(0, aws_s3_1.remove)(filename)
|
|
75
|
+
.then(() => {
|
|
76
|
+
if (!rep.sent) {
|
|
77
|
+
rep.code(200).send(true);
|
|
78
|
+
}
|
|
79
|
+
})
|
|
80
|
+
.catch(err => {
|
|
81
|
+
rep.code(200).send(false);
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
rep.code(400).send('no file');
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
exports.Remove = Remove;
|
|
89
|
+
exports.default = exports.Upload;
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jb250cm9sbGVyL3VwbG9hZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSw0Q0FBb0I7QUFDcEIsZ0RBQXdCO0FBQ3hCLHFDQUF3QztBQUN4QywrQkFBa0M7QUFFbEMsTUFBTSxFQUNKLGlDQUFpQyxFQUNqQyw0QkFBNEIsR0FDN0IsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDO0FBQ2hCLE1BQU0sSUFBSSxHQUFHLEdBQUcsaUNBQWlDLElBQUksNEJBQTRCLEVBQUUsQ0FBQztBQUV2RSxRQUFBLE1BQU0sR0FBRyxtQkFBbUIsQ0FBQztBQUVuQyxNQUFNLE1BQU0sR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRTtJQUVqQyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxFQUFFO1FBQ3RCLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQztRQUMxRCxPQUFPO0tBQ1I7SUFFRCxTQUFTLE9BQU8sQ0FDZCxLQUFLLEVBQ0wsSUFBUyxFQUNULFFBQWdCLEVBQ2hCLFFBQWdCLEVBQ2hCLFFBQWdCO1FBRWhCLE1BQU0sVUFBVSxHQUFHLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRXpELE1BQU0sR0FBRyxHQUFHLFFBQVE7YUFDakIsS0FBSyxDQUFDLEdBQUcsQ0FBQzthQUNWLEdBQUcsRUFBRTthQUNMLFdBQVcsRUFBRSxDQUFDO1FBRWpCLElBQUksS0FBSyxHQUNQLFFBQVEsQ0FBQyxPQUFPLENBQUMsbUNBQW1DLEVBQUUsRUFBRSxDQUFDO1lBQ3pELEdBQUcsSUFBQSxTQUFJLEdBQUUsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUVyQixJQUFJLEtBQUssQ0FB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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function (onConnect: (dbURL: string) => {}): void;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const mongoose_1 = __importDefault(require("mongoose"));
|
|
7
|
+
const mongoose_paginate_v2_1 = __importDefault(require("mongoose-paginate-v2"));
|
|
8
|
+
const { DB_URL, DB_DEBUG, DB_USER, DB_PASS, CA_CERT } = process.env;
|
|
9
|
+
mongoose_1.default.plugin(mongoose_paginate_v2_1.default);
|
|
10
|
+
function default_1(onConnect) {
|
|
11
|
+
let options = {
|
|
12
|
+
useNewUrlParser: true,
|
|
13
|
+
useUnifiedTopology: true,
|
|
14
|
+
useFindAndModify: false,
|
|
15
|
+
ssl: true,
|
|
16
|
+
};
|
|
17
|
+
if (!!CA_CERT) {
|
|
18
|
+
options['tls'] = true;
|
|
19
|
+
options['tlsCAFile'] = './keys/' + CA_CERT;
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
options['ssl'] = true;
|
|
23
|
+
}
|
|
24
|
+
mongoose_1.default.connect(`mongodb${!CA_CERT ? '' : '+srv'}://` +
|
|
25
|
+
DB_USER +
|
|
26
|
+
':' +
|
|
27
|
+
DB_PASS +
|
|
28
|
+
'@' +
|
|
29
|
+
DB_URL, options);
|
|
30
|
+
if (DB_DEBUG) {
|
|
31
|
+
mongoose_1.default.set('debug', true);
|
|
32
|
+
}
|
|
33
|
+
mongoose_1.default.connection.on('error', console.error.bind(console, 'connection error:'));
|
|
34
|
+
mongoose_1.default.connection.once('open', () => {
|
|
35
|
+
onConnect(DB_URL);
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
exports.default = default_1;
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29ubmVjdERCLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9saWIvQ29ubmVjdERCLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsd0RBQWdDO0FBQ2hDLGdGQUFvRDtBQUlwRCxNQUFNLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUM7QUFDcEUsa0JBQVEsQ0FBQyxNQUFNLENBQUMsOEJBQWdCLENBQUMsQ0FBQztBQUVsQyxtQkFBd0IsU0FBZ0M7SUFDdEQsSUFBSSxPQUFPLEdBQVE7UUFDakIsZUFBZSxFQUFFLElBQUk7UUFDckIsa0JBQWtCLEVBQUUsSUFBSTtRQUN4QixnQkFBZ0IsRUFBRSxLQUFLO1FBQ3ZCLEdBQUcsRUFBRSxJQUFJO0tBRVYsQ0FBQztJQUVGLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRTtRQUNiLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDdEIsT0FBTyxDQUFDLFdBQVcsQ0FBQyxHQUFHLFNBQVMsR0FBRyxPQUFPLENBQUM7S0FDNUM7U0FBTTtRQUNMLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUM7S0FJdkI7SUFFRCxrQkFBUSxDQUFDLE9BQU8sQ0FDZCxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSztRQUNuQyxPQUFPO1FBQ1AsR0FBRztRQUNILE9BQU87UUFDUCxHQUFHO1FBQ0gsTUFBTSxFQUNSLE9BQU8sQ0FDUixDQUFDO0lBQ0YsSUFBSSxRQUFRLEVBQUU7UUFDWixrQkFBUSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7S0FDN0I7SUFDRCxrQkFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQ3BCLE9BQU8sRUFDUCxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsbUJBQW1CLENBQUMsQ0FDakQsQ0FBQztJQUNGLGtCQUFRLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFO1FBQ3BDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNwQixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUF0Q0QsNEJBc0NDIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const converter: (subject: any) => any;
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.converter = void 0;
|
|
4
|
+
const table = {
|
|
5
|
+
А: 'A',
|
|
6
|
+
а: 'a',
|
|
7
|
+
Б: 'B',
|
|
8
|
+
б: 'b',
|
|
9
|
+
В: 'V',
|
|
10
|
+
в: 'v',
|
|
11
|
+
Г: 'G',
|
|
12
|
+
г: 'g',
|
|
13
|
+
Д: 'D',
|
|
14
|
+
д: 'd',
|
|
15
|
+
Е: 'Ye',
|
|
16
|
+
е: 'ye',
|
|
17
|
+
Ё: 'Yo',
|
|
18
|
+
ё: 'yo',
|
|
19
|
+
Ж: 'J',
|
|
20
|
+
ж: 'j',
|
|
21
|
+
З: 'Z',
|
|
22
|
+
з: 'z',
|
|
23
|
+
И: 'I',
|
|
24
|
+
и: 'i',
|
|
25
|
+
Й: 'I',
|
|
26
|
+
й: 'i',
|
|
27
|
+
К: 'K',
|
|
28
|
+
к: 'k',
|
|
29
|
+
Л: 'L',
|
|
30
|
+
л: 'l',
|
|
31
|
+
М: 'M',
|
|
32
|
+
м: 'm',
|
|
33
|
+
Н: 'N',
|
|
34
|
+
н: 'n',
|
|
35
|
+
О: 'O',
|
|
36
|
+
о: 'o',
|
|
37
|
+
П: 'P',
|
|
38
|
+
п: 'p',
|
|
39
|
+
Р: 'R',
|
|
40
|
+
р: 'r',
|
|
41
|
+
С: 'S',
|
|
42
|
+
с: 's',
|
|
43
|
+
Т: 'T',
|
|
44
|
+
т: 't',
|
|
45
|
+
У: 'U',
|
|
46
|
+
у: 'u',
|
|
47
|
+
Ф: 'F',
|
|
48
|
+
ф: 'f',
|
|
49
|
+
Х: 'Kh',
|
|
50
|
+
х: 'kh',
|
|
51
|
+
Ц: 'Ts',
|
|
52
|
+
ц: 'ts',
|
|
53
|
+
Ч: 'Ch',
|
|
54
|
+
ч: 'ch',
|
|
55
|
+
Ш: 'Sh',
|
|
56
|
+
ш: 'sh',
|
|
57
|
+
Щ: 'Shch',
|
|
58
|
+
щ: 'shch',
|
|
59
|
+
Ы: 'II',
|
|
60
|
+
ы: 'ii',
|
|
61
|
+
Э: 'E',
|
|
62
|
+
э: 'e',
|
|
63
|
+
Ю: 'Yu',
|
|
64
|
+
ю: 'yu',
|
|
65
|
+
Я: 'Ya',
|
|
66
|
+
я: 'ya',
|
|
67
|
+
Ь: 'I',
|
|
68
|
+
ь: 'i',
|
|
69
|
+
Ъ: 'I',
|
|
70
|
+
ъ: 'i',
|
|
71
|
+
ө: 'u',
|
|
72
|
+
Ө: 'U',
|
|
73
|
+
ү: 'u',
|
|
74
|
+
Ү: 'U',
|
|
75
|
+
};
|
|
76
|
+
let keys, specialCases, singleLetter, searchPattern, lookupTable, i = 0;
|
|
77
|
+
lookupTable = function (input) {
|
|
78
|
+
return input in table ? table[input] : input;
|
|
79
|
+
};
|
|
80
|
+
keys = Object.keys(table).sort(function (a, b) {
|
|
81
|
+
return b.length - a.length;
|
|
82
|
+
});
|
|
83
|
+
for (; keys[i]; i += 1) {
|
|
84
|
+
if (keys[i].length === 1) {
|
|
85
|
+
break;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
specialCases = keys.slice(0, i).join('|');
|
|
89
|
+
singleLetter = keys.slice(i).join('');
|
|
90
|
+
keys = undefined;
|
|
91
|
+
searchPattern = new RegExp([specialCases, singleLetter ? '[' + singleLetter + ']' : ''].join(singleLetter && specialCases ? '|' : ''), 'g');
|
|
92
|
+
const converter = function (subject) {
|
|
93
|
+
if (typeof subject !== 'string') {
|
|
94
|
+
if (subject && typeof subject.toString === 'function') {
|
|
95
|
+
subject = subject.toString();
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
return '';
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
return subject.replace(searchPattern, lookupTable);
|
|
102
|
+
};
|
|
103
|
+
exports.converter = converter;
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVydGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9saWIvY29udmVydGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLE1BQU0sS0FBSyxHQUFHO0lBQ1osQ0FBQyxFQUFFLEdBQUc7SUFDTixDQUFDLEVBQUUsR0FBRztJQUNOLENBQUMsRUFBRSxHQUFHO0lBQ04sQ0FBQyxFQUFFLEdBQUc7SUFDTixDQUFDLEVBQUUsR0FBRztJQUNOLENBQUMsRUFBRSxHQUFHO0lBQ04sQ0FBQyxFQUFFLEdBQUc7SUFDTixDQUFDLEVBQUUsR0FBRztJQUNOLENBQUMsRUFBRSxHQUFHO0lBQ04sQ0FBQyxFQUFFLEdBQUc7SUFDTixDQUFDLEVBQUUsSUFBSTtJQUNQLENBQUMsRUFBRSxJQUFJO0lBQ1AsQ0FBQyxFQUFFLElBQUk7SUFDUCxDQUFDLEVBQUUsSUFBSTtJQUNQLENBQUMsRUFBRSxHQUFHO0lBQ04sQ0FBQyxFQUFFLEdBQUc7SUFDTixDQUFDLEVBQUUsR0FBRztJQUNOLENBQUMsRUFBRSxHQUFHO0lBQ04sQ0FBQyxFQUFFLEdBQUc7SUFDTixDQUFDLEVBQUUsR0FBRztJQUNOLENBQUMsRUFBRSxHQUFHO0lBQ04sQ0FBQyxFQUFFLEdBQUc7SUFDTixDQUFDLEVBQUUsR0FBRztJQUNOLENBQUMsRUFBRSxHQUFHO0lBQ04sQ0FBQyxFQUFFLEdBQUc7SUFDTixDQUFDLEVBQUUsR0FBRztJQUNOLENBQUMsRUFBRSxHQUFHO0lBQ04sQ0FBQyxFQUFFLEdBQUc7SUFDTixDQUFDLEVBQUUsR0FBRztJQUNOLENBQUMsRUFBRSxHQUFHO0lBQ04sQ0FBQyxFQUFFLEdBQUc7SUFDTixDQUFDLEVBQUUsR0FBRztJQUNOLENBQUMsRUFBRSxHQUFHO0lBQ04sQ0FBQyxFQUFFLEdBQUc7SUFDTixDQUFDLEVBQUUsR0FBRztJQUNOLENBQUMsRUFBRSxHQUFHO0lBQ04sQ0FBQyxFQUFFLEdBQUc7SUFDTixDQUFDLEVB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
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.ConnectDB = exports.converter = void 0;
|
|
7
|
+
const converter_1 = require("./converter");
|
|
8
|
+
Object.defineProperty(exports, "converter", { enumerable: true, get: function () { return converter_1.converter; } });
|
|
9
|
+
const ConnectDB_1 = __importDefault(require("./ConnectDB"));
|
|
10
|
+
exports.ConnectDB = ConnectDB_1.default;
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2xpYi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSwyQ0FBd0M7QUFHL0IsMEZBSEEscUJBQVMsT0FHQTtBQUZsQiw0REFBb0M7QUFFaEIsb0JBRmIsbUJBQVMsQ0FFYSJ9
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.defaultLocale = exports.t = void 0;
|
|
7
|
+
const i18next_1 = __importDefault(require("i18next"));
|
|
8
|
+
const translationGetters = {
|
|
9
|
+
en: () => require('./en.json'),
|
|
10
|
+
mn: () => require('./mn.json'),
|
|
11
|
+
};
|
|
12
|
+
const defaultLocale = 'mn-MN';
|
|
13
|
+
exports.defaultLocale = defaultLocale;
|
|
14
|
+
const translate = (key, options) => i18next_1.default.t(key, options);
|
|
15
|
+
exports.t = translate;
|
|
16
|
+
if (!i18next_1.default.isInitialized) {
|
|
17
|
+
i18next_1.default.init({
|
|
18
|
+
lng: defaultLocale,
|
|
19
|
+
fallbackLng: 'mn-MN',
|
|
20
|
+
ns: ['trans'],
|
|
21
|
+
defaultNS: 'trans',
|
|
22
|
+
resources: {
|
|
23
|
+
['mn-MN']: { trans: translationGetters['mn']() },
|
|
24
|
+
['en-US']: { trans: translationGetters['en']() },
|
|
25
|
+
},
|
|
26
|
+
keySeparator: false,
|
|
27
|
+
interpolation: {
|
|
28
|
+
escapeValue: false,
|
|
29
|
+
formatSeparator: ',',
|
|
30
|
+
},
|
|
31
|
+
parseMissingKeyHandler: function (key) {
|
|
32
|
+
return !key || typeof key !== 'string' ? '' : key.split('.').pop() + '!';
|
|
33
|
+
},
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
exports.default = i18next_1.default;
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSTE4bi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvbG9jL0kxOG4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsc0RBQXlCO0FBR3pCLE1BQU0sa0JBQWtCLEdBQUc7SUFFekIsRUFBRSxFQUFFLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7SUFDOUIsRUFBRSxFQUFFLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7Q0FDL0IsQ0FBQztBQUNGLE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQztBQXlCTCxzQ0FBYTtBQXZCdEMsTUFBTSxTQUFTLEdBQUcsQ0FBQyxHQUFXLEVBQUUsT0FBUSxFQUFFLEVBQUUsQ0FBQyxpQkFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUM7QUF1QjFDLHNCQUFDO0FBckJ2QixJQUFJLENBQUMsaUJBQUUsQ0FBQyxhQUFhLEVBQUU7SUFDckIsaUJBQUUsQ0FBQyxJQUFJLENBQUM7UUFDTixHQUFHLEVBQUUsYUFBYTtRQUNsQixXQUFXLEVBQUUsT0FBTztRQUNwQixFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUM7UUFDYixTQUFTLEVBQUUsT0FBTztRQUNsQixTQUFTLEVBQUU7WUFDVCxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLGtCQUFrQixDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUU7WUFDaEQsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFO1NBQ2pEO1FBQ0QsWUFBWSxFQUFFLEtBQUs7UUFDbkIsYUFBYSxFQUFFO1lBQ2IsV0FBVyxFQUFFLEtBQUs7WUFDbEIsZUFBZSxFQUFFLEdBQUc7U0FDckI7UUFDRCxzQkFBc0IsRUFBRSxVQUFTLEdBQUc7WUFDbEMsT0FBTyxDQUFDLEdBQUcsSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxHQUFHLENBQUM7UUFDM0UsQ0FBQztLQUNGLENBQUMsQ0FBQztDQUNKO0FBR0Qsa0JBQWUsaUJBQUUsQ0FBQyJ9
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Send = void 0;
|
|
4
|
+
const sendmail_1 = require("./sendmail");
|
|
5
|
+
Object.defineProperty(exports, "Send", { enumerable: true, get: function () { return sendmail_1.Send; } });
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL21haWxlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5Q0FBa0M7QUFFekIscUZBRkEsZUFBSSxPQUVBIn0=
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Send = exports.Verify = void 0;
|
|
7
|
+
const nodemailer_1 = __importDefault(require("nodemailer/lib/nodemailer"));
|
|
8
|
+
const { MAIL_PASSWORD, MAIL_ADDRESS = 'noreply@example.mn' } = process.env;
|
|
9
|
+
const POOL = false;
|
|
10
|
+
const EMAIL = MAIL_ADDRESS;
|
|
11
|
+
const transporter = nodemailer_1.default.createTransport({
|
|
12
|
+
pool: POOL,
|
|
13
|
+
host: 'smtp.office365.com',
|
|
14
|
+
port: 587,
|
|
15
|
+
secure: false,
|
|
16
|
+
tls: { ciphers: 'SSLv3' },
|
|
17
|
+
service: 'Outlook365',
|
|
18
|
+
auth: {
|
|
19
|
+
user: EMAIL,
|
|
20
|
+
pass: MAIL_PASSWORD,
|
|
21
|
+
},
|
|
22
|
+
logger: false,
|
|
23
|
+
debug: false,
|
|
24
|
+
}, {
|
|
25
|
+
from: `no-reply <${EMAIL}>`,
|
|
26
|
+
headers: {},
|
|
27
|
+
});
|
|
28
|
+
const Verify = () => {
|
|
29
|
+
transporter.verify((error, success) => {
|
|
30
|
+
if (error) {
|
|
31
|
+
console.log(error);
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
};
|
|
35
|
+
exports.Verify = Verify;
|
|
36
|
+
const Send = msg => {
|
|
37
|
+
try {
|
|
38
|
+
transporter.sendMail(msg, (error, info) => {
|
|
39
|
+
if (error) {
|
|
40
|
+
console.log(error.message);
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
catch (e) {
|
|
45
|
+
if (POOL) {
|
|
46
|
+
transporter.close();
|
|
47
|
+
}
|
|
48
|
+
console.log(e);
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
exports.Send = Send;
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZG1haWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL21haWxlci9zZW5kbWFpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSwyRUFBbUQ7QUFDbkQsTUFBTSxFQUFFLGFBQWEsRUFBRSxZQUFZLEdBQUcsb0JBQW9CLEVBQUUsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDO0FBRTNFLE1BQU0sSUFBSSxHQUFZLEtBQUssQ0FBQztBQUM1QixNQUFNLEtBQUssR0FBVyxZQUFZLENBQUM7QUFHbkMsTUFBTSxXQUFXLEdBQUcsb0JBQVUsQ0FBQyxlQUFlLENBQzVDO0lBQ0UsSUFBSSxFQUFFLElBQUk7SUFJVixJQUFJLEVBQUUsb0JBQW9CO0lBQzFCLElBQUksRUFBRSxHQUFHO0lBQ1QsTUFBTSxFQUFFLEtBQUs7SUFDYixHQUFHLEVBQUUsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFO0lBQ3pCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLElBQUksRUFBRTtRQUNKLElBQUksRUFBRSxLQUFLO1FBQ1gsSUFBSSxFQUFFLGFBQWE7S0FDcEI7SUFDRCxNQUFNLEVBQUUsS0FBSztJQUNiLEtBQUssRUFBRSxLQUFLO0NBQ2IsRUFDRDtJQUlFLElBQUksRUFBRSxhQUFhLEtBQUssR0FBRztJQUMzQixPQUFPLEVBQUUsRUFBRTtDQUNaLENBQ0YsQ0FBQztBQUVLLE1BQU0sTUFBTSxHQUFHLEdBQUcsRUFBRTtJQUV6QixXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFO1FBQ3BDLElBQUksS0FBSyxFQUFFO1lBQ1QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNwQjtJQUNILENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBUFcsUUFBQSxNQUFNLFVBT2pCO0FBRUssTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLEVBQUU7SUFDeEIsSUFBSTtRQUVGLFdBQVcsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxFQUFFO1lBQ3hDLElBQUksS0FBSyxFQUFFO2dCQUNULE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBRTVCO1FBRUgsQ0FBQyxDQUFDLENBQUM7S0FDSjtJQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ1YsSUFBSSxJQUFJLEVBQUU7WUFFUixXQUFXLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDckI7UUFDRCxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQ2hCO0FBQ0gsQ0FBQyxDQUFDO0FBakJXLFFBQUEsSUFBSSxRQWlCZiJ9
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { Server, IncomingMessage, ServerResponse } from 'http';
|
|
3
|
+
import { FastifyRequest, FastifyReply, FastifyInstance } from 'fastify';
|
|
4
|
+
interface IUser {
|
|
5
|
+
_id?: string;
|
|
6
|
+
username: string;
|
|
7
|
+
email?: string;
|
|
8
|
+
roles: string[];
|
|
9
|
+
type: string;
|
|
10
|
+
status: string;
|
|
11
|
+
}
|
|
12
|
+
declare type App = FastifyInstance<Server, IncomingMessage, ServerResponse>;
|
|
13
|
+
export interface IContext {
|
|
14
|
+
req: FastifyRequest;
|
|
15
|
+
rep: FastifyReply;
|
|
16
|
+
deviceId: string;
|
|
17
|
+
user: IUser;
|
|
18
|
+
app: App;
|
|
19
|
+
}
|
|
20
|
+
declare const makeContext: (app: App, { request, reply }: {
|
|
21
|
+
request: any;
|
|
22
|
+
reply: any;
|
|
23
|
+
}) => IContext;
|
|
24
|
+
export default makeContext;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const graphql_1 = require("graphql");
|
|
4
|
+
const makeContext = (app, { request, reply }) => {
|
|
5
|
+
const { user = undefined, headers, body, } = request;
|
|
6
|
+
const deviceId = !!headers && typeof headers.deviceuniqid !== 'undefined'
|
|
7
|
+
? headers.deviceuniqid
|
|
8
|
+
: '';
|
|
9
|
+
if (!deviceId &&
|
|
10
|
+
process.env.NODE_ENV === 'production' &&
|
|
11
|
+
!!body &&
|
|
12
|
+
body.hasOwnProperty('query') &&
|
|
13
|
+
isIntrospectionQuery(body.query)) {
|
|
14
|
+
throw new Error('GraphQL introspection not authorized!');
|
|
15
|
+
}
|
|
16
|
+
return {
|
|
17
|
+
req: request,
|
|
18
|
+
rep: reply,
|
|
19
|
+
deviceId,
|
|
20
|
+
user: user,
|
|
21
|
+
app,
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
const isIntrospectionQuery = (arg) => {
|
|
25
|
+
const query = (0, graphql_1.parse)(arg);
|
|
26
|
+
const opDefs = query.definitions.filter((d) => d.kind == 'OperationDefinition');
|
|
27
|
+
if (opDefs.length > 1) {
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
30
|
+
const selections = opDefs[0].selectionSet.selections;
|
|
31
|
+
if (selections.length > 1) {
|
|
32
|
+
return false;
|
|
33
|
+
}
|
|
34
|
+
const selection = selections[0];
|
|
35
|
+
if (selection.kind !== 'Field') {
|
|
36
|
+
return false;
|
|
37
|
+
}
|
|
38
|
+
if (selection.name.value !== '__schema') {
|
|
39
|
+
return false;
|
|
40
|
+
}
|
|
41
|
+
return true;
|
|
42
|
+
};
|
|
43
|
+
exports.default = makeContext;
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFrZUNvbnRleHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL21ha2VDb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBUUEscUNBQXlEO0FBcUJ6RCxNQUFNLFdBQVcsR0FBRyxDQUFDLEdBQVEsRUFBRSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsRUFBWSxFQUFFO0lBQzdELE1BQU0sRUFDSixJQUFJLEdBQUcsU0FBUyxFQUNoQixPQUFPLEVBQ1AsSUFBSSxHQUNMLEdBQUcsT0FBd0MsQ0FBQztJQUc3QyxNQUFNLFFBQVEsR0FDWixDQUFDLENBQUMsT0FBTyxJQUFJLE9BQU8sT0FBTyxDQUFDLFlBQVksS0FBSyxXQUFXO1FBQ3RELENBQUMsQ0FBQyxPQUFPLENBQUMsWUFBWTtRQUN0QixDQUFDLENBQUMsRUFBRSxDQUFDO0lBR1QsSUFDRSxDQUFDLFFBQVE7UUFDVCxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsS0FBSyxZQUFZO1FBQ3JDLENBQUMsQ0FBQyxJQUFJO1FBQ04sSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUM7UUFDNUIsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUNoQztRQUNBLE1BQU0sSUFBSSxLQUFLLENBQUMsdUNBQXVDLENBQUMsQ0FBQztLQUMxRDtJQUVELE9BQU87UUFDTCxHQUFHLEVBQUUsT0FBTztRQUNaLEdBQUcsRUFBRSxLQUFLO1FBQ1YsUUFBUTtRQUNSLElBQUksRUFBRSxJQUFhO1FBQ25CLEdBQUc7S0FDSixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLEdBQVcsRUFBRSxFQUFFO0lBQzNDLE1BQU0sS0FBSyxHQUFHLElBQUEsZUFBSyxFQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pCLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUNyQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxxQkFBcUIsQ0FDVixDQUFDO0lBRS9CLElBQUksTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7UUFDckIsT0FBTyxLQUFLLENBQUM7S0FDZDtJQUNELE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDO0lBRXJELElBQUksVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7UUFDekIsT0FBTyxLQUFLLENBQUM7S0FDZDtJQUNELE1BQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUVoQyxJQUFJLFNBQVMsQ0FBQyxJQUFJLEtBQUssT0FBTyxFQUFFO1FBQzlCLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFDRCxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxLQUFLLFVBQVUsRUFBRTtRQUN2QyxPQUFPLEtBQUssQ0FBQztLQUNkO0lBQ0QsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDLENBQUM7QUFFRixrQkFBZSxXQUFXLENBQUMifQ==
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const object_id_scalar_1 = require("./object-id.scalar");
|
|
7
|
+
const mongodb_1 = require("mongodb");
|
|
8
|
+
const Types_1 = require("./Types");
|
|
9
|
+
const typegoose_middleware_1 = require("./typegoose-middleware");
|
|
10
|
+
const type_graphql_1 = require("type-graphql");
|
|
11
|
+
const path_1 = __importDefault(require("path"));
|
|
12
|
+
const graphql_subscriptions_1 = require("graphql-subscriptions");
|
|
13
|
+
const authChecker = ({ root, args, context, info }, roles) => {
|
|
14
|
+
if (!context.user) {
|
|
15
|
+
return false;
|
|
16
|
+
}
|
|
17
|
+
if (roles.length === 0) {
|
|
18
|
+
return typeof context.user !== 'undefined';
|
|
19
|
+
}
|
|
20
|
+
if (roles.includes(context.user.type)) {
|
|
21
|
+
return true;
|
|
22
|
+
}
|
|
23
|
+
if (context.user.roles.some(role => roles.includes(role))) {
|
|
24
|
+
return true;
|
|
25
|
+
}
|
|
26
|
+
return false;
|
|
27
|
+
};
|
|
28
|
+
const makeSchema = async (HOST = '127.0.0.1', PORT = 8080) => {
|
|
29
|
+
const pubSub = new graphql_subscriptions_1.PubSub();
|
|
30
|
+
return await (0, type_graphql_1.buildSchema)({
|
|
31
|
+
resolvers: [__dirname + '/**/*.resolver.ts'],
|
|
32
|
+
emitSchemaFile: path_1.default.resolve(__dirname, 'schema.gql'),
|
|
33
|
+
globalMiddlewares: [typegoose_middleware_1.TypegooseMiddleware],
|
|
34
|
+
authChecker,
|
|
35
|
+
pubSub: pubSub,
|
|
36
|
+
scalarsMap: [
|
|
37
|
+
{ type: mongodb_1.ObjectId, scalar: object_id_scalar_1.ObjectIdScalar },
|
|
38
|
+
{ type: Types_1.Note, scalar: object_id_scalar_1.NoteScalar },
|
|
39
|
+
{ type: Types_1.Link, scalar: object_id_scalar_1.LinkScalar },
|
|
40
|
+
{ type: Types_1.Lookup, scalar: object_id_scalar_1.LookupScalar },
|
|
41
|
+
{ type: Types_1.Image, scalar: object_id_scalar_1.ImageScalar },
|
|
42
|
+
],
|
|
43
|
+
});
|
|
44
|
+
};
|
|
45
|
+
exports.default = makeSchema;
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFrZVNjaGVtYS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvbWFrZVNjaGVtYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHlEQU00QjtBQUM1QixxQ0FBc0Q7QUFDdEQsbUNBQW9EO0FBQ3BELGlFQUE2RDtBQUU3RCwrQ0FBd0Q7QUFDeEQsZ0RBQXdCO0FBQ3hCLGlFQUErQztBQUkvQyxNQUFNLFdBQVcsR0FBMEIsQ0FDekMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsRUFDN0IsS0FBSyxFQUNMLEVBQUU7SUFDRixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRTtRQUVqQixPQUFPLEtBQUssQ0FBQztLQUNkO0lBRUQsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtRQUV0QixPQUFPLE9BQU8sT0FBTyxDQUFDLElBQUksS0FBSyxXQUFXLENBQUM7S0FDNUM7SUFHRCxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUVyQyxPQUFPLElBQUksQ0FBQztLQUNiO0lBRUQsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUU7UUFFekQsT0FBTyxJQUFJLENBQUM7S0FDYjtJQUdELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQyxDQUFDO0FBRUYsTUFBTSxVQUFVLEdBQUcsS0FBSyxFQUFFLE9BQWUsV0FBVyxFQUFFLE9BQWUsSUFBSSxFQUFFLEVBQUU7SUFjM0UsTUFBTSxNQUFNLEdBQUcsSUFBSSw4QkFBTSxFQUFFLENBQUM7SUFFNUIsT0FBTyxNQUFNLElBQUEsMEJBQVcsRUFBQztRQUN2QixTQUFTLEVBQUUsQ0FBQyxTQUFTLEdBQUcsbUJBQW1CLENBQUM7UUFDNUMsY0FBYyxFQUFFLGNBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLFlBQVksQ0FBQztRQUNyRCxpQkFBaUIsRUFBRSxDQUFDLDBDQUFtQixDQUFDO1FBQ3hDLFdBQVc7UUFFWCxNQUFNLEVBQUUsTUFBTTtRQUNkLFVBQVUsRUFBRTtZQUNWLEVBQUUsSUFBSSxFQUFFLGtCQUFRLEVBQUUsTUFBTSxFQUFFLGlDQUFjLEVBQUU7WUFDMUMsRUFBRSxJQUFJLEVBQUUsWUFBSSxFQUFFLE1BQU0sRUFBRSw2QkFBVSxFQUFFO1lBQ2xDLEVBQUUsSUFBSSxFQUFFLFlBQUksRUFBRSxNQUFNLEVBQUUsNkJBQVUsRUFBRTtZQUNsQyxFQUFFLElBQUksRUFBRSxjQUFNLEVBQUUsTUFBTSxFQUFFLCtCQUFZLEVBQUU7WUFDdEMsRUFBRSxJQUFJLEVBQUUsYUFBSyxFQUFFLE1BQU0sRUFBRSw4QkFBVyxFQUFFO1NBQ3JDO0tBQ0YsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBRUYsa0JBQWUsVUFBVSxDQUFDIn0=
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { GraphQLScalarType } from 'graphql';
|
|
2
|
+
export declare function isObjectLike(value: any): boolean;
|
|
3
|
+
export declare function serializeObject(value: any): any;
|
|
4
|
+
export declare function serializeArray(value: any): string | string[];
|
|
5
|
+
export declare function serializeString(rawValue: any): string;
|
|
6
|
+
export declare function serializeBoolean(value: any): boolean;
|
|
7
|
+
export declare const ObjectIdScalar: GraphQLScalarType;
|
|
8
|
+
export declare const NoteScalar: GraphQLScalarType;
|
|
9
|
+
export declare const LinkScalar: GraphQLScalarType;
|
|
10
|
+
export declare const LookupScalar: GraphQLScalarType;
|
|
11
|
+
export declare const ImageScalar: GraphQLScalarType;
|