not-node 6.5.1 → 6.5.3

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.5.1",
3
+ "version": "6.5.3",
4
4
  "description": "node complimentary part for client side notFramework.",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -80,10 +80,10 @@
80
80
  "babel-eslint": "^10.1.0",
81
81
  "chai": "*",
82
82
  "chai-as-promised": "*",
83
- "eslint": "^9.9.0",
83
+ "eslint": "^9.9.1",
84
84
  "eslint-plugin-node": "^11.1.0",
85
- "eslint-plugin-sonarjs": "^1.0.4",
86
- "husky": "^9.1.4",
85
+ "eslint-plugin-sonarjs": "^2.0.2",
86
+ "husky": "^9.1.5",
87
87
  "ink-docstrap": "^1.3.2",
88
88
  "ioredis": "^5.4.1",
89
89
  "jsdoc": "^4.0.3",
@@ -91,12 +91,12 @@
91
91
  "mocha-suppress-logs": "^0.5.1",
92
92
  "mock-require": "^3.0.3",
93
93
  "mongodb-memory-server": "^10.0.0",
94
- "mongoose": "^8.5.3",
95
- "not-error": "^0.2.9",
94
+ "mongoose": "^8.6.0",
95
+ "not-error": "^0.3.0",
96
96
  "not-validation": "^0.0.9",
97
97
  "npm-run-all": "^4.1.5",
98
98
  "nyc": "^17.0.0",
99
- "retire": "^5.1.3"
99
+ "retire": "^5.2.2"
100
100
  },
101
101
  "homepage": "https://github.com/interrupter/not-node#readme",
102
102
  "nyc": {
@@ -37,8 +37,7 @@ module.exports = ({
37
37
  accessRuleBuilder = false, //universal will be used if no dedicated action builder was found
38
38
  defaultAccessRule = false, //if builder is not found, safe by default
39
39
  createForm = createDefaultFormInstance,
40
- formValidators = {},
41
- dataValidators = {},
40
+ formsProps = {},
42
41
  }) => {
43
42
  const Log = LogInit(target, `${MODEL_NAME}/Routes'`);
44
43
  const say = sayForModule(MODULE_NAME);
@@ -90,28 +89,42 @@ module.exports = ({
90
89
  MODULE_NAME,
91
90
  MODEL_NAME,
92
91
  actionName,
93
- validators,
94
- dataValidators,
92
+ formProps,
95
93
  }) => {
96
94
  if (Object.keys(genericFormsGenerators).includes(actionName)) {
97
- return new genericFormsGenerators[actionName]({
95
+ const formConstructor = genericFormsGenerators[actionName]({
98
96
  app,
99
97
  MODULE_NAME,
100
98
  MODEL_NAME,
101
99
  actionName,
102
- validators,
103
- dataValidators,
104
- })(app);
100
+ ...formProps,
101
+ });
102
+ return new formConstructor({
103
+ app,
104
+ MODULE_NAME,
105
+ MODEL_NAME,
106
+ actionName,
107
+ ...formProps,
108
+ });
105
109
  } else {
106
110
  createForm({
107
111
  app: getApp(),
108
112
  MODULE_NAME,
109
113
  MODEL_NAME,
110
114
  actionName,
115
+ ...formProps,
111
116
  });
112
117
  }
113
118
  };
114
119
 
120
+ const selectActionFormProps = (formProps, actionName) => {
121
+ if (Object.hasOwn(formProps, actionName)) {
122
+ return formProps[actionName];
123
+ } else {
124
+ return {};
125
+ }
126
+ };
127
+
115
128
  const getForm = (actionName) => {
116
129
  //trying inited and cached
117
130
  const fullFormPath = Form.createPath(
@@ -132,13 +145,13 @@ module.exports = ({
132
145
  return form2;
133
146
  }
134
147
  //creating new from generics lib
148
+
135
149
  const newelyCreatedForm = initGenericActionForm({
136
150
  MODULE_NAME,
137
151
  MODEL_NAME,
138
152
  actionName,
139
153
  app: getApp(),
140
- validators: formValidators,
141
- dataValidators,
154
+ formProps: selectActionFormProps(formsProps, actionName),
142
155
  });
143
156
  //caching
144
157
  getApp()
@@ -1,4 +1,26 @@
1
1
  const { ACTION_SIGNATURES } = require("../auth/const");
2
+
3
+ module.exports.rootAdmin = Object.freeze({
4
+ [ACTION_SIGNATURES.CREATE]: ["root", "admin"],
5
+ [ACTION_SIGNATURES.READ]: ["root", "admin"],
6
+ [ACTION_SIGNATURES.UPDATE]: ["root", "admin"],
7
+ [ACTION_SIGNATURES.DELETE]: ["root", "admin"],
8
+ });
9
+
10
+ module.exports.rootAdminCRUD_ownerR = Object.freeze({
11
+ [ACTION_SIGNATURES.CREATE]: ["root", "admin"],
12
+ [ACTION_SIGNATURES.READ]: ["root", "admin", "@owner"],
13
+ [ACTION_SIGNATURES.UPDATE]: ["root", "admin"],
14
+ [ACTION_SIGNATURES.DELETE]: ["root", "admin"],
15
+ });
16
+
17
+ module.exports.rootAdminCRUD_allR = Object.freeze({
18
+ [ACTION_SIGNATURES.CREATE]: ["root", "admin"],
19
+ [ACTION_SIGNATURES.READ]: ["root", "admin", "@*"],
20
+ [ACTION_SIGNATURES.UPDATE]: ["root", "admin"],
21
+ [ACTION_SIGNATURES.DELETE]: ["root", "admin"],
22
+ });
23
+
2
24
  /**
3
25
  * owner can manage own documents
4
26
  * root, admin - any own and any of client, user, guest
@@ -31,6 +53,13 @@ module.exports.systemManageable = Object.freeze({
31
53
  [ACTION_SIGNATURES.DELETE]: ["@system"],
32
54
  });
33
55
 
56
+ module.exports.systemManageableSecret = Object.freeze({
57
+ [ACTION_SIGNATURES.CREATE]: ["@system"],
58
+ [ACTION_SIGNATURES.READ]: ["@system"],
59
+ [ACTION_SIGNATURES.UPDATE]: ["@system"],
60
+ [ACTION_SIGNATURES.DELETE]: ["@system"],
61
+ });
62
+
34
63
  /**
35
64
  * anyone could read, public readable data
36
65
  */