@budibase/server 1.0.95 → 1.0.96

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 (198) hide show
  1. package/builder/assets/{index.3544c466.js → index.b6091ca2.js} +1 -1
  2. package/builder/index.html +1 -1
  3. package/coverage/clover.xml +37 -37
  4. package/coverage/coverage-final.json +4 -4
  5. package/coverage/lcov-report/api/controllers/analytics.js.html +1 -1
  6. package/coverage/lcov-report/api/controllers/apikeys.js.html +1 -1
  7. package/coverage/lcov-report/api/controllers/application.js.html +1 -1
  8. package/coverage/lcov-report/api/controllers/auth.js.html +2 -2
  9. package/coverage/lcov-report/api/controllers/automation.js.html +1 -1
  10. package/coverage/lcov-report/api/controllers/backup.js.html +1 -1
  11. package/coverage/lcov-report/api/controllers/cloud.js.html +1 -1
  12. package/coverage/lcov-report/api/controllers/component.js.html +1 -1
  13. package/coverage/lcov-report/api/controllers/datasource.js.html +1 -1
  14. package/coverage/lcov-report/api/controllers/dev.js.html +1 -1
  15. package/coverage/lcov-report/api/controllers/index.html +1 -1
  16. package/coverage/lcov-report/api/controllers/integration.js.html +1 -1
  17. package/coverage/lcov-report/api/controllers/layout.js.html +1 -1
  18. package/coverage/lcov-report/api/controllers/metadata.js.html +1 -1
  19. package/coverage/lcov-report/api/controllers/migrations.js.html +1 -1
  20. package/coverage/lcov-report/api/controllers/permission.js.html +1 -1
  21. package/coverage/lcov-report/api/controllers/query/index.html +1 -1
  22. package/coverage/lcov-report/api/controllers/query/index.js.html +1 -1
  23. package/coverage/lcov-report/api/controllers/query/validation.js.html +1 -1
  24. package/coverage/lcov-report/api/controllers/role.js.html +1 -1
  25. package/coverage/lcov-report/api/controllers/routing.js.html +1 -1
  26. package/coverage/lcov-report/api/controllers/row/external.js.html +1 -1
  27. package/coverage/lcov-report/api/controllers/row/index.html +1 -1
  28. package/coverage/lcov-report/api/controllers/row/index.js.html +1 -1
  29. package/coverage/lcov-report/api/controllers/row/internal.js.html +1 -1
  30. package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +1 -1
  31. package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +1 -1
  32. package/coverage/lcov-report/api/controllers/row/utils.js.html +1 -1
  33. package/coverage/lcov-report/api/controllers/screen.js.html +1 -1
  34. package/coverage/lcov-report/api/controllers/script.js.html +1 -1
  35. package/coverage/lcov-report/api/controllers/table/bulkFormula.js.html +1 -1
  36. package/coverage/lcov-report/api/controllers/table/external.js.html +1 -1
  37. package/coverage/lcov-report/api/controllers/table/index.html +1 -1
  38. package/coverage/lcov-report/api/controllers/table/index.js.html +1 -1
  39. package/coverage/lcov-report/api/controllers/table/internal.js.html +1 -1
  40. package/coverage/lcov-report/api/controllers/table/utils.js.html +1 -1
  41. package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
  42. package/coverage/lcov-report/api/controllers/user.js.html +1 -1
  43. package/coverage/lcov-report/api/controllers/view/exporters.js.html +1 -1
  44. package/coverage/lcov-report/api/controllers/view/index.html +1 -1
  45. package/coverage/lcov-report/api/controllers/view/index.js.html +1 -1
  46. package/coverage/lcov-report/api/controllers/view/utils.js.html +1 -1
  47. package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +1 -1
  48. package/coverage/lcov-report/api/controllers/webhook.js.html +1 -1
  49. package/coverage/lcov-report/api/index.html +15 -15
  50. package/coverage/lcov-report/api/index.js.html +15 -27
  51. package/coverage/lcov-report/api/routes/analytics.js.html +1 -1
  52. package/coverage/lcov-report/api/routes/apikeys.js.html +1 -1
  53. package/coverage/lcov-report/api/routes/application.js.html +1 -1
  54. package/coverage/lcov-report/api/routes/auth.js.html +1 -1
  55. package/coverage/lcov-report/api/routes/automation.js.html +1 -1
  56. package/coverage/lcov-report/api/routes/backup.js.html +1 -1
  57. package/coverage/lcov-report/api/routes/cloud.js.html +1 -1
  58. package/coverage/lcov-report/api/routes/component.js.html +1 -1
  59. package/coverage/lcov-report/api/routes/datasource.js.html +1 -1
  60. package/coverage/lcov-report/api/routes/deploy.js.html +1 -1
  61. package/coverage/lcov-report/api/routes/dev.js.html +1 -1
  62. package/coverage/lcov-report/api/routes/index.html +1 -1
  63. package/coverage/lcov-report/api/routes/index.js.html +1 -1
  64. package/coverage/lcov-report/api/routes/integration.js.html +1 -1
  65. package/coverage/lcov-report/api/routes/layout.js.html +1 -1
  66. package/coverage/lcov-report/api/routes/metadata.js.html +1 -1
  67. package/coverage/lcov-report/api/routes/migrations.js.html +1 -1
  68. package/coverage/lcov-report/api/routes/permission.js.html +1 -1
  69. package/coverage/lcov-report/api/routes/query.js.html +1 -1
  70. package/coverage/lcov-report/api/routes/role.js.html +1 -1
  71. package/coverage/lcov-report/api/routes/routing.js.html +1 -1
  72. package/coverage/lcov-report/api/routes/row.js.html +1 -1
  73. package/coverage/lcov-report/api/routes/screen.js.html +1 -1
  74. package/coverage/lcov-report/api/routes/script.js.html +1 -1
  75. package/coverage/lcov-report/api/routes/static.js.html +3 -6
  76. package/coverage/lcov-report/api/routes/table.js.html +1 -1
  77. package/coverage/lcov-report/api/routes/templates.js.html +1 -1
  78. package/coverage/lcov-report/api/routes/user.js.html +1 -1
  79. package/coverage/lcov-report/api/routes/utils/index.html +1 -1
  80. package/coverage/lcov-report/api/routes/utils/validators.js.html +1 -1
  81. package/coverage/lcov-report/api/routes/view.js.html +1 -1
  82. package/coverage/lcov-report/api/routes/webhook.js.html +1 -1
  83. package/coverage/lcov-report/automations/actions.js.html +1 -1
  84. package/coverage/lcov-report/automations/automationUtils.js.html +1 -1
  85. package/coverage/lcov-report/automations/bullboard.js.html +1 -1
  86. package/coverage/lcov-report/automations/index.html +1 -1
  87. package/coverage/lcov-report/automations/index.js.html +1 -1
  88. package/coverage/lcov-report/automations/steps/bash.js.html +1 -1
  89. package/coverage/lcov-report/automations/steps/createRow.js.html +1 -1
  90. package/coverage/lcov-report/automations/steps/delay.js.html +1 -1
  91. package/coverage/lcov-report/automations/steps/deleteRow.js.html +1 -1
  92. package/coverage/lcov-report/automations/steps/discord.js.html +1 -1
  93. package/coverage/lcov-report/automations/steps/executeQuery.js.html +1 -1
  94. package/coverage/lcov-report/automations/steps/executeScript.js.html +1 -1
  95. package/coverage/lcov-report/automations/steps/filter.js.html +1 -1
  96. package/coverage/lcov-report/automations/steps/index.html +1 -1
  97. package/coverage/lcov-report/automations/steps/integromat.js.html +1 -1
  98. package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +1 -1
  99. package/coverage/lcov-report/automations/steps/queryRows.js.html +1 -1
  100. package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +1 -1
  101. package/coverage/lcov-report/automations/steps/serverLog.js.html +1 -1
  102. package/coverage/lcov-report/automations/steps/slack.js.html +1 -1
  103. package/coverage/lcov-report/automations/steps/updateRow.js.html +1 -1
  104. package/coverage/lcov-report/automations/steps/utils.js.html +1 -1
  105. package/coverage/lcov-report/automations/steps/zapier.js.html +1 -1
  106. package/coverage/lcov-report/automations/triggerInfo/app.js.html +1 -1
  107. package/coverage/lcov-report/automations/triggerInfo/cron.js.html +1 -1
  108. package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
  109. package/coverage/lcov-report/automations/triggerInfo/index.js.html +1 -1
  110. package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +1 -1
  111. package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +1 -1
  112. package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +1 -1
  113. package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +1 -1
  114. package/coverage/lcov-report/automations/triggers.js.html +1 -1
  115. package/coverage/lcov-report/automations/utils.js.html +1 -1
  116. package/coverage/lcov-report/constants/index.html +1 -1
  117. package/coverage/lcov-report/constants/index.js.html +1 -1
  118. package/coverage/lcov-report/constants/layouts.js.html +1 -1
  119. package/coverage/lcov-report/constants/screens.js.html +1 -1
  120. package/coverage/lcov-report/db/client.js.html +1 -1
  121. package/coverage/lcov-report/db/inMemoryView.js.html +1 -1
  122. package/coverage/lcov-report/db/index.html +1 -1
  123. package/coverage/lcov-report/db/index.js.html +1 -1
  124. package/coverage/lcov-report/db/linkedRows/LinkController.js.html +1 -1
  125. package/coverage/lcov-report/db/linkedRows/index.html +1 -1
  126. package/coverage/lcov-report/db/linkedRows/index.js.html +1 -1
  127. package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +1 -1
  128. package/coverage/lcov-report/db/newid.js.html +1 -1
  129. package/coverage/lcov-report/db/utils.js.html +1 -1
  130. package/coverage/lcov-report/events/AutomationEmitter.js.html +1 -1
  131. package/coverage/lcov-report/events/index.html +1 -1
  132. package/coverage/lcov-report/events/index.js.html +1 -1
  133. package/coverage/lcov-report/events/utils.js.html +1 -1
  134. package/coverage/lcov-report/index.html +19 -19
  135. package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
  136. package/coverage/lcov-report/integrations/tests/index.html +1 -1
  137. package/coverage/lcov-report/middleware/appInfo.js.html +1 -1
  138. package/coverage/lcov-report/middleware/authorized.js.html +1 -1
  139. package/coverage/lcov-report/middleware/builder.js.html +1 -1
  140. package/coverage/lcov-report/middleware/currentapp.js.html +15 -12
  141. package/coverage/lcov-report/middleware/index.html +11 -11
  142. package/coverage/lcov-report/middleware/joi-validator.js.html +1 -1
  143. package/coverage/lcov-report/middleware/publicApi.js.html +3 -3
  144. package/coverage/lcov-report/middleware/resourceId.js.html +1 -1
  145. package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
  146. package/coverage/lcov-report/middleware/usageQuota.js.html +1 -1
  147. package/coverage/lcov-report/middleware/utils.js.html +1 -1
  148. package/coverage/lcov-report/threads/automation.js.html +1 -1
  149. package/coverage/lcov-report/threads/index.html +1 -1
  150. package/coverage/lcov-report/threads/index.js.html +1 -1
  151. package/coverage/lcov-report/threads/query.js.html +1 -1
  152. package/coverage/lcov-report/threads/utils.js.html +1 -1
  153. package/coverage/lcov-report/utilities/bcrypt.js.html +1 -1
  154. package/coverage/lcov-report/utilities/budibaseDir.js.html +1 -1
  155. package/coverage/lcov-report/utilities/centralPath.js.html +1 -1
  156. package/coverage/lcov-report/utilities/csvParser.js.html +1 -1
  157. package/coverage/lcov-report/utilities/global.js.html +1 -1
  158. package/coverage/lcov-report/utilities/index.html +1 -1
  159. package/coverage/lcov-report/utilities/index.js.html +1 -1
  160. package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +1 -1
  161. package/coverage/lcov-report/utilities/queue/index.html +1 -1
  162. package/coverage/lcov-report/utilities/routing/index.html +1 -1
  163. package/coverage/lcov-report/utilities/routing/index.js.html +1 -1
  164. package/coverage/lcov-report/utilities/rowProcessor/index.html +1 -1
  165. package/coverage/lcov-report/utilities/rowProcessor/index.js.html +1 -1
  166. package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +1 -1
  167. package/coverage/lcov-report/utilities/scriptRunner.js.html +1 -1
  168. package/coverage/lcov-report/utilities/security.js.html +1 -1
  169. package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
  170. package/coverage/lcov-report/utilities/usageQuota/index.html +1 -1
  171. package/coverage/lcov-report/utilities/usageQuota/index.js.html +1 -1
  172. package/coverage/lcov-report/utilities/usageQuota/rows.js.html +1 -1
  173. package/coverage/lcov-report/utilities/usageQuota/usageQuoteReset.js.html +1 -1
  174. package/coverage/lcov-report/utilities/users.js.html +1 -1
  175. package/coverage/lcov-report/utilities/workerRequests.js.html +1 -1
  176. package/coverage/lcov.info +51 -53
  177. package/dist/api/controllers/auth.js +1 -1
  178. package/dist/api/controllers/static/index.js +2 -15
  179. package/dist/api/index.js +3 -6
  180. package/dist/api/routes/static.js +1 -2
  181. package/dist/db/views/staticViews.js +2 -0
  182. package/dist/middleware/currentapp.js +7 -6
  183. package/dist/middleware/publicApi.js +2 -2
  184. package/dist/package.json +4 -8
  185. package/dist/tests/utilities/TestConfiguration.js +1 -1
  186. package/dist/tsconfig.tsbuildinfo +1 -1
  187. package/package.json +5 -9
  188. package/src/api/controllers/auth.js +1 -1
  189. package/src/api/controllers/static/index.js +2 -18
  190. package/src/api/index.js +3 -7
  191. package/src/api/routes/static.js +1 -2
  192. package/src/db/views/staticViews.js +2 -0
  193. package/src/middleware/currentapp.js +7 -6
  194. package/src/middleware/publicApi.js +2 -2
  195. package/src/middleware/tests/authorized.spec.js +1 -3
  196. package/src/middleware/tests/currentapp.spec.js +4 -4
  197. package/src/tests/utilities/TestConfiguration.js +1 -1
  198. package/.eslintrc +0 -13
