@budibase/server 0.9.190-alpha.0 → 0.9.190-alpha.4

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.
Files changed (184) hide show
  1. package/builder/assets/{index.43f4c913.js → index.12e1627d.js} +127 -127
  2. package/builder/assets/{index.7d405e74.css → index.4fb3f887.css} +1 -1
  3. package/builder/index.html +2 -2
  4. package/coverage/clover.xml +173 -177
  5. package/coverage/coverage-final.json +8 -8
  6. package/coverage/lcov-report/api/controllers/analytics.js.html +1 -1
  7. package/coverage/lcov-report/api/controllers/apikeys.js.html +1 -1
  8. package/coverage/lcov-report/api/controllers/application.js.html +7 -25
  9. package/coverage/lcov-report/api/controllers/auth.js.html +1 -1
  10. package/coverage/lcov-report/api/controllers/automation.js.html +1 -1
  11. package/coverage/lcov-report/api/controllers/backup.js.html +1 -1
  12. package/coverage/lcov-report/api/controllers/cloud.js.html +1 -1
  13. package/coverage/lcov-report/api/controllers/component.js.html +1 -1
  14. package/coverage/lcov-report/api/controllers/datasource.js.html +1 -1
  15. package/coverage/lcov-report/api/controllers/dev.js.html +1 -1
  16. package/coverage/lcov-report/api/controllers/hosting.js.html +1 -1
  17. package/coverage/lcov-report/api/controllers/index.html +24 -24
  18. package/coverage/lcov-report/api/controllers/integration.js.html +1 -1
  19. package/coverage/lcov-report/api/controllers/layout.js.html +9 -9
  20. package/coverage/lcov-report/api/controllers/metadata.js.html +1 -1
  21. package/coverage/lcov-report/api/controllers/permission.js.html +1 -1
  22. package/coverage/lcov-report/api/controllers/query.js.html +1 -1
  23. package/coverage/lcov-report/api/controllers/role.js.html +1 -1
  24. package/coverage/lcov-report/api/controllers/routing.js.html +27 -27
  25. package/coverage/lcov-report/api/controllers/row/external.js.html +1 -1
  26. package/coverage/lcov-report/api/controllers/row/index.html +1 -1
  27. package/coverage/lcov-report/api/controllers/row/index.js.html +1 -1
  28. package/coverage/lcov-report/api/controllers/row/internal.js.html +1 -1
  29. package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +1 -1
  30. package/coverage/lcov-report/api/controllers/row/utils.js.html +1 -1
  31. package/coverage/lcov-report/api/controllers/screen.js.html +2 -2
  32. package/coverage/lcov-report/api/controllers/script.js.html +1 -1
  33. package/coverage/lcov-report/api/controllers/table/external.js.html +1 -1
  34. package/coverage/lcov-report/api/controllers/table/index.html +1 -1
  35. package/coverage/lcov-report/api/controllers/table/index.js.html +1 -1
  36. package/coverage/lcov-report/api/controllers/table/internal.js.html +1 -1
  37. package/coverage/lcov-report/api/controllers/table/utils.js.html +1 -1
  38. package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
  39. package/coverage/lcov-report/api/controllers/user.js.html +1 -1
  40. package/coverage/lcov-report/api/controllers/view/exporters.js.html +1 -1
  41. package/coverage/lcov-report/api/controllers/view/index.html +1 -1
  42. package/coverage/lcov-report/api/controllers/view/index.js.html +1 -1
  43. package/coverage/lcov-report/api/controllers/view/utils.js.html +1 -1
  44. package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +1 -1
  45. package/coverage/lcov-report/api/controllers/webhook.js.html +1 -1
  46. package/coverage/lcov-report/api/index.html +1 -1
  47. package/coverage/lcov-report/api/index.js.html +1 -1
  48. package/coverage/lcov-report/api/routes/analytics.js.html +1 -1
  49. package/coverage/lcov-report/api/routes/apikeys.js.html +1 -1
  50. package/coverage/lcov-report/api/routes/application.js.html +1 -1
  51. package/coverage/lcov-report/api/routes/auth.js.html +1 -1
  52. package/coverage/lcov-report/api/routes/automation.js.html +1 -1
  53. package/coverage/lcov-report/api/routes/backup.js.html +1 -1
  54. package/coverage/lcov-report/api/routes/cloud.js.html +1 -1
  55. package/coverage/lcov-report/api/routes/component.js.html +1 -1
  56. package/coverage/lcov-report/api/routes/datasource.js.html +1 -1
  57. package/coverage/lcov-report/api/routes/deploy.js.html +1 -1
  58. package/coverage/lcov-report/api/routes/dev.js.html +1 -1
  59. package/coverage/lcov-report/api/routes/hosting.js.html +1 -1
  60. package/coverage/lcov-report/api/routes/index.html +1 -1
  61. package/coverage/lcov-report/api/routes/index.js.html +1 -1
  62. package/coverage/lcov-report/api/routes/integration.js.html +1 -1
  63. package/coverage/lcov-report/api/routes/layout.js.html +1 -1
  64. package/coverage/lcov-report/api/routes/metadata.js.html +1 -1
  65. package/coverage/lcov-report/api/routes/permission.js.html +1 -1
  66. package/coverage/lcov-report/api/routes/query.js.html +1 -1
  67. package/coverage/lcov-report/api/routes/role.js.html +1 -1
  68. package/coverage/lcov-report/api/routes/routing.js.html +1 -1
  69. package/coverage/lcov-report/api/routes/row.js.html +1 -1
  70. package/coverage/lcov-report/api/routes/screen.js.html +1 -1
  71. package/coverage/lcov-report/api/routes/script.js.html +1 -1
  72. package/coverage/lcov-report/api/routes/static.js.html +1 -1
  73. package/coverage/lcov-report/api/routes/table.js.html +1 -1
  74. package/coverage/lcov-report/api/routes/templates.js.html +1 -1
  75. package/coverage/lcov-report/api/routes/user.js.html +1 -1
  76. package/coverage/lcov-report/api/routes/view.js.html +1 -1
  77. package/coverage/lcov-report/api/routes/webhook.js.html +1 -1
  78. package/coverage/lcov-report/automations/actions.js.html +1 -1
  79. package/coverage/lcov-report/automations/automationUtils.js.html +1 -1
  80. package/coverage/lcov-report/automations/bullboard.js.html +1 -1
  81. package/coverage/lcov-report/automations/index.html +1 -1
  82. package/coverage/lcov-report/automations/index.js.html +1 -1
  83. package/coverage/lcov-report/automations/steps/bash.js.html +1 -1
  84. package/coverage/lcov-report/automations/steps/createRow.js.html +1 -1
  85. package/coverage/lcov-report/automations/steps/delay.js.html +1 -1
  86. package/coverage/lcov-report/automations/steps/deleteRow.js.html +1 -1
  87. package/coverage/lcov-report/automations/steps/discord.js.html +1 -1
  88. package/coverage/lcov-report/automations/steps/executeQuery.js.html +1 -1
  89. package/coverage/lcov-report/automations/steps/executeScript.js.html +1 -1
  90. package/coverage/lcov-report/automations/steps/filter.js.html +1 -1
  91. package/coverage/lcov-report/automations/steps/index.html +1 -1
  92. package/coverage/lcov-report/automations/steps/integromat.js.html +1 -1
  93. package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +1 -1
  94. package/coverage/lcov-report/automations/steps/queryRows.js.html +1 -1
  95. package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +1 -1
  96. package/coverage/lcov-report/automations/steps/serverLog.js.html +1 -1
  97. package/coverage/lcov-report/automations/steps/slack.js.html +1 -1
  98. package/coverage/lcov-report/automations/steps/updateRow.js.html +1 -1
  99. package/coverage/lcov-report/automations/steps/utils.js.html +1 -1
  100. package/coverage/lcov-report/automations/steps/zapier.js.html +1 -1
  101. package/coverage/lcov-report/automations/triggerInfo/app.js.html +1 -1
  102. package/coverage/lcov-report/automations/triggerInfo/cron.js.html +1 -1
  103. package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
  104. package/coverage/lcov-report/automations/triggerInfo/index.js.html +1 -1
  105. package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +1 -1
  106. package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +1 -1
  107. package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +1 -1
  108. package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +1 -1
  109. package/coverage/lcov-report/automations/triggers.js.html +1 -1
  110. package/coverage/lcov-report/automations/utils.js.html +1 -1
  111. package/coverage/lcov-report/constants/index.html +1 -1
  112. package/coverage/lcov-report/constants/index.js.html +1 -1
  113. package/coverage/lcov-report/constants/layouts.js.html +1 -1
  114. package/coverage/lcov-report/constants/screens.js.html +2 -2
  115. package/coverage/lcov-report/db/client.js.html +1 -1
  116. package/coverage/lcov-report/db/inMemoryView.js.html +1 -1
  117. package/coverage/lcov-report/db/index.html +1 -1
  118. package/coverage/lcov-report/db/index.js.html +1 -1
  119. package/coverage/lcov-report/db/linkedRows/LinkController.js.html +1 -1
  120. package/coverage/lcov-report/db/linkedRows/index.html +1 -1
  121. package/coverage/lcov-report/db/linkedRows/index.js.html +1 -1
  122. package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +1 -1
  123. package/coverage/lcov-report/db/newid.js.html +2 -2
  124. package/coverage/lcov-report/db/utils.js.html +2 -2
  125. package/coverage/lcov-report/events/AutomationEmitter.js.html +1 -1
  126. package/coverage/lcov-report/events/index.html +1 -1
  127. package/coverage/lcov-report/events/index.js.html +1 -1
  128. package/coverage/lcov-report/events/utils.js.html +1 -1
  129. package/coverage/lcov-report/index.html +17 -17
  130. package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
  131. package/coverage/lcov-report/integrations/tests/index.html +1 -1
  132. package/coverage/lcov-report/middleware/appInfo.js.html +1 -1
  133. package/coverage/lcov-report/middleware/authorized.js.html +1 -1
  134. package/coverage/lcov-report/middleware/builder.js.html +1 -1
  135. package/coverage/lcov-report/middleware/currentapp.js.html +1 -1
  136. package/coverage/lcov-report/middleware/index.html +1 -1
  137. package/coverage/lcov-report/middleware/joi-validator.js.html +1 -1
  138. package/coverage/lcov-report/middleware/resourceId.js.html +1 -1
  139. package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
  140. package/coverage/lcov-report/middleware/usageQuota.js.html +1 -1
  141. package/coverage/lcov-report/middleware/utils.js.html +1 -1
  142. package/coverage/lcov-report/threads/automation.js.html +1 -1
  143. package/coverage/lcov-report/threads/index.html +1 -1
  144. package/coverage/lcov-report/threads/index.js.html +1 -1
  145. package/coverage/lcov-report/threads/query.js.html +1 -1
  146. package/coverage/lcov-report/utilities/bcrypt.js.html +1 -1
  147. package/coverage/lcov-report/utilities/budibaseDir.js.html +1 -1
  148. package/coverage/lcov-report/utilities/centralPath.js.html +1 -1
  149. package/coverage/lcov-report/utilities/csvParser.js.html +1 -1
  150. package/coverage/lcov-report/utilities/global.js.html +1 -1
  151. package/coverage/lcov-report/utilities/index.html +1 -1
  152. package/coverage/lcov-report/utilities/index.js.html +1 -1
  153. package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +1 -1
  154. package/coverage/lcov-report/utilities/queue/index.html +1 -1
  155. package/coverage/lcov-report/utilities/routing/index.html +1 -1
  156. package/coverage/lcov-report/utilities/routing/index.js.html +2 -2
  157. package/coverage/lcov-report/utilities/rowProcessor/index.html +1 -1
  158. package/coverage/lcov-report/utilities/rowProcessor/index.js.html +1 -1
  159. package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +1 -1
  160. package/coverage/lcov-report/utilities/scriptRunner.js.html +1 -1
  161. package/coverage/lcov-report/utilities/security.js.html +1 -1
  162. package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
  163. package/coverage/lcov-report/utilities/users.js.html +1 -1
  164. package/coverage/lcov-report/utilities/workerRequests.js.html +1 -1
  165. package/coverage/lcov.info +275 -279
  166. package/dist/api/controllers/application.js +1 -5
  167. package/dist/api/controllers/row/ExternalRequest.js +41 -20
  168. package/dist/integrations/base/sql.js +29 -11
  169. package/dist/integrations/index.js +1 -1
  170. package/dist/integrations/mysql.js +2 -1
  171. package/dist/integrations/oracle.js +5 -3
  172. package/dist/integrations/utils.js +1 -1
  173. package/dist/package.json +4 -4
  174. package/dist/tsconfig.tsbuildinfo +1 -1
  175. package/package.json +5 -5
  176. package/src/api/controllers/application.js +0 -6
  177. package/src/api/controllers/row/ExternalRequest.ts +44 -20
  178. package/src/api/routes/tests/application.spec.js +0 -2
  179. package/src/api/routes/tests/screen.spec.js +1 -1
  180. package/src/integrations/base/sql.ts +30 -11
  181. package/src/integrations/index.ts +2 -2
  182. package/src/integrations/mysql.ts +3 -1
  183. package/src/integrations/oracle.ts +21 -8
  184. package/src/integrations/utils.ts +6 -2
