biz-slide-core 1.1.0 → 1.1.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (52) hide show
  1. package/entity/image.entity.js +18 -0
  2. package/entity/index.js +26 -0
  3. package/entity/{png-svg.entity.ts → png-svg.entity.js} +8 -23
  4. package/entity/ppt-event.entity.js +13 -0
  5. package/entity/ppt-slide.entity.js +18 -0
  6. package/entity/ppt.entity.js +30 -0
  7. package/entity/slide-layout.entity.js +14 -0
  8. package/entity/slide.entity.js +26 -0
  9. package/entity/socket.entity.js +13 -0
  10. package/entity/template.entity.js +14 -0
  11. package/entity/user.entity.js +15 -0
  12. package/index.js +21 -0
  13. package/middleware/authentication.js +123 -0
  14. package/middleware/index.js +19 -0
  15. package/middleware/role.js +8 -0
  16. package/middleware/schemaValidate.js +58 -0
  17. package/package.json +6 -2
  18. package/resHandler/errorHandler.js +58 -0
  19. package/resHandler/index.js +18 -0
  20. package/resHandler/successHandler.js +8 -0
  21. package/types/IController.js +2 -0
  22. package/types/IRequest.js +2 -0
  23. package/types/index.js +28 -0
  24. package/utilities/callWithRetries.js +73 -0
  25. package/utilities/createFolder.js +60 -0
  26. package/utilities/encryptionUtils.js +66 -0
  27. package/utilities/index.js +19 -0
  28. package/entity/image.entity.ts +0 -32
  29. package/entity/index.ts +0 -10
  30. package/entity/ppt-event.entity.ts +0 -23
  31. package/entity/ppt-slide.entity.ts +0 -31
  32. package/entity/ppt.entity.ts +0 -60
  33. package/entity/slide-layout.entity.ts +0 -24
  34. package/entity/slide.entity.ts +0 -47
  35. package/entity/socket.entity.ts +0 -22
  36. package/entity/template.entity.ts +0 -24
  37. package/entity/user.entity.ts +0 -26
  38. package/middleware/authentication.ts +0 -64
  39. package/middleware/index.ts +0 -3
  40. package/middleware/role.ts +0 -5
  41. package/middleware/schemaValidate.ts +0 -20
  42. package/resHandler/errorHandler.ts +0 -44
  43. package/resHandler/index.ts +0 -2
  44. package/resHandler/successHandler.ts +0 -11
  45. package/tsconfig.json +0 -109
  46. package/types/IController.ts +0 -6
  47. package/types/IRequest.ts +0 -8
  48. package/types/index.ts +0 -11
  49. package/utilities/callWithRetries.ts +0 -9
  50. package/utilities/createFolder.ts +0 -12
  51. package/utilities/encryptionUtils.ts +0 -26
  52. package/utilities/index.ts +0 -4
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ImageModel = void 0;
4
+ var mongoose_1 = require("mongoose");
5
+ var ImageSchema = new mongoose_1.Schema({
6
+ focusPoint: { x: Number, y: Number },
7
+ url: { type: String, required: true },
8
+ radius: { type: String, required: true },
9
+ keywords: { type: [String], default: [] },
10
+ title: { type: String, required: true },
11
+ userId: { type: mongoose_1.Schema.Types.ObjectId, ref: "user" },
12
+ createdAt: { type: Date, default: Date.now() },
13
+ updatedAt: { type: Date, default: Date.now() },
14
+ deletedAt: { type: Date, default: null },
15
+ }, {
16
+ timestamps: true,
17
+ });
18
+ exports.ImageModel = (0, mongoose_1.model)("image", ImageSchema);
@@ -0,0 +1,26 @@
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("./image.entity"), exports);
18
+ __exportStar(require("./png-svg.entity"), exports);
19
+ __exportStar(require("./ppt-event.entity"), exports);
20
+ __exportStar(require("./ppt-slide.entity"), exports);
21
+ __exportStar(require("./ppt.entity"), exports);
22
+ __exportStar(require("./slide-layout.entity"), exports);
23
+ __exportStar(require("./slide.entity"), exports);
24
+ __exportStar(require("./socket.entity"), exports);
25
+ __exportStar(require("./template.entity"), exports);
26
+ __exportStar(require("./user.entity"), exports);
@@ -1,20 +1,8 @@
1
- import { Schema, model } from "mongoose";
2
-
3
- export interface IPngSvgSchema {
4
- title: string;
5
- styleCategory: string;
6
- styleSubCategory: string;
7
- colors: Array<string>;
8
- userId: string;
9
- isLocked?: boolean;
10
- isCompleted?: boolean;
11
- createdAt?: Date;
12
- updatedAt?: Date;
13
- deletedAt?: Date;
14
- }
15
-
16
- const PngSvgSchema = new Schema<IPngSvgSchema>(
17
- {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PngSvgModel = void 0;
4
+ var mongoose_1 = require("mongoose");
5
+ var PngSvgSchema = new mongoose_1.Schema({
18
6
  createdAt: { type: Date, default: Date.now() },
19
7
  updatedAt: { type: Date, default: Date.now() },
20
8
  deletedAt: { type: Date, default: null },
@@ -25,10 +13,7 @@ const PngSvgSchema = new Schema<IPngSvgSchema>(
25
13
  styleCategory: { type: String, default: null },
26
14
  styleSubCategory: { type: String, default: null },
27
15
  colors: { type: [{ type: String, default: null }], default: null, _id: false }
28
- },
29
- {
16
+ }, {
30
17
  timestamps: true,
31
- }
32
- );
33
-
34
- export const PngSvgModel = model<IPngSvgSchema>("png-svg", PngSvgSchema);
18
+ });
19
+ exports.PngSvgModel = (0, mongoose_1.model)("png-svg", PngSvgSchema);
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PPTSlideEventModel = void 0;
4
+ var mongoose_1 = require("mongoose");
5
+ var PPTEventSchema = new mongoose_1.Schema({
6
+ createdAt: { type: Date, default: Date.now() },
7
+ updatedAt: { type: Date, default: Date.now() },
8
+ pptRef: { type: mongoose_1.Schema.Types.ObjectId, ref: 'ppt' },
9
+ message: { type: String, default: null }
10
+ }, {
11
+ timestamps: true,
12
+ });
13
+ exports.PPTSlideEventModel = (0, mongoose_1.model)("ppt-event", PPTEventSchema);
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PPTSlideModel = void 0;
4
+ var mongoose_1 = require("mongoose");
5
+ var PPTSlideSchema = new mongoose_1.Schema({
6
+ createdAt: { type: Date, default: Date.now() },
7
+ updatedAt: { type: Date, default: Date.now() },
8
+ deletedAt: { type: Date, default: null },
9
+ pptRef: { type: mongoose_1.Schema.Types.ObjectId, ref: 'ppt' },
10
+ slideRef: { type: mongoose_1.Schema.Types.ObjectId, ref: 'slide' },
11
+ slideLayoutRef: { type: mongoose_1.Schema.Types.ObjectId, ref: 'slide-layout' },
12
+ title: { type: String, default: null },
13
+ rawData: { type: String, default: "{}" },
14
+ images: { type: String, default: "{}" },
15
+ }, {
16
+ timestamps: true,
17
+ });
18
+ exports.PPTSlideModel = (0, mongoose_1.model)("ppt-slide", PPTSlideSchema);
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PPTModel = void 0;
4
+ var mongoose_1 = require("mongoose");
5
+ var questionSchema = new mongoose_1.Schema({
6
+ question: { type: String },
7
+ answer: { type: String }
8
+ }, {
9
+ timestamps: false,
10
+ _id: false
11
+ });
12
+ var PPTSchema = new mongoose_1.Schema({
13
+ createdAt: { type: Date, default: Date.now() },
14
+ updatedAt: { type: Date, default: Date.now() },
15
+ deletedAt: { type: Date, default: null },
16
+ isLocked: { type: Boolean, default: false },
17
+ isCompleted: { type: Boolean, default: false },
18
+ fileCreated: { type: Boolean, default: false },
19
+ userId: { type: String, default: null },
20
+ template_type: { type: String, default: null },
21
+ systemGeneratedtopics: { type: [String], default: [], _id: false },
22
+ questions: [questionSchema],
23
+ colors: { type: [String], default: [], _id: false },
24
+ prompt: { type: String, default: null },
25
+ templateRef: { type: mongoose_1.Schema.Types.ObjectId, ref: 'template' },
26
+ slideRefs: { type: [{ type: mongoose_1.Schema.Types.ObjectId, ref: 'ppt-slide' }], default: [], _id: false }
27
+ }, {
28
+ timestamps: true,
29
+ });
30
+ exports.PPTModel = (0, mongoose_1.model)("ppt", PPTSchema);
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SlideLayoutModel = void 0;
4
+ var mongoose_1 = require("mongoose");
5
+ var SlideLayoutSchema = new mongoose_1.Schema({
6
+ name: { type: String, default: "", required: true },
7
+ templateId: { type: mongoose_1.Schema.Types.ObjectId, ref: "template" },
8
+ createdAt: { type: Date, default: Date.now() },
9
+ updatedAt: { type: Date, default: Date.now() },
10
+ deletedAt: { type: Date, default: null },
11
+ }, {
12
+ timestamps: true,
13
+ });
14
+ exports.SlideLayoutModel = (0, mongoose_1.model)("slide-layout", SlideLayoutSchema);
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SlideModel = void 0;
4
+ var mongoose_1 = require("mongoose");
5
+ var layerSchema = new mongoose_1.Schema({
6
+ metaType: { type: String, enum: ['text', 'image', 'shape', 'list', 'table'] },
7
+ optionsMeta: { type: String },
8
+ chatMeta: { type: String },
9
+ }, {
10
+ timestamps: false,
11
+ _id: false
12
+ });
13
+ var SlideSchema = new mongoose_1.Schema({
14
+ name: { type: String, default: "", required: true },
15
+ postfix: { type: String, default: "" },
16
+ rules: { type: String, default: "" },
17
+ layers: [layerSchema],
18
+ slideLayoutId: { type: mongoose_1.Schema.Types.ObjectId, ref: "slide-layout" },
19
+ templateId: { type: mongoose_1.Schema.Types.ObjectId, ref: "template" },
20
+ createdAt: { type: Date, default: Date.now() },
21
+ updatedAt: { type: Date, default: Date.now() },
22
+ deletedAt: { type: Date, default: null },
23
+ }, {
24
+ timestamps: true,
25
+ });
26
+ exports.SlideModel = (0, mongoose_1.model)("slide", SlideSchema);
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SocketModel = void 0;
4
+ var mongoose_1 = require("mongoose");
5
+ var SocketSchema = new mongoose_1.Schema({
6
+ createdAt: { type: Date, default: Date.now() },
7
+ updatedAt: { type: Date, default: Date.now() },
8
+ userId: { type: String, default: null },
9
+ socketIds: { type: [String], default: [] }
10
+ }, {
11
+ timestamps: true,
12
+ });
13
+ exports.SocketModel = (0, mongoose_1.model)("socket", SocketSchema);
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TemplateModel = void 0;
4
+ var mongoose_1 = require("mongoose");
5
+ var TemplateSchema = new mongoose_1.Schema({
6
+ name: { type: String, default: "", required: true },
7
+ template_type: { type: String, default: "", required: true },
8
+ createdAt: { type: Date, default: Date.now() },
9
+ updatedAt: { type: Date, default: Date.now() },
10
+ deletedAt: { type: Date, default: null },
11
+ }, {
12
+ timestamps: true,
13
+ });
14
+ exports.TemplateModel = (0, mongoose_1.model)("template", TemplateSchema);
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UserModel = void 0;
4
+ var mongoose_1 = require("mongoose");
5
+ var UserSchema = new mongoose_1.Schema({
6
+ email: { type: String, unique: true, sparse: true },
7
+ password: { type: String, default: null },
8
+ role: { type: String, default: null },
9
+ createdAt: { type: Date, default: Date.now() },
10
+ updatedAt: { type: Date, default: Date.now() },
11
+ deletedAt: { type: Date, default: null },
12
+ }, {
13
+ timestamps: true,
14
+ });
15
+ exports.UserModel = (0, mongoose_1.model)("user", UserSchema);
package/index.js ADDED
@@ -0,0 +1,21 @@
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("./entity"), exports);
18
+ __exportStar(require("./middleware"), exports);
19
+ __exportStar(require("./resHandler"), exports);
20
+ __exportStar(require("./types"), exports);
21
+ __exportStar(require("./utilities"), exports);
@@ -0,0 +1,123 @@
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
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ var __rest = (this && this.__rest) || function (s, e) {
39
+ var t = {};
40
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
41
+ t[p] = s[p];
42
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
43
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
44
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
45
+ t[p[i]] = s[p[i]];
46
+ }
47
+ return t;
48
+ };
49
+ Object.defineProperty(exports, "__esModule", { value: true });
50
+ exports.authorizeWithSlideApp = exports.authorize = void 0;
51
+ var utilities_1 = require("../utilities");
52
+ var entity_1 = require("../entity");
53
+ var authorize = function (roles) {
54
+ return function (req, res, next) {
55
+ return __awaiter(this, void 0, void 0, function () {
56
+ var token, user_1, hasAccess, _a, createdAt, updatedAt, deletedAt, password, rest;
57
+ return __generator(this, function (_b) {
58
+ switch (_b.label) {
59
+ case 0:
60
+ if (!req.headers.authorization) {
61
+ return [2 /*return*/, res.status(401).json({ message: 'Unauthorized' })];
62
+ }
63
+ if (!roles.length) {
64
+ return [2 /*return*/, res.status(401).json({ message: 'Unauthorized' })];
65
+ }
66
+ if (!req.headers.authorization) return [3 /*break*/, 3];
67
+ return [4 /*yield*/, (0, utilities_1.verifyUid)(req.headers.authorization)];
68
+ case 1:
69
+ token = _b.sent();
70
+ if (!token) {
71
+ return [2 /*return*/, res.status(401).json({ message: 'Session Expired' })];
72
+ }
73
+ return [4 /*yield*/, entity_1.UserModel.findOne({ email: token.value.email })];
74
+ case 2:
75
+ user_1 = _b.sent();
76
+ if (!user_1) {
77
+ return [2 /*return*/, res.status(401).json({ message: 'No User Found' })];
78
+ }
79
+ hasAccess = roles.find(function (role) { return role === user_1.role; });
80
+ if (!hasAccess) {
81
+ return [2 /*return*/, res.status(403).json({ message: 'Forbbiden' })];
82
+ }
83
+ _a = user_1.toObject(), createdAt = _a.createdAt, updatedAt = _a.updatedAt, deletedAt = _a.deletedAt, password = _a.password, rest = __rest(_a, ["createdAt", "updatedAt", "deletedAt", "password"]);
84
+ req.user = rest;
85
+ next();
86
+ _b.label = 3;
87
+ case 3: return [2 /*return*/];
88
+ }
89
+ });
90
+ });
91
+ };
92
+ };
93
+ exports.authorize = authorize;
94
+ var authorizeWithSlideApp = function () {
95
+ return function (req, res, next) {
96
+ return __awaiter(this, void 0, void 0, function () {
97
+ var token;
98
+ return __generator(this, function (_a) {
99
+ switch (_a.label) {
100
+ case 0:
101
+ if (!req.headers.authorization) {
102
+ return [2 /*return*/, res.status(401).json({ message: 'Unauthorized' })];
103
+ }
104
+ if (!req.headers.authorization) return [3 /*break*/, 2];
105
+ return [4 /*yield*/, (0, utilities_1.verifyUid)(req.headers.authorization)];
106
+ case 1:
107
+ token = _a.sent();
108
+ if (!token) {
109
+ return [2 /*return*/, res.status(401).json({ message: 'Session Expired' })];
110
+ }
111
+ // token.value.customerid
112
+ req.user = {
113
+ userId: "123" //token.value.customerid
114
+ };
115
+ next();
116
+ _a.label = 2;
117
+ case 2: return [2 /*return*/];
118
+ }
119
+ });
120
+ });
121
+ };
122
+ };
123
+ exports.authorizeWithSlideApp = authorizeWithSlideApp;
@@ -0,0 +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("./authentication"), exports);
18
+ __exportStar(require("./role"), exports);
19
+ __exportStar(require("./schemaValidate"), exports);
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ROLES = void 0;
4
+ exports.ROLES = {
5
+ User: 'User',
6
+ Admin: 'Admin',
7
+ SuperAdmin: 'SuperAdmin'
8
+ };
@@ -0,0 +1,58 @@
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
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.validateSchema = void 0;
40
+ var validateSchema = function (schema) {
41
+ return function (req, res, next) {
42
+ return __awaiter(this, void 0, void 0, function () {
43
+ var error, errorMessage;
44
+ return __generator(this, function (_a) {
45
+ error = schema.validate(req.body, { abortEarly: false }).error;
46
+ if (error) {
47
+ errorMessage = error.details.map(function (err) { return err.message; }).join(', ');
48
+ return [2 /*return*/, res.status(400).json({ message: errorMessage })];
49
+ }
50
+ else {
51
+ next();
52
+ }
53
+ return [2 /*return*/];
54
+ });
55
+ });
56
+ };
57
+ };
58
+ exports.validateSchema = validateSchema;
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "biz-slide-core",
3
- "version": "1.1.0",
3
+ "version": "1.1.2",
4
4
  "description": "",
