not-node 6.5.35 → 6.5.36
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 +2 -1
- package/src/common.js +40 -0
- package/src/core/fields/ID.js +7 -0
- package/src/core/fields/__version.js +7 -1
- package/src/core/fields/__versions.js +3 -1
- package/src/core/fields/_id.js +3 -2
- package/src/core/fields/boolean.js +3 -0
- package/src/core/fields/boolean.system.js +5 -2
- package/src/core/fields/codeName.js +3 -0
- package/src/core/fields/createdAt.js +3 -1
- package/src/core/fields/description.js +6 -0
- package/src/core/fields/email.js +3 -0
- package/src/core/fields/expiredAt.js +3 -1
- package/src/core/fields/height.js +6 -1
- package/src/core/fields/identity.js +2 -0
- package/src/core/fields/ip.js +3 -0
- package/src/core/fields/objectId.js +2 -0
- package/src/core/fields/ownerModel.js +3 -1
- package/src/core/fields/price.js +6 -1
- package/src/core/fields/requiredObject.js +2 -0
- package/src/core/fields/session.js +3 -0
- package/src/core/fields/size.js +6 -1
- package/src/core/fields/title.js +3 -0
- package/src/core/fields/updatedAt.js +3 -1
- package/src/core/fields/uuid.js +3 -0
- package/src/core/fields/width.js +6 -1
- package/src/core/index.js +2 -1
- package/src/core/validators/boolean.false.js +8 -0
- package/src/core/validators/boolean.js +8 -0
- package/src/core/validators/boolean.true.js +8 -0
- package/src/core/validators/date.js +11 -0
- package/src/core/validators/index.js +33 -0
- package/src/core/validators/number.int.js +9 -0
- package/src/core/validators/number.js +8 -0
- package/src/core/validators/number.positive.js +9 -0
- package/src/core/validators/number.positive.or.zero.js +9 -0
- package/src/core/validators/object.identity.js +110 -0
- package/src/core/validators/object.js +10 -0
- package/src/core/validators/objectId.js +13 -0
- package/src/core/{fields/validators → validators}/objectId.list.js +6 -1
- package/src/core/validators/string.10-10000.js +32 -0
- package/src/core/{fields/validators/email.js → validators/string.email.js} +1 -0
- package/src/core/{fields/validators/ip.js → validators/string.ip.js} +3 -2
- package/src/core/validators/string.js +8 -0
- package/src/core/{fields/validators/title.js → validators/string.not.empty.js} +4 -3
- package/src/core/{fields/validators/telephone.js → validators/string.telephone.js} +2 -1
- package/src/core/{fields/validators/uuid.js → validators/string.uuid.js} +2 -1
- package/src/form/form.js +4 -0
- package/src/form/transformers/parseNumber.js +1 -1
- package/src/identity/index.js +9 -2
- package/test/core.validators.js +790 -0
- package/src/core/fields/validators/ID.js +0 -20
- package/src/core/fields/validators/boolean.js +0 -1
- package/src/core/fields/validators/boolean.system.js +0 -8
- package/src/core/fields/validators/codeName.js +0 -16
- package/src/core/fields/validators/date.js +0 -8
- package/src/core/fields/validators/description.js +0 -33
- package/src/core/fields/validators/identity.js +0 -68
- package/src/core/fields/validators/modelName.js +0 -16
- package/src/core/fields/validators/objectId.js +0 -12
- package/src/core/fields/validators/owner.js +0 -8
- package/src/core/fields/validators/positive.or.zero.number.js +0 -14
- package/src/core/fields/validators/requiredObject.js +0 -10
- package/src/core/fields/validators/session.js +0 -16
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
module.exports = [
|
|
2
|
+
{
|
|
3
|
+
validator: (val, { validator }) => {
|
|
4
|
+
return (
|
|
5
|
+
val &&
|
|
6
|
+
((typeof val === "string" && validator.isMongoId(val)) ||
|
|
7
|
+
(typeof val.toString === "function" &&
|
|
8
|
+
validator.isMongoId(val.toString())))
|
|
9
|
+
);
|
|
10
|
+
},
|
|
11
|
+
message: `not-node:value_item_format_is_not_objectId`,
|
|
12
|
+
},
|
|
13
|
+
];
|
|
@@ -7,5 +7,10 @@ module.exports = [
|
|
|
7
7
|
},
|
|
8
8
|
message: `not-node:value_is_not_array`,
|
|
9
9
|
},
|
|
10
|
-
|
|
10
|
+
{
|
|
11
|
+
validator: (val, envs) => {
|
|
12
|
+
return val.every((item) => objectId.at(0)?.validator(item, envs));
|
|
13
|
+
},
|
|
14
|
+
message: `not-node:value_items_are_not_all_objectId`,
|
|
15
|
+
},
|
|
11
16
|
];
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
const { MODULE_NAME } = require("../const");
|
|
2
|
+
|
|
3
|
+
const DEFAULT_MIN_LEN = 10;
|
|
4
|
+
const DEFAULT_MAX_LEN = 10000;
|
|
5
|
+
|
|
6
|
+
module.exports = [
|
|
7
|
+
...require("./string"),
|
|
8
|
+
{
|
|
9
|
+
validator: (val, { config }) => {
|
|
10
|
+
const MIN_LEN =
|
|
11
|
+
(config && config.get(`fields.description.minLen`)) ||
|
|
12
|
+
DEFAULT_MIN_LEN;
|
|
13
|
+
if (val.length < MIN_LEN) {
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
return true;
|
|
17
|
+
},
|
|
18
|
+
message: `${MODULE_NAME}:value_is_too_short_10`,
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
validator: (val, { config }) => {
|
|
22
|
+
const MAX_LEN =
|
|
23
|
+
(config && config.get(`fields.description.maxLen`)) ||
|
|
24
|
+
DEFAULT_MAX_LEN;
|
|
25
|
+
if (val.length > MAX_LEN) {
|
|
26
|
+
return false;
|
|
27
|
+
}
|
|
28
|
+
return true;
|
|
29
|
+
},
|
|
30
|
+
message: `${MODULE_NAME}:value_is_too_long_10000`,
|
|
31
|
+
},
|
|
32
|
+
];
|
|
@@ -1,16 +1,17 @@
|
|
|
1
|
-
const { MODULE_NAME } = require("
|
|
1
|
+
const { MODULE_NAME } = require("../const");
|
|
2
2
|
|
|
3
3
|
module.exports = [
|
|
4
|
+
...require("./string"),
|
|
4
5
|
{
|
|
5
6
|
validator: (val) => {
|
|
6
7
|
return typeof val === "string";
|
|
7
8
|
},
|
|
8
|
-
message: `${MODULE_NAME}:
|
|
9
|
+
message: `${MODULE_NAME}:value_type_is_not_string`,
|
|
9
10
|
},
|
|
10
11
|
{
|
|
11
12
|
validator: (val) => {
|
|
12
13
|
return val.length;
|
|
13
14
|
},
|
|
14
|
-
message: `${MODULE_NAME}:
|
|
15
|
+
message: `${MODULE_NAME}:value_is_empty`,
|
|
15
16
|
},
|
|
16
17
|
];
|
package/src/form/form.js
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
const Schema = require("mongoose").Schema;
|
|
2
|
+
|
|
2
3
|
const validator = require("validator");
|
|
4
|
+
const Ajv = require("ajv");
|
|
5
|
+
|
|
3
6
|
const notPath = require("not-path");
|
|
4
7
|
const notConfig = require("not-config");
|
|
5
8
|
const FormFabric = require("./fabric");
|
|
@@ -42,6 +45,7 @@ const { ACTION_DATA_TYPES } = require("../const.js");
|
|
|
42
45
|
|
|
43
46
|
const DEFAULT_VALIDATOR_ENVS = {
|
|
44
47
|
validator,
|
|
48
|
+
ajv: new Ajv(),
|
|
45
49
|
env: true, //some env variables for validators
|
|
46
50
|
};
|
|
47
51
|
|
package/src/identity/index.js
CHANGED
|
@@ -13,7 +13,7 @@ module.exports = class notAppIdentity {
|
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
static identityToAuthData(identity, req) {
|
|
16
|
-
|
|
16
|
+
const data = {
|
|
17
17
|
root: identity.isRoot(),
|
|
18
18
|
admin: identity.isAdmin(),
|
|
19
19
|
auth: identity.isUser(),
|
|
@@ -21,9 +21,16 @@ module.exports = class notAppIdentity {
|
|
|
21
21
|
primaryRole: identity.getPrimaryRole(),
|
|
22
22
|
uid: identity.getUserId(),
|
|
23
23
|
sid: identity.getSessionId(),
|
|
24
|
-
ip: req ? getIP(req) : undefined,
|
|
25
24
|
provider: identity.constructor.name,
|
|
26
25
|
};
|
|
26
|
+
|
|
27
|
+
if (req) {
|
|
28
|
+
let ip = getIP(req);
|
|
29
|
+
if (ip) {
|
|
30
|
+
data.ip = ip;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return data;
|
|
27
34
|
}
|
|
28
35
|
|
|
29
36
|
/**
|