not-node 4.0.18 → 5.0.1
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/.eslintrc.json +2 -7
- package/package.json +9 -9
- package/src/app.js +2 -2
- package/src/common.js +73 -57
- package/src/core/config.json +2 -16
- package/src/core/fields/ID.js +2 -2
- package/src/core/fields/__closed.js +5 -0
- package/src/core/fields/__latest.js +5 -0
- package/src/core/fields/__version.js +5 -0
- package/src/core/fields/__versions.js +5 -0
- package/src/core/fields/active.js +1 -1
- package/src/core/fields/codeName.js +2 -2
- package/src/core/fields/createdAt.js +2 -2
- package/src/core/fields/default.js +1 -1
- package/src/core/fields/description.js +2 -2
- package/src/core/fields/enabled.js +1 -1
- package/src/core/fields/expiredAt.js +2 -2
- package/src/core/fields/height.js +2 -2
- package/src/core/fields/ip.js +2 -2
- package/src/core/fields/objectId.js +13 -0
- package/src/core/fields/owner.js +4 -1
- package/src/core/fields/ownerModel.js +3 -0
- package/src/core/fields/price.js +2 -2
- package/src/core/fields/session.js +2 -2
- package/src/core/fields/size.js +2 -2
- package/src/core/fields/title.js +2 -2
- package/src/core/fields/updatedAt.js +2 -2
- package/src/core/fields/userId.js +2 -2
- package/src/core/fields/uuid.js +2 -2
- package/src/core/fields/validators/owner.js +4 -0
- package/src/core/fields/width.js +2 -2
- package/src/core/index.js +6 -0
- package/src/domain.js +71 -48
- package/src/fields/.old.js +193 -0
- package/src/fields/index.js +106 -92
- package/src/form/form.js +138 -35
- package/src/init/app.js +8 -1
- package/src/init/db/ioredis.js +0 -1
- package/src/init/index.js +1 -1
- package/src/init/layers/fields.js +7 -0
- package/src/init/layers/forms.js +0 -0
- package/src/init/layers/models.js +0 -0
- package/src/init/layers/routes.js +0 -0
- package/src/init/sequence.standart.js +3 -3
- package/src/manifest/batchRunner.js +33 -0
- package/src/manifest/initializator/forms.js +30 -0
- package/src/manifest/initializator/index.js +24 -0
- package/src/manifest/initializator/manifests.js +47 -0
- package/src/manifest/initializator/models.js +39 -0
- package/src/manifest/module.js +55 -29
- package/src/manifest/registrator/fields.js +33 -17
- package/src/manifest/registrator/forms.js +2 -2
- package/src/manifest/registrator/index.js +3 -27
- package/src/manifest/registrator/locales.js +1 -1
- package/src/manifest/registrator/logics.js +3 -3
- package/src/manifest/registrator/models.js +3 -3
- package/src/manifest/registrator/routes.js +1 -1
- package/src/model/enrich.js +4 -4
- package/src/model/proto.js +0 -1
- package/test/module/fields.js +7 -3
- package/test/notApp.js +2 -2
package/.eslintrc.json
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
{
|
|
2
|
-
"parser": "@babel/eslint-parser",
|
|
3
2
|
"parserOptions": {
|
|
4
3
|
"requireConfigFile": false,
|
|
5
4
|
"sourceType": "module",
|
|
@@ -7,7 +6,7 @@
|
|
|
7
6
|
"ecmaFeatures": {
|
|
8
7
|
"globalReturn": false
|
|
9
8
|
},
|
|
10
|
-
"ecmaVersion":
|
|
9
|
+
"ecmaVersion": "latest"
|
|
11
10
|
},
|
|
12
11
|
"env": {
|
|
13
12
|
"es6": true,
|
|
@@ -18,10 +17,8 @@
|
|
|
18
17
|
"extends": [
|
|
19
18
|
"eslint:recommended",
|
|
20
19
|
"plugin:node/recommended",
|
|
21
|
-
"plugin:sonarjs/recommended"
|
|
22
|
-
"plugin:promise/recommended"
|
|
20
|
+
"plugin:sonarjs/recommended"
|
|
23
21
|
],
|
|
24
|
-
"plugins": ["promise"],
|
|
25
22
|
"rules": {
|
|
26
23
|
"node/exports-style": ["error", "module.exports"],
|
|
27
24
|
"node/file-extension-in-import": ["error", "always"],
|
|
@@ -30,8 +27,6 @@
|
|
|
30
27
|
"node/prefer-global/process": ["error", "always"],
|
|
31
28
|
"node/prefer-global/url-search-params": ["error", "always"],
|
|
32
29
|
"node/prefer-global/url": ["error", "always"],
|
|
33
|
-
"node/prefer-promises/dns": "error",
|
|
34
|
-
"node/prefer-promises/fs": "error",
|
|
35
30
|
"node/no-unpublished-require": "warn",
|
|
36
31
|
"indent": ["error", 2],
|
|
37
32
|
"linebreak-style": [
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "not-node",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "5.0.1",
|
|
4
4
|
"description": "node complimentary part for client side notFramework.",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
7
7
|
"test": "./node_modules/.bin/mocha --require mocha-suppress-logs --reporter spec --timeout 12000",
|
|
8
|
-
"lint": "./node_modules/.bin/eslint ./src
|
|
9
|
-
"pretest": "./node_modules/.bin/eslint ./src
|
|
8
|
+
"lint": "./node_modules/.bin/eslint ./src --fix",
|
|
9
|
+
"pretest": "./node_modules/.bin/eslint ./src",
|
|
10
10
|
"docs": "./node_modules/.bin/jsdoc -c jsdoc.json",
|
|
11
11
|
"js-watch": "watch 'npm run cover' ./src ./test --interval=5",
|
|
12
12
|
"watch:build:cover:dev": "npm-run-all --parallel js-watch",
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"url": "https://github.com/interrupter/not-node/issues"
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"body-parser": "^1.19.
|
|
36
|
+
"body-parser": "^1.19.1",
|
|
37
37
|
"compression": "^1.7.4",
|
|
38
38
|
"connect-mongodb-session": "^3.1.1",
|
|
39
39
|
"connect-redis": "^6.0.0",
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"deepmerge": "^4.2.2",
|
|
43
43
|
"ejs": "^3.1.6",
|
|
44
44
|
"escape-string-regexp": "*",
|
|
45
|
-
"express": "^4.17.
|
|
45
|
+
"express": "^4.17.2",
|
|
46
46
|
"express-fileupload": "^1.2.1",
|
|
47
47
|
"express-session": "^1.17.2",
|
|
48
48
|
"fs-extra": "*",
|
|
@@ -61,22 +61,22 @@
|
|
|
61
61
|
"not-log": "^0.0.20",
|
|
62
62
|
"not-monitor": "^0.0.13",
|
|
63
63
|
"not-path": "*",
|
|
64
|
+
"not-validation": "^0.0.1",
|
|
64
65
|
"rate-limiter-flexible": "^2.3.6",
|
|
65
|
-
"redis": "^4.0.
|
|
66
|
+
"redis": "^4.0.1",
|
|
66
67
|
"rfdc": "^1.3.0",
|
|
67
68
|
"rmdir": "^1.2.0",
|
|
68
69
|
"serve-static": "*",
|
|
69
70
|
"simple-git": "*",
|
|
71
|
+
"validator": "*",
|
|
70
72
|
"yargs": "*"
|
|
71
73
|
},
|
|
72
74
|
"devDependencies": {
|
|
73
|
-
"@babel/eslint-parser": "^7.16.3",
|
|
74
75
|
"babel-eslint": "^10.1.0",
|
|
75
76
|
"chai": "*",
|
|
76
77
|
"chai-as-promised": "*",
|
|
77
|
-
"eslint": "^
|
|
78
|
+
"eslint": "^8.4.1",
|
|
78
79
|
"eslint-plugin-node": "^11.1.0",
|
|
79
|
-
"eslint-plugin-promise": "^5.2.0",
|
|
80
80
|
"eslint-plugin-sonarjs": "^0.11.0",
|
|
81
81
|
"ink-docstrap": "^1.3.2",
|
|
82
82
|
"ioredis": "^4.28.2",
|
package/src/app.js
CHANGED
|
@@ -61,8 +61,8 @@ class notApp extends notDomain {
|
|
|
61
61
|
**/
|
|
62
62
|
collectManifest(creds){
|
|
63
63
|
let manifest = {};
|
|
64
|
-
for (let modName of
|
|
65
|
-
manifest = merge(manifest, this.
|
|
64
|
+
for (let modName of this.getModulesNames()) {
|
|
65
|
+
manifest = merge(manifest, this.getModule(modName).getManifest(creds));
|
|
66
66
|
}
|
|
67
67
|
return manifest;
|
|
68
68
|
}
|
package/src/common.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
const fs = require('fs');
|
|
2
|
+
const path = require('path');
|
|
2
3
|
const notPath = require('not-path');
|
|
3
4
|
|
|
4
5
|
/** @module Common */
|
|
@@ -8,7 +9,7 @@ const notPath = require('not-path');
|
|
|
8
9
|
* @return {string} result
|
|
9
10
|
*/
|
|
10
11
|
|
|
11
|
-
module.exports.firstLetterToLower = function
|
|
12
|
+
module.exports.firstLetterToLower = function(string) {
|
|
12
13
|
return string.charAt(0).toLowerCase() + string.slice(1);
|
|
13
14
|
};
|
|
14
15
|
|
|
@@ -18,7 +19,7 @@ module.exports.firstLetterToLower = function (string) {
|
|
|
18
19
|
* @return {string} result
|
|
19
20
|
*/
|
|
20
21
|
|
|
21
|
-
module.exports.firstLetterToUpper = function
|
|
22
|
+
module.exports.firstLetterToUpper = function(string) {
|
|
22
23
|
return string.charAt(0).toUpperCase() + string.slice(1);
|
|
23
24
|
};
|
|
24
25
|
|
|
@@ -27,10 +28,10 @@ module.exports.firstLetterToUpper = function (string) {
|
|
|
27
28
|
* @param {string} id ObjectId string to validate
|
|
28
29
|
* @return {booelean} true if check is not failed
|
|
29
30
|
*/
|
|
30
|
-
module.exports.validateObjectId = (id)=>{
|
|
31
|
-
try{
|
|
32
|
-
return id.match(/^[0-9a-fA-F]{24}$/)?true:false;
|
|
33
|
-
}catch(e){
|
|
31
|
+
module.exports.validateObjectId = (id) => {
|
|
32
|
+
try {
|
|
33
|
+
return id.match(/^[0-9a-fA-F]{24}$/) ? true : false;
|
|
34
|
+
} catch (e) {
|
|
34
35
|
return false;
|
|
35
36
|
}
|
|
36
37
|
};
|
|
@@ -41,24 +42,24 @@ module.exports.validateObjectId = (id)=>{
|
|
|
41
42
|
* @param {string|ObjectId} secondId second id
|
|
42
43
|
* @return {booelean} true if equal
|
|
43
44
|
*/
|
|
44
|
-
module.exports.compareObjectIds = (firstId, secondId)=>{
|
|
45
|
-
try{
|
|
46
|
-
let a = firstId,
|
|
47
|
-
|
|
45
|
+
module.exports.compareObjectIds = (firstId, secondId) => {
|
|
46
|
+
try {
|
|
47
|
+
let a = firstId,
|
|
48
|
+
b = secondId;
|
|
49
|
+
if (typeof firstId !== 'string') {
|
|
48
50
|
a = a.toString();
|
|
49
51
|
}
|
|
50
|
-
if(typeof secondId !== 'string'){
|
|
52
|
+
if (typeof secondId !== 'string') {
|
|
51
53
|
b = b.toString();
|
|
52
54
|
}
|
|
53
|
-
if(
|
|
54
|
-
!module.exports.validateObjectId(a)
|
|
55
|
-
||
|
|
55
|
+
if (
|
|
56
|
+
!module.exports.validateObjectId(a) ||
|
|
56
57
|
!module.exports.validateObjectId(b)
|
|
57
|
-
){
|
|
58
|
+
) {
|
|
58
59
|
return false;
|
|
59
60
|
}
|
|
60
61
|
return a === b;
|
|
61
|
-
}catch(e){
|
|
62
|
+
} catch (e) {
|
|
62
63
|
return false;
|
|
63
64
|
}
|
|
64
65
|
};
|
|
@@ -67,9 +68,9 @@ module.exports.compareObjectIds = (firstId, secondId)=>{
|
|
|
67
68
|
* Returns today Date object without hours, minutes, seconds
|
|
68
69
|
* @return {number} current date with 00:00:00 in ms of unix time
|
|
69
70
|
*/
|
|
70
|
-
module.exports.getTodayDate = ()=>{
|
|
71
|
+
module.exports.getTodayDate = () => {
|
|
71
72
|
let t = new Date();
|
|
72
|
-
return (new Date(t.getFullYear(), t.getMonth(),t.getDate())).getTime();
|
|
73
|
+
return (new Date(t.getFullYear(), t.getMonth(), t.getDate())).getTime();
|
|
73
74
|
};
|
|
74
75
|
|
|
75
76
|
|
|
@@ -84,22 +85,22 @@ module.exports.objHas = objHas;
|
|
|
84
85
|
|
|
85
86
|
|
|
86
87
|
/**
|
|
87
|
-
* Copies object to secure it from changes
|
|
88
|
-
* @param {object} obj original object
|
|
89
|
-
* @return {object} copy of object
|
|
90
|
-
**/
|
|
88
|
+
* Copies object to secure it from changes
|
|
89
|
+
* @param {object} obj original object
|
|
90
|
+
* @return {object} copy of object
|
|
91
|
+
**/
|
|
91
92
|
module.exports.copyObj = (obj) => {
|
|
92
93
|
return JSON.parse(JSON.stringify(obj));
|
|
93
94
|
};
|
|
94
95
|
|
|
95
96
|
/**
|
|
96
|
-
* Copies object to secure it from changes
|
|
97
|
-
* @param {object} obj original object
|
|
98
|
-
* @return {object} copy of object
|
|
99
|
-
**/
|
|
97
|
+
* Copies object to secure it from changes
|
|
98
|
+
* @param {object} obj original object
|
|
99
|
+
* @return {object} copy of object
|
|
100
|
+
**/
|
|
100
101
|
module.exports.partCopyObj = (obj, list) => {
|
|
101
|
-
let partObj =
|
|
102
|
-
if(list.includes(curr)){
|
|
102
|
+
let partObj = Object.keys(obj).reduce((prev, curr) => {
|
|
103
|
+
if (list.includes(curr)) {
|
|
103
104
|
prev[curr] = obj[curr];
|
|
104
105
|
}
|
|
105
106
|
return prev;
|
|
@@ -109,38 +110,38 @@ module.exports.partCopyObj = (obj, list) => {
|
|
|
109
110
|
|
|
110
111
|
|
|
111
112
|
/**
|
|
112
|
-
* Test argument type to be 'function'
|
|
113
|
-
* @param {any} func possible function
|
|
114
|
-
* @return {boolean} if this is a function
|
|
115
|
-
**/
|
|
113
|
+
* Test argument type to be 'function'
|
|
114
|
+
* @param {any} func possible function
|
|
115
|
+
* @return {boolean} if this is a function
|
|
116
|
+
**/
|
|
116
117
|
const isFunc = module.exports.isFunc = (func) => {
|
|
117
118
|
return typeof func === 'function';
|
|
118
119
|
};
|
|
119
120
|
|
|
120
121
|
/**
|
|
121
|
-
* Returns true if argument is Async function
|
|
122
|
-
* @param {function} func to test
|
|
123
|
-
* @return {boolean} if this function is constructed as AsyncFunction
|
|
124
|
-
**/
|
|
122
|
+
* Returns true if argument is Async function
|
|
123
|
+
* @param {function} func to test
|
|
124
|
+
* @return {boolean} if this function is constructed as AsyncFunction
|
|
125
|
+
**/
|
|
125
126
|
const isAsync = module.exports.isAsync = (func) => {
|
|
126
127
|
return func.constructor.name === 'AsyncFunction';
|
|
127
128
|
};
|
|
128
129
|
|
|
129
130
|
|
|
130
131
|
/**
|
|
131
|
-
* Executes method of object in appropriate way inside Promise
|
|
132
|
-
* @param {object} obj original object
|
|
133
|
-
* @param {string} name method name to execute
|
|
134
|
-
* @param {Array} params array of params
|
|
135
|
-
* @return {Promise} results of method execution
|
|
136
|
-
**/
|
|
132
|
+
* Executes method of object in appropriate way inside Promise
|
|
133
|
+
* @param {object} obj original object
|
|
134
|
+
* @param {string} name method name to execute
|
|
135
|
+
* @param {Array} params array of params
|
|
136
|
+
* @return {Promise} results of method execution
|
|
137
|
+
**/
|
|
137
138
|
module.exports.executeObjectFunction = async (obj, name, params) => {
|
|
138
|
-
if (obj){
|
|
139
|
+
if (obj) {
|
|
139
140
|
const proc = notPath.get(':' + name, obj);
|
|
140
|
-
if(isFunc(proc)){
|
|
141
|
-
if(isAsync(proc)){
|
|
141
|
+
if (isFunc(proc)) {
|
|
142
|
+
if (isAsync(proc)) {
|
|
142
143
|
return await proc(...params);
|
|
143
|
-
}else{
|
|
144
|
+
} else {
|
|
144
145
|
return proc(...params);
|
|
145
146
|
}
|
|
146
147
|
}
|
|
@@ -149,14 +150,14 @@ module.exports.executeObjectFunction = async (obj, name, params) => {
|
|
|
149
150
|
|
|
150
151
|
|
|
151
152
|
/**
|
|
152
|
-
* Executes method of object in apropriate way inside Promise
|
|
153
|
-
* @param {Object} from original object
|
|
154
|
-
* @param {Object} name method name to execute
|
|
155
|
-
* @param {Array} list array of params
|
|
156
|
-
* @return {Promise} results of method execution
|
|
157
|
-
**/
|
|
153
|
+
* Executes method of object in apropriate way inside Promise
|
|
154
|
+
* @param {Object} from original object
|
|
155
|
+
* @param {Object} name method name to execute
|
|
156
|
+
* @param {Array} list array of params
|
|
157
|
+
* @return {Promise} results of method execution
|
|
158
|
+
**/
|
|
158
159
|
module.exports.mapBind = (from, to, list) => {
|
|
159
|
-
list.forEach((item)=>{
|
|
160
|
+
list.forEach((item) => {
|
|
160
161
|
if (typeof from[item] === 'function') {
|
|
161
162
|
to[item] = from[item].bind(from);
|
|
162
163
|
}
|
|
@@ -165,10 +166,10 @@ module.exports.mapBind = (from, to, list) => {
|
|
|
165
166
|
|
|
166
167
|
|
|
167
168
|
/**
|
|
168
|
-
* Synchronously check file existence and if it's really a file
|
|
169
|
-
* @param {string} filePath full path to file
|
|
170
|
-
* @return {boolean} true if path exists and it's a file
|
|
171
|
-
**/
|
|
169
|
+
* Synchronously check file existence and if it's really a file
|
|
170
|
+
* @param {string} filePath full path to file
|
|
171
|
+
* @return {boolean} true if path exists and it's a file
|
|
172
|
+
**/
|
|
172
173
|
module.exports.tryFile = (filePath) => {
|
|
173
174
|
try {
|
|
174
175
|
const stat = fs.lstatSync(filePath);
|
|
@@ -177,3 +178,18 @@ module.exports.tryFile = (filePath) => {
|
|
|
177
178
|
return false;
|
|
178
179
|
}
|
|
179
180
|
};
|
|
181
|
+
|
|
182
|
+
/**
|
|
183
|
+
* Generates paths object for module/index.js files based on content and relative
|
|
184
|
+
* path
|
|
185
|
+
* @param {Array<string>} content list of module components ['models', 'logics', 'routes',...]
|
|
186
|
+
* @param {string} relative path to parent folder of components
|
|
187
|
+
* @param {Object} paths object for module/index.js
|
|
188
|
+
**/
|
|
189
|
+
module.exports.generatePaths = (content = [], relative = 'src') => {
|
|
190
|
+
const toPath = (name) => path.join(relative, name);
|
|
191
|
+
return content.reduce((prev, cur) => {
|
|
192
|
+
prev[cur] = toPath(cur);
|
|
193
|
+
return prev;
|
|
194
|
+
}, {});
|
|
195
|
+
};
|
package/src/core/config.json
CHANGED
|
@@ -54,8 +54,6 @@
|
|
|
54
54
|
},
|
|
55
55
|
"lang": {},
|
|
56
56
|
"modules": {
|
|
57
|
-
"options": {},
|
|
58
|
-
"informer": {},
|
|
59
57
|
"filter": {
|
|
60
58
|
"size": 15,
|
|
61
59
|
"default": {
|
|
@@ -73,25 +71,13 @@
|
|
|
73
71
|
}
|
|
74
72
|
},
|
|
75
73
|
"middleware": {
|
|
76
|
-
"not-
|
|
77
|
-
"not-locale": {},
|
|
78
|
-
"not-options": {}
|
|
74
|
+
"not-locale": {}
|
|
79
75
|
},
|
|
80
76
|
"importModulesFromNPM": [
|
|
81
|
-
"not-user",
|
|
82
|
-
"not-notification",
|
|
83
|
-
"not-inform",
|
|
84
77
|
"not-locale",
|
|
85
|
-
"not-inform-rule-tag",
|
|
86
|
-
"not-inform-sink-email",
|
|
87
|
-
"not-inform-sink-notification",
|
|
88
|
-
"not-inform-sink-ws",
|
|
89
78
|
"not-dbdump",
|
|
90
79
|
"not-ws",
|
|
91
|
-
"not-options",
|
|
92
80
|
"not-filter",
|
|
93
|
-
"not-
|
|
94
|
-
"not-error",
|
|
95
|
-
"not-key"
|
|
81
|
+
"not-error"
|
|
96
82
|
]
|
|
97
83
|
}
|
package/src/core/fields/ID.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
module.exports = {
|
|
2
2
|
ui: {
|
|
3
3
|
component: 'UITextfield',
|
|
4
|
-
placeholder: '
|
|
5
|
-
label: '
|
|
4
|
+
placeholder: 'not-node:field_codeName_placeholder',
|
|
5
|
+
label: 'not-node:field_codeName_label'
|
|
6
6
|
},
|
|
7
7
|
model: {
|
|
8
8
|
type: String,
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
module.exports = {
|
|
2
2
|
ui:{
|
|
3
3
|
component: 'UITextfield',
|
|
4
|
-
label: '
|
|
5
|
-
placeholder: "
|
|
4
|
+
label: 'not-node:field_createdAt_label',
|
|
5
|
+
placeholder: "not-node:field_createdAt_placeholder",
|
|
6
6
|
readonly: true
|
|
7
7
|
},
|
|
8
8
|
model: {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
module.exports = {
|
|
2
2
|
ui:{
|
|
3
3
|
component: 'UITextarea',
|
|
4
|
-
placeholder: '
|
|
5
|
-
label: '
|
|
4
|
+
placeholder: 'not-node:field_description_placeholder',
|
|
5
|
+
label: 'not-node:field_description_label'
|
|
6
6
|
},
|
|
7
7
|
model:{
|
|
8
8
|
type: String,
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
module.exports = {
|
|
2
2
|
ui:{
|
|
3
3
|
component: 'UITextfield',
|
|
4
|
-
label: '
|
|
5
|
-
placeholder: '
|
|
4
|
+
label: 'not-node:field_expiredAt_label',
|
|
5
|
+
placeholder: 'not-node:field_expiredAt_placeholder',
|
|
6
6
|
readonly: true
|
|
7
7
|
},
|
|
8
8
|
model:{
|
package/src/core/fields/ip.js
CHANGED
package/src/core/fields/owner.js
CHANGED
package/src/core/fields/price.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
module.exports = {
|
|
2
2
|
ui:{
|
|
3
3
|
component: 'UITextfield',
|
|
4
|
-
label: '
|
|
5
|
-
placeholder: '
|
|
4
|
+
label: 'not-node:field_session_label',
|
|
5
|
+
placeholder: 'not-node:field_session_placeholder'
|
|
6
6
|
},
|
|
7
7
|
model:{
|
|
8
8
|
type: String,
|
package/src/core/fields/size.js
CHANGED
package/src/core/fields/title.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
module.exports = {
|
|
2
2
|
ui:{
|
|
3
3
|
component: 'UITextfield',
|
|
4
|
-
label: '
|
|
5
|
-
placeholder: '
|
|
4
|
+
label: 'not-node:field_updatedAt_label',
|
|
5
|
+
placeholder: 'not-node:field_updatedAt_placeholder',
|
|
6
6
|
readonly: true
|
|
7
7
|
},
|
|
8
8
|
model: {
|
|
@@ -4,8 +4,8 @@ const Schema = require('mongoose').Schema;
|
|
|
4
4
|
module.exports = {
|
|
5
5
|
ui:{
|
|
6
6
|
component: 'UITextfield',
|
|
7
|
-
label: '
|
|
8
|
-
placeholder: '
|
|
7
|
+
label: 'not-node:field_userId_label',
|
|
8
|
+
placeholder: 'not-node:field_userId_placeholder'
|
|
9
9
|
},
|
|
10
10
|
model: {
|
|
11
11
|
type: Schema.Types.ObjectId,
|
package/src/core/fields/uuid.js
CHANGED
package/src/core/fields/width.js
CHANGED