biz-email-builder-shared 1.5.0 → 1.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/entity/template.entity.d.ts.map +1 -1
- package/dist/entity/template.entity.js +6 -0
- package/dist/entity/templateShare.entity.d.ts.map +1 -1
- package/dist/entity/templateShare.entity.js +1 -1
- package/dist/resHandler/errorHandler.d.ts +7 -1
- package/dist/resHandler/errorHandler.d.ts.map +1 -1
- package/dist/resHandler/errorHandler.js +33 -11
- package/dist/types/IRequest.d.ts +2 -1
- package/dist/types/IRequest.d.ts.map +1 -1
- package/dist/types/ITemplate.d.ts +6 -0
- package/dist/types/ITemplate.d.ts.map +1 -1
- package/dist/types/ITemplate.js +7 -1
- package/package.json +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template.entity.d.ts","sourceRoot":"","sources":["../../src/entity/template.entity.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,eAAe,
|
|
1
|
+
{"version":3,"file":"template.entity.d.ts","sourceRoot":"","sources":["../../src/entity/template.entity.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,eAAe,EAAc,MAAM,UAAU,CAAC;AA+DlE,eAAO,MAAM,aAAa;;eAAqD,CAAC"}
|
|
@@ -39,6 +39,12 @@ const TemplateSchema = new mongoose_1.Schema({
|
|
|
39
39
|
type: Boolean,
|
|
40
40
|
default: false,
|
|
41
41
|
},
|
|
42
|
+
visibility: {
|
|
43
|
+
type: String,
|
|
44
|
+
required: true,
|
|
45
|
+
enum: Object.values(types_1.visibility),
|
|
46
|
+
default: types_1.visibility.PRIVATE
|
|
47
|
+
},
|
|
42
48
|
user: { type: mongoose_1.Schema.Types.ObjectId, ref: 'user' },
|
|
43
49
|
updateBy: { type: mongoose_1.Schema.Types.ObjectId, ref: 'user' },
|
|
44
50
|
deletedAt: Date
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templateShare.entity.d.ts","sourceRoot":"","sources":["../../src/entity/templateShare.entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,EAAS,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,UAAU,cAAc;IACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC;IACzB,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC;IACzB,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC;IAC3B,UAAU,EAAE,cAAc,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC;IAC1B,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACjB;AAkBD,eAAO,MAAM,kBAAkB;
|
|
1
|
+
{"version":3,"file":"templateShare.entity.d.ts","sourceRoot":"","sources":["../../src/entity/templateShare.entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,EAAS,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,UAAU,cAAc;IACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC;IACzB,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC;IACzB,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC;IAC3B,UAAU,EAAE,cAAc,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC;IAC1B,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACjB;AAkBD,eAAO,MAAM,kBAAkB;SAC8lH,MAAO,QAAQ;eAD9iH,CAAC"}
|
|
@@ -6,7 +6,7 @@ const utilities_1 = require("../utilities");
|
|
|
6
6
|
const TemplateShareSchema = new mongoose_1.Schema({
|
|
7
7
|
sharedBy: { type: mongoose_1.Schema.Types.ObjectId, ref: 'user', required: true },
|
|
8
8
|
sharedTo: { type: mongoose_1.Schema.Types.ObjectId, ref: 'user', required: true },
|
|
9
|
-
templateId: { type: mongoose_1.Schema.Types.ObjectId, ref: '
|
|
9
|
+
templateId: { type: mongoose_1.Schema.Types.ObjectId, ref: 'template', required: true },
|
|
10
10
|
accessType: { type: String, enum: Object.values(utilities_1.OWNERSHIP_TYPE), required: true },
|
|
11
11
|
comment: { type: String, default: "" },
|
|
12
12
|
isRevoked: { type: Boolean, default: false },
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Request, Response, NextFunction } from
|
|
1
|
+
import { Request, Response, NextFunction } from "express";
|
|
2
2
|
export declare class BadRequestError extends Error {
|
|
3
3
|
constructor(message: string);
|
|
4
4
|
}
|
|
@@ -13,5 +13,11 @@ export declare class CustomRequestError {
|
|
|
13
13
|
};
|
|
14
14
|
constructor(title: string, description: string);
|
|
15
15
|
}
|
|
16
|
+
export declare class UnauthorizedRequestError extends Error {
|
|
17
|
+
constructor(message: string);
|
|
18
|
+
}
|
|
19
|
+
export declare class ForbiddenRequestError extends Error {
|
|
20
|
+
constructor(message: string);
|
|
21
|
+
}
|
|
16
22
|
export declare const errorHandler: (err: Error, req: Request, res: Response, next: NextFunction) => void;
|
|
17
23
|
//# sourceMappingURL=errorHandler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errorHandler.d.ts","sourceRoot":"","sources":["../../src/resHandler/errorHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE1D,qBAAa,eAAgB,SAAQ,KAAK;gBAC5B,OAAO,EAAE,MAAM;CAK5B;AAED,qBAAa,oBAAqB,SAAQ,KAAK;gBACjC,OAAO,EAAE,MAAM;CAK5B;AAED,qBAAa,kBAAkB;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"errorHandler.d.ts","sourceRoot":"","sources":["../../src/resHandler/errorHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE1D,qBAAa,eAAgB,SAAQ,KAAK;gBAC5B,OAAO,EAAE,MAAM;CAK5B;AAED,qBAAa,oBAAqB,SAAQ,KAAK;gBACjC,OAAO,EAAE,MAAM;CAK5B;AAED,qBAAa,kBAAkB;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;gBAEU,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;CAO/C;AAED,qBAAa,wBAAyB,SAAQ,KAAK;gBACrC,OAAO,EAAE,MAAM;CAK5B;AAED,qBAAa,qBAAsB,SAAQ,KAAK;gBAClC,OAAO,EAAE,MAAM;CAK5B;AAED,eAAO,MAAM,YAAY,QAAS,KAAK,OAAO,OAAO,OAAO,QAAQ,QAAQ,YAAY,SA2BvF,CAAC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.errorHandler = exports.CustomRequestError = exports.NotFoundRequestError = exports.BadRequestError = void 0;
|
|
3
|
+
exports.errorHandler = exports.ForbiddenRequestError = exports.UnauthorizedRequestError = exports.CustomRequestError = exports.NotFoundRequestError = exports.BadRequestError = void 0;
|
|
4
4
|
class BadRequestError extends Error {
|
|
5
5
|
constructor(message) {
|
|
6
6
|
super(message);
|
|
7
7
|
Object.setPrototypeOf(this, BadRequestError.prototype);
|
|
8
|
-
this.name =
|
|
8
|
+
this.name = "BadRequestError";
|
|
9
9
|
}
|
|
10
10
|
}
|
|
11
11
|
exports.BadRequestError = BadRequestError;
|
|
@@ -13,24 +13,39 @@ class NotFoundRequestError extends Error {
|
|
|
13
13
|
constructor(message) {
|
|
14
14
|
super(message);
|
|
15
15
|
Object.setPrototypeOf(this, NotFoundRequestError.prototype);
|
|
16
|
-
this.name =
|
|
16
|
+
this.name = "NotFoundRequestError";
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
19
|
exports.NotFoundRequestError = NotFoundRequestError;
|
|
20
20
|
class CustomRequestError {
|
|
21
21
|
constructor(title, description) {
|
|
22
|
-
this.name =
|
|
22
|
+
this.name = "CustomRequestError";
|
|
23
23
|
this.message = {
|
|
24
24
|
title,
|
|
25
|
-
description
|
|
25
|
+
description,
|
|
26
26
|
};
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
29
|
exports.CustomRequestError = CustomRequestError;
|
|
30
|
-
|
|
30
|
+
class UnauthorizedRequestError extends Error {
|
|
31
|
+
constructor(message) {
|
|
32
|
+
super(message);
|
|
33
|
+
Object.setPrototypeOf(this, UnauthorizedRequestError.prototype);
|
|
34
|
+
this.name = "UnauthorizedRequestError";
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
exports.UnauthorizedRequestError = UnauthorizedRequestError;
|
|
38
|
+
class ForbiddenRequestError extends Error {
|
|
39
|
+
constructor(message) {
|
|
40
|
+
super(message);
|
|
41
|
+
Object.setPrototypeOf(this, ForbiddenRequestError.prototype);
|
|
42
|
+
this.name = "ForbiddenRequestError";
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
exports.ForbiddenRequestError = ForbiddenRequestError;
|
|
31
46
|
const errorHandler = (err, req, res, next) => {
|
|
32
|
-
let statusCode = 500;
|
|
33
|
-
let errorMessage =
|
|
47
|
+
let statusCode = 500;
|
|
48
|
+
let errorMessage = "Internal Server Error";
|
|
34
49
|
if (err instanceof BadRequestError) {
|
|
35
50
|
statusCode = 400;
|
|
36
51
|
errorMessage = err.message;
|
|
@@ -39,17 +54,24 @@ const errorHandler = (err, req, res, next) => {
|
|
|
39
54
|
statusCode = 404;
|
|
40
55
|
errorMessage = err.message;
|
|
41
56
|
}
|
|
57
|
+
else if (err instanceof UnauthorizedRequestError) {
|
|
58
|
+
statusCode = 401;
|
|
59
|
+
errorMessage = err.message;
|
|
60
|
+
}
|
|
61
|
+
else if (err instanceof ForbiddenRequestError) {
|
|
62
|
+
statusCode = 403;
|
|
63
|
+
errorMessage = err.message;
|
|
64
|
+
}
|
|
42
65
|
else if (err instanceof CustomRequestError) {
|
|
43
66
|
statusCode = 422;
|
|
44
67
|
errorMessage = err.message;
|
|
45
68
|
}
|
|
46
69
|
else {
|
|
47
|
-
console.error(err.stack);
|
|
70
|
+
console.error(err.stack);
|
|
48
71
|
}
|
|
49
|
-
// Send an error response
|
|
50
72
|
res.status(statusCode).json({
|
|
51
73
|
message: errorMessage,
|
|
52
|
-
error: err.name
|
|
74
|
+
error: err.name,
|
|
53
75
|
});
|
|
54
76
|
};
|
|
55
77
|
exports.errorHandler = errorHandler;
|
package/dist/types/IRequest.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { Request } from "express";
|
|
2
|
-
import { FEATURE_TYPE, ROLES } from "../utilities";
|
|
2
|
+
import { FEATURE_TYPE, OWNERSHIP_TYPE, ROLES } from "../utilities";
|
|
3
3
|
export interface IRequestUser {
|
|
4
4
|
email: string | null;
|
|
5
5
|
role: ROLES;
|
|
6
|
+
accessType: OWNERSHIP_TYPE;
|
|
6
7
|
groups: Array<{
|
|
7
8
|
name: string;
|
|
8
9
|
features: Array<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IRequest.d.ts","sourceRoot":"","sources":["../../src/types/IRequest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"IRequest.d.ts","sourceRoot":"","sources":["../../src/types/IRequest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAEnE,MAAM,WAAW,YAAY;IACzB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,EAAE,KAAK,CAAC;IACZ,UAAU,EAAE,cAAc,CAAC;IAC3B,MAAM,EAAE,KAAK,CAAC;QACV,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,YAAY,CAAA;SAAE,CAAC,CAAA;KAC1C,CAAC,CAAA;IACF,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,QAAS,SAAQ,OAAO;IACrC,IAAI,CAAC,EAAE,YAAY,CAAA;IACnB,IAAI,CAAC,EAAE,GAAG,CAAC;CACd"}
|
|
@@ -10,6 +10,11 @@ export declare enum BlockType {
|
|
|
10
10
|
DIVIDER = "Divider",
|
|
11
11
|
EMAILLAYOUT = "EmailLayout"
|
|
12
12
|
}
|
|
13
|
+
export declare enum visibility {
|
|
14
|
+
PUBLIC = "PUBLIC",
|
|
15
|
+
PRIVATE = "PRIVATE",
|
|
16
|
+
PRE_DEFINED = "PRE_DEFINED"
|
|
17
|
+
}
|
|
13
18
|
interface IProps {
|
|
14
19
|
imageUrl: string;
|
|
15
20
|
text: string;
|
|
@@ -40,6 +45,7 @@ export interface ITemplateLayout {
|
|
|
40
45
|
updatedAt: Date;
|
|
41
46
|
deletedAt: Date;
|
|
42
47
|
updateBy: Types.ObjectId;
|
|
48
|
+
visibility: visibility;
|
|
43
49
|
}
|
|
44
50
|
export {};
|
|
45
51
|
//# sourceMappingURL=ITemplate.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ITemplate.d.ts","sourceRoot":"","sources":["../../src/types/ITemplate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,oBAAY,SAAS;IACpB,IAAI,SAAS;IACb,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,KAAK,UAAU;IACf,QAAQ,aAAa;IACrB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,WAAW,gBAAgB;CAC3B;AAED,UAAU,MAAM;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,UAAU,MAAM;IACf,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IAC1B,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE;QACL,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,EAAE,CAAC;KACtB,CAAC;CACF;AAED,MAAM,WAAW,eAAe;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC;IACrB,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAChC,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"ITemplate.d.ts","sourceRoot":"","sources":["../../src/types/ITemplate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,oBAAY,SAAS;IACpB,IAAI,SAAS;IACb,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,KAAK,UAAU;IACf,QAAQ,aAAa;IACrB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,WAAW,gBAAgB;CAC3B;AACD,oBAAY,UAAU;IACrB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,WAAW,gBAAgB;CAC3B;AAED,UAAU,MAAM;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,UAAU,MAAM;IACf,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IAC1B,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE;QACL,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,EAAE,CAAC;KACtB,CAAC;CACF;AAED,MAAM,WAAW,eAAe;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC;IACrB,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAChC,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC;IACzB,UAAU,EAAE,UAAU,CAAC;CACvB"}
|
package/dist/types/ITemplate.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.BlockType = void 0;
|
|
3
|
+
exports.visibility = exports.BlockType = void 0;
|
|
4
4
|
var BlockType;
|
|
5
5
|
(function (BlockType) {
|
|
6
6
|
BlockType["TEXT"] = "Text";
|
|
@@ -13,3 +13,9 @@ var BlockType;
|
|
|
13
13
|
BlockType["DIVIDER"] = "Divider";
|
|
14
14
|
BlockType["EMAILLAYOUT"] = "EmailLayout";
|
|
15
15
|
})(BlockType || (exports.BlockType = BlockType = {}));
|
|
16
|
+
var visibility;
|
|
17
|
+
(function (visibility) {
|
|
18
|
+
visibility["PUBLIC"] = "PUBLIC";
|
|
19
|
+
visibility["PRIVATE"] = "PRIVATE";
|
|
20
|
+
visibility["PRE_DEFINED"] = "PRE_DEFINED";
|
|
21
|
+
})(visibility || (exports.visibility = visibility = {}));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "biz-email-builder-shared",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.6.1",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"files": [
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
"express": "^4.18.2",
|
|
16
16
|
"joi": "^17.11.0",
|
|
17
17
|
"jsonwebtoken": "^9.0.2",
|
|
18
|
+
"mongoose": "^8.10.1",
|
|
18
19
|
"nodemailer": "^6.10.0",
|
|
19
20
|
"typescript": "^5.3.3"
|
|
20
21
|
},
|