@@ -1,55 +1,52 @@
1
1
  TN:
2
2
  SF:src/api/index.js
3
- FN:30,(anonymous_0)
4
- FN:37,(anonymous_1)
5
- FN:38,(anonymous_2)
6
- FN:60,(anonymous_3)
7
- FN:77,(anonymous_4)
8
- FNF:5
3
+ FN:16,(anonymous_0)
4
+ FN:17,(anonymous_1)
5
+ FN:32,(anonymous_2)
6
+ FN:58,(anonymous_3)
7
+ FNF:4
9
8
  FNH:4
10
- FNDA:190,(anonymous_0)
9
+ FNDA:1,(anonymous_0)
11
10
  FNDA:1,(anonymous_1)
12
- FNDA:1,(anonymous_2)
11
+ FNDA:188,(anonymous_2)
13
12
  FNDA:186,(anonymous_3)
14
- FNDA:0,(anonymous_4)
15
13
  DA:1,24
14
+ DA:6,24
16
15
  DA:7,24
17
16
  DA:8,24
18
17
  DA:9,24
19
18
  DA:10,24
20
19
  DA:11,24
21
20
  DA:12,24
22
- DA:13,24
23
- DA:15,24
21
+ DA:14,24
22
+ DA:16,24
24
23
  DA:17,24