@@ -13,10 +13,9 @@ const env = require("../../environment");
13
13
  const packageJson = require("../../../package.json");
14
14
  const { createLinkView, createRoutingView, createAllSearchIndex, } = require("../../db/views/staticViews");
15
15
  const { getTemplateStream, createApp, deleteApp, } = require("../../utilities/fileSystem");
16
- const { generateAppID, getLayoutParams, getScreenParams, generateScreenID, generateDevAppID, DocumentTypes, AppStatus, } = require("../../db/utils");
16
+ const { generateAppID, getLayoutParams, getScreenParams, generateDevAppID, DocumentTypes, AppStatus, } = require("../../db/utils");
17
17
  const { BUILTIN_ROLE_IDS, AccessController } = require("@budibase/auth/roles");
18
18
  const { BASE_LAYOUTS } = require("../../constants/layouts");
19
- const { createHomeScreen } = require("../../constants/screens");
20
19
  const { cloneDeep } = require("lodash/fp");
21
20
  const { processObject } = require("@budibase/string-templates");
22
21
  const { getAllApps, isDevAppID, getDeployedAppID, Replication, } = require("@budibase/auth/db");
@@ -350,8 +349,5 @@ const createEmptyAppPackage = (ctx, app) => __awaiter(void 0, void 0, void 0, fu
350
349
  const cloned = cloneDeep(layout);
351
350
  screensAndLayouts.push(yield processObject(cloned, app));
352
351
  }
