@knovator/pagecreator-node 0.0.7 → 0.2.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 (119) hide show
  1. package/README.md +13 -13
  2. package/package.json +3 -6
  3. package/src/constants/index.ts +26 -0
  4. package/src/controllers/ItemController.ts +139 -0
  5. package/src/controllers/PageController.ts +65 -0
  6. package/src/controllers/UserController.ts +265 -0
  7. package/src/controllers/WidgetController.ts +165 -0
  8. package/src/index.ts +29 -0
  9. package/src/models/Item.ts +29 -0
  10. package/src/models/Page.ts +17 -0
  11. package/src/models/SrcSet.ts +16 -0
  12. package/src/models/Widget.ts +44 -0
  13. package/src/models/index.ts +6 -0
  14. package/src/plugins/softDelete.ts +84 -0
  15. package/src/routes/ItemRoute.ts +32 -0
  16. package/src/routes/PageRoute.ts +31 -0
  17. package/src/routes/UserRoute.ts +32 -0
  18. package/src/routes/WidgetRoute.ts +56 -0
  19. package/src/services/dbService.ts +82 -0
  20. package/src/types/{IRequest.d.ts → IRequest.ts} +4 -3
  21. package/src/types/{IResponse.d.ts → IResponse.ts} +4 -3
  22. package/src/types/{Router.d.ts → Router.ts} +2 -1
  23. package/src/types/common.ts +130 -0
  24. package/src/types/enums.ts +13 -0
  25. package/src/types/{index.d.ts → index.ts} +0 -0
  26. package/src/utils/defaults.ts +30 -0
  27. package/src/utils/helper.ts +133 -0
  28. package/src/utils/responseHandlers.ts +54 -0
  29. package/src/utils/validate.ts +22 -0
  30. package/src/utils/validations/item.ts +51 -0
  31. package/src/utils/validations/page.ts +59 -0
  32. package/src/utils/validations/user.ts +9 -0
  33. package/src/utils/validations/widget.ts +118 -0
  34. package/src/constants/index.d.ts +0 -16
  35. package/src/constants/index.js +0 -30
  36. package/src/constants/index.js.map +0 -1
  37. package/src/controllers/PageController.d.ts +0 -4
  38. package/src/controllers/PageController.js +0 -61
  39. package/src/controllers/PageController.js.map +0 -1
  40. package/src/controllers/TileController.d.ts +0 -4
  41. package/src/controllers/TileController.js +0 -45
  42. package/src/controllers/TileController.js.map +0 -1
  43. package/src/controllers/UserController.d.ts +0 -2
  44. package/src/controllers/UserController.js +0 -194
  45. package/src/controllers/UserController.js.map +0 -1
  46. package/src/controllers/WidgetController.d.ts +0 -8
  47. package/src/controllers/WidgetController.js +0 -129
  48. package/src/controllers/WidgetController.js.map +0 -1
  49. package/src/index.d.ts +0 -8
  50. package/src/index.js +0 -29
  51. package/src/index.js.map +0 -1
  52. package/src/models/Page.d.ts +0 -3
  53. package/src/models/Page.js +0 -16
  54. package/src/models/Page.js.map +0 -1
  55. package/src/models/Tile.d.ts +0 -3
  56. package/src/models/Tile.js +0 -29
  57. package/src/models/Tile.js.map +0 -1
  58. package/src/models/Widget.d.ts +0 -3
  59. package/src/models/Widget.js +0 -41
  60. package/src/models/Widget.js.map +0 -1
  61. package/src/models/index.d.ts +0 -4
  62. package/src/models/index.js +0 -11
  63. package/src/models/index.js.map +0 -1
  64. package/src/plugins/softDelete.d.ts +0 -7
  65. package/src/plugins/softDelete.js +0 -64
  66. package/src/plugins/softDelete.js.map +0 -1
  67. package/src/routes/PageRoute.d.ts +0 -3
  68. package/src/routes/PageRoute.js +0 -30
  69. package/src/routes/PageRoute.js.map +0 -1
  70. package/src/routes/TileRoute.d.ts +0 -3
  71. package/src/routes/TileRoute.js +0 -31
  72. package/src/routes/TileRoute.js.map +0 -1
  73. package/src/routes/UserRoute.d.ts +0 -3
  74. package/src/routes/UserRoute.js +0 -22
  75. package/src/routes/UserRoute.js.map +0 -1
  76. package/src/routes/WidgetRoute.d.ts +0 -3
  77. package/src/routes/WidgetRoute.js +0 -47
  78. package/src/routes/WidgetRoute.js.map +0 -1
  79. package/src/services/dbService.d.ts +0 -8
  80. package/src/services/dbService.js +0 -60
  81. package/src/services/dbService.js.map +0 -1
  82. package/src/types/IRequest.js +0 -3
  83. package/src/types/IRequest.js.map +0 -1
  84. package/src/types/IResponse.js +0 -3
  85. package/src/types/IResponse.js.map +0 -1
  86. package/src/types/Router.js +0 -3
  87. package/src/types/Router.js.map +0 -1
  88. package/src/types/common.d.ts +0 -78
  89. package/src/types/common.js +0 -3
  90. package/src/types/common.js.map +0 -1
  91. package/src/types/enums.d.ts +0 -11
  92. package/src/types/enums.js +0 -18
  93. package/src/types/enums.js.map +0 -1
  94. package/src/types/index.js +0 -9
  95. package/src/types/index.js.map +0 -1
  96. package/src/utils/defaults.d.ts +0 -7
  97. package/src/utils/defaults.js +0 -28
  98. package/src/utils/defaults.js.map +0 -1
  99. package/src/utils/helper.d.ts +0 -30
  100. package/src/utils/helper.js +0 -90
  101. package/src/utils/helper.js.map +0 -1
  102. package/src/utils/responseHandlers.d.ts +0 -6
  103. package/src/utils/responseHandlers.js +0 -57
  104. package/src/utils/responseHandlers.js.map +0 -1
  105. package/src/utils/validate.d.ts +0 -4
  106. package/src/utils/validate.js +0 -24
  107. package/src/utils/validate.js.map +0 -1
  108. package/src/utils/validations/page.d.ts +0 -7
  109. package/src/utils/validations/page.js +0 -58
  110. package/src/utils/validations/page.js.map +0 -1
  111. package/src/utils/validations/tile.d.ts +0 -7
  112. package/src/utils/validations/tile.js +0 -43
  113. package/src/utils/validations/tile.js.map +0 -1
  114. package/src/utils/validations/user.d.ts +0 -3
  115. package/src/utils/validations/user.js +0 -12
  116. package/src/utils/validations/user.js.map +0 -1
  117. package/src/utils/validations/widget.d.ts +0 -9
  118. package/src/utils/validations/widget.js +0 -108
  119. package/src/utils/validations/widget.js.map +0 -1