25
- DA:31,190
26
- DA:35,190
27
- DA:37,1
28
- DA:38,1
29
- DA:60,24
30
- DA:61,186
31
- DA:62,186
32
- DA:64,39
33
- DA:65,39
34
- DA:70,39
35
- DA:71,0
36
- DA:72,0
37
- DA:77,24
38
- DA:80,24
39
- DA:81,624
40
- DA:82,624
24
+ DA:19,24
25
+ DA:33,188
26
+ DA:37,188
27
+ DA:58,24
28
+ DA:59,186
29
+ DA:60,186
30
+ DA:62,39
31
+ DA:63,39
32
+ DA:68,39
33
+ DA:69,0
34
+ DA:70,0
35
+ DA:76,24
36
+ DA:77,624
37
+ DA:78,624
38
+ DA:81,24
39
+ DA:82,24
41
40
  DA:85,24
42
41
  DA:86,24
43
- DA:89,24
44
- DA:90,24
45
- DA:92,24
46
- LF:31
47
- LH:29
48
- BRDA:64,0,0,39
49
- BRDA:64,0,1,0
50
- BRDA:64,0,2,0
51
- BRDA:70,1,0,0
52
- BRDA:70,1,1,39
42
+ DA:88,24
43
+ LF:30
44
+ LH:28
45
+ BRDA:62,0,0,39
46
+ BRDA:62,0,1,0
47
+ BRDA:62,0,2,0
48
+ BRDA:68,1,0,0
49
+ BRDA:68,1,1,39
53
50
  BRF:5
