@knovator/pagecreator-node 0.0.3 → 0.0.5

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/README.md CHANGED
@@ -1,11 +1,380 @@
1
- # node
1
+ <!-- Improved compatibility of back to top link: See: https://github.com/othneildrew/Best-README-Template/pull/73 -->
2
+ <a name="readme-top"></a>
2
3
 
3
- This library was generated with [Nx](https://nx.dev).
4
+ [![Contributors][contributors-shield]][contributors-url]
5
+ [![Forks][forks-shield]][forks-url]
6
+ [![Stargazers][stars-shield]][stars-url]
7
+ [![Issues][issues-shield]][issues-url]
8
+ [![MIT License][license-shield]][license-url]
4
9
 
5
- ## Building
6
10
 
7
- Run `nx build node` to build the library.
8
11
 
9
- ## Running unit tests
12
+ <!-- PROJECT LOGO -->
13
+ <br />
14
+ <div align="center">
15
+ <!-- <a href="https://github.com/knovator/pagecreator">
16
+ <img src="images/logo.png" alt="Logo" width="80" height="80">
17
+ </a> -->
10
18
 
11
- Run `nx test node` to execute the unit tests via [Jest](https://jestjs.io).
19
+ <h3 align="center">@knovator/pagecreator-node</h3>
20
+
21
+ <p align="center">
22
+ Plug & Play functionality to Build dynamic pages on the fly.
23
+ <br />
24
+ <a href="https://github.com/knovator/pagecreator"><strong>Explore the docs »</strong></a>
25
+ <br />
26
+ <br />
27
+ <a href="https://github.com/knovator/pagecreator">View Demo</a>
28
+ ·
29
+ <a href="https://github.com/knovator/pagecreator/issues">Report Bug</a>
30
+ ·
31
+ <a href="https://github.com/knovator/pagecreator/issues">Request Feature</a>
32
+ </p>
33
+ </div>
34
+
35
+
36
+
37
+ <!-- TABLE OF CONTENTS -->
38
+ <details>
39
+ <summary>Table of Contents</summary>
40
+ <ol>
41
+ <li>
42
+ <a href="#about-the-project">About The Project</a>
43
+ <ul>
44
+ <li><a href="#built-with">Built With</a></li>
45
+ </ul>
46
+ </li>
47
+ <li>
48
+ <a href="#getting-started">Getting Started</a>
49
+ <ul>
50
+ <li><a href="#prerequisites">Prerequisites</a></li>
51
+ <li><a href="#installation">Installation</a></li>
52
+ </ul>
53
+ </li>
54
+ <li><a href="#usage">Usage</a></li>
55
+ <li><a href="#routes-infomration">Routes Infomration</a></li>
56
+ <li><a href="#contributing">Contributing</a></li>
57
+ <li><a href="#license">License</a></li>
58
+ <li><a href="#contact">Contact</a></li>
59
+ </ol>
60
+ </details>
61
+
62
+
63
+
64
+ <!-- ABOUT THE PROJECT -->
65
+ ## About The Project
66
+
67
+ `@knovator/pagecreator-node` is built with intent to build pages that are depend on backend data, and admin can change how page will look like.
68
+
69
+ <p align="right">(<a href="#readme-top">back to top</a>)</p>
70
+
71
+
72
+ ### Built With
73
+
74
+ * [Typescript](https://www.typescriptlang.org/)
75
+ * [mongoose](https://mongoosejs.com/)
76
+ * [express](https://expressjs.com/)
77
+ * [mongoose-paginate-v2](https://www.npmjs.com/package/mongoose-paginate-v2)
78
+ * [joi](https://www.npmjs.com/package/joi)
79
+
80
+ <p align="right">(<a href="#readme-top">back to top</a>)</p>
81
+
82
+ <!-- GETTING STARTED -->
83
+ ## Getting Started
84
+
85
+ To integrate `@knovator/pagecreator-node`, you should be having basic nodejs application up and running with express (optionally using mongoose for mongodb database). `@knovator/pagecreator-node` provides routes for `widget`, `page`, `tile` and `user` to use in application.
86
+
87
+ ### Prerequisites
88
+ - It's good start to have `nodejs` application up and running with `express`. Good to have used [i18next](https://www.npmjs.com/package/i18next) to add message in response codes.
89
+ - `routes` uses `mongoose` connection established by application, so it's required to connect to database before using package. Example,
90
+ ```js
91
+ // db.js
92
+ const mongoose = require('mongoose');
93
+
94
+ mongoose
95
+ .connect('mongodb://localhost:27017/knovator')
96
+ .then(() => console.info('Database connected'))
97
+ .catch((err) => {
98
+ console.error('DB Error', err);
99
+ });
100
+
101
+ module.exports = mongoose;
102
+ ```
103
+ - Image upload route for `upload` & `remove` is needed to declare externally. Example,
104
+ ```js
105
+ // fileRoute.js
106
+ const express = require('express');
107
+ const router = express.Router();
108
+
109
+ router.post(`/files/upload`, (req, res) => {
110
+ // TO DO: some file storage operation
111
+ let uri = "/image.jpg";
112
+ let id = "62c54b15524b6b59d2313c02";
113
+ res.json({
114
+ code: 'SUCCESS',
115
+ data: { id, uri },
116
+ message: 'File uploaded successfully'
117
+ });
118
+ });
119
+
120
+ router.delete(`/files/remove/:id`, (req, res) => {
121
+ // TO DO: some file remove operation
122
+ res.json({
123
+ code: 'SUCCESS',
124
+ data: {},
125
+ message: 'File removed successfully'
126
+ })
127
+ })
128
+
129
+ module.exports = router;
130
+ ```
131
+
132
+
133
+
134
+ **Sample App file**
135
+ ```js
136
+ require('./src/db');
137
+ require('./src/models/file');
138
+
139
+ const cors = require('cors');
140
+ const express = require("express");
141
+ const fileRoutes = require('./fileRoute.js');
142
+ const PORT = 8080;
143
+
144
+ const app = express();
145
+ app.use(cors());
146
+ app.use(express.static("public"));
147
+ app.use(fileRoutes);
148
+
149
+ // ...
150
+ app.listen(PORT, () => {
151
+ console.log(`App started on ${PORT}`);
152
+ });
153
+ ```
154
+
155
+ ### Installation
156
+
157
+ 1. Install NPM packages
158
+ ```sh
159
+ npm install @knovator/pagecreator-node
160
+ # or
161
+ yarn add @knovator/pagecreator-node
162
+ ```
163
+
164
+ <p align="right">(<a href="#readme-top">back to top</a>)</p>
165
+
166
+
167
+
168
+ <!-- USAGE EXAMPLES -->
169
+ ## Usage
170
+
171
+ App/Main file is a good place to use `@knovator/pagecreator-node`
172
+ ```js
173
+ const { setConfig, WidgetRoutes, TileRoutes, FileUploadRoute, PageRoutes, UserRoutes } = require('@knovator/pagecreator-node');
174
+
175
+ setConfig({
176
+ collections: [
177
+ {
178
+ title: 'Notifications',
179
+ collectionName: 'notifications',
180
+ filters: { isDeleted: false, isActive: true },
181
+ searchColumns: ['name', 'code'],
182
+ },
183
+ ],
184
+ });
185
+
186
+ app.use('/widgets', WidgetRoutes);
187
+ app.use('/tiles', TileRoutes);
188
+ app.use('/media', FileUploadRoute);
189
+ app.use('/pages', PageRoutes);
190
+ app.use('/users', UserRoutes);
191
+
192
+ app.listen(PORT, () => {
193
+ console.log(`App started on ${PORT}`);
194
+ });
195
+ ```
196
+
197
+ Through `setConfig` function e can set `logger`, `collections` and `catchAsync` functions as parameters. By `collections`, we can add reference of application collections.
198
+ ### parameter explanations
199
+ - `logger`
200
+ - Provides ability to add logging for Database and Validation
201
+ ```js
202
+ // default
203
+ console
204
+ ```
205
+ - `catchAsync`
206
+ - Wraps functions to handle async errors
207
+ ```js
208
+ // default
209
+ function catchAsync(fn) {
210
+ return function (req, res, next) {
211
+ Promise.resolve(fn(req, res, next)).catch((err) => {
212
+ // this.logger.error(err.message);
213
+ res.status(internalServerError).json({
214
+ code: RESPONSE_CODE.ERROR,
215
+ message: err.message,
216
+ data: {},
217
+ });
218
+ });
219
+ };
220
+ }
221
+ ```
222
+ - `collections`
223
+ - Array of collection items to add reference of collections in package.
224
+
225
+ #### Collection Item Format
226
+ | Code | Description |
227
+ | --- | ----------- |
228
+ | title | Title of collection name to show in UI |
229
+ | collectionName | Collection name specified in database |
230
+ | filters | Filter object to apply while getting data, like `{ isDeleted: false, isActive: true }` |
231
+ | searchColumns | Array of fields to to perform search |
232
+
233
+ ## Routes Infomration
234
+
235
+ Response follows following structure
236
+ ```js
237
+ {
238
+ code: RESPONSE_CODES,
239
+ message: "" // if internationalized is applied
240
+ data: {}
241
+ }
242
+ ```
243
+
244
+ ### Response Codes
245
+ | Code | Description |
246
+ | --- | ----------- |
247
+ | SUCCESS | When request fullfiled without error |
248
+ | ERROR | When request fullfiled with error |
249
+
250
+ ### Custom Validation messages
251
+ | Message | Description |
252
+ | --- | ----------- |
253
+ | Widget with same code is available | When widget with same code is exist in database |
254
+
255
+ ### HTTP Status Codes
256
+ | HTTP | Description |
257
+ | --- | ----------- |
258
+ | 200 | When request fullfiled without error |
259
+ | 201 | When document is created |
260
+ | 500 | When internal server occurred |
261
+ | 422 | When Validation error occurred |
262
+
263
+ ### Routes
264
+ This are the routes that gets integrated by `@knovator/pagecreator-node`,
265
+ #### Widget
266
+ | Route | Method | Description |
267
+ | --- | ----- | ----------- |
268
+ | `/widget-types` | **GET** | Get widget-types like `Image` and provided `collections` |
269
+ | `/selection-types` | **GET** | Get Selection types like `Fixed Card` and `Carousel` |
270
+ | `/list` | **POST** | List widget data in pagination |
271
+ | `/` | **POST** | Create `widget` |
272
+ | `/:id` | **PUT** | Update `widget` |
273
+ | `/:id` | **PATCH** | Partial Update `widget` |
274
+ | `/:id` | **DELETE** | Delete widget whose `id` send in body |
275
+ | `/collection-data` | **POST** | Get collection data |
276
+
277
+ #### Page
278
+ | Route | Method | Description |
279
+ | --- | ----- | ----------- |
280
+ | `/list` | **POST** | List page data in pagination |
281
+ | `/` | **POST** | Create `page` |
282
+ | `/:id` | **PUT** | Update `page` |
283
+ | `/:id` | **DELETE** | Delete page whose `id` send in body |
284
+
285
+ #### Tile
286
+ | Route | Method | Description |
287
+ | --- | ----- | ----------- |
288
+ | `/:widgetId` | **GET** | Get Tiles data for `widgetId` |
289
+ | `/` | **POST** | Create `tile` |
290
+ | `/:id` | **PUT** | Update `tile` |
291
+ | `/:id` | **DELETE** | Delete tile whose `id` send in body |
292
+
293
+ #### User
294
+ | Route | Method | Description |
295
+ | --- | ----- | ----------- |
296
+ | `/widget-data` | **POST** | Get widget-data data for specified widget `code` in body |
297
+ | `/page-data` | **POST** | Get page-data data for specified page `code` in body |
298
+
299
+ ### `descriptor` codes & `i18n` code for messages
300
+
301
+ Nextjs [i18n](https://www.npmjs.com/package/i18next) package adds facility for internationalization in nodejs application, and it's used in following manner
302
+ ```js
303
+ // usage
304
+ req?.i18n?.(CODE)
305
+ ```
306
+ | CODE | Description |
307
+ | --- | ----------- |
308
+ | `widget.getWidgetTypes` | While fetching widget types |
309
+ | `widget.getSelectionTypes` | While fetching selection types |
310
+ | `widget.getAll` | While fetching widgets |
311
+ | `widget.create` | While creating widget |
312
+ | `widget.update` | While updating widget |
313
+ | `widget.partialUpdate` | While doing partialUpdate for widget, like toggle `IsActive` |
314
+ | `widget.delete` | While deleting widget |
315
+ | `widget.getCollectionData` | While getting widget `collection-data` |
316
+ | `page.getAll` | While getting pages in pagination |
317
+ | `page.create` | While creating page |
318
+ | `page.update` | While updating page |
319
+ | `page.delete` | While deleting page |
320
+ | `tile.getAll` | While getting tiles for widget |
321
+ | `tile.create` | While creating tile |
322
+ | `tile.update` | While updating tile |
323
+ | `user.getWidgetData` | While getting widget data |
324
+ | `user.getPageData` | While getting page data |
325
+
326
+ <p align="right">(<a href="#readme-top">back to top</a>)</p>
327
+
328
+
329
+
330
+
331
+ <!-- CONTRIBUTING -->
332
+ ## Contributing
333
+
334
+ Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**.
335
+
336
+ If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".
337
+ Don't forget to give the project a star! Thanks again!
338
+
339
+ 1. Fork the Project
340
+ 2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)
341
+ 3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)
342
+ 4. Push to the Branch (`git push origin feature/AmazingFeature`)
343
+ 5. Open a Pull Request
344
+
345
+ <p align="right">(<a href="#top">back to top</a>)</p>
346
+
347
+
348
+
349
+ <!-- LICENSE -->
350
+ ## License
351
+
352
+ Distributed under the MIT License. See `LICENSE.txt` for more information.
353
+
354
+ <p align="right">(<a href="#top">back to top</a>)</p>
355
+
356
+
357
+ <!-- CONTACT -->
358
+ ## Contact
359
+
360
+ Knovator Technologies
361
+ - Twitter [@knovator](https://twitter.com/knovator)
362
+ - Web [https://knovator.com/](https://knovator.com/)
363
+
364
+ Project Link: [https://github.com/knovator/pagecreator](https://github.com/knovator/pagecreator)
365
+
366
+ <p align="right">(<a href="#top">back to top</a>)</p>
367
+
368
+
369
+ <!-- MARKDOWN LINKS & IMAGES -->
370
+ <!-- https://www.markdownguide.org/basic-syntax/#reference-style-links -->
371
+ [contributors-shield]: https://img.shields.io/github/contributors/knovator/pagecreator.svg?style=for-the-badge
372
+ [contributors-url]: https://github.com/knovator/pagecreator/graphs/contributors
373
+ [forks-shield]: https://img.shields.io/github/forks/knovator/pagecreator.svg?style=for-the-badge
374
+ [forks-url]: https://github.com/knovator/pagecreator/network/members
375
+ [stars-shield]: https://img.shields.io/github/stars/knovator/pagecreator.svg?style=for-the-badge
376
+ [stars-url]: https://github.com/knovator/pagecreator/stargazers
377
+ [issues-shield]: https://img.shields.io/github/issues/knovator/pagecreator.svg?style=for-the-badge
378
+ [issues-url]: https://github.com/knovator/pagecreator/issues
379
+ [license-shield]: https://img.shields.io/github/license/knovator/pagecreator.svg?style=for-the-badge
380
+ [license-url]: https://github.com/knovator/pagecreator/blob/master/LICENSE.txt
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@knovator/pagecreator-node",
3
- "version": "0.0.3",
3
+ "version": "0.0.5",
4
4
  "type": "commonjs",
5
5
  "author": "knovator (https://knovator.com/)",
6
6
  "description": "PageCreator Node.js module",
@@ -26,8 +26,8 @@
26
26
  "joi": "^17.6.0"
27
27
  },
28
28
  "peerDependencies": {
29
- "mongoose": "^6.5.3",
30
- "express": "^4.18.1",
29
+ "mongoose": "*",
30
+ "express": "*",
31
31
  "tslib": "^2.3.0"
32
32
  },
33
33
  "files": [
@@ -33,7 +33,7 @@ routes
33
33
  // Partial Update a widget
34
34
  routes
35
35
  .patch(`/:id`, (0, validate_1.default)(widgetValidation.partialUpdate), widgetController.partialUpdateWidget)
36
- .descriptor('widget.update');
36
+ .descriptor('widget.partialUpdate');
37
37
  // Delete a widget
38
38
  routes
39
39
  .delete(`/:id`, widgetController.deleteWidget)
@@ -1 +1 @@
1
- {"version":3,"file":"WidgetRoute.js","sourceRoot":"","sources":["../../../../../libs/node/src/routes/WidgetRoute.ts"],"names":[],"mappings":";;;AAAA,8DAA8B;AAC9B,8DAA8D;AAC9D,OAAO,CAAC,mCAAmC,CAAC,CAAC,iBAAO,CAAC,CAAC;AAGtD,yEAAyC;AACzC,sFAAgE;AAChE,0FAAoE;AAEpE,MAAM,MAAM,GAAG,iBAAO,CAAC,MAAM,EAAa,CAAC;AAC3C,MAAM,CAAC,GAAG,CAAC,iBAAO,CAAC,IAAI,EAAE,CAAC,CAAC;AAE3B,gBAAgB;AAChB,mBAAmB;AACnB,MAAM;KACH,GAAG,CAAC,eAAe,EAAE,gBAAgB,CAAC,cAAc,CAAC;KACrD,UAAU,CAAC,uBAAuB,CAAC,CAAC;AACvC,6BAA6B;AAC7B,MAAM;KACH,GAAG,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,iBAAiB,CAAC;KAC3D,UAAU,CAAC,0BAA0B,CAAC,CAAC;AAC1C,kBAAkB;AAClB,MAAM;KACH,IAAI,CAAC,OAAO,EAAE,IAAA,kBAAQ,EAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,gBAAgB,CAAC,UAAU,CAAC;KAC3E,UAAU,CAAC,eAAe,CAAC,CAAC;AAC/B,kBAAkB;AAClB,MAAM;KACH,IAAI,CAAC,GAAG,EAAE,IAAA,kBAAQ,EAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC,YAAY,CAAC;KAC3E,UAAU,CAAC,eAAe,CAAC,CAAC;AAC/B,kBAAkB;AAClB,MAAM;KACH,GAAG,CAAC,MAAM,EAAE,IAAA,kBAAQ,EAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC,YAAY,CAAC;KAC7E,UAAU,CAAC,eAAe,CAAC,CAAC;AAC/B,0BAA0B;AAC1B,MAAM;KACH,KAAK,CACJ,MAAM,EACN,IAAA,kBAAQ,EAAC,gBAAgB,CAAC,aAAa,CAAC,EACxC,gBAAgB,CAAC,mBAAmB,CACrC;KACA,UAAU,CAAC,eAAe,CAAC,CAAC;AAC/B,kBAAkB;AAClB,MAAM;KACH,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,YAAY,CAAC;KAC7C,UAAU,CAAC,eAAe,CAAC,CAAC;AAC/B,8BAA8B;AAC9B,MAAM;KACH,IAAI,CACH,kBAAkB,EAClB,IAAA,kBAAQ,EAAC,gBAAgB,CAAC,iBAAiB,CAAC,EAC5C,gBAAgB,CAAC,iBAAiB,CACnC;KACA,UAAU,CAAC,0BAA0B,CAAC,CAAC;AAE1C,kBAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"WidgetRoute.js","sourceRoot":"","sources":["../../../../../libs/node/src/routes/WidgetRoute.ts"],"names":[],"mappings":";;;AAAA,8DAA8B;AAC9B,8DAA8D;AAC9D,OAAO,CAAC,mCAAmC,CAAC,CAAC,iBAAO,CAAC,CAAC;AAGtD,yEAAyC;AACzC,sFAAgE;AAChE,0FAAoE;AAEpE,MAAM,MAAM,GAAG,iBAAO,CAAC,MAAM,EAAa,CAAC;AAC3C,MAAM,CAAC,GAAG,CAAC,iBAAO,CAAC,IAAI,EAAE,CAAC,CAAC;AAE3B,gBAAgB;AAChB,mBAAmB;AACnB,MAAM;KACH,GAAG,CAAC,eAAe,EAAE,gBAAgB,CAAC,cAAc,CAAC;KACrD,UAAU,CAAC,uBAAuB,CAAC,CAAC;AACvC,6BAA6B;AAC7B,MAAM;KACH,GAAG,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,iBAAiB,CAAC;KAC3D,UAAU,CAAC,0BAA0B,CAAC,CAAC;AAC1C,kBAAkB;AAClB,MAAM;KACH,IAAI,CAAC,OAAO,EAAE,IAAA,kBAAQ,EAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,gBAAgB,CAAC,UAAU,CAAC;KAC3E,UAAU,CAAC,eAAe,CAAC,CAAC;AAC/B,kBAAkB;AAClB,MAAM;KACH,IAAI,CAAC,GAAG,EAAE,IAAA,kBAAQ,EAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC,YAAY,CAAC;KAC3E,UAAU,CAAC,eAAe,CAAC,CAAC;AAC/B,kBAAkB;AAClB,MAAM;KACH,GAAG,CAAC,MAAM,EAAE,IAAA,kBAAQ,EAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC,YAAY,CAAC;KAC7E,UAAU,CAAC,eAAe,CAAC,CAAC;AAC/B,0BAA0B;AAC1B,MAAM;KACH,KAAK,CACJ,MAAM,EACN,IAAA,kBAAQ,EAAC,gBAAgB,CAAC,aAAa,CAAC,EACxC,gBAAgB,CAAC,mBAAmB,CACrC;KACA,UAAU,CAAC,sBAAsB,CAAC,CAAC;AACtC,kBAAkB;AAClB,MAAM;KACH,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,YAAY,CAAC;KAC7C,UAAU,CAAC,eAAe,CAAC,CAAC;AAC/B,8BAA8B;AAC9B,MAAM;KACH,IAAI,CACH,kBAAkB,EAClB,IAAA,kBAAQ,EAAC,gBAAgB,CAAC,iBAAiB,CAAC,EAC5C,gBAAgB,CAAC,iBAAiB,CACnC;KACA,UAAU,CAAC,0BAA0B,CAAC,CAAC;AAE1C,kBAAe,MAAM,CAAC"}
@@ -96,6 +96,10 @@ exports.list = joi_1.default.object({
96
96
  });
97
97
  exports.partialUpdate = joi_1.default.object({
98
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(),
99
103
  });
100
104
  exports.getCollectionData = joi_1.default.object({
101
105
  collectionName: joi_1.default.string().required(),
@@ -1 +1 @@
1
- {"version":3,"file":"widget.js","sourceRoot":"","sources":["../../../../../../libs/node/src/utils/validations/widget.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"widget.js","sourceRoot":"","sources":["../../../../../../libs/node/src/utils/validations/widget.ts"],"names":[],"mappings":"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"}