@budibase/server 1.4.8-alpha.7 → 1.4.8-alpha.8

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 (220) hide show
  1. package/builder/assets/{index.ba07aa78.js → index.f3982453.js} +312 -308
  2. package/builder/assets/index.fd3654ad.css +6 -0
  3. package/builder/index.html +2 -2
  4. package/coverage/clover.xml +97 -135
  5. package/coverage/coverage-final.json +30 -32
  6. package/coverage/lcov-report/api/controllers/apikeys.js.html +1 -1
  7. package/coverage/lcov-report/api/controllers/automation.js.html +1 -1
  8. package/coverage/lcov-report/api/controllers/backup.js.html +1 -1
  9. package/coverage/lcov-report/api/controllers/cloud.js.html +1 -1
  10. package/coverage/lcov-report/api/controllers/datasource.js.html +1 -1
  11. package/coverage/lcov-report/api/controllers/dev.js.html +1 -1
  12. package/coverage/lcov-report/api/controllers/index.html +9 -24
  13. package/coverage/lcov-report/api/controllers/integration.js.html +2 -2
  14. package/coverage/lcov-report/api/controllers/layout.js.html +1 -1
  15. package/coverage/lcov-report/api/controllers/metadata.js.html +1 -1
  16. package/coverage/lcov-report/api/controllers/migrations.js.html +1 -1
  17. package/coverage/lcov-report/api/controllers/permission.js.html +1 -1
  18. package/coverage/lcov-report/api/controllers/query/index.html +1 -1
  19. package/coverage/lcov-report/api/controllers/query/validation.js.html +1 -1
  20. package/coverage/lcov-report/api/controllers/role.js.html +1 -1
  21. package/coverage/lcov-report/api/controllers/routing.js.html +1 -1
  22. package/coverage/lcov-report/api/controllers/row/external.js.html +1 -1
  23. package/coverage/lcov-report/api/controllers/row/index.html +1 -1
  24. package/coverage/lcov-report/api/controllers/row/internal.js.html +1 -1
  25. package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +1 -1
  26. package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +1 -1
  27. package/coverage/lcov-report/api/controllers/row/utils.js.html +1 -1
  28. package/coverage/lcov-report/api/controllers/script.js.html +1 -1
  29. package/coverage/lcov-report/api/controllers/table/bulkFormula.js.html +1 -1
  30. package/coverage/lcov-report/api/controllers/table/external.js.html +1 -1
  31. package/coverage/lcov-report/api/controllers/table/index.html +1 -1
  32. package/coverage/lcov-report/api/controllers/table/index.js.html +1 -1
  33. package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
  34. package/coverage/lcov-report/api/controllers/user.js.html +1 -1
  35. package/coverage/lcov-report/api/controllers/view/exporters.js.html +1 -1
  36. package/coverage/lcov-report/api/controllers/view/index.html +1 -1
  37. package/coverage/lcov-report/api/controllers/view/index.js.html +1 -1
  38. package/coverage/lcov-report/api/controllers/view/utils.js.html +1 -1
  39. package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +1 -1
  40. package/coverage/lcov-report/api/controllers/webhook.js.html +1 -1
  41. package/coverage/lcov-report/api/index.html +1 -1
  42. package/coverage/lcov-report/api/index.js.html +1 -1
  43. package/coverage/lcov-report/api/routes/analytics.js.html +2 -2
  44. package/coverage/lcov-report/api/routes/apikeys.js.html +2 -2
  45. package/coverage/lcov-report/api/routes/automation.js.html +2 -2
  46. package/coverage/lcov-report/api/routes/backup.js.html +2 -2
  47. package/coverage/lcov-report/api/routes/cloud.js.html +2 -2
  48. package/coverage/lcov-report/api/routes/component.js.html +2 -2
  49. package/coverage/lcov-report/api/routes/datasource.js.html +2 -2
  50. package/coverage/lcov-report/api/routes/deploy.js.html +2 -2
  51. package/coverage/lcov-report/api/routes/dev.js.html +2 -2
  52. package/coverage/lcov-report/api/routes/index.html +5 -20
  53. package/coverage/lcov-report/api/routes/integration.js.html +2 -2
  54. package/coverage/lcov-report/api/routes/layout.js.html +2 -2
  55. package/coverage/lcov-report/api/routes/metadata.js.html +2 -2
  56. package/coverage/lcov-report/api/routes/migrations.js.html +2 -2
  57. package/coverage/lcov-report/api/routes/permission.js.html +2 -2
  58. package/coverage/lcov-report/api/routes/query.js.html +2 -2
  59. package/coverage/lcov-report/api/routes/role.js.html +2 -2
  60. package/coverage/lcov-report/api/routes/routing.js.html +2 -2
  61. package/coverage/lcov-report/api/routes/screen.js.html +2 -2
  62. package/coverage/lcov-report/api/routes/script.js.html +2 -2
  63. package/coverage/lcov-report/api/routes/table.js.html +2 -2
  64. package/coverage/lcov-report/api/routes/templates.js.html +2 -2
  65. package/coverage/lcov-report/api/routes/user.js.html +2 -2
  66. package/coverage/lcov-report/api/routes/utils/index.html +1 -1
  67. package/coverage/lcov-report/api/routes/utils/validators.js.html +1 -1
  68. package/coverage/lcov-report/api/routes/view.js.html +2 -2
  69. package/coverage/lcov-report/api/routes/webhook.js.html +2 -2
  70. package/coverage/lcov-report/automations/actions.js.html +1 -1
  71. package/coverage/lcov-report/automations/automationUtils.js.html +1 -1
  72. package/coverage/lcov-report/automations/bullboard.js.html +1 -1
  73. package/coverage/lcov-report/automations/index.html +1 -1
  74. package/coverage/lcov-report/automations/index.js.html +1 -1
  75. package/coverage/lcov-report/automations/steps/bash.js.html +1 -1
  76. package/coverage/lcov-report/automations/steps/delay.js.html +1 -1
  77. package/coverage/lcov-report/automations/steps/discord.js.html +1 -1
  78. package/coverage/lcov-report/automations/steps/executeQuery.js.html +1 -1
  79. package/coverage/lcov-report/automations/steps/executeScript.js.html +1 -1
  80. package/coverage/lcov-report/automations/steps/filter.js.html +1 -1
  81. package/coverage/lcov-report/automations/steps/index.html +1 -1
  82. package/coverage/lcov-report/automations/steps/integromat.js.html +1 -1
  83. package/coverage/lcov-report/automations/steps/loop.js.html +1 -1
  84. package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +1 -1
  85. package/coverage/lcov-report/automations/steps/queryRows.js.html +1 -1
  86. package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +1 -1
  87. package/coverage/lcov-report/automations/steps/serverLog.js.html +1 -1
  88. package/coverage/lcov-report/automations/steps/slack.js.html +1 -1
  89. package/coverage/lcov-report/automations/steps/updateRow.js.html +1 -1
  90. package/coverage/lcov-report/automations/steps/utils.js.html +1 -1
  91. package/coverage/lcov-report/automations/steps/zapier.js.html +1 -1
  92. package/coverage/lcov-report/automations/triggerInfo/app.js.html +1 -1
  93. package/coverage/lcov-report/automations/triggerInfo/cron.js.html +1 -1
  94. package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
  95. package/coverage/lcov-report/automations/triggerInfo/index.js.html +1 -1
  96. package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +1 -1
  97. package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +1 -1
  98. package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +1 -1
  99. package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +1 -1
  100. package/coverage/lcov-report/automations/triggers.js.html +1 -1
  101. package/coverage/lcov-report/constants/index.html +1 -1
  102. package/coverage/lcov-report/constants/index.js.html +1 -1
  103. package/coverage/lcov-report/constants/layouts.js.html +1 -1
  104. package/coverage/lcov-report/constants/screens.js.html +1 -1
  105. package/coverage/lcov-report/db/inMemoryView.js.html +1 -1
  106. package/coverage/lcov-report/db/index.html +1 -1
  107. package/coverage/lcov-report/db/index.js.html +1 -1
  108. package/coverage/lcov-report/db/linkedRows/LinkController.js.html +1 -1
  109. package/coverage/lcov-report/db/linkedRows/index.html +1 -1
  110. package/coverage/lcov-report/db/linkedRows/index.js.html +11 -11
  111. package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +7 -7
  112. package/coverage/lcov-report/db/newid.js.html +1 -1
  113. package/coverage/lcov-report/db/utils.js.html +1 -1
  114. package/coverage/lcov-report/events/AutomationEmitter.js.html +1 -1
  115. package/coverage/lcov-report/events/index.html +1 -1
  116. package/coverage/lcov-report/events/index.js.html +1 -1
  117. package/coverage/lcov-report/events/utils.js.html +1 -1
  118. package/coverage/lcov-report/index.html +30 -30
  119. package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
  120. package/coverage/lcov-report/integrations/tests/index.html +1 -1
  121. package/coverage/lcov-report/middleware/appInfo.js.html +1 -1
  122. package/coverage/lcov-report/middleware/builder.js.html +1 -1
  123. package/coverage/lcov-report/middleware/currentapp.js.html +1 -1
  124. package/coverage/lcov-report/middleware/index.html +1 -1
  125. package/coverage/lcov-report/middleware/joi-validator.js.html +1 -1
  126. package/coverage/lcov-report/middleware/publicApi.js.html +1 -1
  127. package/coverage/lcov-report/middleware/resourceId.js.html +1 -1
  128. package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
  129. package/coverage/lcov-report/middleware/utils.js.html +1 -1
  130. package/coverage/lcov-report/utilities/budibaseDir.js.html +1 -1
  131. package/coverage/lcov-report/utilities/centralPath.js.html +1 -1
  132. package/coverage/lcov-report/utilities/csvParser.js.html +1 -1
  133. package/coverage/lcov-report/utilities/global.js.html +19 -13
  134. package/coverage/lcov-report/utilities/index.html +24 -24
  135. package/coverage/lcov-report/utilities/index.js.html +1 -1
  136. package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +1 -1
  137. package/coverage/lcov-report/utilities/queue/index.html +1 -1
  138. package/coverage/lcov-report/utilities/routing/index.html +1 -1
  139. package/coverage/lcov-report/utilities/routing/index.js.html +1 -1
  140. package/coverage/lcov-report/utilities/rowProcessor/index.html +1 -1
  141. package/coverage/lcov-report/utilities/rowProcessor/index.js.html +12 -12
  142. package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +8 -8
  143. package/coverage/lcov-report/utilities/scriptRunner.js.html +1 -1
  144. package/coverage/lcov-report/utilities/security.js.html +1 -1
  145. package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
  146. package/coverage/lcov-report/utilities/usageQuota/index.html +1 -1
  147. package/coverage/lcov-report/utilities/usageQuota/rows.js.html +1 -1
  148. package/coverage/lcov-report/utilities/usageQuota/usageQuoteReset.js.html +1 -1
  149. package/coverage/lcov-report/utilities/users.js.html +21 -12
  150. package/coverage/lcov-report/utilities/workerRequests.js.html +1 -1
  151. package/coverage/lcov.info +155 -213
  152. package/dist/api/controllers/application.js +2 -0
  153. package/dist/api/controllers/auth.js +58 -49
  154. package/dist/api/controllers/integration.js +1 -1
  155. package/dist/api/routes/analytics.js +1 -1
  156. package/dist/api/routes/apikeys.js +1 -1
  157. package/dist/api/routes/auth.js +31 -4
  158. package/dist/api/routes/automation.js +1 -1
  159. package/dist/api/routes/backup.js +1 -1
  160. package/dist/api/routes/cloud.js +1 -1
  161. package/dist/api/routes/component.js +1 -1
  162. package/dist/api/routes/datasource.js +1 -1
  163. package/dist/api/routes/deploy.js +1 -1
  164. package/dist/api/routes/dev.js +1 -1
  165. package/dist/api/routes/integration.js +1 -1
  166. package/dist/api/routes/layout.js +1 -1
  167. package/dist/api/routes/metadata.js +1 -1
  168. package/dist/api/routes/migrations.js +1 -1
  169. package/dist/api/routes/permission.js +1 -1
  170. package/dist/api/routes/query.js +1 -1
  171. package/dist/api/routes/role.js +1 -1
  172. package/dist/api/routes/routing.js +1 -1
  173. package/dist/api/routes/screen.js +1 -1
  174. package/dist/api/routes/script.js +1 -1
  175. package/dist/api/routes/table.js +1 -1
  176. package/dist/api/routes/templates.js +1 -1
  177. package/dist/api/routes/user.js +1 -1
  178. package/dist/api/routes/view.js +1 -1
  179. package/dist/api/routes/webhook.js +1 -1
  180. package/dist/middleware/authorized.js +2 -2
  181. package/dist/package.json +6 -6
  182. package/dist/tsconfig.build.tsbuildinfo +1 -1
  183. package/dist/utilities/global.js +6 -3
  184. package/dist/utilities/users.js +4 -2
  185. package/package.json +7 -7
  186. package/src/api/controllers/application.ts +3 -7
  187. package/src/api/controllers/{auth.js → auth.ts} +20 -18
  188. package/src/api/controllers/integration.js +1 -1
  189. package/src/api/routes/analytics.js +1 -1
  190. package/src/api/routes/apikeys.js +1 -1
  191. package/src/api/routes/auth.ts +8 -0
  192. package/src/api/routes/automation.js +1 -1
  193. package/src/api/routes/backup.js +1 -1
  194. package/src/api/routes/cloud.js +1 -1
  195. package/src/api/routes/component.js +1 -1
  196. package/src/api/routes/datasource.js +1 -1
  197. package/src/api/routes/deploy.js +1 -1
  198. package/src/api/routes/dev.js +1 -1
  199. package/src/api/routes/integration.js +1 -1
  200. package/src/api/routes/layout.js +1 -1
  201. package/src/api/routes/metadata.js +1 -1
  202. package/src/api/routes/migrations.js +1 -1
  203. package/src/api/routes/permission.js +1 -1
  204. package/src/api/routes/query.js +1 -1
  205. package/src/api/routes/role.js +1 -1
  206. package/src/api/routes/routing.js +1 -1
  207. package/src/api/routes/screen.js +1 -1
  208. package/src/api/routes/script.js +1 -1
  209. package/src/api/routes/table.js +1 -1
  210. package/src/api/routes/templates.js +1 -1
  211. package/src/api/routes/user.js +1 -1
  212. package/src/api/routes/view.js +1 -1
  213. package/src/api/routes/webhook.js +1 -1
  214. package/src/middleware/authorized.ts +2 -2
  215. package/src/utilities/global.js +6 -4
  216. package/src/utilities/users.js +5 -2
  217. package/builder/assets/index.10b8a572.css +0 -6
  218. package/coverage/lcov-report/api/controllers/auth.js.html +0 -292
  219. package/coverage/lcov-report/api/routes/auth.js.html +0 -109
  220. package/src/api/routes/auth.js +0 -8
