@knovator/pagecreator-node 0.0.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.
Files changed (89) hide show
  1. package/README.md +11 -0
  2. package/package.json +40 -0
  3. package/src/constants/index.d.ts +16 -0
  4. package/src/constants/index.js +30 -0
  5. package/src/constants/index.js.map +1 -0
  6. package/src/controllers/PageController.d.ts +4 -0
  7. package/src/controllers/PageController.js +61 -0
  8. package/src/controllers/PageController.js.map +1 -0
  9. package/src/controllers/TileController.d.ts +4 -0
  10. package/src/controllers/TileController.js +45 -0
  11. package/src/controllers/TileController.js.map +1 -0
  12. package/src/controllers/UserController.d.ts +2 -0
  13. package/src/controllers/UserController.js +174 -0
  14. package/src/controllers/UserController.js.map +1 -0
  15. package/src/controllers/WidgetController.d.ts +8 -0
  16. package/src/controllers/WidgetController.js +130 -0
  17. package/src/controllers/WidgetController.js.map +1 -0
  18. package/src/index.d.ts +8 -0
  19. package/src/index.js +29 -0
  20. package/src/index.js.map +1 -0
  21. package/src/models/Page.d.ts +3 -0
  22. package/src/models/Page.js +16 -0
  23. package/src/models/Page.js.map +1 -0
  24. package/src/models/Tile.d.ts +3 -0
  25. package/src/models/Tile.js +29 -0
  26. package/src/models/Tile.js.map +1 -0
  27. package/src/models/Widget.d.ts +3 -0
  28. package/src/models/Widget.js +41 -0
  29. package/src/models/Widget.js.map +1 -0
  30. package/src/models/index.d.ts +4 -0
  31. package/src/models/index.js +11 -0
  32. package/src/models/index.js.map +1 -0
  33. package/src/plugins/softDelete.d.ts +7 -0
  34. package/src/plugins/softDelete.js +64 -0
  35. package/src/plugins/softDelete.js.map +1 -0
  36. package/src/routes/PageRoute.d.ts +3 -0
  37. package/src/routes/PageRoute.js +27 -0
  38. package/src/routes/PageRoute.js.map +1 -0
  39. package/src/routes/TileRoute.d.ts +3 -0
  40. package/src/routes/TileRoute.js +28 -0
  41. package/src/routes/TileRoute.js.map +1 -0
  42. package/src/routes/UserRoute.d.ts +3 -0
  43. package/src/routes/UserRoute.js +21 -0
  44. package/src/routes/UserRoute.js.map +1 -0
  45. package/src/routes/WidgetRoute.d.ts +3 -0
  46. package/src/routes/WidgetRoute.js +46 -0
  47. package/src/routes/WidgetRoute.js.map +1 -0
  48. package/src/services/dbService.d.ts +8 -0
  49. package/src/services/dbService.js +60 -0
  50. package/src/services/dbService.js.map +1 -0
  51. package/src/types/IRequest.d.ts +6 -0
  52. package/src/types/IRequest.js +3 -0
  53. package/src/types/IRequest.js.map +1 -0
  54. package/src/types/IResponse.d.ts +6 -0
  55. package/src/types/IResponse.js +3 -0
  56. package/src/types/IResponse.js.map +1 -0
  57. package/src/types/Router.d.ts +4 -0
  58. package/src/types/Router.js +3 -0
  59. package/src/types/Router.js.map +1 -0
  60. package/src/types/common.d.ts +60 -0
  61. package/src/types/common.js +3 -0
  62. package/src/types/common.js.map +1 -0
  63. package/src/types/enums.d.ts +11 -0
  64. package/src/types/enums.js +18 -0
  65. package/src/types/enums.js.map +1 -0
  66. package/src/types/index.d.ts +5 -0
  67. package/src/types/index.js +9 -0
  68. package/src/types/index.js.map +1 -0
  69. package/src/utils/defaults.d.ts +2 -0
  70. package/src/utils/defaults.js +23 -0
  71. package/src/utils/defaults.js.map +1 -0
  72. package/src/utils/responseHandlers.d.ts +6 -0
  73. package/src/utils/responseHandlers.js +57 -0
  74. package/src/utils/responseHandlers.js.map +1 -0
  75. package/src/utils/validate.d.ts +4 -0
  76. package/src/utils/validate.js +24 -0
  77. package/src/utils/validate.js.map +1 -0
  78. package/src/utils/validations/page.d.ts +5 -0
  79. package/src/utils/validations/page.js +50 -0
  80. package/src/utils/validations/page.js.map +1 -0
  81. package/src/utils/validations/tile.d.ts +5 -0
  82. package/src/utils/validations/tile.js +35 -0
  83. package/src/utils/validations/tile.js.map +1 -0
  84. package/src/utils/validations/user.d.ts +3 -0
  85. package/src/utils/validations/user.js +12 -0
  86. package/src/utils/validations/user.js.map +1 -0
  87. package/src/utils/validations/widget.d.ts +7 -0
  88. package/src/utils/validations/widget.js +96 -0
  89. package/src/utils/validations/widget.js.map +1 -0
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.defaults = void 0;
4
+ const constants_1 = require("../constants");
5
+ exports.defaults = {
6
+ logger: console,
7
+ catchAsync: (fn, modal = '') => (req, res, next) => {
8
+ Promise.resolve(fn(req, res, next)).catch((err) => {
9
+ let message = err.message;
10
+ if (message.match(constants_1.REGEXS.OBJECTID_CAST_FAILED)) {
11
+ message = `${modal} not found with given id!`;
12
+ }
13
+ // this.logger.error(err.message);
14
+ res.status(constants_1.internalServerError).json({
15
+ code: constants_1.RESPONSE_CODES.ERROR,
16
+ message,
17
+ data: undefined,
18
+ });
19
+ });
20
+ },
21
+ collections: [],
22
+ };
23
+ //# sourceMappingURL=defaults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../../../../libs/node/src/utils/defaults.ts"],"names":[],"mappings":";;;AAEA,4CAA2E;AAE9D,QAAA,QAAQ,GAAY;IAC/B,MAAM,EAAE,OAAc;IACtB,UAAU,EACR,CAAC,EAAO,EAAE,KAAK,GAAG,EAAE,EAAE,EAAE,CACxB,CAAC,GAAa,EAAE,GAAc,EAAE,IAAkB,EAAE,EAAE;QACpD,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YAChD,IAAI,OAAO,GAAI,GAAa,CAAC,OAAO,CAAC;YACrC,IAAI,OAAO,CAAC,KAAK,CAAC,kBAAM,CAAC,oBAAoB,CAAC,EAAE;gBAC9C,OAAO,GAAG,GAAG,KAAK,2BAA2B,CAAC;aAC/C;YACD,kCAAkC;YAClC,GAAG,CAAC,MAAM,CAAC,+BAAmB,CAAC,CAAC,IAAI,CAAC;gBACnC,IAAI,EAAE,0BAAc,CAAC,KAAK;gBAC1B,OAAO;gBACP,IAAI,EAAE,SAAS;aAChB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IACH,WAAW,EAAE,EAAsB;CACpC,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { IResponse } from '../types';
2
+ export declare const failureResponse: (data: any, res: IResponse) => IResponse;
3
+ export declare const successResponse: (data: any, res: IResponse) => IResponse;
4
+ export declare const createdDocumentResponse: (data: any, res: IResponse) => IResponse;
5
+ export declare const recordNotFound: (res: IResponse) => IResponse;
6
+ export declare const inValidParam: (message: any, res: IResponse) => IResponse;
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.inValidParam = exports.recordNotFound = exports.createdDocumentResponse = exports.successResponse = exports.failureResponse = void 0;
4
+ const constants_1 = require("../constants");
5
+ const failureResponse = (data, res) => {
6
+ let i = 0;
7
+ if (data.name === 'ValidationError') {
8
+ Object.keys(data.errors).forEach((key) => {
9
+ if (i !== 1) {
10
+ data.message = data.errors[key].message;
11
+ }
12
+ i++;
13
+ });
14
+ }
15
+ res.message = data.message;
16
+ return res.status(constants_1.validationError).json({
17
+ code: constants_1.RESPONSE_CODES.ERROR,
18
+ message: data.message ? data.message : data,
19
+ });
20
+ };
21
+ exports.failureResponse = failureResponse;
22
+ const successResponse = (data, res) => {
23
+ return res.status(constants_1.success).json({
24
+ code: constants_1.RESPONSE_CODES.DEFAULT,
25
+ message: res.message,
26
+ data: data,
27
+ });
28
+ };
29
+ exports.successResponse = successResponse;
30
+ const createdDocumentResponse = (data, res) => {
31
+ return res.status(constants_1.create).json({
32
+ code: constants_1.RESPONSE_CODES.DEFAULT,
33
+ message: res.message,
34
+ data: data,
35
+ });
36
+ };
37
+ exports.createdDocumentResponse = createdDocumentResponse;
38
+ const recordNotFound = (res) => {
39
+ return res.status(constants_1.success).json({
40
+ code: constants_1.RESPONSE_CODES.DEFAULT,
41
+ message: res.message,
42
+ data: {},
43
+ });
44
+ };
45
+ exports.recordNotFound = recordNotFound;
46
+ const inValidParam = (message, res) => {
47
+ /* eslint-disable no-useless-escape */
48
+ message = message.replace(/\"/g, '');
49
+ res.message = message;
50
+ return res.status(constants_1.validationError).json({
51
+ code: constants_1.RESPONSE_CODES.ERROR,
52
+ message: message,
53
+ data: undefined,
54
+ });
55
+ };
56
+ exports.inValidParam = inValidParam;
57
+ //# sourceMappingURL=responseHandlers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"responseHandlers.js","sourceRoot":"","sources":["../../../../../libs/node/src/utils/responseHandlers.ts"],"names":[],"mappings":";;;AAAA,4CAAgF;AAGzE,MAAM,eAAe,GAAG,CAAC,IAAS,EAAE,GAAc,EAAE,EAAE;IAC5D,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,IAAI,IAAI,CAAC,IAAI,KAAK,iBAAiB,EAAE;QACpC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACxC,IAAI,CAAC,KAAK,CAAC,EAAE;gBACZ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;aACxC;YACD,CAAC,EAAE,CAAC;QACL,CAAC,CAAC,CAAC;KACH;IACD,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAC3B,OAAO,GAAG,CAAC,MAAM,CAAC,2BAAe,CAAC,CAAC,IAAI,CAAC;QACvC,IAAI,EAAE,0BAAc,CAAC,KAAK;QAC1B,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;KAC3C,CAAC,CAAC;AACJ,CAAC,CAAC;AAfW,QAAA,eAAe,mBAe1B;AAEK,MAAM,eAAe,GAAG,CAAC,IAAS,EAAE,GAAc,EAAE,EAAE;IAC5D,OAAO,GAAG,CAAC,MAAM,CAAC,mBAAO,CAAC,CAAC,IAAI,CAAC;QAC/B,IAAI,EAAE,0BAAc,CAAC,OAAO;QAC5B,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,IAAI,EAAE,IAAI;KACV,CAAC,CAAC;AACJ,CAAC,CAAC;AANW,QAAA,eAAe,mBAM1B;AAEK,MAAM,uBAAuB,GAAG,CAAC,IAAS,EAAE,GAAc,EAAE,EAAE;IACpE,OAAO,GAAG,CAAC,MAAM,CAAC,kBAAM,CAAC,CAAC,IAAI,CAAC;QAC9B,IAAI,EAAE,0BAAc,CAAC,OAAO;QAC5B,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,IAAI,EAAE,IAAI;KACV,CAAC,CAAC;AACJ,CAAC,CAAC;AANW,QAAA,uBAAuB,2BAMlC;AAEK,MAAM,cAAc,GAAG,CAAC,GAAc,EAAE,EAAE;IAChD,OAAO,GAAG,CAAC,MAAM,CAAC,mBAAO,CAAC,CAAC,IAAI,CAAC;QAC/B,IAAI,EAAE,0BAAc,CAAC,OAAO;QAC5B,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,IAAI,EAAE,EAAE;KACR,CAAC,CAAC;AACJ,CAAC,CAAC;AANW,QAAA,cAAc,kBAMzB;AAEK,MAAM,YAAY,GAAG,CAAC,OAAY,EAAE,GAAc,EAAE,EAAE;IAC5D,sCAAsC;IACtC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACrC,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;IACtB,OAAO,GAAG,CAAC,MAAM,CAAC,2BAAe,CAAC,CAAC,IAAI,CAAC;QACvC,IAAI,EAAE,0BAAc,CAAC,KAAK;QAC1B,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,SAAS;KACf,CAAC,CAAC;AACJ,CAAC,CAAC;AATW,QAAA,YAAY,gBASvB"}
@@ -0,0 +1,4 @@
1
+ import { NextFunction } from 'express';
2
+ import { IRequest, IResponse } from './../types';
3
+ declare const validate: (validator: any) => (req: IRequest, res: IResponse, next: NextFunction) => Promise<void>;
4
+ export default validate;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const defaults_1 = require("./defaults");
5
+ const responseHandlers_1 = require("./responseHandlers");
6
+ const validate = (validator) => {
7
+ return function (req, res, next) {
8
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
9
+ try {
10
+ req.body = yield validator.validateAsync(req.body);
11
+ next();
12
+ }
13
+ catch (err) {
14
+ defaults_1.defaults.logger.error('ValidationError', err);
15
+ if (err.isJoi)
16
+ (0, responseHandlers_1.inValidParam)(err.message, res);
17
+ else
18
+ (0, responseHandlers_1.failureResponse)(err.message, res);
19
+ }
20
+ });
21
+ };
22
+ };
23
+ exports.default = validate;
24
+ //# sourceMappingURL=validate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../../../libs/node/src/utils/validate.ts"],"names":[],"mappings":";;;AAIA,yCAAsC;AACtC,yDAAmE;AAEnE,MAAM,QAAQ,GAAG,CAAC,SAAc,EAAE,EAAE;IAClC,OAAO,UAAgB,GAAa,EAAE,GAAc,EAAE,IAAkB;;YACtE,IAAI;gBACF,GAAG,CAAC,IAAI,GAAG,MAAM,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACnD,IAAI,EAAE,CAAC;aACR;YAAC,OAAO,GAAG,EAAE;gBACZ,mBAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;gBAC9C,IAAK,GAAuB,CAAC,KAAK;oBAChC,IAAA,+BAAY,EAAE,GAAa,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;;oBACvC,IAAA,kCAAe,EAAE,GAAa,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;aACnD;QACH,CAAC;KAAA,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,QAAQ,CAAC"}
@@ -0,0 +1,5 @@
1
+ import joi from 'joi';
2
+ import { IPageSchema } from '../../types';
3
+ export declare const create: joi.ObjectSchema<IPageSchema>;
4
+ export declare const update: joi.ObjectSchema<IPageSchema>;
5
+ export declare const list: joi.ObjectSchema<any>;
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.list = exports.update = exports.create = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const joi_1 = tslib_1.__importDefault(require("joi"));
6
+ const models_1 = require("../../models");
7
+ const dbService_1 = require("../../services/dbService");
8
+ const constants_1 = require("../../constants");
9
+ const checkUnique = (value) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
10
+ let result;
11
+ try {
12
+ // throws error if document not found
13
+ result = yield (0, dbService_1.getOne)(models_1.Page, {
14
+ code: value,
15
+ });
16
+ // eslint-disable-next-line no-empty
17
+ }
18
+ catch (e) { }
19
+ if (result) {
20
+ throw new Error(constants_1.VALIDATION.WIDGET_EXISTS);
21
+ }
22
+ });
23
+ exports.create = joi_1.default.object({
24
+ name: joi_1.default.string().required(),
25
+ code: joi_1.default
26
+ .string()
27
+ .uppercase()
28
+ .replace(/\s+/g, '_')
29
+ .external(checkUnique)
30
+ .required(),
31
+ widgets: joi_1.default.array().items(joi_1.default.string()).optional(),
32
+ });
33
+ exports.update = joi_1.default.object({
34
+ name: joi_1.default.string().optional(),
35
+ widgets: joi_1.default.array().items(joi_1.default.string()).optional(),
36
+ });
37
+ exports.list = joi_1.default.object({
38
+ search: joi_1.default.string().allow('').replace(/\s+/g, '_').optional().default(''),
39
+ options: joi_1.default
40
+ .object({
41
+ // sort: joi.alternatives().try(joi.object(), joi.string()).optional(),
42
+ populate: joi_1.default.array().items().optional().default([]),
43
+ offset: joi_1.default.number().optional(),
44
+ page: joi_1.default.number().optional(),
45
+ limit: joi_1.default.number().optional(),
46
+ pagination: joi_1.default.boolean().default(false),
47
+ })
48
+ .default({}),
49
+ });
50
+ //# sourceMappingURL=page.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page.js","sourceRoot":"","sources":["../../../../../../libs/node/src/utils/validations/page.ts"],"names":[],"mappings":";;;;AAAA,sDAAsB;AACtB,yCAAoC;AACpC,wDAAkD;AAClD,+CAA6C;AAG7C,MAAM,WAAW,GAAG,CAAO,KAAa,EAAiB,EAAE;IACzD,IAAI,MAAM,CAAC;IACX,IAAI;QACF,qCAAqC;QACrC,MAAM,GAAG,MAAM,IAAA,kBAAM,EAAC,aAAI,EAAE;YAC1B,IAAI,EAAE,KAAK;SACZ,CAAC,CAAC;QACH,oCAAoC;KACrC;IAAC,OAAO,CAAC,EAAE,GAAE;IACd,IAAI,MAAM,EAAE;QACV,MAAM,IAAI,KAAK,CAAC,sBAAU,CAAC,aAAa,CAAC,CAAC;KAC3C;AACH,CAAC,CAAA,CAAC;AAEW,QAAA,MAAM,GAAG,aAAG,CAAC,MAAM,CAAc;IAC5C,IAAI,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,IAAI,EAAE,aAAG;SACN,MAAM,EAAE;SACR,SAAS,EAAE;SACX,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,QAAQ,CAAC,WAAW,CAAC;SACrB,QAAQ,EAAE;IACb,OAAO,EAAE,aAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,aAAG,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CACpD,CAAC,CAAC;AAEU,QAAA,MAAM,GAAG,aAAG,CAAC,MAAM,CAAc;IAC5C,IAAI,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,OAAO,EAAE,aAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,aAAG,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CACpD,CAAC,CAAC;AAEU,QAAA,IAAI,GAAG,aAAG,CAAC,MAAM,CAAC;IAC7B,MAAM,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IAC1E,OAAO,EAAE,aAAG;SACT,MAAM,CAAC;QACN,uEAAuE;QACvE,QAAQ,EAAE,aAAG,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;QACpD,MAAM,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC/B,IAAI,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC7B,KAAK,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC9B,UAAU,EAAE,aAAG,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;KACzC,CAAC;SACD,OAAO,CAAC,EAAE,CAAC;CACf,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ import joi from 'joi';
2
+ import { ITileSchema } from '../../types';
3
+ export declare const create: joi.ObjectSchema<ITileSchema>;
4
+ export declare const update: joi.ObjectSchema<ITileSchema>;
5
+ export declare const list: joi.ObjectSchema<any>;
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.list = exports.update = exports.create = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const joi_1 = tslib_1.__importDefault(require("joi"));
6
+ const types_1 = require("../../types");
7
+ exports.create = joi_1.default.object({
8
+ widgetId: joi_1.default.string().required(),
9
+ title: joi_1.default.string().required(),
10
+ altText: joi_1.default.string().optional(),
11
+ link: joi_1.default.string().required(),
12
+ sequence: joi_1.default.number().optional(),
13
+ img: joi_1.default.string().optional(),
14
+ tileType: joi_1.default
15
+ .string()
16
+ .valid(...Object.values(types_1.TileTypes))
17
+ .optional()
18
+ .default(types_1.TileTypes.Web),
19
+ });
20
+ exports.update = joi_1.default.object({
21
+ widgetId: joi_1.default.string().required(),
22
+ title: joi_1.default.string().required(),
23
+ altText: joi_1.default.string().optional(),
24
+ link: joi_1.default.string().required(),
25
+ sequence: joi_1.default.number().optional(),
26
+ img: joi_1.default.string().optional(),
27
+ tileType: joi_1.default
28
+ .string()
29
+ .valid(...Object.values(types_1.TileTypes))
30
+ .optional(),
31
+ });
32
+ exports.list = joi_1.default.object({
33
+ search: joi_1.default.string().allow('').replace(/\s+/g, '_').default(''),
34
+ });
35
+ //# sourceMappingURL=tile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tile.js","sourceRoot":"","sources":["../../../../../../libs/node/src/utils/validations/tile.ts"],"names":[],"mappings":";;;;AAAA,sDAAsB;AACtB,uCAAqD;AAExC,QAAA,MAAM,GAAG,aAAG,CAAC,MAAM,CAAc;IAC5C,QAAQ,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,KAAK,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,OAAO,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,IAAI,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,QAAQ,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,GAAG,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,QAAQ,EAAE,aAAG;SACV,MAAM,EAAE;SACR,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,iBAAS,CAAC,CAAC;SAClC,QAAQ,EAAE;SACV,OAAO,CAAC,iBAAS,CAAC,GAAG,CAAC;CAC1B,CAAC,CAAC;AAEU,QAAA,MAAM,GAAG,aAAG,CAAC,MAAM,CAAc;IAC5C,QAAQ,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,KAAK,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,OAAO,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,IAAI,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,QAAQ,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,GAAG,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,QAAQ,EAAE,aAAG;SACV,MAAM,EAAE;SACR,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,iBAAS,CAAC,CAAC;SAClC,QAAQ,EAAE;CACd,CAAC,CAAC;AAEU,QAAA,IAAI,GAAG,aAAG,CAAC,MAAM,CAAC;IAC7B,MAAM,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CAChE,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import joi from 'joi';
2
+ export declare const getWidgetData: joi.ObjectSchema<any>;
3
+ export declare const getPageData: joi.ObjectSchema<any>;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getPageData = exports.getWidgetData = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const joi_1 = tslib_1.__importDefault(require("joi"));
6
+ exports.getWidgetData = joi_1.default.object({
7
+ code: joi_1.default.string().required(),
8
+ });
9
+ exports.getPageData = joi_1.default.object({
10
+ code: joi_1.default.string().required(),
11
+ });
12
+ //# sourceMappingURL=user.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.js","sourceRoot":"","sources":["../../../../../../libs/node/src/utils/validations/user.ts"],"names":[],"mappings":";;;;AAAA,sDAAsB;AAET,QAAA,aAAa,GAAG,aAAG,CAAC,MAAM,CAAC;IACtC,IAAI,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC9B,CAAC,CAAC;AAEU,QAAA,WAAW,GAAG,aAAG,CAAC,MAAM,CAAC;IACpC,IAAI,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC9B,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ import joi from 'joi';
2
+ import { IWidgetSchema } from '../../types';
3
+ export declare const create: joi.ObjectSchema<IWidgetSchema>;
4
+ export declare const update: joi.ObjectSchema<IWidgetSchema>;
5
+ export declare const list: joi.ObjectSchema<any>;
6
+ export declare const partialUpdate: joi.ObjectSchema<any>;
7
+ export declare const getCollectionData: joi.ObjectSchema<any>;
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getCollectionData = exports.partialUpdate = exports.list = exports.update = exports.create = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const joi_1 = tslib_1.__importDefault(require("joi"));
6
+ const models_1 = require("../../models");
7
+ const defaults_1 = require("../defaults");
8
+ const constants_1 = require("../../constants");
9
+ const dbService_1 = require("../../services/dbService");
10
+ const types_1 = require("../../types");
11
+ const checkUnique = (value) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
12
+ let result;
13
+ try {
14
+ // throws error if document found
15
+ result = yield (0, dbService_1.getOne)(models_1.Widget, {
16
+ code: value,
17
+ });
18
+ // eslint-disable-next-line no-empty
19
+ }
20
+ catch (e) { }
21
+ if (result) {
22
+ throw new Error(constants_1.VALIDATION.WIDGET_EXISTS);
23
+ }
24
+ });
25
+ exports.create = joi_1.default.object({
26
+ name: joi_1.default.string().required(),
27
+ selectionTitle: joi_1.default.string().required(),
28
+ code: joi_1.default
29
+ .string()
30
+ .uppercase()
31
+ .replace(/\s+/g, '_')
32
+ .external(checkUnique)
33
+ .required(),
34
+ isActive: joi_1.default.boolean().default(true).optional(),
35
+ autoPlay: joi_1.default.boolean().default(false).optional(),
36
+ webPerRow: joi_1.default.number().allow(null).optional(),
37
+ mobilePerRow: joi_1.default.number().allow(null).optional(),
38
+ tabletPerRow: joi_1.default.number().allow(null).optional(),
39
+ collectionName: joi_1.default.string().optional(),
40
+ collectionItems: joi_1.default.array().items(joi_1.default.string()).optional(),
41
+ widgetType: joi_1.default
42
+ .string()
43
+ .custom((value) => {
44
+ if (Object.keys(types_1.WidgetType).includes(value)) {
45
+ return value;
46
+ }
47
+ const collectionIndex = defaults_1.defaults.collections.findIndex((collection) => collection.collectionName === value);
48
+ if (collectionIndex > -1) {
49
+ return value;
50
+ }
51
+ throw new Error(`${value} is not a valid widget type`);
52
+ })
53
+ .optional()
54
+ .default(types_1.WidgetType.Image),
55
+ selectionType: joi_1.default
56
+ .string()
57
+ .valid(...Object.values(types_1.SelectionTypes))
58
+ .optional()
59
+ .default(types_1.SelectionTypes.FixedCard),
60
+ });
61
+ exports.update = joi_1.default.object({
62
+ name: joi_1.default.string().required(),
63
+ selectionTitle: joi_1.default.string().required(),
64
+ isActive: joi_1.default.boolean().optional(),
65
+ webPerRow: joi_1.default.number().allow(null).optional(),
66
+ mobilePerRow: joi_1.default.number().allow(null).optional(),
67
+ tabletPerRow: joi_1.default.number().allow(null).optional(),
68
+ autoPlay: joi_1.default.boolean().default(false).optional(),
69
+ collectionItems: joi_1.default.array().items(joi_1.default.string()).optional(),
70
+ selectionType: joi_1.default
71
+ .string()
72
+ .valid(...Object.values(types_1.SelectionTypes))
73
+ .optional(),
74
+ });
75
+ exports.list = joi_1.default.object({
76
+ search: joi_1.default.string().allow('').optional().default(''),
77
+ options: joi_1.default
78
+ .object({
79
+ // sort: joi.alternatives().try(joi.object(), joi.string()).optional(),
80
+ // populate: joi.array().items().optional(),
81
+ offset: joi_1.default.number().optional(),
82
+ page: joi_1.default.number().optional(),
83
+ limit: joi_1.default.number().optional(),
84
+ })
85
+ .default({}),
86
+ isActive: joi_1.default.boolean().optional(),
87
+ all: joi_1.default.boolean().default(false),
88
+ });
89
+ exports.partialUpdate = joi_1.default.object({
90
+ isActive: joi_1.default.boolean().optional(),
91
+ });
92
+ exports.getCollectionData = joi_1.default.object({
93
+ collectionName: joi_1.default.string().required(),
94
+ search: joi_1.default.string().allow('').optional().default(''),
95
+ });
96
+ //# sourceMappingURL=widget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"widget.js","sourceRoot":"","sources":["../../../../../../libs/node/src/utils/validations/widget.ts"],"names":[],"mappings":"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"}