not-node 6.3.38 → 6.3.39

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "not-node",
3
- "version": "6.3.38",
3
+ "version": "6.3.39",
4
4
  "description": "node complimentary part for client side notFramework.",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -3,12 +3,7 @@ const getApp = require("../getApp.js"),
3
3
  HttpExceptions = require("../exceptions/http"),
4
4
  configInit = require("not-config"),
5
5
  { sayForModule } = require("not-locale"),
6
- {
7
- objHas,
8
- isFunc,
9
- executeFunctionAsAsync,
10
- firstLetterToUpper,
11
- } = require("../common"),
6
+ { objHas, isFunc, executeFunctionAsAsync } = require("../common"),
12
7
  LogInit = require("not-log");
13
8
 
14
9
  module.exports = ({
@@ -39,6 +34,7 @@ module.exports = ({
39
34
  accessRulesBuilders = {}, //per action builders, {actionName: (preapared: any, req: ExpressRequest)=>{/** pass or throw an exception **/ */}}
40
35
  accessRuleBuilder = false, //universal will be used if no dedicated action builder was found
41
36
  defaultAccessRule = false, //if builder is not found, safe by default
37
+ createForm = Form.createDefaultInstance,
42
38
  }) => {
43
39
  const Log = LogInit(target, `${MODEL_NAME}/Routes'`);
44
40
  const say = sayForModule(MODULE_NAME);
@@ -85,34 +81,25 @@ module.exports = ({
85
81
  }
86
82
  };
87
83
 
88
- const createDefaultForm = function ({ actionName, MODULE_NAME }) {
89
- const FIELDS = [
90
- ["identity", "not-node//identity"],
91
- ["data", `${MODULE_NAME}//_${MODEL_NAME}`],
92
- ];
93
- const FORM_NAME = `${MODULE_NAME}:${firstLetterToUpper(
94
- actionName
95
- )}Form`;
96
- const cls = class extends Form {
97
- constructor({ app }) {
98
- super({ FIELDS, FORM_NAME, app, MODULE_NAME });
99
- }
100
- };
101
- return new cls({ app: getApp() });
102
- };
103
-
104
84
  const getForm = (actionName) => {
105
85
  const form = getApp().getForm(
106
- [MODULE_NAME, `${MODEL_NAME}.${actionName}`].join("//")
86
+ Form.createPath(MODULE_NAME, MODEL_NAME, actionName)
107
87
  );
108
88
  if (form) {
109
89
  return form;
110
90
  }
111
- const form2 = getApp().getForm([MODULE_NAME, actionName].join("//"));
91
+ const form2 = getApp().getForm(
92
+ Form.createPath(MODULE_NAME, undefined, actionName)
93
+ );
112
94
  if (form2) {
113
95
  return form2;
114
96
  }
115
- return createDefaultForm({ actionName, MODULE_NAME });
97
+ return createForm({
98
+ app: getApp(),
99
+ MODULE_NAME,
100
+ MODEL_NAME,
101
+ actionName,
102
+ });
116
103
  };
117
104
 
118
105
  const beforeDecorator = async (req, res, next) => {
package/src/form/form.js CHANGED
@@ -3,7 +3,12 @@ const notPath = require("not-path");
3
3
  const FormFabric = require("./fabric");
4
4
  const { createSchemaFromFields } = require("../fields");
5
5
 
6
- const { objHas, isFunc, firstLetterToUpper } = require("../common");
6
+ const {
7
+ objHas,
8
+ isFunc,
9
+ firstLetterToUpper,
10
+ firstLetterToLower,
11
+ } = require("../common");
7
12
 
8
13
  const ValidationBuilder = require("not-validation").Builder;
9
14
  const ValidationSession = require("not-validation").Session;
@@ -98,6 +103,40 @@ class Form {
98
103
  this.#createRateLimiter(rate);
99
104
  }
100
105
 
106
+ static createName(MODULE_NAME, MODEL_NAME, actionName) {
107
+ return `${MODULE_NAME}:${MODEL_NAME}:${firstLetterToUpper(
108
+ actionName
109
+ )}Form`;
110
+ }
111
+
112
+ static createPath(MODULE_NAME, MODEL_NAME, actionName) {
113
+ if (MODEL_NAME) {
114
+ return `${MODULE_NAME}//${firstLetterToLower(
115
+ MODEL_NAME
116
+ )}.${actionName}`;
117
+ } else {
118
+ return `${MODULE_NAME}//${actionName}`;
119
+ }
120
+ }
121
+
122
+ /**
123
+ *
124
+ * @param {object} options
125
+ * @param {import('../app.js')} options.app
126
+ * @param {string} options.MODULE_NAME
127
+ * @param {string} options.MODEL_NAME
128
+ * @param {string} options.actionName
129
+ * @returns {object} instance of Form
130
+ */
131
+ static createDefaultInstance({ app, MODULE_NAME, MODEL_NAME, actionName }) {
132
+ const FIELDS = [
133
+ ["identity", "not-node//identity"],
134
+ ["data", `${MODULE_NAME}//_${MODEL_NAME}`],
135
+ ];
136
+ const FORM_NAME = Form.createName(MODULE_NAME, MODEL_NAME, actionName);
137
+ return new Form({ FIELDS, FORM_NAME, app, MODULE_NAME });
138
+ }
139
+
101
140
  /**
102
141
  *
103
142
  *
@@ -1,13 +1,11 @@
1
1
  //DB related validation tools
2
2
  const Form = require("../form/form");
3
- const { firstLetterToUpper } = require("../common");
3
+
4
4
  //form
5
5
  const FIELDS = [["identity", "not-node//requiredObject"]];
6
6
 
7
7
  module.exports = ({ MODULE_NAME, MODEL_NAME, actionName }) => {
8
- const FORM_NAME = `${MODULE_NAME}:${MODEL_NAME}:${firstLetterToUpper(
9
- actionName
10
- )}Form`;
8
+ const FORM_NAME = Form.createName(MODULE_NAME, MODEL_NAME, actionName);
11
9
  return class extends Form {
12
10
  constructor(params) {
13
11
  super({ ...params, MODULE_NAME, MODEL_NAME, FIELDS, FORM_NAME });
@@ -1,6 +1,6 @@
1
1
  //DB related validation tools
2
2
  const Form = require("../form/form");
3
- const { firstLetterToUpper } = require("../common");
3
+
4
4
  //form
5
5
  const FIELDS = [
6
6
  ["targetID", { required: true }, "not-node//ID"],
@@ -9,9 +9,7 @@ const FIELDS = [
9
9
  ];
10
10
 
11
11
  module.exports = ({ MODULE_NAME, MODEL_NAME, actionName = "getByID" }) => {
12
- const FORM_NAME = `${MODULE_NAME}:${MODEL_NAME}:${firstLetterToUpper(
13
- actionName
14
- )}Form`;
12
+ const FORM_NAME = Form.createName(MODULE_NAME, MODEL_NAME, actionName);
15
13
  return class extends Form {
16
14
  constructor(params) {
17
15
  super({ ...params, MODULE_NAME, MODEL_NAME, FIELDS, FORM_NAME });
@@ -1,6 +1,5 @@
1
1
  //DB related validation tools
2
2
  const Form = require("../form/form");
3
- const { firstLetterToUpper } = require("../common");
4
3
 
5
4
  //form
6
5
  const FIELDS = [
@@ -9,9 +8,7 @@ const FIELDS = [
9
8
  ];
10
9
 
11
10
  module.exports = ({ MODULE_NAME, MODEL_NAME, actionName = "getById" }) => {
12
- const FORM_NAME = `${MODULE_NAME}:${MODEL_NAME}:${firstLetterToUpper(
13
- actionName
14
- )}Form`;
11
+ const FORM_NAME = Form.createName(MODULE_NAME, MODEL_NAME, actionName);
15
12
  return class extends Form {
16
13
  constructor(params) {
17
14
  super({ ...params, MODULE_NAME, MODEL_NAME, FIELDS, FORM_NAME });
@@ -1,5 +1,5 @@
1
1
  const Form = require("../form/form");
2
- const { firstLetterToUpper } = require("../common");
2
+
3
3
  const notFilter = require("not-filter");
4
4
  const notAppIdentity = require("../identity");
5
5
 
@@ -18,9 +18,7 @@ const FIELDS = [
18
18
  * @return {Form} form class definition
19
19
  */
20
20
  const FactoryFormList = ({ MODULE_NAME, MODEL_NAME, actionName = "list" }) => {
21
- const FORM_NAME = `${MODULE_NAME}:${MODEL_NAME}:${firstLetterToUpper(
22
- actionName
23
- )}Form`;
21
+ const FORM_NAME = Form.createName(MODULE_NAME, MODEL_NAME, actionName);
24
22
 
25
23
  return class extends Form {
26
24
  constructor(params) {
@@ -1,5 +1,5 @@
1
1
  const Form = require("../form/form");
2
- const { firstLetterToUpper } = require("../common");
2
+
3
3
  const notFilter = require("not-filter");
4
4
  const notAppIdentity = require("../identity");
5
5
 
@@ -22,9 +22,7 @@ const FactoryFormListAndCount = ({
22
22
  MODEL_NAME,
23
23
  actionName = "listAndCount",
24
24
  }) => {
25
- const FORM_NAME = `${MODULE_NAME}:${MODEL_NAME}:${firstLetterToUpper(
26
- actionName
27
- )}Form`;
25
+ const FORM_NAME = Form.createName(MODULE_NAME, MODEL_NAME, actionName);
28
26
 
29
27
  return class extends Form {
30
28
  constructor(params) {