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.
Files changed (157) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +3 -0
  3. package/build/main/index.d.ts +6 -0
  4. package/build/main/index.js +19 -0
  5. package/build/main/lib/Types/Image.d.ts +10 -0
  6. package/build/main/lib/Types/Image.js +49 -0
  7. package/build/main/lib/Types/Link.d.ts +8 -0
  8. package/build/main/lib/Types/Link.js +23 -0
  9. package/build/main/lib/Types/Lookup.d.ts +8 -0
  10. package/build/main/lib/Types/Lookup.js +39 -0
  11. package/build/main/lib/Types/Note.d.ts +8 -0
  12. package/build/main/lib/Types/Note.js +29 -0
  13. package/build/main/lib/Types/index.d.ts +4 -0
  14. package/build/main/lib/Types/index.js +17 -0
  15. package/build/main/lib/controller/aws-s3.d.ts +2 -0
  16. package/build/main/lib/controller/aws-s3.js +64 -0
  17. package/build/main/lib/controller/imageResize.d.ts +2 -0
  18. package/build/main/lib/controller/imageResize.js +29 -0
  19. package/build/main/lib/controller/index.d.ts +5 -0
  20. package/build/main/lib/controller/index.js +13 -0
  21. package/build/main/lib/controller/profileCallback.d.ts +1 -0
  22. package/build/main/lib/controller/profileCallback.js +22 -0
  23. package/build/main/lib/controller/recapcha.d.ts +2 -0
  24. package/build/main/lib/controller/recapcha.js +44 -0
  25. package/build/main/lib/controller/sentNotification.d.ts +7 -0
  26. package/build/main/lib/controller/sentNotification.js +119 -0
  27. package/build/main/lib/controller/upload.d.ts +4 -0
  28. package/build/main/lib/controller/upload.js +90 -0
  29. package/build/main/lib/lib/ConnectDB.d.ts +1 -0
  30. package/build/main/lib/lib/ConnectDB.js +39 -0
  31. package/build/main/lib/lib/converter.d.ts +1 -0
  32. package/build/main/lib/lib/converter.js +104 -0
  33. package/build/main/lib/lib/index.d.ts +3 -0
  34. package/build/main/lib/lib/index.js +11 -0
  35. package/build/main/lib/loc/I18n.d.ts +5 -0
  36. package/build/main/lib/loc/I18n.js +37 -0
  37. package/build/main/lib/mailer/index.d.ts +2 -0
  38. package/build/main/lib/mailer/index.js +6 -0
  39. package/build/main/lib/mailer/sendmail.d.ts +2 -0
  40. package/build/main/lib/mailer/sendmail.js +52 -0
  41. package/build/main/lib/makeContext.d.ts +24 -0
  42. package/build/main/lib/makeContext.js +44 -0
  43. package/build/main/lib/makeSchema.d.ts +2 -0
  44. package/build/main/lib/makeSchema.js +46 -0
  45. package/build/main/lib/object-id.scalar.d.ts +11 -0
  46. package/build/main/lib/object-id.scalar.js +175 -0
  47. package/build/main/lib/permission.d.ts +8 -0
  48. package/build/main/lib/permission.js +89 -0
  49. package/build/main/lib/plugin/index.d.ts +3 -0
  50. package/build/main/lib/plugin/index.js +28 -0
  51. package/build/main/lib/plugin/next/NextPlugin.d.ts +2 -0
  52. package/build/main/lib/plugin/next/NextPlugin.js +30 -0
  53. package/build/main/lib/plugin/oauth/Ioauth.d.ts +36 -0
  54. package/build/main/lib/plugin/oauth/Ioauth.js +3 -0
  55. package/build/main/lib/plugin/oauth/coreProfile.d.ts +14 -0
  56. package/build/main/lib/plugin/oauth/coreProfile.js +44 -0
  57. package/build/main/lib/plugin/oauth/facebook.d.ts +9 -0
  58. package/build/main/lib/plugin/oauth/facebook.js +72 -0
  59. package/build/main/lib/plugin/oauth/oauthPlugin.d.ts +27 -0
  60. package/build/main/lib/plugin/oauth/oauthPlugin.js +150 -0
  61. package/build/main/lib/plugin/oauth/utils.d.ts +2 -0
  62. package/build/main/lib/plugin/oauth/utils.js +25 -0
  63. package/build/main/lib/service/core.model.d.ts +38 -0
  64. package/build/main/lib/service/core.model.js +483 -0
  65. package/build/main/lib/service/index.d.ts +6 -0
  66. package/build/main/lib/service/index.js +19 -0
  67. package/build/main/lib/service/makeContext.d.ts +24 -0
  68. package/build/main/lib/service/makeContext.js +44 -0
  69. package/build/main/lib/service/makeSchema.d.ts +2 -0
  70. package/build/main/lib/service/makeSchema.js +46 -0
  71. package/build/main/lib/service/object-id.scalar.d.ts +11 -0
  72. package/build/main/lib/service/object-id.scalar.js +175 -0
  73. package/build/main/lib/service/permission.d.ts +8 -0
  74. package/build/main/lib/service/permission.js +89 -0
  75. package/build/main/lib/service/typegoose-middleware.d.ts +2 -0
  76. package/build/main/lib/service/typegoose-middleware.js +23 -0
  77. package/build/main/lib/typegoose-middleware.d.ts +2 -0
  78. package/build/main/lib/typegoose-middleware.js +23 -0
  79. package/build/module/index.d.ts +6 -0
  80. package/build/module/index.js +7 -0
  81. package/build/module/lib/Types/Image.d.ts +10 -0
  82. package/build/module/lib/Types/Image.js +45 -0
  83. package/build/module/lib/Types/Link.d.ts +8 -0
  84. package/build/module/lib/Types/Link.js +20 -0
  85. package/build/module/lib/Types/Lookup.d.ts +8 -0
  86. package/build/module/lib/Types/Lookup.js +35 -0
  87. package/build/module/lib/Types/Note.d.ts +8 -0
  88. package/build/module/lib/Types/Note.js +26 -0
  89. package/build/module/lib/Types/index.d.ts +4 -0
  90. package/build/module/lib/Types/index.js +5 -0
  91. package/build/module/lib/controller/aws-s3.d.ts +2 -0
  92. package/build/module/lib/controller/aws-s3.js +56 -0
  93. package/build/module/lib/controller/imageResize.d.ts +2 -0
  94. package/build/module/lib/controller/imageResize.js +22 -0
  95. package/build/module/lib/controller/index.d.ts +5 -0
  96. package/build/module/lib/controller/index.js +6 -0
  97. package/build/module/lib/controller/profileCallback.d.ts +1 -0
  98. package/build/module/lib/controller/profileCallback.js +15 -0
  99. package/build/module/lib/controller/recapcha.d.ts +2 -0
  100. package/build/module/lib/controller/recapcha.js +37 -0
  101. package/build/module/lib/controller/sentNotification.d.ts +7 -0
  102. package/build/module/lib/controller/sentNotification.js +115 -0
  103. package/build/module/lib/controller/upload.d.ts +4 -0
  104. package/build/module/lib/controller/upload.js +82 -0
  105. package/build/module/lib/lib/ConnectDB.d.ts +1 -0
  106. package/build/module/lib/lib/ConnectDB.js +33 -0
  107. package/build/module/lib/lib/converter.d.ts +1 -0
  108. package/build/module/lib/lib/converter.js +100 -0
  109. package/build/module/lib/lib/index.d.ts +3 -0
  110. package/build/module/lib/lib/index.js +4 -0
  111. package/build/module/lib/loc/I18n.d.ts +5 -0
  112. package/build/module/lib/loc/I18n.js +30 -0
  113. package/build/module/lib/mailer/index.d.ts +2 -0
  114. package/build/module/lib/mailer/index.js +3 -0
  115. package/build/module/lib/mailer/sendmail.d.ts +2 -0
  116. package/build/module/lib/mailer/sendmail.js +44 -0
  117. package/build/module/lib/makeContext.d.ts +24 -0
  118. package/build/module/lib/makeContext.js +42 -0
  119. package/build/module/lib/makeSchema.d.ts +2 -0
  120. package/build/module/lib/makeSchema.js +41 -0
  121. package/build/module/lib/object-id.scalar.d.ts +11 -0
  122. package/build/module/lib/object-id.scalar.js +167 -0
  123. package/build/module/lib/permission.d.ts +8 -0
  124. package/build/module/lib/permission.js +85 -0
  125. package/build/module/lib/plugin/index.d.ts +3 -0
  126. package/build/module/lib/plugin/index.js +4 -0
  127. package/build/module/lib/plugin/next/NextPlugin.d.ts +2 -0
  128. package/build/module/lib/plugin/next/NextPlugin.js +23 -0
  129. package/build/module/lib/plugin/oauth/Ioauth.d.ts +36 -0
  130. package/build/module/lib/plugin/oauth/Ioauth.js +2 -0
  131. package/build/module/lib/plugin/oauth/coreProfile.d.ts +14 -0
  132. package/build/module/lib/plugin/oauth/coreProfile.js +40 -0
  133. package/build/module/lib/plugin/oauth/facebook.d.ts +9 -0
  134. package/build/module/lib/plugin/oauth/facebook.js +68 -0
  135. package/build/module/lib/plugin/oauth/oauthPlugin.d.ts +27 -0
  136. package/build/module/lib/plugin/oauth/oauthPlugin.js +143 -0
  137. package/build/module/lib/plugin/oauth/utils.d.ts +2 -0
  138. package/build/module/lib/plugin/oauth/utils.js +20 -0
  139. package/build/module/lib/service/core.model.d.ts +38 -0
  140. package/build/module/lib/service/core.model.js +500 -0
  141. package/build/module/lib/service/index.d.ts +6 -0
  142. package/build/module/lib/service/index.js +7 -0
  143. package/build/module/lib/service/lists/core.model.d.ts +38 -0
  144. package/build/module/lib/service/lists/core.model.js +500 -0
  145. package/build/module/lib/service/makeContext.d.ts +24 -0
  146. package/build/module/lib/service/makeContext.js +42 -0
  147. package/build/module/lib/service/makeSchema.d.ts +2 -0
  148. package/build/module/lib/service/makeSchema.js +41 -0
  149. package/build/module/lib/service/object-id.scalar.d.ts +11 -0
  150. package/build/module/lib/service/object-id.scalar.js +167 -0
  151. package/build/module/lib/service/permission.d.ts +8 -0
  152. package/build/module/lib/service/permission.js +85 -0
  153. package/build/module/lib/service/typegoose-middleware.d.ts +2 -0
  154. package/build/module/lib/service/typegoose-middleware.js +19 -0
  155. package/build/module/lib/typegoose-middleware.d.ts +2 -0
  156. package/build/module/lib/typegoose-middleware.js +19 -0
  157. 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,3 @@
1
+ import { converter } from './converter';
2
+ import ConnectDB from './ConnectDB';
3
+ export { converter, ConnectDB };
@@ -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,5 @@
1
+ import I8 from 'i18next';
2
+ declare const defaultLocale = "mn-MN";
3
+ declare const translate: (key: string, options?: any) => string;
4
+ export { translate as t, defaultLocale };
5
+ export default I8;
@@ -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,2 @@
1
+ import { Send } from './sendmail';
2
+ export { Send };
@@ -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,2 @@
1
+ export declare const Verify: () => void;
2
+ export declare const Send: (msg: any) => void;
@@ -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,2 @@
1
+ declare const makeSchema: (HOST?: string, PORT?: number) => Promise<import("graphql").GraphQLSchema>;
2
+ export default makeSchema;
@@ -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;