prostgles-server 2.0.277 → 2.0.278
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/dist/validation.d.ts +1 -0
- package/dist/validation.d.ts.map +1 -1
- package/dist/validation.js +13 -8
- package/dist/validation.js.map +1 -1
- package/lib/validation.d.ts +1 -0
- package/lib/validation.d.ts.map +1 -1
- package/lib/validation.js +13 -8
- package/lib/validation.ts +12 -9
- package/package.json +1 -1
- package/tests/client/PID.txt +1 -1
- package/tests/server/package-lock.json +1 -1
package/dist/validation.d.ts
CHANGED
package/dist/validation.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../lib/validation.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../lib/validation.ts"],"names":[],"mappings":"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"}
|
package/dist/validation.js
CHANGED
|
@@ -53,7 +53,7 @@ function validateSchema(schema, obj, objName, optional = false) {
|
|
|
53
53
|
}
|
|
54
54
|
exports.validateSchema = validateSchema;
|
|
55
55
|
function getPGCheckConstraint(args, depth) {
|
|
56
|
-
const { schema: s, escapedFieldName, nullable } = args;
|
|
56
|
+
const { schema: s, escapedFieldName, nullable, optional, isRootQuery } = args;
|
|
57
57
|
const jsToPGtypes = {
|
|
58
58
|
"integer": "::INTEGER",
|
|
59
59
|
"number": "::NUMERIC",
|
|
@@ -67,9 +67,10 @@ function getPGCheckConstraint(args, depth) {
|
|
|
67
67
|
const valAsText = `${escapedFieldName}->>${(0, PubSubManager_1.asValue)(k)}`;
|
|
68
68
|
if (t.nullable)
|
|
69
69
|
checks.push(`${valAsJson} IS NULL`);
|
|
70
|
-
|
|
70
|
+
if (t.optional)
|
|
71
|
+
checks.push(`${escapedFieldName} ? ${(0, PubSubManager_1.asValue)(k)} = FALSE`);
|
|
71
72
|
if ("oneOfTypes" in t) {
|
|
72
|
-
checks.push(`(${t.oneOfTypes.map(subType => getPGCheckConstraint({ escapedFieldName: valAsJson, schema: subType, nullable }, depth + 1)).join(" OR ")})`);
|
|
73
|
+
checks.push(`(${t.oneOfTypes.map(subType => getPGCheckConstraint({ escapedFieldName: valAsJson, schema: subType, nullable, optional: t.optional }, depth + 1)).join(" OR ")})`);
|
|
73
74
|
}
|
|
74
75
|
else if ("oneOf" in t) {
|
|
75
76
|
if (!t.oneOf.length || t.oneOf.some(v => v === undefined || !["number", "boolean", "string", null].includes(typeof v))) {
|
|
@@ -95,7 +96,7 @@ function getPGCheckConstraint(args, depth) {
|
|
|
95
96
|
}
|
|
96
97
|
}
|
|
97
98
|
else {
|
|
98
|
-
const check = getPGCheckConstraint({ escapedFieldName: valAsJson, schema: t.type, nullable: !!t.nullable }, depth + 1).trim();
|
|
99
|
+
const check = getPGCheckConstraint({ escapedFieldName: valAsJson, schema: t.type, nullable: !!t.nullable, optional: !!t.optional }, depth + 1).trim();
|
|
99
100
|
if (check)
|
|
100
101
|
checks.push(`(${check})`);
|
|
101
102
|
}
|
|
@@ -106,14 +107,18 @@ function getPGCheckConstraint(args, depth) {
|
|
|
106
107
|
return result;
|
|
107
108
|
};
|
|
108
109
|
const getSchemaChecks = (s) => (0, prostgles_types_1.getKeys)(s).map(k => "(" + kChecks(k, s) + ")").join(" AND ");
|
|
109
|
-
|
|
110
|
+
const checks = [];
|
|
111
|
+
let typeChecks = "";
|
|
110
112
|
if (isOneOfTypes(s)) {
|
|
111
|
-
|
|
113
|
+
typeChecks = s.oneOfTypes.map(t => `(${getSchemaChecks(t)})`).join(" OR ");
|
|
112
114
|
}
|
|
113
115
|
else {
|
|
114
|
-
|
|
116
|
+
typeChecks = getSchemaChecks(s);
|
|
115
117
|
}
|
|
116
|
-
|
|
118
|
+
if (nullable)
|
|
119
|
+
checks.push(` ${escapedFieldName} IS NULL `);
|
|
120
|
+
checks.push(`jsonb_typeof(${escapedFieldName}) = 'object' ${typeChecks ? ` AND (${typeChecks})` : ""}`);
|
|
121
|
+
return checks.join(" OR ");
|
|
117
122
|
}
|
|
118
123
|
exports.getPGCheckConstraint = getPGCheckConstraint;
|
|
119
124
|
const isOneOfTypes = (s) => {
|
package/dist/validation.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../lib/validation.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../lib/validation.ts"],"names":[],"mappings":"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"}
|
package/lib/validation.d.ts
CHANGED
package/lib/validation.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["validation.ts"],"names":[],"mappings":"AAGA,aAAK,WAAW,GAAG;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,aAAK,UAAU,GAAG,WAAW,GAAG,CAAC;IAC/B,IAAI,EACF,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAC3C,UAAU,GAAG,WAAW,GAAG,WAAW,GAAG,UAAU,GACnD,gBAAgB,CAAC;CAEpB,GAAG;IACF,KAAK,EAAE,SAAS,GAAG,EAAE,CAAC;CACvB,CAAC,CAAA;AAEF,oBAAY,UAAU,GAAG,WAAW,GAAG;IACrC,UAAU,EAAE,SAAS,gBAAgB,EAAE,CAAC;CACzC,CAAA;AACD,aAAK,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;AAEzC,aAAK,OAAO,CAAC,CAAC,SAAS,SAAS,IAC9B,CAAC,SAAS;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,GAAE,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAC7D,CAAC,SAAS;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAAE,MAAM,GACpC,CAAC,SAAS;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GAAE,OAAO,GACtC,CAAC,SAAS;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GAAE,MAAM,GACrC,CAAC,SAAS;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAAE,MAAM,GACpC,CAAC,SAAS;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GAAE,MAAM,EAAE,GACxC,CAAC,SAAS;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,GAAE,OAAO,EAAE,GAC1C,CAAC,SAAS;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,GAAE,MAAM,EAAE,GACzC,CAAC,SAAS;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GAAE,MAAM,EAAE,GACxC,CAAC,SAAS;IAAE,KAAK,EAAE,SAAS,GAAG,EAAE,CAAA;CAAE,GAAE,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;AAEzD,wBAAwB;AACtB,CAAC,SAAS;IAAE,UAAU,EAAE,SAAS,gBAAgB,EAAE,CAAA;CAAE,GAAE,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,GAC9F,GAAG,CAAC;AAEJ,oBAAY,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AACzD,oBAAY,YAAY,CAAC,CAAC,SAAS,gBAAgB,IAAI,CAAC;KACrD,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,IAAI,GAAE,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC3E,GAAG;KACD,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,IAAI,GAAE,KAAK,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC1E,CAAC,CAAC;AAmBH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,UAAU,EAAE,SAAS,GAAG,OAAO,CAmBhF;AAED,wBAAgB,cAAc,CAAC,CAAC,SAAS,gBAAgB,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,UAAQ,QAG7H;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE;IAAE,gBAAgB,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,gBAAgB,GAAG,UAAU,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAC;CAAE,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["validation.ts"],"names":[],"mappings":"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"}
|
package/lib/validation.js
CHANGED
|
@@ -53,7 +53,7 @@ function validateSchema(schema, obj, objName, optional = false) {
|
|
|
53
53
|
}
|
|
54
54
|
exports.validateSchema = validateSchema;
|
|
55
55
|
function getPGCheckConstraint(args, depth) {
|
|
56
|
-
const { schema: s, escapedFieldName, nullable } = args;
|
|
56
|
+
const { schema: s, escapedFieldName, nullable, optional, isRootQuery } = args;
|
|
57
57
|
const jsToPGtypes = {
|
|
58
58
|
"integer": "::INTEGER",
|
|
59
59
|
"number": "::NUMERIC",
|
|
@@ -67,9 +67,10 @@ function getPGCheckConstraint(args, depth) {
|
|
|
67
67
|
const valAsText = `${escapedFieldName}->>${(0, PubSubManager_1.asValue)(k)}`;
|
|
68
68
|
if (t.nullable)
|
|
69
69
|
checks.push(`${valAsJson} IS NULL`);
|
|
70
|
-
|
|
70
|
+
if (t.optional)
|
|
71
|
+
checks.push(`${escapedFieldName} ? ${(0, PubSubManager_1.asValue)(k)} = FALSE`);
|
|
71
72
|
if ("oneOfTypes" in t) {
|
|
72
|
-
checks.push(`(${t.oneOfTypes.map(subType => getPGCheckConstraint({ escapedFieldName: valAsJson, schema: subType, nullable }, depth + 1)).join(" OR ")})`);
|
|
73
|
+
checks.push(`(${t.oneOfTypes.map(subType => getPGCheckConstraint({ escapedFieldName: valAsJson, schema: subType, nullable, optional: t.optional }, depth + 1)).join(" OR ")})`);
|
|
73
74
|
}
|
|
74
75
|
else if ("oneOf" in t) {
|
|
75
76
|
if (!t.oneOf.length || t.oneOf.some(v => v === undefined || !["number", "boolean", "string", null].includes(typeof v))) {
|
|
@@ -95,7 +96,7 @@ function getPGCheckConstraint(args, depth) {
|
|
|
95
96
|
}
|
|
96
97
|
}
|
|
97
98
|
else {
|
|
98
|
-
const check = getPGCheckConstraint({ escapedFieldName: valAsJson, schema: t.type, nullable: !!t.nullable }, depth + 1).trim();
|
|
99
|
+
const check = getPGCheckConstraint({ escapedFieldName: valAsJson, schema: t.type, nullable: !!t.nullable, optional: !!t.optional }, depth + 1).trim();
|
|
99
100
|
if (check)
|
|
100
101
|
checks.push(`(${check})`);
|
|
101
102
|
}
|
|
@@ -106,14 +107,18 @@ function getPGCheckConstraint(args, depth) {
|
|
|
106
107
|
return result;
|
|
107
108
|
};
|
|
108
109
|
const getSchemaChecks = (s) => (0, prostgles_types_1.getKeys)(s).map(k => "(" + kChecks(k, s) + ")").join(" AND ");
|
|
109
|
-
|
|
110
|
+
const checks = [];
|
|
111
|
+
let typeChecks = "";
|
|
110
112
|
if (isOneOfTypes(s)) {
|
|
111
|
-
|
|
113
|
+
typeChecks = s.oneOfTypes.map(t => `(${getSchemaChecks(t)})`).join(" OR ");
|
|
112
114
|
}
|
|
113
115
|
else {
|
|
114
|
-
|
|
116
|
+
typeChecks = getSchemaChecks(s);
|
|
115
117
|
}
|
|
116
|
-
|
|
118
|
+
if (nullable)
|
|
119
|
+
checks.push(` ${escapedFieldName} IS NULL `);
|
|
120
|
+
checks.push(`jsonb_typeof(${escapedFieldName}) = 'object' ${typeChecks ? ` AND (${typeChecks})` : ""}`);
|
|
121
|
+
return checks.join(" OR ");
|
|
117
122
|
}
|
|
118
123
|
exports.getPGCheckConstraint = getPGCheckConstraint;
|
|
119
124
|
const isOneOfTypes = (s) => {
|
package/lib/validation.ts
CHANGED
|
@@ -87,8 +87,8 @@ export function validateSchema<S extends ValidationSchema>(schema: S, obj: Schem
|
|
|
87
87
|
getKeys(schema).forEach(k => validate(obj as any, k, schema[k]));
|
|
88
88
|
}
|
|
89
89
|
|
|
90
|
-
export function getPGCheckConstraint(args: { escapedFieldName: string; schema: ValidationSchema | OneOfTypes, nullable: boolean; isRootQuery?: boolean; }, depth: number): string {
|
|
91
|
-
const { schema: s, escapedFieldName, nullable } = args;
|
|
90
|
+
export function getPGCheckConstraint(args: { escapedFieldName: string; schema: ValidationSchema | OneOfTypes, nullable: boolean; isRootQuery?: boolean; optional?: boolean; }, depth: number): string {
|
|
91
|
+
const { schema: s, escapedFieldName, nullable, optional, isRootQuery } = args;
|
|
92
92
|
|
|
93
93
|
const jsToPGtypes = {
|
|
94
94
|
"integer": "::INTEGER",
|
|
@@ -103,10 +103,10 @@ export function getPGCheckConstraint(args: { escapedFieldName: string; schema: V
|
|
|
103
103
|
const valAsJson = `${escapedFieldName}->${asValue(k)}`;
|
|
104
104
|
const valAsText = `${escapedFieldName}->>${asValue(k)}`;
|
|
105
105
|
if(t.nullable) checks.push(`${valAsJson} IS NULL`);
|
|
106
|
-
|
|
106
|
+
if(t.optional) checks.push(`${escapedFieldName} ? ${asValue(k)} = FALSE`);
|
|
107
107
|
|
|
108
108
|
if("oneOfTypes" in t){
|
|
109
|
-
checks.push(`(${t.oneOfTypes.map(subType => getPGCheckConstraint({ escapedFieldName: valAsJson, schema: subType, nullable }, depth + 1)).join(" OR ")})`)
|
|
109
|
+
checks.push(`(${t.oneOfTypes.map(subType => getPGCheckConstraint({ escapedFieldName: valAsJson, schema: subType, nullable, optional: t.optional }, depth + 1)).join(" OR ")})`)
|
|
110
110
|
} else if("oneOf" in t){
|
|
111
111
|
if(!t.oneOf.length || t.oneOf.some(v => v === undefined || !["number", "boolean", "string", null].includes(typeof v))) {
|
|
112
112
|
throw new Error(`Invalid ValidationSchema for property: ${k} of field ${escapedFieldName}: oneOf cannot be empty AND can only contain: numbers, text, boolean, null`);
|
|
@@ -127,7 +127,7 @@ export function getPGCheckConstraint(args: { escapedFieldName: string; schema: V
|
|
|
127
127
|
checks.push(`jsonb_typeof(${valAsJson}) = ${asValue(correctType)} `)
|
|
128
128
|
}
|
|
129
129
|
} else {
|
|
130
|
-
const check = getPGCheckConstraint({ escapedFieldName: valAsJson, schema: t.type, nullable: !!t.nullable }, depth + 1).trim();
|
|
130
|
+
const check = getPGCheckConstraint({ escapedFieldName: valAsJson, schema: t.type, nullable: !!t.nullable, optional: !!t.optional }, depth + 1).trim();
|
|
131
131
|
if(check) checks.push(`(${check})`)
|
|
132
132
|
}
|
|
133
133
|
}
|
|
@@ -138,13 +138,16 @@ export function getPGCheckConstraint(args: { escapedFieldName: string; schema: V
|
|
|
138
138
|
|
|
139
139
|
const getSchemaChecks = (s: ValidationSchema) => getKeys(s).map(k => "(" + kChecks(k, s) + ")").join(" AND ")
|
|
140
140
|
|
|
141
|
-
|
|
141
|
+
const checks: string[] = [];
|
|
142
|
+
let typeChecks = "";
|
|
142
143
|
if(isOneOfTypes(s)){
|
|
143
|
-
|
|
144
|
+
typeChecks = s.oneOfTypes.map(t => `(${getSchemaChecks(t)})` ).join(" OR ");
|
|
144
145
|
} else {
|
|
145
|
-
|
|
146
|
+
typeChecks = getSchemaChecks(s);
|
|
146
147
|
}
|
|
147
|
-
|
|
148
|
+
if(nullable) checks.push(` ${escapedFieldName} IS NULL `);
|
|
149
|
+
checks.push(`jsonb_typeof(${escapedFieldName}) = 'object' ${typeChecks? ` AND (${typeChecks})` : "" }`);
|
|
150
|
+
return checks.join(" OR ");
|
|
148
151
|
}
|
|
149
152
|
type ColOpts = { nullable?: boolean };
|
|
150
153
|
const isOneOfTypes = (s: ValidationSchema | OneOfTypes): s is OneOfTypes => {
|
package/package.json
CHANGED
package/tests/client/PID.txt
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
14569
|