5
- "main": "index.js",
5
+ "main": "dist/index.js",
6
6
  "scripts": {
7
7
  "build": "tsc",
8
8
  "test": "echo \"Error: no test specified\" && exit 1"
@@ -15,5 +15,9 @@
15
15
  "joi": "^17.11.0",
16
16
  "jsonwebtoken": "^9.0.2",
17
17
  "typescript": "^5.3.3"
18
+ },
19
+ "devDependencies": {
20
+ "@types/express": "^4.17.21",
21
+ "@types/jsonwebtoken": "^9.0.5"
18
22
  }
19
23
  }
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.errorHandler = exports.NotFoundRequestError = exports.BadRequestError = void 0;
19
+ var BadRequestError = /** @class */ (function (_super) {
20
+ __extends(BadRequestError, _super);
21
+ function BadRequestError(message) {
22
+ var _this = _super.call(this, message) || this;
23
+ _this.name = 'BadRequestError';
24
+ return _this;
25
+ }
26
+ return BadRequestError;
27
+ }(Error));
28
+ exports.BadRequestError = BadRequestError;
29
+ var NotFoundRequestError = /** @class */ (function (_super) {
30
+ __extends(NotFoundRequestError, _super);
31
+ function NotFoundRequestError(message) {
32
+ var _this = _super.call(this, message) || this;
33
+ _this.name = 'NotFoundRequestError';
34
+ return _this;
35
+ }
36
+ return NotFoundRequestError;
37
+ }(Error));
38
+ exports.NotFoundRequestError = NotFoundRequestError;
39
+ // Custom error handler middleware
40
+ var errorHandler = function (err, req, res, next) {
41
+ console.error(err.stack); // Log the error for debugging
42
+ var statusCode = 500; // Default status code
43
+ var errorMessage = 'Internal Server Error'; // Default error message
44
+ if (err instanceof BadRequestError) {
45
+ statusCode = 400;
46
+ errorMessage = err.message;
47
+ }
48
+ else if (err instanceof NotFoundRequestError) {
49
+ statusCode = 404;
50
+ errorMessage = err.message;
51
+ }
52
+ // Send an error response
53
+ res.status(statusCode).json({
54
+ message: errorMessage,
55
+ error: err.name // Optionally send the error name/type
56
+ });
57
+ };
58
+ exports.errorHandler = errorHandler;
@@ -0,0 +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("./errorHandler"), exports);
18
+ __exportStar(require("./successHandler"), exports);
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.successHandler = void 0;
4
+ // Generic success handler middleware
5
+ var successHandler = function (data, req, res, next) {
6
+ res.status(200).json(data);
7
+ };
8
+ exports.successHandler = successHandler;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
package/types/index.js ADDED
@@ -0,0 +1,28 @@
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
+ exports.QUEUES = void 0;
18
+ __exportStar(require("./IController"), exports);
19
+ __exportStar(require("./IRequest"), exports);
20
+ var QUEUES;
21
+ (function (QUEUES) {
22
+ QUEUES["IMAGE_MODEL_BULK"] = "image-model-bulk";
23
+ QUEUES["IMAGE_MODEL_SINGLE"] = "image-model-single";
24
+ QUEUES["NOTIFICATION"] = "notification";
25
+ QUEUES["THUMBNAIL"] = "thumbnail";
26
+ QUEUES["PPT"] = "ppt";
27
+ QUEUES["PNG_SVG"] = "png-svg"; // to convert raster to vector image
28
+ })(QUEUES || (exports.QUEUES = QUEUES = {}));