owservable 0.5.0 → 0.6.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 (32) hide show
  1. package/README.md +24 -2
  2. package/lib/_types/cronjob.type.d.ts +7 -0
  3. package/lib/_types/cronjob.type.js +3 -0
  4. package/lib/_types/cronjob.type.js.map +1 -0
  5. package/lib/_types/observer.type.d.ts +5 -0
  6. package/lib/_types/observer.type.js +3 -0
  7. package/lib/_types/observer.type.js.map +1 -0
  8. package/lib/_types/worker.type.d.ts +5 -0
  9. package/lib/_types/worker.type.js +3 -0
  10. package/lib/_types/worker.type.js.map +1 -0
  11. package/lib/functions/get.subfolder.paths.by.folder.name.d.ts +2 -0
  12. package/lib/functions/get.subfolder.paths.by.folder.name.js +20 -0
  13. package/lib/functions/get.subfolder.paths.by.folder.name.js.map +1 -0
  14. package/lib/functions/initiate.cronjobs.d.ts +2 -0
  15. package/lib/functions/initiate.cronjobs.js +28 -0
  16. package/lib/functions/initiate.cronjobs.js.map +1 -0
  17. package/lib/functions/initiate.observers.d.ts +2 -0
  18. package/lib/functions/initiate.observers.js +27 -0
  19. package/lib/functions/initiate.observers.js.map +1 -0
  20. package/lib/functions/initiate.workers.d.ts +2 -0
  21. package/lib/functions/initiate.workers.js +27 -0
  22. package/lib/functions/initiate.workers.js.map +1 -0
  23. package/lib/mongodb/functions/process.models.d.ts +1 -1
  24. package/lib/mongodb/functions/process.models.js +11 -6
  25. package/lib/mongodb/functions/process.models.js.map +1 -1
  26. package/lib/owservable.d.ts +9 -2
  27. package/lib/owservable.js +10 -2
  28. package/lib/owservable.js.map +1 -1
  29. package/lib/routing/functions/add.fastify.routes.d.ts +1 -1
  30. package/lib/routing/functions/add.fastify.routes.js +9 -3
  31. package/lib/routing/functions/add.fastify.routes.js.map +1 -1
  32. package/package.json +1 -1
package/README.md CHANGED
@@ -48,6 +48,24 @@ This is a map of all defined Data Middleware methods.
48
48
  A Data Middleware is tied to a store scope ```'count' | 'one' | 'many'``` and collection name and is used to modify an observed payload if necessary. For example, if based on users
49
49
  access permissions a portion of the payload needs to be removed or replaced, etc.
50
50
 
51
+ ### initiateObservers
52
+
53
+ Method that initiates all observers. Takes the project root folder path and a global folder name for the observers.
54
+
55
+ Observers can either perform simple tasks or add jobs to a queue, to be processed by the workers.
56
+
57
+ ### initiateCronjobs
58
+
59
+ Method that initiates all cronjobs. Takes the project root folder path and a global folder name for the cronjobs.
60
+
61
+ Cronjobs can either perform simple tasks or add jobs to a queue, to be processed by the workers.
62
+
63
+ ### initiateWorkers
64
+
65
+ Method that initiates all workers. Takes the project root folder path and a global folder name for the workers.
66
+
67
+ Workers can either perform simple tasks or take jobs from a queue.
68
+
51
69
  ## MongoDB
52
70
 
53
71
  ### MongoDBConnector
@@ -56,7 +74,8 @@ A MongoDB database connector class, used to initialize the database collection w
56
74
 
57
75
  ### processModels
58
76
 
