@budibase/backend-core 2.32.0 → 2.32.2
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/index.js +86 -77
- package/dist/index.js.map +3 -3
- package/dist/index.js.meta.json +1 -1
- package/dist/package.json +4 -4
- package/dist/plugins.js.map +1 -1
- package/dist/plugins.js.meta.json +1 -1
- package/dist/src/cache/user.d.ts +7 -1
- package/dist/src/cache/user.js +4 -3
- package/dist/src/cache/user.js.map +1 -1
- package/dist/src/events/index.d.ts +1 -0
- package/dist/src/events/index.js +3 -1
- package/dist/src/events/index.js.map +1 -1
- package/dist/src/middleware/authenticated.js +16 -3
- package/dist/src/middleware/authenticated.js.map +1 -1
- package/dist/src/sql/sql.js +35 -58
- package/dist/src/sql/sql.js.map +1 -1
- package/package.json +4 -4
- package/src/cache/user.ts +17 -6
- package/src/events/index.ts +1 -0
- package/src/middleware/authenticated.ts +25 -8
- package/src/sql/sql.ts +39 -66
package/dist/src/sql/sql.js
CHANGED
|
@@ -707,33 +707,26 @@ class InternalBuilder {
|
|
|
707
707
|
}
|
|
708
708
|
return withSchema;
|
|
709
709
|
}
|
|
710
|
+
buildJsonField(field) {
|
|
711
|
+
const parts = field.split(".");
|
|
712
|
+
let tableField, unaliased;
|
|
713
|
+
if (parts.length > 1) {
|
|
714
|
+
const alias = parts.shift();
|
|
715
|
+
unaliased = parts.join(".");
|
|
716
|
+
tableField = `${this.quote(alias)}.${this.quote(unaliased)}`;
|
|
717
|
+
}
|
|
718
|
+
else {
|
|
719
|
+
unaliased = parts.join(".");
|
|
720
|
+
tableField = this.quote(unaliased);
|
|
721
|
+
}
|
|
722
|
+
const separator = this.client === types_1.SqlClient.ORACLE ? " VALUE " : ",";
|
|
723
|
+
return `'${unaliased}'${separator}${tableField}`;
|
|
724
|
+
}
|
|
710
725
|
addJsonRelationships(query, fromTable, relationships) {
|
|
711
726
|
const sqlClient = this.client;
|
|
712
727
|
const knex = this.knex;
|
|
713
728
|
const { resource, tableAliases: aliases, endpoint } = this.query;
|
|
714
729
|
const fields = (resource === null || resource === void 0 ? void 0 : resource.fields) || [];
|
|
715
|
-
const jsonField = (field) => {
|
|
716
|
-
const parts = field.split(".");
|
|
717
|
-
let tableField, unaliased;
|
|
718
|
-
if (parts.length > 1) {
|
|
719
|
-
const alias = parts.shift();
|
|
720
|
-
unaliased = parts.join(".");
|
|
721
|
-
tableField = `${this.quote(alias)}.${this.quote(unaliased)}`;
|
|
722
|
-
}
|
|
723
|
-
else {
|
|
724
|
-
unaliased = parts.join(".");
|
|
725
|
-
tableField = this.quote(unaliased);
|
|
726
|
-
}
|
|
727
|
-
let separator = ",";
|
|
728
|
-
switch (sqlClient) {
|
|
729
|
-
case types_1.SqlClient.ORACLE:
|
|
730
|
-
separator = " VALUE ";
|
|
731
|
-
break;
|
|
732
|
-
case types_1.SqlClient.MS_SQL:
|
|
733
|
-
separator = ":";
|
|
734
|
-
}
|
|
735
|
-
return `'${unaliased}'${separator}${tableField}`;
|
|
736
|
-
};
|
|
737
730
|
for (let relationship of relationships) {
|
|
738
731
|
const { tableName: toTable, through: throughTable, to: toKey, from: fromKey, fromPrimary, toPrimary, } = relationship;
|
|
739
732
|
// skip invalid relationships
|
|
@@ -750,7 +743,7 @@ class InternalBuilder {
|
|
|
750
743
|
relationshipFields = relationshipFields.slice(0, MAX_SQS_RELATIONSHIP_FIELDS);
|
|
751
744
|
}
|
|
752
745
|
const fieldList = relationshipFields
|
|
753
|
-
.map(field =>
|
|
746
|
+
.map(field => this.buildJsonField(field))
|
|
754
747
|
.join(",");
|
|
755
748
|
// SQL Server uses TOP - which performs a little differently to the normal LIMIT syntax
|
|
756
749
|
// it reduces the result set rather than limiting how much data it filters over
|
|
@@ -862,35 +855,6 @@ class InternalBuilder {
|
|
|
862
855
|
}
|
|
863
856
|
return query;
|
|
864
857
|
}
|
|
865
|
-
addRelationships(query, fromTable, relationships) {
|
|
866
|
-
const tableSets = {};
|
|
867
|
-
// aggregate into table sets (all the same to tables)
|
|
868
|
-
for (let relationship of relationships) {
|
|
869
|
-
const keyObj = {
|
|
870
|
-
toTable: relationship.tableName,
|
|
871
|
-
throughTable: undefined,
|
|
872
|
-
};
|
|
873
|
-
if (relationship.through) {
|
|
874
|
-
keyObj.throughTable = relationship.through;
|
|
875
|
-
}
|
|
876
|
-
const key = JSON.stringify(keyObj);
|
|
877
|
-
if (tableSets[key]) {
|
|
878
|
-
tableSets[key].push(relationship);
|
|
879
|
-
}
|
|
880
|
-
else {
|
|
881
|
-
tableSets[key] = [relationship];
|
|
882
|
-
}
|
|
883
|
-
}
|
|
884
|
-
for (let [key, relationships] of Object.entries(tableSets)) {
|
|
885
|
-
const { toTable, throughTable } = JSON.parse(key);
|
|
886
|
-
query = this.addJoin(query, {
|
|
887
|
-
from: fromTable,
|
|
888
|
-
to: toTable,
|
|
889
|
-
through: throughTable,
|
|
890
|
-
}, relationships);
|
|
891
|
-
}
|
|
892
|
-
return query;
|
|
893
|
-
}
|
|
894
858
|
qualifiedKnex(opts) {
|
|
895
859
|
var _a;
|
|
896
860
|
let alias = (_a = this.query.tableAliases) === null || _a === void 0 ? void 0 : _a[this.query.endpoint.entityId];
|
|
@@ -965,8 +929,7 @@ class InternalBuilder {
|
|
|
965
929
|
if (!primary) {
|
|
966
930
|
throw new Error("Primary key is required for upsert");
|
|
967
931
|
}
|
|
968
|
-
|
|
969
|
-
return ret;
|
|
932
|
+
return query.insert(parsedBody).onConflict(primary).merge();
|
|
970
933
|
}
|
|
971
934
|
else if (this.client === types_1.SqlClient.MS_SQL ||
|
|
972
935
|
this.client === types_1.SqlClient.ORACLE) {
|
|
@@ -977,6 +940,7 @@ class InternalBuilder {
|
|
|
977
940
|
return query.upsert(parsedBody);
|
|
978
941
|
}
|
|
979
942
|
read(opts = {}) {
|
|
943
|
+
var _a;
|
|
980
944
|
let { endpoint, filters, paginate, relationships } = this.query;
|
|
981
945
|
const { limits } = opts;
|
|
982
946
|
const counting = endpoint.operation === types_1.Operation.COUNT;
|
|
@@ -1019,11 +983,24 @@ class InternalBuilder {
|
|
|
1019
983
|
if (!counting) {
|
|
1020
984
|
query = this.addSorting(query);
|
|
1021
985
|
}
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
986
|
+
query = this.addFilters(query, filters, { relationship: true });
|
|
987
|
+
// handle relationships with a CTE for all others
|
|
988
|
+
if (relationships === null || relationships === void 0 ? void 0 : relationships.length) {
|
|
989
|
+
const mainTable = ((_a = this.query.tableAliases) === null || _a === void 0 ? void 0 : _a[this.query.endpoint.entityId]) ||
|
|
990
|
+
this.query.endpoint.entityId;
|
|
991
|
+
const cte = this.addSorting(this.knex
|
|
992
|
+
.with("paginated", query)
|
|
993
|
+
.select(this.generateSelectStatement())
|
|
994
|
+
.from({
|
|
995
|
+
[mainTable]: "paginated",
|
|
996
|
+
}));
|
|
997
|
+
// add JSON aggregations attached to the CTE
|
|
998
|
+
return this.addJsonRelationships(cte, tableName, relationships);
|
|
999
|
+
}
|
|
1000
|
+
// no relationships found - return query
|
|
1001
|
+
else {
|
|
1002
|
+
return query;
|
|
1025
1003
|
}
|
|
1026
|
-
return this.addFilters(query, filters, { relationship: true });
|
|
1027
1004
|
}
|
|
1028
1005
|
update(opts) {
|
|
1029
1006
|
const { body, filters } = this.query;
|
package/dist/src/sql/sql.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sql.js","sourceRoot":"","sources":["../../../src/sql/sql.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sql.js","sourceRoot":"","sources":["../../../src/sql/sql.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@budibase/backend-core",
|
|
3
|
-
"version": "2.32.
|
|
3
|
+
"version": "2.32.2",
|
|
4
4
|
"description": "Budibase backend core libraries used in server and worker",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/src/index.d.ts",
|
|
@@ -23,8 +23,8 @@
|
|
|
23
23
|
"dependencies": {
|
|
24
24
|
"@budibase/nano": "10.1.5",
|
|
25
25
|
"@budibase/pouchdb-replication-stream": "1.2.11",
|
|
26
|
-
"@budibase/shared-core": "2.32.
|
|
27
|
-
"@budibase/types": "2.32.
|
|
26
|
+
"@budibase/shared-core": "2.32.2",
|
|
27
|
+
"@budibase/types": "2.32.2",
|
|
28
28
|
"aws-cloudfront-sign": "3.0.2",
|
|
29
29
|
"aws-sdk": "2.1030.0",
|
|
30
30
|
"bcrypt": "5.1.0",
|
|
@@ -95,5 +95,5 @@
|
|
|
95
95
|
}
|
|
96
96
|
}
|
|
97
97
|
},
|
|
98
|
-
"gitHead": "
|
|
98
|
+
"gitHead": "a5b62c0a52f9637a536bbf6fd6fad8cec634deff"
|
|
99
99
|
}
|
package/src/cache/user.ts
CHANGED
|
@@ -63,14 +63,25 @@ async function populateUsersFromDB(
|
|
|
63
63
|
* If not present fallback to loading the user directly and re-caching.
|
|
64
64
|
* @param userId the id of the user to get
|
|
65
65
|
* @param tenantId the tenant of the user to get
|
|
66
|
+
* @param email the email of the user to populate from account if needed
|
|
66
67
|
* @param populateUser function to provide the user for re-caching. default to couch db
|
|
67
68
|
* @returns
|
|
68
69
|
*/
|
|
69
|
-
export async function getUser(
|
|
70
|
-
userId
|
|
71
|
-
tenantId
|
|
72
|
-
|
|
73
|
-
|
|
70
|
+
export async function getUser({
|
|
71
|
+
userId,
|
|
72
|
+
tenantId,
|
|
73
|
+
email,
|
|
74
|
+
populateUser,
|
|
75
|
+
}: {
|
|
76
|
+
userId: string
|
|
77
|
+
email?: string
|
|
78
|
+
tenantId?: string
|
|
79
|
+
populateUser?: (
|
|
80
|
+
userId: string,
|
|
81
|
+
tenantId: string,
|
|
82
|
+
email?: string
|
|
83
|
+
) => Promise<User>
|
|
84
|
+
}) {
|
|
74
85
|
if (!populateUser) {
|
|
75
86
|
populateUser = populateFromDB
|
|
76
87
|
}
|
|
@@ -85,7 +96,7 @@ export async function getUser(
|
|
|
85
96
|
// try cache
|
|
86
97
|
let user: User = await client.get(userId)
|
|
87
98
|
if (!user) {
|
|
88
|
-
user = await populateUser(userId, tenantId)
|
|
99
|
+
user = await populateUser(userId, tenantId, email)
|
|
89
100
|
await client.store(userId, user, EXPIRY_SECONDS)
|
|
90
101
|
}
|
|
91
102
|
if (user && !user.tenantId && tenantId) {
|
package/src/events/index.ts
CHANGED
|
@@ -3,6 +3,7 @@ export * as processors from "./processors"
|
|
|
3
3
|
export * as analytics from "./analytics"
|
|
4
4
|
export { default as identification } from "./identification"
|
|
5
5
|
export * as backfillCache from "./backfill"
|
|
6
|
+
export { publishEvent } from "./events"
|
|
6
7
|
|
|
7
8
|
import { processors } from "./processors"
|
|
8
9
|
|
|
@@ -43,7 +43,11 @@ function finalise(ctx: any, opts: FinaliseOpts = {}) {
|
|
|
43
43
|
|
|
44
44
|
async function checkApiKey(
|
|
45
45
|
apiKey: string,
|
|
46
|
-
populateUser?: (
|
|
46
|
+
populateUser?: (
|
|
47
|
+
userId: string,
|
|
48
|
+
tenantId: string,
|
|
49
|
+
email?: string
|
|
50
|
+
) => Promise<User>
|
|
47
51
|
) {
|
|
48
52
|
// check both the primary and the fallback internal api keys
|
|
49
53
|
// this allows for rotation
|
|
@@ -70,7 +74,11 @@ async function checkApiKey(
|
|
|
70
74
|
if (userId) {
|
|
71
75
|
return {
|
|
72
76
|
valid: true,
|
|
73
|
-
user: await getUser(
|
|
77
|
+
user: await getUser({
|
|
78
|
+
userId,
|
|
79
|
+
tenantId,
|
|
80
|
+
populateUser,
|
|
81
|
+
}),
|
|
74
82
|
}
|
|
75
83
|
} else {
|
|
76
84
|
throw new InvalidAPIKeyError()
|
|
@@ -123,13 +131,18 @@ export default function (
|
|
|
123
131
|
// getting session handles error checking (if session exists etc)
|
|
124
132
|
session = await getSession(userId, sessionId)
|
|
125
133
|
if (opts && opts.populateUser) {
|
|
126
|
-
user = await getUser(
|
|
134
|
+
user = await getUser({
|
|
127
135
|
userId,
|
|
128
|
-
session.tenantId,
|
|
129
|
-
|
|
130
|
-
|
|
136
|
+
tenantId: session.tenantId,
|
|
137
|
+
email: session.email,
|
|
138
|
+
populateUser: opts.populateUser(ctx),
|
|
139
|
+
})
|
|
131
140
|
} else {
|
|
132
|
-
user = await getUser(
|
|
141
|
+
user = await getUser({
|
|
142
|
+
userId,
|
|
143
|
+
tenantId: session.tenantId,
|
|
144
|
+
email: session.email,
|
|
145
|
+
})
|
|
133
146
|
}
|
|
134
147
|
// @ts-ignore
|
|
135
148
|
user.csrfToken = session.csrfToken
|
|
@@ -148,7 +161,11 @@ export default function (
|
|
|
148
161
|
}
|
|
149
162
|
// this is an internal request, no user made it
|
|
150
163
|
if (!authenticated && apiKey) {
|
|
151
|
-
const populateUser
|
|
164
|
+
const populateUser: (
|
|
165
|
+
userId: string,
|
|
166
|
+
tenantId: string,
|
|
167
|
+
email?: string
|
|
168
|
+
) => Promise<User> = opts.populateUser ? opts.populateUser(ctx) : null
|
|
152
169
|
const { valid, user: foundUser } = await checkApiKey(
|
|
153
170
|
apiKey,
|
|
154
171
|
populateUser
|
package/src/sql/sql.ts
CHANGED
|
@@ -862,6 +862,21 @@ class InternalBuilder {
|
|
|
862
862
|
return withSchema
|
|
863
863
|
}
|
|
864
864
|
|
|
865
|
+
private buildJsonField(field: string): string {
|
|
866
|
+
const parts = field.split(".")
|
|
867
|
+
let tableField: string, unaliased: string
|
|
868
|
+
if (parts.length > 1) {
|
|
869
|
+
const alias = parts.shift()!
|
|
870
|
+
unaliased = parts.join(".")
|
|
871
|
+
tableField = `${this.quote(alias)}.${this.quote(unaliased)}`
|
|
872
|
+
} else {
|
|
873
|
+
unaliased = parts.join(".")
|
|
874
|
+
tableField = this.quote(unaliased)
|
|
875
|
+
}
|
|
876
|
+
const separator = this.client === SqlClient.ORACLE ? " VALUE " : ","
|
|
877
|
+
return `'${unaliased}'${separator}${tableField}`
|
|
878
|
+
}
|
|
879
|
+
|
|
865
880
|
addJsonRelationships(
|
|
866
881
|
query: Knex.QueryBuilder,
|
|
867
882
|
fromTable: string,
|
|
@@ -871,27 +886,6 @@ class InternalBuilder {
|
|
|
871
886
|
const knex = this.knex
|
|
872
887
|
const { resource, tableAliases: aliases, endpoint } = this.query
|
|
873
888
|
const fields = resource?.fields || []
|
|
874
|
-
const jsonField = (field: string) => {
|
|
875
|
-
const parts = field.split(".")
|
|
876
|
-
let tableField: string, unaliased: string
|
|
877
|
-
if (parts.length > 1) {
|
|
878
|
-
const alias = parts.shift()!
|
|
879
|
-
unaliased = parts.join(".")
|
|
880
|
-
tableField = `${this.quote(alias)}.${this.quote(unaliased)}`
|
|
881
|
-
} else {
|
|
882
|
-
unaliased = parts.join(".")
|
|
883
|
-
tableField = this.quote(unaliased)
|
|
884
|
-
}
|
|
885
|
-
let separator = ","
|
|
886
|
-
switch (sqlClient) {
|
|
887
|
-
case SqlClient.ORACLE:
|
|
888
|
-
separator = " VALUE "
|
|
889
|
-
break
|
|
890
|
-
case SqlClient.MS_SQL:
|
|
891
|
-
separator = ":"
|
|
892
|
-
}
|
|
893
|
-
return `'${unaliased}'${separator}${tableField}`
|
|
894
|
-
}
|
|
895
889
|
for (let relationship of relationships) {
|
|
896
890
|
const {
|
|
897
891
|
tableName: toTable,
|
|
@@ -921,7 +915,7 @@ class InternalBuilder {
|
|
|
921
915
|
)
|
|
922
916
|
}
|
|
923
917
|
const fieldList: string = relationshipFields
|
|
924
|
-
.map(field =>
|
|
918
|
+
.map(field => this.buildJsonField(field))
|
|
925
919
|
.join(",")
|
|
926
920
|
// SQL Server uses TOP - which performs a little differently to the normal LIMIT syntax
|
|
927
921
|
// it reduces the result set rather than limiting how much data it filters over
|
|
@@ -1073,43 +1067,6 @@ class InternalBuilder {
|
|
|
1073
1067
|
return query
|
|
1074
1068
|
}
|
|
1075
1069
|
|
|
1076
|
-
addRelationships(
|
|
1077
|
-
query: Knex.QueryBuilder,
|
|
1078
|
-
fromTable: string,
|
|
1079
|
-
relationships: RelationshipsJson[]
|
|
1080
|
-
): Knex.QueryBuilder {
|
|
1081
|
-
const tableSets: Record<string, [RelationshipsJson]> = {}
|
|
1082
|
-
// aggregate into table sets (all the same to tables)
|
|
1083
|
-
for (let relationship of relationships) {
|
|
1084
|
-
const keyObj: { toTable: string; throughTable: string | undefined } = {
|
|
1085
|
-
toTable: relationship.tableName,
|
|
1086
|
-
throughTable: undefined,
|
|
1087
|
-
}
|
|
1088
|
-
if (relationship.through) {
|
|
1089
|
-
keyObj.throughTable = relationship.through
|
|
1090
|
-
}
|
|
1091
|
-
const key = JSON.stringify(keyObj)
|
|
1092
|
-
if (tableSets[key]) {
|
|
1093
|
-
tableSets[key].push(relationship)
|
|
1094
|
-
} else {
|
|
1095
|
-
tableSets[key] = [relationship]
|
|
1096
|
-
}
|
|
1097
|
-
}
|
|
1098
|
-
for (let [key, relationships] of Object.entries(tableSets)) {
|
|
1099
|
-
const { toTable, throughTable } = JSON.parse(key)
|
|
1100
|
-
query = this.addJoin(
|
|
1101
|
-
query,
|
|
1102
|
-
{
|
|
1103
|
-
from: fromTable,
|
|
1104
|
-
to: toTable,
|
|
1105
|
-
through: throughTable,
|
|
1106
|
-
},
|
|
1107
|
-
relationships
|
|
1108
|
-
)
|
|
1109
|
-
}
|
|
1110
|
-
return query
|
|
1111
|
-
}
|
|
1112
|
-
|
|
1113
1070
|
qualifiedKnex(opts?: { alias?: string | boolean }): Knex.QueryBuilder {
|
|
1114
1071
|
let alias = this.query.tableAliases?.[this.query.endpoint.entityId]
|
|
1115
1072
|
if (opts?.alias === false) {
|
|
@@ -1193,8 +1150,7 @@ class InternalBuilder {
|
|
|
1193
1150
|
if (!primary) {
|
|
1194
1151
|
throw new Error("Primary key is required for upsert")
|
|
1195
1152
|
}
|
|
1196
|
-
|
|
1197
|
-
return ret
|
|
1153
|
+
return query.insert(parsedBody).onConflict(primary).merge()
|
|
1198
1154
|
} else if (
|
|
1199
1155
|
this.client === SqlClient.MS_SQL ||
|
|
1200
1156
|
this.client === SqlClient.ORACLE
|
|
@@ -1253,12 +1209,29 @@ class InternalBuilder {
|
|
|
1253
1209
|
if (!counting) {
|
|
1254
1210
|
query = this.addSorting(query)
|
|
1255
1211
|
}
|
|
1256
|
-
// handle joins
|
|
1257
|
-
if (relationships) {
|
|
1258
|
-
query = this.addJsonRelationships(query, tableName, relationships)
|
|
1259
|
-
}
|
|
1260
1212
|
|
|
1261
|
-
|
|
1213
|
+
query = this.addFilters(query, filters, { relationship: true })
|
|
1214
|
+
|
|
1215
|
+
// handle relationships with a CTE for all others
|
|
1216
|
+
if (relationships?.length) {
|
|
1217
|
+
const mainTable =
|
|
1218
|
+
this.query.tableAliases?.[this.query.endpoint.entityId] ||
|
|
1219
|
+
this.query.endpoint.entityId
|
|
1220
|
+
const cte = this.addSorting(
|
|
1221
|
+
this.knex
|
|
1222
|
+
.with("paginated", query)
|
|
1223
|
+
.select(this.generateSelectStatement())
|
|
1224
|
+
.from({
|
|
1225
|
+
[mainTable]: "paginated",
|
|
1226
|
+
})
|
|
1227
|
+
)
|
|
1228
|
+
// add JSON aggregations attached to the CTE
|
|
1229
|
+
return this.addJsonRelationships(cte, tableName, relationships)
|
|
1230
|
+
}
|
|
1231
|
+
// no relationships found - return query
|
|
1232
|
+
else {
|
|
1233
|
+
return query
|
|
1234
|
+
}
|
|
1262
1235
|
}
|
|
1263
1236
|
|
|
1264
1237
|
update(opts: QueryOptions): Knex.QueryBuilder {
|