353
- const homeScreen = createHomeScreen(app);
354
- homeScreen._id = generateScreenID();
355
- screensAndLayouts.push(homeScreen);
356
352
  yield db.bulkDocs(screensAndLayouts);
357
353
  });
@@ -167,8 +167,8 @@ var External;
167
167
  }
168
168
  return row;
169
169
  }
170
- function isMany(field) {
171
- return (field.relationshipType && field.relationshipType.split("-")[0] === "many");
170
+ function isOneSide(field) {
171
+ return (field.relationshipType && field.relationshipType.split("-")[0] === "one");
172
172
  }
173
173
  class ExternalRequest {
174
174
  constructor(appId, operation, tableId, datasource) {
@@ -226,24 +226,35 @@ var External;
226
226
  const linkTable = this.tables[linkTableName];
227
227
  // @ts-ignore
228
228
  const linkTablePrimary = linkTable.primary[0];
229
- if (!isMany(field)) {
229
+ // one to many
230
+ if (isOneSide(field)) {
230
231
  newRow[field.foreignKey || linkTablePrimary] = utils_1.breakRowIdField(row[key][0])[0];
231
232
  }
232
- else {
233
+ // many to many
234
+ else if (field.through) {
233
235
  // we're not inserting a doc, will be a bunch of update calls
234
- const isUpdate = !field.through;
235
- const thisKey = isUpdate
236
- ? "id"
237
- : field.throughTo || linkTablePrimary;
238
- // @ts-ignore
239
- const otherKey = isUpdate
240
- ? field.fieldName
241
- : field.throughFrom || tablePrimary;
236
+ const otherKey = field.throughFrom || linkTablePrimary;
237
+ const thisKey = field.throughTo || tablePrimary;
242
238
  row[key].map((relationship) => {
243
- // we don't really support composite keys for relationships, this is why [0] is used
244
239
  manyRelationships.push({
245
240
  tableId: field.through || field.tableId,
246
- isUpdate,
241
+ isUpdate: false,
242
+ key: otherKey,
243
+ [otherKey]: utils_1.breakRowIdField(relationship)[0],
244
+ // leave the ID for enrichment later
245
+ [thisKey]: `{{ literal ${tablePrimary} }}`,
246
+ });
247
+ });
248
+ }
249
+ // many to one
250
+ else {
251
+ const thisKey = "id";
252
+ // @ts-ignore
253
+ const otherKey = field.fieldName;
254
+ row[key].map((relationship) => {
255
+ manyRelationships.push({
256
+ tableId: field.tableId,
257
+ isUpdate: true,
247
258
  key: otherKey,
248
259
  [thisKey]: utils_1.breakRowIdField(relationship)[0],
249
260
  // leave the ID for enrichment later
@@ -351,8 +362,8 @@ var External;
351
362
  const { tableName: throughTableName } = breakExternalTableId(field.through);
352
363
  definition.through = throughTableName;
353
364
  // don't support composite keys for relationships
354
- definition.from = field.throughFrom || table.primary[0];
355
- definition.to = field.throughTo || linkTable.primary[0];
365
+ definition.from = field.throughTo || table.primary[0];
366
+ definition.to = field.throughFrom || linkTable.primary[0];
356
367
  definition.fromPrimary = table.primary[0];
357
368
  definition.toPrimary = linkTable.primary[0];
358
369
  }
@@ -374,24 +385,34 @@ var External;
374
385
  // make a new request to get the row with all its relationships
375
386
  // we need this to work out if any relationships need removed
376
387
  for (let field of Object.values(table.schema)) {
377
- if (field.type !== FieldTypes.LINK || !field.fieldName) {
388
+ if (field.type !== FieldTypes.LINK ||
389
+ !field.fieldName ||
390
+ isOneSide(field)) {
378
391
  continue;
379
392
  }
380
393
  const isMany = field.relationshipType === RelationshipTypes.MANY_TO_MANY;
381
394
  const tableId = isMany ? field.through : field.tableId;
382
- const manyKey = field.throughFrom || primaryKey;
395
+ const { tableName: relatedTableName } = breakExternalTableId(tableId);
396
+ // @ts-ignore
397
+ const linkPrimaryKey = this.tables[relatedTableName].primary[0];
398
+ const manyKey = field.throughTo || primaryKey;
399
+ const lookupField = isMany ? primaryKey : field.foreignKey;
383
400
  const fieldName = isMany ? manyKey : field.fieldName;
401
+ if (!lookupField || !row[lookupField]) {
402
+ continue;
403
+ }
384
404
  const response = yield getDatasourceAndQuery(this.appId, {
385
405
  endpoint: getEndpoint(tableId, DataSourceOperation.READ),
386
406
  filters: {
387
407
  equal: {
388
- [fieldName]: row[primaryKey],
408
+ [fieldName]: row[lookupField],
389
409
  },
390
410
  },
391
411
  });
392
412
  // this is the response from knex if no rows found
393
413
  const rows = !response[0].read ? response : [];
394
- related[fieldName] = { rows, isMany, tableId };
414
+ const storeTo = isMany ? field.throughFrom || linkPrimaryKey : manyKey;
415
+ related[storeTo] = { rows, isMany, tableId };
395
416
  }
396
417
  return related;
397
418
  });
@@ -24,6 +24,9 @@ function parse(input) {
24
24
  if (Array.isArray(input)) {
25
25
  return JSON.stringify(input);
26
26
  }
27
+ if (input == undefined) {
28
+ return null;
29
+ }
27
30
  if (typeof input !== "string") {
28
31
  return input;
29
32
  }
@@ -45,6 +48,9 @@ function parseBody(body) {
45
48
  return body;
46
49
  }
47
50
  function parseFilters(filters) {
51
+ if (!filters) {
52
+ return {};
53
+ }
48
54
  for (let [key, value] of Object.entries(filters)) {
49
55
  let parsed;
50
56
  if (typeof value === "object") {
@@ -144,6 +150,23 @@ class InternalBuilder {
144
150
  }
145
151
  return query;
146
152
  }
153
+ addSorting(query, json) {
154
+ var _a;
155
+ let { sort, paginate } = json;
156
+ if (!sort) {
157
+ return query;
158
+ }
159
+ const table = (_a = json.meta) === null || _a === void 0 ? void 0 : _a.table;
160
+ for (let [key, value] of Object.entries(sort)) {
161
+ const direction = value === datasource_1.SortDirection.ASCENDING ? "asc" : "desc";
162
+ query = query.orderBy(`${table === null || table === void 0 ? void 0 : table.name}.${key}`, direction);
163
+ }
164
+ if (this.client === utils_1.SqlClients.MS_SQL && !sort && (paginate === null || paginate === void 0 ? void 0 : paginate.limit)) {
165
+ // @ts-ignore
166
+ query = query.orderBy(`${table === null || table === void 0 ? void 0 : table.name}.${table === null || table === void 0 ? void 0 : table.primary[0]}`);
167
+ }
168
+ return query;
169
+ }
147
170
  addRelationships(knex, query, fields, fromTable, relationships) {
148
171
  if (!relationships) {
149
172
  return query;
@@ -194,7 +217,6 @@ class InternalBuilder {
194
217
  return query.insert(parsedBody);
195
218
  }
196
219
  read(knex, json, limit) {
197
- var _a, _b;
198
220
  let { endpoint, resource, filters, sort, paginate, relationships } = json;
199
221
  const tableName = endpoint.entityId;
200
222
  // select all if not specified
@@ -226,22 +248,18 @@ class InternalBuilder {
226
248
  if (foundOffset) {
227
249
  query = query.offset(foundOffset);
228
250
  }
229
- if (sort) {
230
- for (let [key, value] of Object.entries(sort)) {
231
- const direction = value === datasource_1.SortDirection.ASCENDING ? "asc" : "desc";
232
- query = query.orderBy(key, direction);
233
- }
234
- }
235
- if (this.client === utils_1.SqlClients.MS_SQL && !sort && (paginate === null || paginate === void 0 ? void 0 : paginate.limit)) {
236
- // @ts-ignore
237
- query = query.orderBy((_b = (_a = json.meta) === null || _a === void 0 ? void 0 : _a.table) === null || _b === void 0 ? void 0 : _b.primary[0]);
238
- }
239
251
  query = this.addFilters(tableName, query, filters);
252
+ // add sorting to pre-query
253
+ query = this.addSorting(query, json);
240
254
  // @ts-ignore
241
255
  let preQuery = knex({
242
256
  // @ts-ignore
243
257
  [tableName]: query,
244
258
  }).select(selectStatement);
259
+ // have to add after as well (this breaks MS-SQL)
260
+ if (this.client !== utils_1.SqlClients.MS_SQL) {
261
+ preQuery = this.addSorting(preQuery, json);
262
+ }
245
263
  // handle joins
246
264
  return this.addRelationships(knex, preQuery, selectStatement, tableName, relationships);
247
265
  }
@@ -38,7 +38,7 @@ const INTEGRATIONS = {
38
38
  [SourceNames.REST]: rest.integration,
39
39
  };
40
40
  // optionally add oracle integration if the oracle binary can be installed
41
- if (!(process.arch === 'arm64' && process.platform === 'darwin')) {
41
+ if (!(process.arch === "arm64" && process.platform === "darwin")) {
42
42
  const oracle = require("./oracle");
43
43
  DEFINITIONS[SourceNames.ORACLE] = oracle.schema;
44
44
  INTEGRATIONS[SourceNames.ORACLE] = oracle.integration;
@@ -102,7 +102,8 @@ var MySQLModule;
102
102
  this.client.connect();
103
103
  // get the tables first
104
104
  const tablesResp = yield internalQuery(this.client, { sql: "SHOW TABLES;" }, false);
105
- const tableNames = tablesResp.map((obj) => obj[`Tables_in_${database.toLowerCase()}`]);
105
+ const tableNames = tablesResp.map((obj) => obj[`Tables_in_${database}`] ||
106
+ obj[`Tables_in_${database.toLowerCase()}`]);
106
107
  for (let tableName of tableNames) {
107
108
  const primaryKeys = [];
108
109
  const schema = {};
@@ -269,7 +269,8 @@ var OracleModule;
269
269
  addReturning(query, bindings, returnColumn) {
270
270
  if (bindings instanceof Array) {
271
271
  bindings.push({ dir: oracledb_1.default.BIND_OUT });
272
- query.sql = query.sql + ` returning \"${returnColumn}\" into :${bindings.length}`;
272
+ query.sql =
273
+ query.sql + ` returning \"${returnColumn}\" into :${bindings.length}`;
273
274
  }
274
275
  }
275
276
  internalQuery(query, returnColum, operation) {
@@ -279,7 +280,8 @@ var OracleModule;
279
280
  connection = yield this.getConnection();
280
281
  const options = { autoCommit: true };
281
282
  const bindings = query.bindings || [];
282
- if (returnColum && (operation === datasource_1.Operation.CREATE || operation === datasource_1.Operation.UPDATE)) {
283
+ if (returnColum &&
284
+ (operation === datasource_1.Operation.CREATE || operation === datasource_1.Operation.UPDATE)) {
283
285
  this.addReturning(query, bindings, returnColum);
284
286
  }
285
287
  const result = yield connection.execute(query.sql, bindings, options);
@@ -332,7 +334,7 @@ var OracleModule;
332
334
  const primaryKeys = json.meta.table.primary;
333
335
  const primaryKey = primaryKeys ? primaryKeys[0] : undefined;
334
336
  const queryFn = (query, operation) => this.internalQuery(query, primaryKey, operation);
335
- const processFn = (response) => response.rows ? response.rows : [];
337
+ const processFn = (response) => (response.rows ? response.rows : []);
336
338
  const output = yield this.queryWithReturning(json, queryFn, processFn);
337
339
  return output;
338
340
  });
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.finaliseExternalTables = exports.isIsoDateString = exports.isSQL = exports.getSqlQuery = exports.convertSqlType = exports.breakRowIdField = exports.convertRowId = exports.isRowId = exports.generateRowIdField = exports.breakExternalTableId = exports.buildExternalTableId = exports.isExternalTable = exports.SqlClients = void 0;
4
4
  const datasource_1 = require("../definitions/datasource");
5
5
  const { DocumentTypes, SEPARATOR } = require("../db/utils");
6
- const { FieldTypes, BuildSchemaErrors, InvalidColumns } = require("../constants");
6
+ const { FieldTypes, BuildSchemaErrors, InvalidColumns, } = require("../constants");
7
7
  const DOUBLE_SEPARATOR = `${SEPARATOR}${SEPARATOR}`;
8
8
  const ROW_ID_REGEX = /^\[.*]$/g;
9
9
  const SQL_TYPE_MAP = {
package/dist/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@budibase/server",
3
3
  "email": "hi@budibase.com",
4
- "version": "0.9.189",
4
+ "version": "0.9.190-alpha.3",
5
5
  "description": "Budibase Web Server",
6
6
  "main": "src/index.js",
7
7
  "repository": {
@@ -68,11 +68,11 @@
68
68
  "author": "Budibase",
69
69
  "license": "GPL-3.0",
70
70
  "dependencies": {
71
+ "@budibase/auth": "^0.9.190-alpha.3",
72
+ "@budibase/client": "^0.9.190-alpha.3",
73
+ "@budibase/string-templates": "^0.9.190-alpha.3",
71
74
  "@bull-board/api": "^3.7.0",
72
75
  "@bull-board/koa": "^3.7.0",
73
- "@budibase/auth": "^0.9.189",
74
- "@budibase/client": "^0.9.189",
75
- "@budibase/string-templates": "^0.9.189",
76
76
  "@elastic/elasticsearch": "7.10.0",
77
77
  "@koa/router": "8.0.0",
78
78
  "@sendgrid/mail": "7.1.1",