@@ -8,64 +8,73 @@ 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 { outputProcessing } = require("../../utilities/rowProcessor");
12
- const { InternalTables } = require("../../db/utils");
13
- const { getFullUser } = require("../../utilities/users");
14
- const { BUILTIN_ROLE_IDS } = require("@budibase/backend-core/roles");
15
- const { getAppDB, getAppId } = require("@budibase/backend-core/context");
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.fetchSelf = void 0;
13
+ const rowProcessor_1 = require("../../utilities/rowProcessor");
14
+ const utils_1 = require("../../db/utils");
15
+ const users_1 = require("../../utilities/users");
16
+ const backend_core_1 = require("@budibase/backend-core");
17
+ const pro_1 = require("@budibase/pro");
18
+ const PUBLIC_ROLE = backend_core_1.roles.BUILTIN_ROLE_IDS.PUBLIC;
16
19
  /**
17
20
  * Add the attributes that are session based to the current user.
18
21
  */
19
- const addSessionAttributesToUser = ctx => {
22
+ const addSessionAttributesToUser = (ctx) => {
20
23
  if (ctx.user) {
21
24
  ctx.body.license = ctx.user.license;
22
25
  }
23
26
  };
24
- exports.fetchSelf = (ctx) => __awaiter(void 0, void 0, void 0, function* () {
25
- let userId = ctx.user.userId || ctx.user._id;
26
- /* istanbul ignore next */
27
- if (!userId || !ctx.isAuthenticated) {
28
- ctx.body = {};
29
- return;
30
- }
31
- const user = yield getFullUser(ctx, userId);
32
- // this shouldn't be returned by the app self
33
- delete user.roles;
34
- // forward the csrf token from the session
35
- user.csrfToken = ctx.user.csrfToken;
36
- if (getAppId()) {
37
- const db = getAppDB();
38
- // remove the full roles structure
39
- delete user.roles;
40
- try {
41
- const userTable = yield db.get(InternalTables.USER_METADATA);
42
- const metadata = yield db.get(userId);
43
- // make sure there is never a stale csrf token
44
- delete metadata.csrfToken;
45
- // specifically needs to make sure is enriched
46
- ctx.body = yield outputProcessing(userTable, Object.assign(Object.assign({}, user), metadata));
27
+ function fetchSelf(ctx) {
28
+ return __awaiter(this, void 0, void 0, function* () {
29
+ let userId = ctx.user.userId || ctx.user._id;
30
+ /* istanbul ignore next */
31
+ if (!userId || !ctx.isAuthenticated) {
32
+ ctx.body = {};
33
+ return;
47
34
  }
48
- catch (err) {
49
- let response;
50
- // user didn't exist in app, don't pretend they do
51
- if (user.roleId === BUILTIN_ROLE_IDS.PUBLIC) {
52
- response = {};
35
+ const appId = backend_core_1.context.getAppId();
36
+ const user = yield (0, users_1.getFullUser)(ctx, userId);
37
+ // this shouldn't be returned by the app self
38
+ delete user.roles;
39
+ // forward the csrf token from the session
40
+ user.csrfToken = ctx.user.csrfToken;
41
+ if (appId) {
42
+ const db = backend_core_1.context.getAppDB();
43
+ // check for group permissions
44
+ if (!user.roleId || user.roleId === PUBLIC_ROLE) {
45
+ const groupRoleId = yield pro_1.groups.getGroupRoleId(user, appId);
46
+ user.roleId = groupRoleId || user.roleId;
53
47
  }
54
- // user has a role of some sort, return them
55
- else if (err.status === 404) {
56
- const metadata = Object.assign(Object.assign({}, user), { _id: userId });
57
- const dbResp = yield db.put(metadata);
58
- user._rev = dbResp.rev;
59
- response = user;
48
+ // remove the full roles structure
49
+ delete user.roles;
50
+ try {
51
+ const userTable = yield db.get(utils_1.InternalTables.USER_METADATA);
52
+ // specifically needs to make sure is enriched
53
+ ctx.body = yield (0, rowProcessor_1.outputProcessing)(userTable, user);
60
54
  }
61
- else {
62
- response = user;
55
+ catch (err) {
56
+ let response;
57
+ // user didn't exist in app, don't pretend they do
58
+ if (user.roleId === PUBLIC_ROLE) {
59
+ response = {};
60
+ }
61
+ // user has a role of some sort, return them
62
+ else if (err.status === 404) {
63
+ const metadata = Object.assign(Object.assign({}, user), { _id: userId });
64
+ const dbResp = yield db.put(metadata);
65
+ user._rev = dbResp.rev;
66
+ response = user;
67
+ }
68
+ else {
69
+ response = user;
70
+ }
71
+ ctx.body = response;
63
72
  }
64
- ctx.body = response;
65
73
  }
66
- }
67
- else {
68
- ctx.body = user;
69
- }
70
- addSessionAttributesToUser(ctx);
71
- });
74
+ else {
75
+ ctx.body = user;
76
+ }
77
+ addSessionAttributesToUser(ctx);
78
+ });
79
+ }
80
+ exports.fetchSelf = fetchSelf;
@@ -17,7 +17,7 @@ exports.fetch = function (ctx) {
17
17
  ctx.status = 200;
18
18
  const defs = yield getDefinitions();
19
19
  // for google sheets integration google verification
20
- if (featureFlags.isEnabled(featureFlags.FeatureFlag.GOOGLE_SHEETS)) {
20
+ if (featureFlags.isEnabled(featureFlags.TenantFeatureFlag.GOOGLE_SHEETS)) {
21
21
  defs[SourceName.GOOGLE_SHEETS] = googlesheets.schema;
22
22
  }
23
23
  ctx.body = defs;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  const Router = require("@koa/router");
3
3
  const controller = require("../controllers/analytics");
4
- const router = Router();
4
+ const router = new Router();
5
5
  router.get("/api/bbtel", controller.isEnabled);
6
6
  router.post("/api/bbtel/ping", controller.ping);
7
7
  module.exports = router;
@@ -3,7 +3,7 @@ const Router = require("@koa/router");
3
3
  const controller = require("../controllers/apikeys");
4
4
  const authorized = require("../../middleware/authorized");
5
5
  const { BUILDER } = require("@budibase/backend-core/permissions");
6
- const router = Router();
6
+ const router = new Router();
7
7
  router
8
8
  .get("/api/keys", authorized(BUILDER), controller.fetch)
9
9
  .put("/api/keys/:key", authorized(BUILDER), controller.update);
@@ -1,6 +1,33 @@
1
1
  "use strict";
2
- const Router = require("@koa/router");
3
- const controller = require("../controllers/auth");
4
- const router = Router();
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ const router_1 = __importDefault(require("@koa/router"));
30
+ const controller = __importStar(require("../controllers/auth"));
31
+ const router = new router_1.default();
5
32
  router.get("/api/self", controller.fetchSelf);
6
- module.exports = router;
33
+ exports.default = router;
@@ -6,7 +6,7 @@ const { BUILDER, PermissionLevels, PermissionTypes, } = require("@budibase/backe
6
6
  const { bodyResource, paramResource } = require("../../middleware/resourceId");
7
7
  const { middleware: appInfoMiddleware, AppType, } = require("../../middleware/appInfo");
8
8
  const { automationValidator } = require("./utils/validators");
9
- const router = Router();
9
+ const router = new Router();
10
10
  router
11
11
  .get("/api/automations/trigger/list", authorized(BUILDER), controller.getTriggerList)
12
12
  .get("/api/automations/action/list", authorized(BUILDER), controller.getActionList)
@@ -3,6 +3,6 @@ const Router = require("@koa/router");
3
3
  const controller = require("../controllers/backup");
4
4
  const authorized = require("../../middleware/authorized");
5
5
  const { BUILDER } = require("@budibase/backend-core/permissions");
6
- const router = Router();
6
+ const router = new Router();
7
7
  router.get("/api/backups/export", authorized(BUILDER), controller.exportAppDump);
8
8
  module.exports = router;
@@ -3,7 +3,7 @@ const Router = require("@koa/router");
3
3
  const controller = require("../controllers/cloud");
4
4
  const authorized = require("../../middleware/authorized");
5
5
  const { BUILDER } = require("@budibase/backend-core/permissions");
6
- const router = Router();
6
+ const router = new Router();
7
7
  router
8
8
  .get("/api/cloud/export", authorized(BUILDER), controller.exportApps)
9
9
  // has to be public, only run if apps don't exist
@@ -3,6 +3,6 @@ const Router = require("@koa/router");
3
3
  const controller = require("../controllers/component");
4
4
  const authorized = require("../../middleware/authorized");
5
5
  const { BUILDER } = require("@budibase/backend-core/permissions");
6
- const router = Router();
6
+ const router = new Router();
7
7
  router.get("/api/:appId/components/definitions", authorized(BUILDER), controller.fetchAppComponentDefinitions);
8
8
  module.exports = router;
@@ -4,7 +4,7 @@ const datasourceController = require("../controllers/datasource");
4
4
  const authorized = require("../../middleware/authorized");
5
5
  const { BUILDER, PermissionLevels, PermissionTypes, } = require("@budibase/backend-core/permissions");
6
6
  const { datasourceValidator, datasourceQueryValidator, } = require("./utils/validators");
7
- const router = Router();
7
+ const router = new Router();
8
8
  router
9
9
  .get("/api/datasources", authorized(BUILDER), datasourceController.fetch)
10
10
  .get("/api/datasources/:datasourceId", authorized(PermissionTypes.TABLE, PermissionLevels.READ), datasourceController.find)
@@ -3,7 +3,7 @@ const Router = require("@koa/router");
3
3
  const controller = require("../controllers/deploy");
4
4
  const authorized = require("../../middleware/authorized");
5
5
  const { BUILDER } = require("@budibase/backend-core/permissions");
6
- const router = Router();
6
+ const router = new Router();
7
7
  router
8
8
  .get("/api/deployments", authorized(BUILDER), controller.fetchDeployments)
9
9
  .get("/api/deploy/:deploymentId", authorized(BUILDER), controller.deploymentProgress)
@@ -4,7 +4,7 @@ const controller = require("../controllers/dev");
4
4
  const env = require("../../environment");
5
5
  const authorized = require("../../middleware/authorized");
6
6
  const { BUILDER } = require("@budibase/backend-core/permissions");
7
- const router = Router();
7
+ const router = new Router();
8
8
  function redirectPath(path) {
9
9
  router
10
10
  .get(`/api/${path}/:devPath(.*)`, controller.buildRedirectGet(path))
@@ -3,7 +3,7 @@ const Router = require("@koa/router");
3
3
  const controller = require("../controllers/integration");
4
4
  const authorized = require("../../middleware/authorized");
5
5
  const { BUILDER } = require("@budibase/backend-core/permissions");
6
- const router = Router();
6
+ const router = new Router();
7
7
  router
8
8
  .get("/api/integrations", authorized(BUILDER), controller.fetch)
9
9
  .get("/api/integrations/:type", authorized(BUILDER), controller.find);
@@ -3,7 +3,7 @@ const Router = require("@koa/router");
3
3
  const authorized = require("../../middleware/authorized");
4
4
  const { BUILDER } = require("@budibase/backend-core/permissions");
5
5
  const controller = require("../controllers/layout");
6
- const router = Router();
6
+ const router = new Router();
7
7
  router
8
8
  .post("/api/layouts", authorized(BUILDER), controller.save)
9
9
  .delete("/api/layouts/:layoutId/:layoutRev", authorized(BUILDER), controller.destroy);
@@ -4,7 +4,7 @@ const controller = require("../controllers/metadata");
4
4
  const { middleware: appInfoMiddleware, AppType, } = require("../../middleware/appInfo");
5
5
  const authorized = require("../../middleware/authorized");
6
6
  const { BUILDER } = require("@budibase/backend-core/permissions");
7
- const router = Router();
7
+ const router = new Router();
8
8
  router
9
9
  .post("/api/metadata/:type/:entityId", authorized(BUILDER), appInfoMiddleware({ appType: AppType.DEV }), controller.saveMetadata)
10
10
  .delete("/api/metadata/:type/:entityId", authorized(BUILDER), appInfoMiddleware({ appType: AppType.DEV }), controller.deleteMetadata)
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  const Router = require("@koa/router");
3
3
  const migrationsController = require("../controllers/migrations");
4
- const router = Router();
4
+ const router = new Router();
5
5
  const { internalApi } = require("@budibase/backend-core/auth");
6
6
  router
7
7
  .post("/api/migrations/run", internalApi, migrationsController.migrate)
@@ -4,7 +4,7 @@ const controller = require("../controllers/permission");
4
4
  const authorized = require("../../middleware/authorized");
5
5
  const { BUILDER } = require("@budibase/backend-core/permissions");
6
6
  const { permissionValidator } = require("./utils/validators");
7
- const router = Router();
7
+ const router = new Router();
8
8
  router
9
9
  .get("/api/permission/builtin", authorized(BUILDER), controller.fetchBuiltin)
10
10
  .get("/api/permission/levels", authorized(BUILDER), controller.fetchLevels)
@@ -5,7 +5,7 @@ const authorized = require("../../middleware/authorized");
5
5
  const { PermissionLevels, PermissionTypes, BUILDER, } = require("@budibase/backend-core/permissions");
6
6
  const { bodyResource, bodySubResource, paramResource, } = require("../../middleware/resourceId");
7
7
  const { generateQueryPreviewValidation, generateQueryValidation, } = require("../controllers/query/validation");
8
- const router = Router();
8
+ const router = new Router();
9
9
  router
10
10
  .get("/api/queries", authorized(BUILDER), queryController.fetch)
11
11
  .post("/api/queries", bodySubResource("datasourceId", "_id"), authorized(BUILDER), generateQueryValidation(), queryController.save)
@@ -4,7 +4,7 @@ const controller = require("../controllers/role");
4
4
  const authorized = require("../../middleware/authorized");
5
5
  const { BUILDER } = require("@budibase/backend-core/permissions");
6
6
  const { roleValidator } = require("./utils/validators");
7
- const router = Router();
7
+ const router = new Router();
8
8
  router
9
9
  .post("/api/roles", authorized(BUILDER), roleValidator(), controller.save)
10
10
  .get("/api/roles", authorized(BUILDER), controller.fetch)
@@ -3,7 +3,7 @@ const Router = require("@koa/router");
3
3
  const authorized = require("../../middleware/authorized");
4
4
  const { BUILDER } = require("@budibase/backend-core/permissions");
5
5
  const controller = require("../controllers/routing");
6
- const router = Router();
6
+ const router = new Router();
7
7
  router
8
8
  // gets correct structure for user role
9
9
  .get("/api/routing/client", controller.clientFetch)
@@ -4,7 +4,7 @@ const controller = require("../controllers/screen");
4
4
  const authorized = require("../../middleware/authorized");
5
5
  const { BUILDER } = require("@budibase/backend-core/permissions");
6
6
  const { screenValidator } = require("./utils/validators");
7
- const router = Router();
7
+ const router = new Router();
8
8
  router
9
9
  .get("/api/screens", authorized(BUILDER), controller.fetch)
10
10
  .post("/api/screens", authorized(BUILDER), screenValidator(), controller.save)
@@ -3,6 +3,6 @@ const Router = require("@koa/router");
3
3
  const controller = require("../controllers/script");
4
4
  const authorized = require("../../middleware/authorized");
5
5
  const { BUILDER } = require("@budibase/backend-core/permissions");
6
- const router = Router();
6
+ const router = new Router();
7
7
  router.post("/api/script", authorized(BUILDER), controller.save);
8
8
  module.exports = router;
@@ -5,7 +5,7 @@ const authorized = require("../../middleware/authorized");
5
5
  const { paramResource, bodyResource } = require("../../middleware/resourceId");
6
6
  const { BUILDER, PermissionLevels, PermissionTypes, } = require("@budibase/backend-core/permissions");
7
7
  const { tableValidator } = require("./utils/validators");
8
- const router = Router();
8
+ const router = new Router();
9
9
  router
10
10
  /**
11
11
  * @api {get} /api/tables Fetch all tables
@@ -3,7 +3,7 @@ const Router = require("@koa/router");
3
3
  const controller = require("../controllers/templates");
4
4
  const authorized = require("../../middleware/authorized");
5
5
  const { BUILDER } = require("@budibase/backend-core/permissions");
6
- const router = Router();
6
+ const router = new Router();
7
7
  router
8
8
  .get("/api/templates", authorized(BUILDER), controller.fetch)
9
9
  .get("/api/templates/:type/:name", authorized(BUILDER), controller.downloadTemplate);
@@ -3,7 +3,7 @@ const Router = require("@koa/router");
3
3
  const controller = require("../controllers/user");
4
4
  const authorized = require("../../middleware/authorized");
5
5
  const { PermissionLevels, PermissionTypes, } = require("@budibase/backend-core/permissions");
6
- const router = Router();
6
+ const router = new Router();
7
7
  router
8
8
  .get("/api/users/metadata", authorized(PermissionTypes.USER, PermissionLevels.READ), controller.fetchMetadata)
9
9
  .get("/api/users/metadata/:id", authorized(PermissionTypes.USER, PermissionLevels.READ), controller.findMetadata)
@@ -5,7 +5,7 @@ const rowController = require("../controllers/row");
5
5
  const authorized = require("../../middleware/authorized");
6
6
  const { paramResource } = require("../../middleware/resourceId");
7
7
  const { BUILDER, PermissionTypes, PermissionLevels, } = require("@budibase/backend-core/permissions");
8
- const router = Router();
8
+ const router = new Router();
9
9
  router
10
10
  .get("/api/views/export", authorized(BUILDER), viewController.exportView)
11
11
  .get("/api/views/:viewName", paramResource("viewName"), authorized(PermissionTypes.VIEW, PermissionLevels.READ), rowController.fetchView)
@@ -4,7 +4,7 @@ const controller = require("../controllers/webhook");
4
4
  const authorized = require("../../middleware/authorized");
5
5
  const { BUILDER } = require("@budibase/backend-core/permissions");
6
6
  const { webhookValidator } = require("./utils/validators");
7
- const router = Router();
7
+ const router = new Router();
8
8
  router
9
9
  .get("/api/webhooks", authorized(BUILDER), controller.fetch)
10
10
  .put("/api/webhooks", authorized(BUILDER), webhookValidator(), controller.save)
@@ -39,9 +39,9 @@ const checkAuthorized = (ctx, resourceRoles, permType, permLevel) => __awaiter(v
39
39
  const checkAuthorizedResource = (ctx, resourceRoles, permType, permLevel) => __awaiter(void 0, void 0, void 0, function* () {
40
40
  // get the user's roles
41
41
  const roleId = ctx.roleId || roles_1.BUILTIN_ROLE_IDS.PUBLIC;
42
- const userRoles = yield (0, roles_1.getUserRoleHierarchy)(roleId, {
42
+ const userRoles = (yield (0, roles_1.getUserRoleHierarchy)(roleId, {
43
43
  idOnly: false,
44
- });
44
+ }));
45
45
  const permError = "User does not have permission";
46
46
  // check if the user has the required role
47
47
  if (resourceRoles.length > 0) {
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.4.8-alpha.6",
4
+ "version": "1.4.8-alpha.7",
5
5
  "description": "Budibase Web Server",
6
6
  "main": "src/index.ts",
7
7
  "repository": {
@@ -77,11 +77,11 @@
77
77
  "license": "GPL-3.0",
78
78
  "dependencies": {
79
79
  "@apidevtools/swagger-parser": "10.0.3",
80
- "@budibase/backend-core": "1.4.8-alpha.6",
81
- "@budibase/client": "1.4.8-alpha.6",
82
- "@budibase/pro": "1.4.8-alpha.6",
83
- "@budibase/string-templates": "1.4.8-alpha.6",
84
- "@budibase/types": "1.4.8-alpha.6",
80
+ "@budibase/backend-core": "1.4.8-alpha.7",
81
+ "@budibase/client": "1.4.8-alpha.7",
82
+ "@budibase/pro": "1.4.8-alpha.7",
83
+ "@budibase/string-templates": "1.4.8-alpha.7",
84
+ "@budibase/types": "1.4.8-alpha.7",
85
85
  "@bull-board/api": "3.7.0",
86
86
  "@bull-board/koa": "3.9.4",
87
87
  "@elastic/elasticsearch": "7.10.0",