@@ -1,90 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.appendCollectionData = void 0;
4
- const tslib_1 = require("tslib");
5
- const models_1 = require("../models");
6
- const defaults_1 = require("./defaults");
7
- function appendCollectionData(widgetData) {
8
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
9
- // reduce widget data to optimize query
10
- const newData = widgetData.reduce((acc, widget) => {
11
- if (widget.collectionName) {
12
- acc[widget.code] = {
13
- _id: widget._id,
14
- code: widget.code,
15
- collectionName: widget.collectionName,
16
- collectionItems: widget.collectionItems,
17
- };
18
- }
19
- return acc;
20
- }, {});
21
- if (Object.keys(newData).length > 0) {
22
- const aggregationQuery = [
23
- {
24
- $match: {
25
- _id: {
26
- $in: Object.values(newData).map((item) => item._id),
27
- },
28
- },
29
- },
30
- {
31
- // Get only the fields that are not excluded
32
- $project: {
33
- _id: 1,
34
- code: 1,
35
- },
36
- },
37
- ];
38
- let collectionConfig, aggregationQueryPiplelines;
39
- Object.keys(newData).forEach((key) => {
40
- collectionConfig = defaults_1.defaults.collections.find((c) => c.collectionName === newData[key].collectionName);
41
- // Build piplelines with config
42
- aggregationQueryPiplelines = [
43
- {
44
- $match: Object.assign({ _id: {
45
- $in: newData[key].collectionItems,
46
- } }, ((collectionConfig === null || collectionConfig === void 0 ? void 0 : collectionConfig.match) || {})),
47
- },
48
- {
49
- $project: Object.assign({}, defaults_1.commonExcludedFields),
50
- },
51
- ];
52
- // add project config if it exists
53
- if (collectionConfig === null || collectionConfig === void 0 ? void 0 : collectionConfig.project)
54
- aggregationQueryPiplelines.push({
55
- $project: collectionConfig === null || collectionConfig === void 0 ? void 0 : collectionConfig.project,
56
- });
57
- // add lookup config if it exists
58
- if (collectionConfig === null || collectionConfig === void 0 ? void 0 : collectionConfig.lookup)
59
- aggregationQueryPiplelines.push({
60
- $lookup: collectionConfig === null || collectionConfig === void 0 ? void 0 : collectionConfig.lookup,
61
- });
62
- // Build Aggregation Query
63
- aggregationQuery.push({
64
- $lookup: {
65
- from: newData[key].collectionName,
66
- pipeline: aggregationQueryPiplelines,
67
- as: newData[key].code,
68
- },
69
- });
70
- });
71
- // getting collection data by populating widget
72
- let aggregationData = yield models_1.Widget.aggregate(aggregationQuery);
73
- aggregationData = aggregationData.reduce((acc, aggregation) => {
74
- acc[aggregation.code] = aggregation[aggregation.code];
75
- return acc;
76
- }, {});
77
- // adding collection data to widgets
78
- return widgetData.map((widget) => {
79
- if (aggregationData[widget.code]) {
80
- return Object.assign(Object.assign({}, widget), { collectionItems: aggregationData[widget.code] });
81
- }
82
- return widget;
83
- });
84
- }
85
- // returning widget data as it is if they do not have dynamic collection
86
- return widgetData;
87
- });
88
- }
89
- exports.appendCollectionData = appendCollectionData;
90
- //# sourceMappingURL=helper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"helper.js","sourceRoot":"","sources":["../../../../../libs/node/src/utils/helper.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
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;
@@ -1,57 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,4 +0,0 @@
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;
@@ -1,24 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,7 +0,0 @@
1
- import joi from 'joi';
2
- import { IPageSchema, IDefaultValidations } from '../../types';
3
- declare type PageValidation = IPageSchema & IDefaultValidations;
4
- export declare const create: joi.ObjectSchema<PageValidation>;
5
- export declare const update: joi.ObjectSchema<PageValidation>;
6
- export declare const list: joi.ObjectSchema<any>;
7
- export {};
@@ -1,58 +0,0 @@
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
- createdBy: joi_1.default.any().optional(),
33
- updatedBy: joi_1.default.any().optional(),
34
- deletedBy: joi_1.default.any().optional(),
35
- deletedAt: joi_1.default.any().optional(),
36
- });
37
- exports.update = joi_1.default.object({
38
- name: joi_1.default.string().optional(),
39
- widgets: joi_1.default.array().items(joi_1.default.string()).optional(),
40
- createdBy: joi_1.default.any().optional(),
41
- updatedBy: joi_1.default.any().optional(),
42
- deletedBy: joi_1.default.any().optional(),
43
- deletedAt: joi_1.default.any().optional(),
44
- });
45
- exports.list = joi_1.default.object({
46
- search: joi_1.default.string().allow('').replace(/\s+/g, '_').optional().default(''),
47
- options: joi_1.default
48
- .object({
49
- // sort: joi.alternatives().try(joi.object(), joi.string()).optional(),
50
- populate: joi_1.default.array().items().optional().default([]),
51
- offset: joi_1.default.number().optional(),
52
- page: joi_1.default.number().optional(),
53
- limit: joi_1.default.number().optional(),
54
- pagination: joi_1.default.boolean().default(false),
55
- })
56
- .default({}),
57
- });
58
- //# sourceMappingURL=page.js.map
@@ -1 +0,0 @@
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;AAK7C,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,CAAiB;IAC/C,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;IACnD,SAAS,EAAE,aAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAC/B,SAAS,EAAE,aAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAC/B,SAAS,EAAE,aAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAC/B,SAAS,EAAE,aAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;CAChC,CAAC,CAAC;AAEU,QAAA,MAAM,GAAG,aAAG,CAAC,MAAM,CAAiB;IAC/C,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;IACnD,SAAS,EAAE,aAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAC/B,SAAS,EAAE,aAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAC/B,SAAS,EAAE,aAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAC/B,SAAS,EAAE,aAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;CAChC,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"}
@@ -1,7 +0,0 @@
1
- import joi from 'joi';
2
- import { ITileSchema, IDefaultValidations } from '../../types';
3
- declare type TileValidation = ITileSchema & IDefaultValidations;
4
- export declare const create: joi.ObjectSchema<TileValidation>;
5
- export declare const update: joi.ObjectSchema<TileValidation>;
6
- export declare const list: joi.ObjectSchema<any>;
7
- export {};
@@ -1,43 +0,0 @@
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
- createdBy: joi_1.default.any().optional(),
20
- updatedBy: joi_1.default.any().optional(),
21
- deletedBy: joi_1.default.any().optional(),
22
- deletedAt: joi_1.default.any().optional(),
23
- });
24
- exports.update = joi_1.default.object({
25
- widgetId: joi_1.default.string().required(),
26
- title: joi_1.default.string().required(),
27
- altText: joi_1.default.string().optional(),
28
- link: joi_1.default.string().required(),
29
- sequence: joi_1.default.number().optional(),
30
- img: joi_1.default.string().optional(),
31
- tileType: joi_1.default
32
- .string()
33
- .valid(...Object.values(types_1.TileTypes))
34
- .optional(),
35
- createdBy: joi_1.default.any().optional(),
36
- updatedBy: joi_1.default.any().optional(),
37
- deletedBy: joi_1.default.any().optional(),
38
- deletedAt: joi_1.default.any().optional(),
39
- });
40
- exports.list = joi_1.default.object({
41
- search: joi_1.default.string().allow('').replace(/\s+/g, '_').default(''),
42
- });
43
- //# sourceMappingURL=tile.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tile.js","sourceRoot":"","sources":["../../../../../../libs/node/src/utils/validations/tile.ts"],"names":[],"mappings":";;;;AAAA,sDAAsB;AACtB,uCAA0E;AAI7D,QAAA,MAAM,GAAG,aAAG,CAAC,MAAM,CAAiB;IAC/C,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;IACzB,SAAS,EAAE,aAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAC/B,SAAS,EAAE,aAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAC/B,SAAS,EAAE,aAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAC/B,SAAS,EAAE,aAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;CAChC,CAAC,CAAC;AAEU,QAAA,MAAM,GAAG,aAAG,CAAC,MAAM,CAAiB;IAC/C,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;IACb,SAAS,EAAE,aAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAC/B,SAAS,EAAE,aAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAC/B,SAAS,EAAE,aAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAC/B,SAAS,EAAE,aAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;CAChC,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"}
@@ -1,3 +0,0 @@
1
- import joi from 'joi';
2
- export declare const getWidgetData: joi.ObjectSchema<any>;
3
- export declare const getPageData: joi.ObjectSchema<any>;
@@ -1,12 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,9 +0,0 @@
1
- import joi from 'joi';
2
- import { IWidgetSchema, IDefaultValidations } from '../../types';
3
- declare type TileValidation = IWidgetSchema & IDefaultValidations;
4
- export declare const create: joi.ObjectSchema<TileValidation>;
5
- export declare const update: joi.ObjectSchema<TileValidation>;
6
- export declare const list: joi.ObjectSchema<any>;
7
- export declare const partialUpdate: joi.ObjectSchema<any>;
8
- export declare const getCollectionData: joi.ObjectSchema<any>;
9
- export {};
@@ -1,108 +0,0 @@
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
- createdBy: joi_1.default.any().optional(),
61
- updatedBy: joi_1.default.any().optional(),
62
- deletedBy: joi_1.default.any().optional(),
63
- deletedAt: joi_1.default.any().optional(),
64
- });
65
- exports.update = joi_1.default.object({
66
- name: joi_1.default.string().required(),
67
- selectionTitle: joi_1.default.string().required(),
68
- isActive: joi_1.default.boolean().optional(),
69
- webPerRow: joi_1.default.number().allow(null).optional(),
70
- mobilePerRow: joi_1.default.number().allow(null).optional(),
71
- tabletPerRow: joi_1.default.number().allow(null).optional(),
72
- autoPlay: joi_1.default.boolean().default(false).optional(),
73
- collectionItems: joi_1.default.array().items(joi_1.default.string()).optional(),
74
- selectionType: joi_1.default
75
- .string()
76
- .valid(...Object.values(types_1.SelectionTypes))
77
- .optional(),
78
- createdBy: joi_1.default.any().optional(),
79
- updatedBy: joi_1.default.any().optional(),
80
- deletedBy: joi_1.default.any().optional(),
81
- deletedAt: joi_1.default.any().optional(),
82
- });
83
- exports.list = joi_1.default.object({
84
- search: joi_1.default.string().allow('').optional().default(''),
85
- options: joi_1.default
86
- .object({
87
- // sort: joi.alternatives().try(joi.object(), joi.string()).optional(),
88
- // populate: joi.array().items().optional(),
89
- offset: joi_1.default.number().optional(),
90
- page: joi_1.default.number().optional(),
91
- limit: joi_1.default.number().optional(),
92
- })
93
- .default({}),
94
- isActive: joi_1.default.boolean().optional(),
95
- all: joi_1.default.boolean().default(false),
96
- });
97
- exports.partialUpdate = joi_1.default.object({
98
- isActive: joi_1.default.boolean().optional(),
99
- createdBy: joi_1.default.any().optional(),
100
- updatedBy: joi_1.default.any().optional(),
101
- deletedBy: joi_1.default.any().optional(),
102
- deletedAt: joi_1.default.any().optional(),
103
- });
104
- exports.getCollectionData = joi_1.default.object({
105
- collectionName: joi_1.default.string().required(),
106
- search: joi_1.default.string().allow('').optional().default(''),
107
- });
108
- //# sourceMappingURL=widget.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"widget.js","sourceRoot":"","sources":["../../../../../../libs/node/src/utils/validations/widget.ts"],"names":[],"mappings":"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"}