59
- This method parses all models and adds them to the ```CollectionsModelsMap``` if they pass validation. The method takes the folder path for the models and an optional folder name(
77
+ This method parses all models and adds them to the ```CollectionsModelsMap``` if they pass validation. The method takes the project root folder path and a global folder name for
78
+ the models and an optional folder name(
60
79
  s) to exclude, for example ```mixins``` and similar.
61
80
 
62
81
  ### CollectionsModelsMap
@@ -86,7 +105,7 @@ This is a map of all available routes. It is populated automatically during the
86
105
 
87
106
  ### addFastifyRoutes
88
107
 
89
- This method adds all routes to fastify automatically. It requires as parameters a fastify instance and routes folder path.
108
+ This method adds all routes to fastify automatically. It requires as parameters a fastify instance, the project root folder path and a global folder name for the routes.
90
109
 
91
110
  ### cleanRelativePath
92
111
 
@@ -122,6 +141,9 @@ Store factory method, creates an appropriate AStore instance based on passed sub
122
141
 
123
142
  These types are self explanatory.
124
143
 
144
+ - CronJobType
145
+ - WorkerType
146
+ - ObserverType
125
147
  - StoreScopeType
126
148
  - StoreSubscriptionConfigType
127
149
  - StoreSubscriptionUpdateType
@@ -0,0 +1,7 @@
1
+ declare type CronJobType = {
2
+ schedule: string;
3
+ job: () => void;
4
+ options?: any;
5
+ init?: () => Promise<void>;
6
+ };
7
+ export default CronJobType;
@@ -0,0 +1,3 @@
1
+ 'use strict';
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=cronjob.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cronjob.type.js","sourceRoot":"","sources":["../../src/_types/cronjob.type.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC"}
@@ -0,0 +1,5 @@
1
+ declare type ObserverType = {
2
+ init?: () => Promise<void>;
3
+ observe: () => void;
4
+ };
5
+ export default ObserverType;
@@ -0,0 +1,3 @@
1
+ 'use strict';
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=observer.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"observer.type.js","sourceRoot":"","sources":["../../src/_types/observer.type.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC"}
@@ -0,0 +1,5 @@
1
+ declare type WorkerType = {
2
+ init?: () => Promise<void>;
3
+ work: () => void;
4
+ };
5
+ export default WorkerType;
@@ -0,0 +1,3 @@
1
+ 'use strict';
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=worker.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker.type.js","sourceRoot":"","sources":["../../src/_types/worker.type.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC"}
@@ -0,0 +1,2 @@
1
+ declare const getSubfolderPathsByFolderName: (root: string, name: string) => string[];
2
+ export default getSubfolderPathsByFolderName;
@@ -0,0 +1,20 @@
1
+ 'use strict';
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const fs = require("fs");
4
+ const path = require("path");
5
+ const lodash_1 = require("lodash");
6
+ const getSubfolderPathsByFolderName = (root, name) => {
7
+ let folders = [];
8
+ const subfolderNames = fs.readdirSync(root);
9
+ const subfolders = (0, lodash_1.filter)(subfolderNames, (subfolderName) => fs.lstatSync(path.join(root, subfolderName)).isDirectory());
10
+ (0, lodash_1.each)(subfolders, (subfolder) => {
11
+ const fullPath = path.join(root, subfolder);
12
+ if (name === subfolder)
13
+ folders.push(fullPath);
14
+ else
15
+ folders = (0, lodash_1.concat)(folders, getSubfolderPathsByFolderName(fullPath, name));
16
+ });
17
+ return folders;
18
+ };
19
+ exports.default = getSubfolderPathsByFolderName;
20
+ //# sourceMappingURL=get.subfolder.paths.by.folder.name.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get.subfolder.paths.by.folder.name.js","sourceRoot":"","sources":["../../src/functions/get.subfolder.paths.by.folder.name.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,yBAAyB;AACzB,6BAA6B;AAE7B,mCAA4C;AAE5C,MAAM,6BAA6B,GAAG,CAAC,IAAY,EAAE,IAAY,EAAY,EAAE;IAC9E,IAAI,OAAO,GAAa,EAAE,CAAC;IAE3B,MAAM,cAAc,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,UAAU,GAAG,IAAA,eAAM,EAAC,cAAc,EAAE,CAAC,aAAqB,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IAEjI,IAAA,aAAI,EAAC,UAAU,EAAE,CAAC,SAAS,EAAE,EAAE;QAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC5C,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;;YAC1C,OAAO,GAAG,IAAA,eAAM,EAAC,OAAO,EAAE,6BAA6B,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AAChB,CAAC,CAAC;AACF,kBAAe,6BAA6B,CAAC"}
@@ -0,0 +1,2 @@
1
+ declare const initiateCronjobs: (root: string, name?: string) => void;
2
+ export default initiateCronjobs;
@@ -0,0 +1,28 @@
1
+ 'use strict';
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const fs = require("fs");
4
+ const path = require("path");
5
+ const lodash_1 = require("lodash");
6
+ const cron = require("node-cron");
7
+ const get_subfolder_paths_by_folder_name_1 = require("./get.subfolder.paths.by.folder.name");
8
+ const _initiateCronjobs = (folder) => {
9
+ const subfolderNames = fs.readdirSync(folder);
10
+ const files = (0, lodash_1.filter)(subfolderNames, (name) => !fs.lstatSync(path.join(folder, name)).isDirectory());
11
+ (0, lodash_1.each)(files, (file) => {
12
+ const absoluteFilePath = path.join(folder, file);
13
+ const cronjob = require(absoluteFilePath).default;
14
+ const { schedule, job, options, init } = cronjob;
15
+ if ((0, lodash_1.isFunction)(init))
16
+ init().then(() => cron.schedule(schedule, job, options));
17
+ else
18
+ cron.schedule(schedule, job, options);
19
+ });
20
+ const folders = (0, lodash_1.filter)(subfolderNames, (name) => fs.lstatSync(path.join(folder, name)).isDirectory());
21
+ (0, lodash_1.each)(folders, (sub) => _initiateCronjobs(path.join(folder, sub)));
22
+ };
23
+ const initiateCronjobs = (root, name = 'cronjobs') => {
24
+ const folders = (0, get_subfolder_paths_by_folder_name_1.default)(root, name);
25
+ (0, lodash_1.each)(folders, _initiateCronjobs);
26
+ };
27
+ exports.default = initiateCronjobs;
28
+ //# sourceMappingURL=initiate.cronjobs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initiate.cronjobs.js","sourceRoot":"","sources":["../../src/functions/initiate.cronjobs.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,yBAAyB;AACzB,6BAA6B;AAE7B,mCAAgD;AAChD,kCAAkC;AAGlC,6FAAiF;AAEjF,MAAM,iBAAiB,GAAG,CAAC,MAAc,EAAQ,EAAE;IAClD,MAAM,cAAc,GAAG,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC9C,MAAM,KAAK,GAAG,IAAA,eAAM,EAAC,cAAc,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IACrG,IAAA,aAAI,EAAC,KAAK,EAAE,CAAC,IAAY,EAAE,EAAE;QAC5B,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACjD,MAAM,OAAO,GAAgB,OAAO,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC;QAE/D,MAAM,EAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAC,GAAG,OAAO,CAAC;QAC/C,IAAI,IAAA,mBAAU,EAAC,IAAI,CAAC;YAAE,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;;YAC1E,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,IAAA,eAAM,EAAC,cAAc,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IAC9G,IAAA,aAAI,EAAC,OAAO,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AAC3E,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAE,OAAe,UAAU,EAAQ,EAAE;IAC1E,MAAM,OAAO,GAAa,IAAA,4CAA6B,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACpE,IAAA,aAAI,EAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;AAClC,CAAC,CAAC;AACF,kBAAe,gBAAgB,CAAC"}
@@ -0,0 +1,2 @@
1
+ declare const initiateObservers: (root: string, name?: string) => void;
2
+ export default initiateObservers;
@@ -0,0 +1,27 @@
1
+ 'use strict';
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const fs = require("fs");
4
+ const path = require("path");
5
+ const lodash_1 = require("lodash");
6
+ const get_subfolder_paths_by_folder_name_1 = require("./get.subfolder.paths.by.folder.name");
7
+ const _initiateObservers = (folder) => {
8
+ const subfolderNames = fs.readdirSync(folder);
9
+ const files = (0, lodash_1.filter)(subfolderNames, (name) => !fs.lstatSync(path.join(folder, name)).isDirectory());
10
+ (0, lodash_1.each)(files, (file) => {
11
+ const absoluteFilePath = path.join(folder, file);
12
+ const observer = require(absoluteFilePath).default;
13
+ const { init, observe } = observer;
14
+ if ((0, lodash_1.isFunction)(init))
15
+ init().then(() => observe === null || observe === void 0 ? void 0 : observe());
16
+ else
17
+ observe === null || observe === void 0 ? void 0 : observe();
18
+ });
19
+ const folders = (0, lodash_1.filter)(subfolderNames, (name) => fs.lstatSync(path.join(folder, name)).isDirectory());
20
+ (0, lodash_1.each)(folders, (sub) => _initiateObservers(path.join(folder, sub)));
21
+ };
22
+ const initiateObservers = (root, name = 'observers') => {
23
+ const folders = (0, get_subfolder_paths_by_folder_name_1.default)(root, name);
24
+ (0, lodash_1.each)(folders, _initiateObservers);
25
+ };
26
+ exports.default = initiateObservers;
27
+ //# sourceMappingURL=initiate.observers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initiate.observers.js","sourceRoot":"","sources":["../../src/functions/initiate.observers.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,yBAAyB;AACzB,6BAA6B;AAE7B,mCAAgD;AAGhD,6FAAiF;AAEjF,MAAM,kBAAkB,GAAG,CAAC,MAAc,EAAQ,EAAE;IACnD,MAAM,cAAc,GAAG,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC9C,MAAM,KAAK,GAAG,IAAA,eAAM,EAAC,cAAc,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IACrG,IAAA,aAAI,EAAC,KAAK,EAAE,CAAC,IAAY,EAAE,EAAE;QAC5B,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACjD,MAAM,QAAQ,GAAiB,OAAO,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC;QAEjE,MAAM,EAAC,IAAI,EAAE,OAAO,EAAC,GAAG,QAAQ,CAAC;QACjC,IAAI,IAAA,mBAAU,EAAC,IAAI,CAAC;YAAE,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,EAAI,CAAC,CAAC;;YAChD,OAAO,aAAP,OAAO,uBAAP,OAAO,EAAI,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,IAAA,eAAM,EAAC,cAAc,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IAC9G,IAAA,aAAI,EAAC,OAAO,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AAC5E,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,IAAY,EAAE,OAAe,WAAW,EAAQ,EAAE;IAC5E,MAAM,OAAO,GAAa,IAAA,4CAA6B,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACpE,IAAA,aAAI,EAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;AACnC,CAAC,CAAC;AACF,kBAAe,iBAAiB,CAAC"}
@@ -0,0 +1,2 @@
1
+ declare const initiateWorkers: (root: string, name?: string) => void;
2
+ export default initiateWorkers;
@@ -0,0 +1,27 @@
1
+ 'use strict';
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const fs = require("fs");
4
+ const path = require("path");
5
+ const lodash_1 = require("lodash");
6
+ const get_subfolder_paths_by_folder_name_1 = require("./get.subfolder.paths.by.folder.name");
7
+ const _initiateWorkers = (folder) => {
8
+ const subfolderNames = fs.readdirSync(folder);
9
+ const files = (0, lodash_1.filter)(subfolderNames, (name) => !fs.lstatSync(path.join(folder, name)).isDirectory());
10
+ (0, lodash_1.each)(files, (file) => {
11
+ const absoluteFilePath = path.join(folder, file);
12
+ const worker = require(absoluteFilePath).default;
13
+ const { init, work } = worker;
14
+ if ((0, lodash_1.isFunction)(init))
15
+ init().then(() => work === null || work === void 0 ? void 0 : work());
16
+ else
17
+ work === null || work === void 0 ? void 0 : work();
18
+ });
19
+ const folders = (0, lodash_1.filter)(subfolderNames, (name) => fs.lstatSync(path.join(folder, name)).isDirectory());
20
+ (0, lodash_1.each)(folders, (sub) => _initiateWorkers(path.join(folder, sub)));
21
+ };
22
+ const initiateWorkers = (root, name = 'workers') => {
23
+ const folders = (0, get_subfolder_paths_by_folder_name_1.default)(root, name);
24
+ (0, lodash_1.each)(folders, _initiateWorkers);
25
+ };
26
+ exports.default = initiateWorkers;
27
+ //# sourceMappingURL=initiate.workers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initiate.workers.js","sourceRoot":"","sources":["../../src/functions/initiate.workers.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,yBAAyB;AACzB,6BAA6B;AAE7B,mCAAgD;AAGhD,6FAAiF;AAEjF,MAAM,gBAAgB,GAAG,CAAC,MAAc,EAAQ,EAAE;IACjD,MAAM,cAAc,GAAG,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC9C,MAAM,KAAK,GAAG,IAAA,eAAM,EAAC,cAAc,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IACrG,IAAA,aAAI,EAAC,KAAK,EAAE,CAAC,IAAY,EAAE,EAAE;QAC5B,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACjD,MAAM,MAAM,GAAe,OAAO,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC;QAE7D,MAAM,EAAC,IAAI,EAAE,IAAI,EAAC,GAAG,MAAM,CAAC;QAC5B,IAAI,IAAA,mBAAU,EAAC,IAAI,CAAC;YAAE,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,EAAI,CAAC,CAAC;;YAC7C,IAAI,aAAJ,IAAI,uBAAJ,IAAI,EAAI,CAAC;IACf,CAAC,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,IAAA,eAAM,EAAC,cAAc,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IAC9G,IAAA,aAAI,EAAC,OAAO,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AAC1E,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,IAAY,EAAE,OAAe,SAAS,EAAQ,EAAE;IACxE,MAAM,OAAO,GAAa,IAAA,4CAA6B,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACpE,IAAA,aAAI,EAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;AACjC,CAAC,CAAC;AACF,kBAAe,eAAe,CAAC"}
@@ -1,2 +1,2 @@
1
- declare const processModels: (folder: string, exclude?: string | string[]) => void;
1
+ declare const processModels: (root: string, name?: string, exclude?: string | string[]) => void;
2
2
  export default processModels;
@@ -4,6 +4,7 @@ const fs = require("fs");
4
4
  const path = require("path");
5
5
  const lodash_1 = require("lodash");
6
6
  const collections_models_map_1 = require("../collections.models.map");
7
+ const get_subfolder_paths_by_folder_name_1 = require("../../functions/get.subfolder.paths.by.folder.name");
7
8
  const _processFile = (folder, file) => {
8
9
  const fullPath = path.join(folder, file);
9
10
  const model = require(fullPath).default;
@@ -20,19 +21,23 @@ const _isExcluded = (folder, exclude) => {
20
21
  ? (0, lodash_1.endsWith)(folder, exclude)
21
22
  : !!(0, lodash_1.find)(exclude, (e) => (0, lodash_1.endsWith)(folder, e));
22
23
  };
23
- const processModels = (folder, exclude) => {
24
+ const _processModels = (folder, exclude) => {
24
25
  if (_isExcluded(folder, exclude))
25
26
  return;
26
- const fileNames = fs.readdirSync(folder);
27
- const files = (0, lodash_1.filter)(fileNames, (fileName) => !fs.lstatSync(path.join(folder, fileName)).isDirectory());
28
- files.forEach((file) => {
27
+ const subfolderNames = fs.readdirSync(folder);
28
+ const files = (0, lodash_1.filter)(subfolderNames, (fileName) => !fs.lstatSync(path.join(folder, fileName)).isDirectory());
29
+ (0, lodash_1.each)(files, (file) => {
29
30
  const ext = path.extname(file);
30
31
  if (ext !== '.ts' && ext !== '.js')
31
32
  return;
32
33
  _processFile(folder, file);
33
34
  });
34
- const folders = (0, lodash_1.filter)(fileNames, (fileName) => fs.lstatSync(path.join(folder, fileName)).isDirectory());
35
- folders.forEach((sub) => processModels(path.join(folder, sub), exclude));
35
+ const folders = (0, lodash_1.filter)(subfolderNames, (fileName) => fs.lstatSync(path.join(folder, fileName)).isDirectory());
36
+ (0, lodash_1.each)(folders, (sub) => _processModels(path.join(folder, sub), exclude));
37
+ };
38
+ const processModels = (root, name = 'models', exclude) => {
39
+ const folders = (0, get_subfolder_paths_by_folder_name_1.default)(root, name);
40
+ (0, lodash_1.each)(folders, (folder) => _processModels(folder, exclude));
36
41
  };
37
42
  exports.default = processModels;
38
43
  //# sourceMappingURL=process.models.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"process.models.js","sourceRoot":"","sources":["../../../src/mongodb/functions/process.models.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,yBAAyB;AACzB,6BAA6B;AAE7B,mCAAwD;AAExD,sEAA6D;AAE7D,MAAM,YAAY,GAAG,CAAC,MAAc,EAAE,IAAY,EAAQ,EAAE;IAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC;IACxC,IAAI,CAAC,KAAK;QAAE,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,sBAAsB,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC;SACxE,IAAI,CAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,UAAU,CAAA;QAAE,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,mCAAmC,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC;IAC3G,gCAAoB,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC;AACzD,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,MAAc,EAAE,OAA0B,EAAW,EAAE;IAC3E,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAC3B,OAAO,IAAA,iBAAQ,EAAC,OAAO,CAAC;QACvB,CAAC,CAAC,IAAA,iBAAQ,EAAC,MAAM,EAAE,OAAO,CAAC;QAC3B,CAAC,CAAC,CAAC,CAAC,IAAA,aAAI,EAAC,OAAO,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,IAAA,iBAAQ,EAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;AACxD,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,MAAc,EAAE,OAA2B,EAAQ,EAAE;IAC3E,IAAI,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC;QAAE,OAAO;IAEzC,MAAM,SAAS,GAAG,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,IAAA,eAAM,EAAC,SAAS,EAAE,CAAC,QAAgB,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IAChH,KAAK,CAAC,OAAO,CAAC,CAAC,IAAY,EAAE,EAAE;QAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,KAAK;YAAE,OAAO;QAC3C,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,IAAA,eAAM,EAAC,SAAS,EAAE,CAAC,QAAgB,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IACjH,OAAO,CAAC,OAAO,CAAC,CAAC,GAAW,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;AAClF,CAAC,CAAC;AACF,kBAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"process.models.js","sourceRoot":"","sources":["../../../src/mongodb/functions/process.models.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,yBAAyB;AACzB,6BAA6B;AAE7B,mCAA8D;AAE9D,sEAA6D;AAC7D,2GAA+F;AAE/F,MAAM,YAAY,GAAG,CAAC,MAAc,EAAE,IAAY,EAAQ,EAAE;IAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC;IACxC,IAAI,CAAC,KAAK;QAAE,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,sBAAsB,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC;SACxE,IAAI,CAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,UAAU,CAAA;QAAE,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,mCAAmC,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC;IAC3G,gCAAoB,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC;AACzD,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,MAAc,EAAE,OAA0B,EAAW,EAAE;IAC3E,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAC3B,OAAO,IAAA,iBAAQ,EAAC,OAAO,CAAC;QACvB,CAAC,CAAC,IAAA,iBAAQ,EAAC,MAAM,EAAE,OAAO,CAAC;QAC3B,CAAC,CAAC,CAAC,CAAC,IAAA,aAAI,EAAC,OAAO,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,IAAA,iBAAQ,EAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;AACxD,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,MAAc,EAAE,OAA2B,EAAQ,EAAE;IAC5E,IAAI,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC;QAAE,OAAO;IAEzC,MAAM,cAAc,GAAG,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC9C,MAAM,KAAK,GAAG,IAAA,eAAM,EAAC,cAAc,EAAE,CAAC,QAAgB,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IACrH,IAAA,aAAI,EAAC,KAAK,EAAE,CAAC,IAAY,EAAE,EAAE;QAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,KAAK;YAAE,OAAO;QAC3C,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,IAAA,eAAM,EAAC,cAAc,EAAE,CAAC,QAAgB,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IACtH,IAAA,aAAI,EAAC,OAAO,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;AACjF,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,OAAe,QAAQ,EAAE,OAA2B,EAAQ,EAAE;IAClG,MAAM,OAAO,GAAa,IAAA,4CAA6B,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACpE,IAAA,aAAI,EAAC,OAAO,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AACpE,CAAC,CAAC;AACF,kBAAe,aAAa,CAAC"}
@@ -1,14 +1,21 @@
1
1
  import OwservableClient from './owservable.client';
2
2
  import EStoreType from './_enums/store.type.enum';
3
3
  import ConnectionManagerRefreshType from './_types/connection.manager.refresh.type';
4
+ import CronJobType from './_types/cronjob.type';
5
+ import ObserverType from './_types/observer.type';
4
6
  import StoreScopeType from './_types/store.scope.type';
5
7
  import StoreSubscriptionConfigType from './_types/store.subscription.config.type';
6
8
  import StoreSubscriptionUpdateType from './_types/store.subscription.update.type';
9
+ import WorkerType from './_types/worker.type';
7
10
  import IConnectionManager from './auth/i.connection.manager';
11
+ import initiateWorkers from './functions/initiate.workers';
12
+ import initiateCronjobs from './functions/initiate.cronjobs';
13
+ import initiateObservers from './functions/initiate.observers';
14
+ import getSubfolderPathsByFolderName from './functions/get.subfolder.paths.by.folder.name';
8
15
  import DataMiddlewareMap from './middleware/data.middleware.map';
9
16
  import MongoDBConnector from './mongodb/mongodb.connector';
10
17
  import CollectionsModelsMap from './mongodb/collections.models.map';
11
- import processModels from './mongodb/functions/process.models';
18
+ import _processModels from './mongodb/functions/process.models';
12
19
  import observableModel from './mongodb/functions/observable.model';
13
20
  import observableDatabase from './mongodb/functions/observable.database';
14
21
  import RoutesMap from './routing/routes.map';
@@ -20,6 +27,6 @@ import CountStore from './store/count.store';
20
27
  import DocumentStore from './store/document.store';
21
28
  import CollectionStore from './store/collection.store';
22
29
  import storeFactory from './store/factories/store.factory';
23
- export { OwservableClient, EStoreType, ConnectionManagerRefreshType, StoreScopeType, StoreSubscriptionConfigType, StoreSubscriptionUpdateType, IConnectionManager, DataMiddlewareMap, MongoDBConnector, CollectionsModelsMap, processModels, observableModel, observableDatabase, RoutesMap, addFastifyRoutes, cleanRelativePath, processFastifyBlipp, AStore, CountStore, DocumentStore, CollectionStore, storeFactory };
30
+ export { OwservableClient, EStoreType, ConnectionManagerRefreshType, CronJobType, ObserverType, StoreScopeType, StoreSubscriptionConfigType, StoreSubscriptionUpdateType, WorkerType, IConnectionManager, getSubfolderPathsByFolderName, initiateWorkers, initiateObservers, initiateCronjobs, DataMiddlewareMap, MongoDBConnector, CollectionsModelsMap, _processModels, observableModel, observableDatabase, RoutesMap, addFastifyRoutes, cleanRelativePath, processFastifyBlipp, AStore, CountStore, DocumentStore, CollectionStore, storeFactory };
24
31
  declare const Owservable: {};
25
32
  export default Owservable;
package/lib/owservable.js CHANGED
@@ -1,10 +1,18 @@
1
1
  'use strict';
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.storeFactory = exports.CollectionStore = exports.DocumentStore = exports.CountStore = exports.AStore = exports.processFastifyBlipp = exports.cleanRelativePath = exports.addFastifyRoutes = exports.RoutesMap = exports.observableDatabase = exports.observableModel = exports.processModels = exports.CollectionsModelsMap = exports.MongoDBConnector = exports.DataMiddlewareMap = exports.EStoreType = exports.OwservableClient = void 0;
3
+ exports.storeFactory = exports.CollectionStore = exports.DocumentStore = exports.CountStore = exports.AStore = exports.processFastifyBlipp = exports.cleanRelativePath = exports.addFastifyRoutes = exports.RoutesMap = exports.observableDatabase = exports.observableModel = exports._processModels = exports.CollectionsModelsMap = exports.MongoDBConnector = exports.DataMiddlewareMap = exports.initiateCronjobs = exports.initiateObservers = exports.initiateWorkers = exports.getSubfolderPathsByFolderName = exports.EStoreType = exports.OwservableClient = void 0;
4
4
  const owservable_client_1 = require("./owservable.client");
5
5
  exports.OwservableClient = owservable_client_1.default;
6
6
  const store_type_enum_1 = require("./_enums/store.type.enum");
7
7
  exports.EStoreType = store_type_enum_1.default;
8
+ const initiate_workers_1 = require("./functions/initiate.workers");
9
+ exports.initiateWorkers = initiate_workers_1.default;
10
+ const initiate_cronjobs_1 = require("./functions/initiate.cronjobs");
11
+ exports.initiateCronjobs = initiate_cronjobs_1.default;
12
+ const initiate_observers_1 = require("./functions/initiate.observers");
13
+ exports.initiateObservers = initiate_observers_1.default;
14
+ const get_subfolder_paths_by_folder_name_1 = require("./functions/get.subfolder.paths.by.folder.name");
15
+ exports.getSubfolderPathsByFolderName = get_subfolder_paths_by_folder_name_1.default;
8
16
  const data_middleware_map_1 = require("./middleware/data.middleware.map");
9
17
  exports.DataMiddlewareMap = data_middleware_map_1.default;
10
18
  const mongodb_connector_1 = require("./mongodb/mongodb.connector");
@@ -12,7 +20,7 @@ exports.MongoDBConnector = mongodb_connector_1.default;
12
20
  const collections_models_map_1 = require("./mongodb/collections.models.map");
13
21
  exports.CollectionsModelsMap = collections_models_map_1.default;
14
22
  const process_models_1 = require("./mongodb/functions/process.models");
15
- exports.processModels = process_models_1.default;
23
+ exports._processModels = process_models_1.default;
16
24
  const observable_model_1 = require("./mongodb/functions/observable.model");
17
25
  exports.observableModel = observable_model_1.default;
18
26
  const observable_database_1 = require("./mongodb/functions/observable.database");
@@ -1 +1 @@
1
- {"version":3,"file":"owservable.js","sourceRoot":"","sources":["../src/owservable.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;AAEb,2DAAmD;AA4ClD,2BA5CM,2BAAgB,CA4CN;AAzCjB,8DAAkD;AA2CjD,qBA3CM,yBAAU,CA2CN;AA/BX,0EAAiE;AAwChE,4BAxCM,6BAAiB,CAwCN;AArClB,mEAA2D;AAuC1D,2BAvCM,2BAAgB,CAuCN;AAtCjB,6EAAoE;AAuCnE,+BAvCM,gCAAoB,CAuCN;AApCrB,uEAA+D;AAsC9D,wBAtCM,wBAAa,CAsCN;AArCd,2EAAmE;AAsClE,0BAtCM,0BAAe,CAsCN;AArChB,iFAAyE;AAsCxE,6BAtCM,6BAAkB,CAsCN;AAnCnB,qDAA6C;AAqC5C,oBArCM,oBAAS,CAqCN;AAlCV,+EAAsE;AAoCrE,2BApCM,4BAAgB,CAoCN;AAnCjB,iFAAwE;AAoCvE,4BApCM,6BAAiB,CAoCN;AAnClB,qFAA4E;AAoC3E,8BApCM,+BAAmB,CAoCN;AAjCpB,6CAAqC;AAmCpC,iBAnCM,iBAAM,CAmCN;AAlCP,qDAA6C;AAmC5C,qBAnCM,qBAAU,CAmCN;AAlCX,2DAAmD;AAmClD,wBAnCM,wBAAa,CAmCN;AAlCd,+DAAuD;AAmCtD,0BAnCM,0BAAe,CAmCN;AAhChB,mEAA2D;AAkC1D,uBAlCM,uBAAY,CAkCN;AAGb,MAAM,UAAU,GAAG,EAAE,CAAC;AACtB,kBAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"owservable.js","sourceRoot":"","sources":["../src/owservable.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;AAEb,2DAAmD;AAqDlD,2BArDM,2BAAgB,CAqDN;AAlDjB,8DAAkD;AAoDjD,qBApDM,yBAAU,CAoDN;AArCX,mEAA2D;AAkD1D,0BAlDM,0BAAe,CAkDN;AAjDhB,qEAA6D;AAmD5D,2BAnDM,2BAAgB,CAmDN;AAlDjB,uEAA+D;AAiD9D,4BAjDM,4BAAiB,CAiDN;AAhDlB,uGAA2F;AA8C1F,wCA9CM,4CAA6B,CA8CN;AA3C9B,0EAAiE;AAgDhE,4BAhDM,6BAAiB,CAgDN;AA7ClB,mEAA2D;AA+C1D,2BA/CM,2BAAgB,CA+CN;AA9CjB,6EAAoE;AA+CnE,+BA/CM,gCAAoB,CA+CN;AA5CrB,uEAAgE;AA8C/D,yBA9CM,wBAAc,CA8CN;AA7Cf,2EAAmE;AA8ClE,0BA9CM,0BAAe,CA8CN;AA7ChB,iFAAyE;AA8CxE,6BA9CM,6BAAkB,CA8CN;AA3CnB,qDAA6C;AA6C5C,oBA7CM,oBAAS,CA6CN;AA1CV,+EAAsE;AA4CrE,2BA5CM,4BAAgB,CA4CN;AA3CjB,iFAAwE;AA4CvE,4BA5CM,6BAAiB,CA4CN;AA3ClB,qFAA4E;AA4C3E,8BA5CM,+BAAmB,CA4CN;AAzCpB,6CAAqC;AA2CpC,iBA3CM,iBAAM,CA2CN;AA1CP,qDAA6C;AA2C5C,qBA3CM,qBAAU,CA2CN;AA1CX,2DAAmD;AA2ClD,wBA3CM,wBAAa,CA2CN;AA1Cd,+DAAuD;AA2CtD,0BA3CM,0BAAe,CA2CN;AAxChB,mEAA2D;AA0C1D,uBA1CM,uBAAY,CA0CN;AAGb,MAAM,UAAU,GAAG,EAAE,CAAC;AACtB,kBAAe,UAAU,CAAC"}
@@ -1,2 +1,2 @@
1
- declare const addFastifyRoutes: (fastify: any, folder: string) => void;
1
+ declare const addFastifyRoutes: (fastify: any, root: string, name?: string) => void;
2
2
  export default addFastifyRoutes;
@@ -4,6 +4,8 @@ const fs = require("fs");
4
4
  const path = require("path");
5
5
  const _ = require("lodash");
6
6
  const clean_relative_path_1 = require("./clean.relative.path");
7
+ const get_subfolder_paths_by_folder_name_1 = require("../../functions/get.subfolder.paths.by.folder.name");
8
+ const lodash_1 = require("lodash");
7
9
  let routesRootFolder;
8
10
  const METHODS = ['GET', 'HEAD', 'POST', 'PUT', 'DELETE', 'OPTIONS', 'PATCH'];
9
11
  const _fixUrl = (url, relativeFilePath) => {
@@ -26,12 +28,12 @@ const _addRoute = (fastify, route, relativeFilePath) => {
26
28
  if (_.isPlainObject(route) && METHODS.includes(route.method))
27
29
  fastify.route(route);
28
30
  };
29
- const addFastifyRoutes = (fastify, folder) => {
31
+ const _addFastifyRoutes = (fastify, folder) => {
30
32
  if (!routesRootFolder)
31
33
  routesRootFolder = folder;
32
34
  const fileNames = fs.readdirSync(folder);
33
35
  const files = _.filter(fileNames, (name) => !fs.lstatSync(path.join(folder, name)).isDirectory());
34
- files.forEach((file) => {
36
+ _.each(files, (file) => {
35
37
  const ext = path.extname(file);
36
38
  if (ext !== '.ts' && ext !== '.js')
37
39
  return;
@@ -44,7 +46,11 @@ const addFastifyRoutes = (fastify, folder) => {
44
46
  _addRoute(fastify, route, relativeFilePath);
45
47
  });
46
48
  const folders = _.filter(fileNames, (name) => fs.lstatSync(path.join(folder, name)).isDirectory());
47
- folders.forEach((sub) => addFastifyRoutes(fastify, path.join(folder, sub)));
49
+ _.each(folders, (sub) => _addFastifyRoutes(fastify, path.join(folder, sub)));
50
+ };
51
+ const addFastifyRoutes = (fastify, root, name = 'routes') => {
52
+ const folders = (0, get_subfolder_paths_by_folder_name_1.default)(root, name);
53
+ (0, lodash_1.each)(folders, (folder) => _addFastifyRoutes(fastify, folder));
48
54
  };
49
55
  exports.default = addFastifyRoutes;
50
56
  //# sourceMappingURL=add.fastify.routes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"add.fastify.routes.js","sourceRoot":"","sources":["../../../src/routing/functions/add.fastify.routes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"add.fastify.routes.js","sourceRoot":"","sources":["../../../src/routing/functions/add.fastify.routes.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "owservable",
3
- "version": "0.5.0",
3
+ "version": "0.6.0",
4
4
  "description": "owservable fastify backend",
5
5
  "engines": {
6
6
  "node": ">=14"