54
51
  BRH:2
55
52
  end_of_record
@@ -5244,7 +5241,7 @@ DA:13,24
5244
5241
  DA:33,24
5245
5242
  DA:34,24
5246
5243
  DA:37,24
5247
- DA:55,24
5244
+ DA:54,24
5248
5245
  LF:12
5249
5246
  LH:12
5250
5247
  BRDA:33,0,0,24
@@ -7773,15 +7770,16 @@ DA:85,0
7773
7770
  DA:86,0
7774
7771
  DA:87,0
7775
7772
  DA:88,0
7776
- DA:91,190
7773
+ DA:89,0
7777
7774
  DA:92,190
7778
7775
  DA:93,190
7779
7776
  DA:94,190
7780
7777
  DA:95,190
7781
- DA:104,190
7782
- DA:110,7
7783
- DA:113,190
7784
- LF:55
7778
+ DA:96,190
7779
+ DA:105,190
7780
+ DA:111,7
7781
+ DA:114,190
7782
+ LF:56
7785
7783
  LH:46
7786
7784
  BRDA:28,0,0,1
7787
7785
  BRDA:28,0,1,192
@@ -7816,16 +7814,16 @@ BRDA:78,13,0,190
7816
7814
  BRDA:78,13,1,0
7817
7815
  BRDA:78,13,2,0
