Updates
This commit is contained in:
parent
0dc8f3c787
commit
49276d4cb3
62
dist/package-shared/api-paths/utils/checks.js
vendored
62
dist/package-shared/api-paths/utils/checks.js
vendored
@ -50,6 +50,37 @@ function checks(_a) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if ((_e = newQuery === null || newQuery === void 0 ? void 0 : newQuery.searchQuery) === null || _e === void 0 ? void 0 : _e.join) {
|
||||||
|
for (let i = 0; i < newQuery.searchQuery.join.length; i++) {
|
||||||
|
const join = newQuery.searchQuery.join[i];
|
||||||
|
const joinTableName = join.tableName;
|
||||||
|
const selectFields = join.selectFields;
|
||||||
|
if (allowedTables === null || allowedTables === void 0 ? void 0 : allowedTables[0]) {
|
||||||
|
const allowedJoinTable = allowedTables.find((t) => t.table == joinTableName);
|
||||||
|
if (!(allowedJoinTable === null || allowedJoinTable === void 0 ? void 0 : allowedJoinTable.table)) {
|
||||||
|
throw new Error(`Can't joint \`${joinTableName}\` table`);
|
||||||
|
}
|
||||||
|
const allowedFields = allowedJoinTable.allowedFields;
|
||||||
|
const disallowedFields = allowedJoinTable.disallowedFields;
|
||||||
|
if (selectFields === null || selectFields === void 0 ? void 0 : selectFields[0]) {
|
||||||
|
for (let j = 0; j < selectFields.length; j++) {
|
||||||
|
const selectField = selectFields[j];
|
||||||
|
const selectFieldName = typeof selectField == "object"
|
||||||
|
? selectField.field
|
||||||
|
: String(selectField);
|
||||||
|
if ((allowedFields === null || allowedFields === void 0 ? void 0 : allowedFields[0]) &&
|
||||||
|
!allowedFields.find((f) => String(f) == selectFieldName)) {
|
||||||
|
throw new Error(`Can't Select this Field!`);
|
||||||
|
}
|
||||||
|
if ((disallowedFields === null || disallowedFields === void 0 ? void 0 : disallowedFields[0]) &&
|
||||||
|
disallowedFields.find((f) => String(f) == selectFieldName)) {
|
||||||
|
throw new Error(`Disallowed Field Selected!`);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
if (method == "GET" && getMiddleware) {
|
if (method == "GET" && getMiddleware) {
|
||||||
newQuery = yield getMiddleware({
|
newQuery = yield getMiddleware({
|
||||||
query: newQuery || {},
|
query: newQuery || {},
|
||||||
@ -88,37 +119,6 @@ function checks(_a) {
|
|||||||
});
|
});
|
||||||
newBody = lodash_1.default.merge(newBody, middRes);
|
newBody = lodash_1.default.merge(newBody, middRes);
|
||||||
}
|
}
|
||||||
if ((_e = newQuery === null || newQuery === void 0 ? void 0 : newQuery.searchQuery) === null || _e === void 0 ? void 0 : _e.join) {
|
|
||||||
for (let i = 0; i < newQuery.searchQuery.join.length; i++) {
|
|
||||||
const join = newQuery.searchQuery.join[i];
|
|
||||||
const joinTableName = join.tableName;
|
|
||||||
const selectFields = join.selectFields;
|
|
||||||
if (allowedTables === null || allowedTables === void 0 ? void 0 : allowedTables[0]) {
|
|
||||||
const allowedJoinTable = allowedTables.find((t) => t.table == joinTableName);
|
|
||||||
if (!(allowedJoinTable === null || allowedJoinTable === void 0 ? void 0 : allowedJoinTable.table)) {
|
|
||||||
throw new Error(`Can't joint \`${joinTableName}\` table`);
|
|
||||||
}
|
|
||||||
const allowedFields = allowedJoinTable.allowedFields;
|
|
||||||
const disallowedFields = allowedJoinTable.disallowedFields;
|
|
||||||
if (selectFields === null || selectFields === void 0 ? void 0 : selectFields[0]) {
|
|
||||||
for (let j = 0; j < selectFields.length; j++) {
|
|
||||||
const selectField = selectFields[j];
|
|
||||||
const selectFieldName = typeof selectField == "object"
|
|
||||||
? selectField.field
|
|
||||||
: String(selectField);
|
|
||||||
if ((allowedFields === null || allowedFields === void 0 ? void 0 : allowedFields[0]) &&
|
|
||||||
!allowedFields.find((f) => String(f) == selectFieldName)) {
|
|
||||||
throw new Error(`Can't Select this Field!`);
|
|
||||||
}
|
|
||||||
if ((disallowedFields === null || disallowedFields === void 0 ? void 0 : disallowedFields[0]) &&
|
|
||||||
disallowedFields.find((f) => String(f) == selectFieldName)) {
|
|
||||||
throw new Error(`Disallowed Field Selected!`);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return {
|
return {
|
||||||
query: newQuery,
|
query: newQuery,
|
||||||
body: newBody,
|
body: newBody,
|
||||||
|
|||||||
@ -69,53 +69,6 @@ export default async function checks<
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (method == "GET" && getMiddleware) {
|
|
||||||
newQuery = await getMiddleware({
|
|
||||||
query: newQuery || ({} as any),
|
|
||||||
table,
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
if (method !== "GET" && crudMiddleware) {
|
|
||||||
const middRes = await crudMiddleware({
|
|
||||||
body: newBody || ({} as any),
|
|
||||||
query: newQuery || {},
|
|
||||||
table,
|
|
||||||
});
|
|
||||||
|
|
||||||
newBody = _.merge(newBody, middRes);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (method == "POST" && postMiddleware) {
|
|
||||||
const middRes = await postMiddleware({
|
|
||||||
body: newBody || ({} as any),
|
|
||||||
query: newQuery || {},
|
|
||||||
table,
|
|
||||||
});
|
|
||||||
|
|
||||||
newBody = _.merge(newBody, middRes);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (method == "PUT" && putMiddleware) {
|
|
||||||
const middRes = await putMiddleware({
|
|
||||||
body: newBody || ({} as any),
|
|
||||||
query: newQuery || {},
|
|
||||||
table,
|
|
||||||
});
|
|
||||||
|
|
||||||
newBody = _.merge(newBody, middRes);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (method == "DELETE" && deleteMiddleware) {
|
|
||||||
const middRes = await deleteMiddleware({
|
|
||||||
body: newBody || ({} as any),
|
|
||||||
query: newQuery || {},
|
|
||||||
table,
|
|
||||||
});
|
|
||||||
|
|
||||||
newBody = _.merge(newBody, middRes);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (newQuery?.searchQuery?.join) {
|
if (newQuery?.searchQuery?.join) {
|
||||||
for (let i = 0; i < newQuery.searchQuery.join.length; i++) {
|
for (let i = 0; i < newQuery.searchQuery.join.length; i++) {
|
||||||
const join = newQuery.searchQuery.join[i];
|
const join = newQuery.searchQuery.join[i];
|
||||||
@ -165,6 +118,53 @@ export default async function checks<
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (method == "GET" && getMiddleware) {
|
||||||
|
newQuery = await getMiddleware({
|
||||||
|
query: newQuery || ({} as any),
|
||||||
|
table,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
if (method !== "GET" && crudMiddleware) {
|
||||||
|
const middRes = await crudMiddleware({
|
||||||
|
body: newBody || ({} as any),
|
||||||
|
query: newQuery || {},
|
||||||
|
table,
|
||||||
|
});
|
||||||
|
|
||||||
|
newBody = _.merge(newBody, middRes);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (method == "POST" && postMiddleware) {
|
||||||
|
const middRes = await postMiddleware({
|
||||||
|
body: newBody || ({} as any),
|
||||||
|
query: newQuery || {},
|
||||||
|
table,
|
||||||
|
});
|
||||||
|
|
||||||
|
newBody = _.merge(newBody, middRes);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (method == "PUT" && putMiddleware) {
|
||||||
|
const middRes = await putMiddleware({
|
||||||
|
body: newBody || ({} as any),
|
||||||
|
query: newQuery || {},
|
||||||
|
table,
|
||||||
|
});
|
||||||
|
|
||||||
|
newBody = _.merge(newBody, middRes);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (method == "DELETE" && deleteMiddleware) {
|
||||||
|
const middRes = await deleteMiddleware({
|
||||||
|
body: newBody || ({} as any),
|
||||||
|
query: newQuery || {},
|
||||||
|
table,
|
||||||
|
});
|
||||||
|
|
||||||
|
newBody = _.merge(newBody, middRes);
|
||||||
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
query: newQuery,
|
query: newQuery,
|
||||||
body: newBody,
|
body: newBody,
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@moduletrace/datasquirel",
|
"name": "@moduletrace/datasquirel",
|
||||||
"version": "5.6.5",
|
"version": "5.6.6",
|
||||||
"description": "Cloud-based SQL data management tool",
|
"description": "Cloud-based SQL data management tool",
|
||||||
"main": "dist/index.js",
|
"main": "dist/index.js",
|
||||||
"bin": {
|
"bin": {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user