7818
7816
  BRDA:78,13,3,0
7819
- BRDA:92,14,0,190
7820
- BRDA:92,14,1,0
7821
- BRDA:94,15,0,185
7822
- BRDA:94,15,1,5
7823
- BRDA:104,16,0,7
7824
- BRDA:104,16,1,183
7825
- BRDA:105,17,0,190
7826
- BRDA:105,17,1,190
7827
- BRDA:105,17,2,185
7828
- BRDA:105,17,3,7
7817
+ BRDA:93,14,0,190
7818
+ BRDA:93,14,1,0
7819
+ BRDA:95,15,0,185
7820
+ BRDA:95,15,1,5
7821
+ BRDA:105,16,0,7
7822
+ BRDA:105,16,1,183
7823
+ BRDA:106,17,0,190
7824
+ BRDA:106,17,1,190
7825
+ BRDA:106,17,2,185
7826
+ BRDA:106,17,3,7
7829
7827
  BRF:43
7830
7828
  BRH:33
7831
7829
  end_of_record
@@ -16,7 +16,7 @@ const { getAppDB, getAppId } = require("@budibase/backend-core/context");
16
16
  exports.fetchSelf = (ctx) => __awaiter(void 0, void 0, void 0, function* () {
17
17
  let userId = ctx.user.userId || ctx.user._id;
18
18
  /* istanbul ignore next */
19
- if (!userId) {
19
+ if (!userId || !ctx.isAuthenticated) {
20
20
  ctx.body = {};
21
21
  return;
22
22
  }
@@ -14,14 +14,13 @@ const { resolve, join } = require("../../../utilities/centralPath");
14
14
  const uuid = require("uuid");
15
15
  const { ObjectStoreBuckets } = require("../../../constants");
16
16
  const { processString } = require("@budibase/string-templates");
17
- const { getAllApps } = require("@budibase/backend-core/db");
18
17
  const { loadHandlebarsFile, NODE_MODULES_PATH, TOP_LEVEL_PATH, } = require("../../../utilities/fileSystem");
19
18
  const env = require("../../../environment");
20
19
  const { clientLibraryPath } = require("../../../utilities");
21
20
  const { upload } = require("../../../utilities/fileSystem");
22
21
  const { attachmentsRelativeURL } = require("../../../utilities");
23
22
  const { DocumentTypes } = require("../../../db/utils");
24
- const { getAppDB, updateAppId } = require("@budibase/backend-core/context");
23
+ const { getAppDB, getAppId } = require("@budibase/backend-core/context");
25
24
  const AWS = require("aws-sdk");
26
25
  const AWS_REGION = env.AWS_REGION ? env.AWS_REGION : "eu-west-1";
27
26
  function prepareUpload({ s3Key, bucket, metadata, file }) {
@@ -43,18 +42,6 @@ function prepareUpload({ s3Key, bucket, metadata, file }) {
43
42
  };
44
43
  });
45
44
  }
46
- function getAppIdFromUrl(ctx) {
47
- return __awaiter(this, void 0, void 0, function* () {
48
- // the "appId" component of the URL can be the id or the custom url
49
- let possibleAppUrl = `/${encodeURI(ctx.params.appId).toLowerCase()}`;
50
- // search prod apps for a url that matches, exclude dev where id is always used
51
- const apps = yield getAllApps({ dev: false });
52
- const app = apps.filter(a => a.url && a.url.toLowerCase() === possibleAppUrl)[0];
53
- const appId = app && app.appId ? app.appId : ctx.params.appId;
54
- updateAppId(appId);
55
- return appId;
56
- });
57
- }
58
45
  exports.serveBuilder = function (ctx) {
59
46
  return __awaiter(this, void 0, void 0, function* () {
60
47
  let builderPath = resolve(TOP_LEVEL_PATH, "builder");
@@ -81,10 +68,10 @@ exports.uploadFile = function (ctx) {
81
68
  };
82
69
  exports.serveApp = function (ctx) {
83
70
  return __awaiter(this, void 0, void 0, function* () {
84
- let appId = yield getAppIdFromUrl(ctx);
85
71
  const App = require("./templates/BudibaseApp.svelte").default;
86
72
  const db = getAppDB({ skip_setup: true });
87
73
  const appInfo = yield db.get(DocumentTypes.APP_METADATA);
74
+ let appId = getAppId();
88
75
  const { head, html, css } = App.render({
89
76
  title: appInfo.name,
90
77
  production: env.isProd(),
package/dist/api/index.js CHANGED
@@ -9,7 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  const Router = require("@koa/router");
12
- const { buildAuthMiddleware, auditLog, buildTenancyMiddleware, buildAppTenancyMiddleware, } = require("@budibase/backend-core/auth");
12
+ const { buildAuthMiddleware, auditLog, buildTenancyMiddleware, } = require("@budibase/backend-core/auth");
13
13
  const currentApp = require("../middleware/currentapp");
14
14
  const compress = require("koa-compress");
15
15
  const zlib = require("zlib");
@@ -17,6 +17,8 @@ const { mainRoutes, staticRoutes, publicRoutes } = require("./routes");
17
17
  const pkg = require("../../package.json");
18
18
  const env = require("../environment");
19
19
  const router = new Router();
20
+ router.get("/health", ctx => (ctx.status = 200));
21
+ router.get("/version", ctx => (ctx.body = pkg.version));
20
22
  router
21
23
  .use(compress({
22
24
  threshold: 2048,
@@ -35,8 +37,6 @@ router
35
37
  };
36
38
  yield next();
37
39
  }))
38
- .use("/health", ctx => (ctx.status = 200))
39
- .use("/version", ctx => (ctx.body = pkg.version))
40
40
  // re-direct before any middlewares occur
41
41
  .redirect("/", "/builder")
42
42
  .use(buildAuthMiddleware(null, {
@@ -49,8 +49,6 @@ router
49
49
  noTenancyRequired: true,
50
50
  }))
51
51
  .use(currentApp)
52
- // this middleware will try to use the app ID to determine the tenancy
53
- .use(buildAppTenancyMiddleware())
54
52
  .use(auditLog);
55
53
  // error handling middleware
56
54
  router.use((ctx, next) => __awaiter(void 0, void 0, void 0, function* () {
@@ -70,7 +68,6 @@ router.use((ctx, next) => __awaiter(void 0, void 0, void 0, function* () {
70
68
  }
71
69
  }
72
70
  }));
73
- router.get("/health", ctx => (ctx.status = 200));
74
71
  // authenticated routes
75
72
  for (let route of mainRoutes) {
76
73
  router.use(route.routes());
@@ -42,7 +42,6 @@ router
42
42
  .get("/builder/:file*", controller.serveBuilder)
43
43
  .post("/api/attachments/process", authorized(BUILDER), controller.uploadFile)
44
44
  .post("/api/attachments/:tableId/upload", paramResource("tableId"), authorized(PermissionTypes.TABLE, PermissionLevels.WRITE), controller.uploadFile)
45
- // TODO: this likely needs to be secured in some way
46
- .get("/:appId/:path*", controller.serveApp)
45
+ .get("/app/:appUrl/:path*", controller.serveApp)
47
46
  .post("/api/attachments/:datasourceId/url", authorized(PermissionTypes.TABLE, PermissionLevels.READ), controller.getSignedUploadURL);
48
47
  module.exports = router;
@@ -36,6 +36,7 @@ exports.createLinkView = () => __awaiter(void 0, void 0, void 0, function* () {
36
36
  if (doc.type === "link") {
37
37
  let doc1 = doc.doc1;
38
38
  let doc2 = doc.doc2;
39
+ // eslint-disable-next-line no-undef
39
40
  emit([doc1.tableId, doc1.rowId], {
40
41
  id: doc2.rowId,
41
42
  thisId: doc1.rowId,
@@ -43,6 +44,7 @@ exports.createLinkView = () => __awaiter(void 0, void 0, void 0, function* () {
43
44
  });
44
45
  // if linking to same table can't emit twice
45
46
  if (doc1.tableId !== doc2.tableId) {
47
+ // eslint-disable-next-line no-undef
46
48
  emit([doc2.tableId, doc2.rowId], {
47
49
  id: doc1.rowId,
48
50
  thisId: doc2.rowId,
@@ -8,7 +8,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
- const { getAppId, setCookie, getCookie, clearCookie, } = require("@budibase/backend-core/utils");
11
+ const { getAppIdFromCtx, setCookie, getCookie, clearCookie, } = require("@budibase/backend-core/utils");
12
12
  const { Cookies } = require("@budibase/backend-core/constants");
13
13
  const { getRole } = require("@budibase/backend-core/roles");
14
14
  const { BUILTIN_ROLE_IDS } = require("@budibase/backend-core/roles");
@@ -21,7 +21,7 @@ const { isWebhookEndpoint } = require("./utils");
21
21
  const { doInAppContext } = require("@budibase/backend-core/context");
22
22
  module.exports = (ctx, next) => __awaiter(void 0, void 0, void 0, function* () {
23
23
  // try to get the appID from the request
24
- let requestAppId = getAppId(ctx);
24
+ let requestAppId = yield getAppIdFromCtx(ctx);
25
25
  // get app cookie if it exists
26
26
  let appCookie = null;
27
27
  try {
@@ -70,19 +70,20 @@ module.exports = (ctx, next) => __awaiter(void 0, void 0, void 0, function* () {
70
70
  return next();
71
71
  }
72
72
  return doInAppContext(appId, () => __awaiter(void 0, void 0, void 0, function* () {
73
- let noCookieSet = false;
73
+ let skipCookie = false;
74
74
  // if the user not in the right tenant then make sure they have no permissions
75
75
  // need to judge this only based on the request app ID,
76
76
  if (env.MULTI_TENANCY &&
77
77
  ctx.user &&
78
78
  requestAppId &&
79
- !isUserInAppTenant(requestAppId)) {
79
+ !isUserInAppTenant(requestAppId, ctx.user)) {
80
80
  // don't error, simply remove the users rights (they are a public user)
81
81
  delete ctx.user.builder;
82
82
  delete ctx.user.admin;
83
83
  delete ctx.user.roles;
84
+ ctx.isAuthenticated = false;
84
85
  roleId = BUILTIN_ROLE_IDS.PUBLIC;
85
- noCookieSet = true;
86
+ skipCookie = true;
86
87
  }
87
88
  ctx.appId = appId;
88
89
  if (roleId) {
@@ -96,7 +97,7 @@ module.exports = (ctx, next) => __awaiter(void 0, void 0, void 0, function* () {
96
97
  if ((requestAppId !== appId ||
97
98
  appCookie == null ||
98
99
  appCookie.appId !== requestAppId) &&
99
- !noCookieSet) {
100
+ !skipCookie) {
100
101
  setCookie(ctx, { appId }, Cookies.CurrentApp);
101
102
  }
102
103
  return next();
@@ -9,10 +9,10 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  const { Headers } = require("@budibase/backend-core/constants");
12
- const { getAppId } = require("@budibase/backend-core/utils");
12
+ const { getAppIdFromCtx } = require("@budibase/backend-core/utils");
13
13
  module.exports = function ({ requiresAppId } = {}) {
14
14
  return (ctx, next) => __awaiter(this, void 0, void 0, function* () {
15
- const appId = getAppId(ctx);
15
+ const appId = yield getAppIdFromCtx(ctx);
16
16
  if (requiresAppId && !appId) {
17
17
  ctx.throw(400, `Invalid app ID provided, please check the ${Headers.APP_ID} header.`);
18
18
  }
package/dist/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@budibase/server",
3
3
  "email": "hi@budibase.com",
4
- "version": "1.0.94",
4
+ "version": "1.0.95",
5
5
  "description": "Budibase Web Server",
6
6
  "main": "src/index.ts",
7
7
  "repository": {
@@ -21,10 +21,7 @@
21
21
  "dev:stack:down": "node scripts/dev/manage.js down",
22
22
  "dev:stack:nuke": "node scripts/dev/manage.js nuke",
23
23
  "dev:builder": "yarn run dev:stack:up && nodemon",
24
- "format": "prettier --config ../../.prettierrc.json 'src/**/*.ts' --write",
25
24
  "specs": "node specs/generate.js && openapi-typescript specs/openapi.yaml --output src/definitions/openapi.ts",
26
- "lint": "eslint --fix src/",
27
- "lint:fix": "yarn run format && yarn run lint",
28
25
  "initialise": "node scripts/initialise.js",
29
26
  "env:multi:enable": "node scripts/multiTenancy.js enable",
30
27
  "env:multi:disable": "node scripts/multiTenancy.js disable",
@@ -71,9 +68,9 @@
71
68
  "license": "GPL-3.0",
72
69
  "dependencies": {
73
70
  "@apidevtools/swagger-parser": "^10.0.3",
74
- "@budibase/backend-core": "^1.0.94",
75
- "@budibase/client": "^1.0.94",
76
- "@budibase/string-templates": "^1.0.94",
71
+ "@budibase/backend-core": "^1.0.95",
72
+ "@budibase/client": "^1.0.95",
73
+ "@budibase/string-templates": "^1.0.95",
77
74
  "@bull-board/api": "^3.7.0",
78
75
  "@bull-board/koa": "^3.7.0",
79
76
  "@elastic/elasticsearch": "7.10.0",
@@ -151,7 +148,6 @@
151
148
  "@types/node": "^15.12.4",
152
149
  "@types/oracledb": "^5.2.1",
153
150
  "@types/redis": "^4.0.11",
154
- "@typescript-eslint/parser": "4.28.0",
155
151
  "apidoc": "^0.50.2",
156
152
  "babel-jest": "^27.0.2",
157
153
  "copyfiles": "^2.4.1",
@@ -75,7 +75,7 @@ class TestConfiguration {
75
75
  });
76
76
  }
77
77
  // check if already in a context
78
- if (context.getAppId() == null) {
78
+ if (context.getAppId() == null && this.appId !== null) {
79
79
  return context.doInAppContext(this.appId, () => __awaiter(this, void 0, void 0, function* () {
80
80
  return run();
81
81
  }));