@budibase/server 1.1.26 → 1.1.29-alpha.0

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 (185) hide show
  1. package/builder/assets/{index.5cf5be06.css → index.39026912.css} +2 -2
  2. package/builder/assets/index.54527e96.js +978 -0
  3. package/builder/assets/{vendor.7f11b0ca.js → vendor.b0c43a06.js} +1 -1
  4. package/builder/index.html +3 -3
  5. package/coverage/clover.xml +253 -234
  6. package/coverage/coverage-final.json +9 -9
  7. package/coverage/lcov-report/api/controllers/apikeys.js.html +1 -1
  8. package/coverage/lcov-report/api/controllers/auth.js.html +1 -1
  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/validation.js.html +2 -2
  23. package/coverage/lcov-report/api/controllers/role.js.html +1 -1
  24. package/coverage/lcov-report/api/controllers/routing.js.html +1 -1
  25. package/coverage/lcov-report/api/controllers/row/external.js.html +1 -1
  26. package/coverage/lcov-report/api/controllers/row/index.html +18 -18
  27. package/coverage/lcov-report/api/controllers/row/internal.js.html +1 -1
  28. package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +94 -49
  29. package/coverage/lcov-report/api/controllers/row/staticFormula.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 +1 -1
  32. package/coverage/lcov-report/api/controllers/script.js.html +1 -1
  33. package/coverage/lcov-report/api/controllers/table/bulkFormula.js.html +1 -1
  34. package/coverage/lcov-report/api/controllers/table/external.js.html +1 -1
  35. package/coverage/lcov-report/api/controllers/table/index.html +1 -1
  36. package/coverage/lcov-report/api/controllers/table/index.js.html +1 -1
  37. package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
  38. package/coverage/lcov-report/api/controllers/user.js.html +1 -1
  39. package/coverage/lcov-report/api/controllers/view/exporters.js.html +1 -1
  40. package/coverage/lcov-report/api/controllers/view/index.html +1 -1
  41. package/coverage/lcov-report/api/controllers/view/index.js.html +1 -1
  42. package/coverage/lcov-report/api/controllers/view/utils.js.html +1 -1
  43. package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +1 -1
  44. package/coverage/lcov-report/api/controllers/webhook.js.html +1 -1
  45. package/coverage/lcov-report/api/index.html +1 -1
  46. package/coverage/lcov-report/api/index.js.html +1 -1
  47. package/coverage/lcov-report/api/routes/analytics.js.html +1 -1
  48. package/coverage/lcov-report/api/routes/apikeys.js.html +1 -1
  49. package/coverage/lcov-report/api/routes/auth.js.html +1 -1
  50. package/coverage/lcov-report/api/routes/automation.js.html +1 -1
  51. package/coverage/lcov-report/api/routes/backup.js.html +1 -1
  52. package/coverage/lcov-report/api/routes/cloud.js.html +1 -1
  53. package/coverage/lcov-report/api/routes/component.js.html +1 -1
  54. package/coverage/lcov-report/api/routes/datasource.js.html +1 -1
  55. package/coverage/lcov-report/api/routes/deploy.js.html +1 -1
  56. package/coverage/lcov-report/api/routes/dev.js.html +1 -1
  57. package/coverage/lcov-report/api/routes/index.html +1 -1
  58. package/coverage/lcov-report/api/routes/integration.js.html +1 -1
  59. package/coverage/lcov-report/api/routes/layout.js.html +1 -1
  60. package/coverage/lcov-report/api/routes/metadata.js.html +1 -1
  61. package/coverage/lcov-report/api/routes/migrations.js.html +1 -1
  62. package/coverage/lcov-report/api/routes/permission.js.html +1 -1
  63. package/coverage/lcov-report/api/routes/query.js.html +1 -1
  64. package/coverage/lcov-report/api/routes/role.js.html +1 -1
  65. package/coverage/lcov-report/api/routes/routing.js.html +1 -1
  66. package/coverage/lcov-report/api/routes/screen.js.html +1 -1
  67. package/coverage/lcov-report/api/routes/script.js.html +1 -1
  68. package/coverage/lcov-report/api/routes/table.js.html +1 -1
  69. package/coverage/lcov-report/api/routes/templates.js.html +1 -1
  70. package/coverage/lcov-report/api/routes/user.js.html +1 -1
  71. package/coverage/lcov-report/api/routes/utils/index.html +1 -1
  72. package/coverage/lcov-report/api/routes/utils/validators.js.html +2 -2
  73. package/coverage/lcov-report/api/routes/view.js.html +1 -1
  74. package/coverage/lcov-report/api/routes/webhook.js.html +1 -1
  75. package/coverage/lcov-report/automations/actions.js.html +1 -1
  76. package/coverage/lcov-report/automations/automationUtils.js.html +1 -1
  77. package/coverage/lcov-report/automations/bullboard.js.html +1 -1
  78. package/coverage/lcov-report/automations/index.html +1 -1
  79. package/coverage/lcov-report/automations/index.js.html +1 -1
  80. package/coverage/lcov-report/automations/steps/bash.js.html +1 -1
  81. package/coverage/lcov-report/automations/steps/delay.js.html +1 -1
  82. package/coverage/lcov-report/automations/steps/discord.js.html +1 -1
  83. package/coverage/lcov-report/automations/steps/executeQuery.js.html +5 -2
  84. package/coverage/lcov-report/automations/steps/executeScript.js.html +1 -1
  85. package/coverage/lcov-report/automations/steps/filter.js.html +1 -1
  86. package/coverage/lcov-report/automations/steps/index.html +17 -17
  87. package/coverage/lcov-report/automations/steps/integromat.js.html +1 -1
  88. package/coverage/lcov-report/automations/steps/loop.js.html +1 -1
  89. package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +1 -1
  90. package/coverage/lcov-report/automations/steps/queryRows.js.html +12 -6
  91. package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +1 -1
  92. package/coverage/lcov-report/automations/steps/serverLog.js.html +1 -1
  93. package/coverage/lcov-report/automations/steps/slack.js.html +1 -1
  94. package/coverage/lcov-report/automations/steps/updateRow.js.html +1 -1
  95. package/coverage/lcov-report/automations/steps/utils.js.html +25 -13
  96. package/coverage/lcov-report/automations/steps/zapier.js.html +1 -1
  97. package/coverage/lcov-report/automations/triggerInfo/app.js.html +1 -1
  98. package/coverage/lcov-report/automations/triggerInfo/cron.js.html +1 -1
  99. package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
  100. package/coverage/lcov-report/automations/triggerInfo/index.js.html +1 -1
  101. package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +1 -1
  102. package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +1 -1
  103. package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +1 -1
  104. package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +1 -1
  105. package/coverage/lcov-report/automations/triggers.js.html +1 -1
  106. package/coverage/lcov-report/constants/index.html +1 -1
  107. package/coverage/lcov-report/constants/index.js.html +1 -1
  108. package/coverage/lcov-report/constants/layouts.js.html +1 -1
  109. package/coverage/lcov-report/constants/screens.js.html +1 -1
  110. package/coverage/lcov-report/db/inMemoryView.js.html +1 -1
  111. package/coverage/lcov-report/db/index.html +1 -1
  112. package/coverage/lcov-report/db/index.js.html +1 -1
  113. package/coverage/lcov-report/db/linkedRows/LinkController.js.html +1 -1
  114. package/coverage/lcov-report/db/linkedRows/index.html +1 -1
  115. package/coverage/lcov-report/db/linkedRows/index.js.html +1 -1
  116. package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +1 -1
  117. package/coverage/lcov-report/db/newid.js.html +1 -1
  118. package/coverage/lcov-report/db/utils.js.html +1 -1
  119. package/coverage/lcov-report/events/AutomationEmitter.js.html +1 -1
  120. package/coverage/lcov-report/events/index.html +1 -1
  121. package/coverage/lcov-report/events/index.js.html +1 -1
  122. package/coverage/lcov-report/events/utils.js.html +1 -1
  123. package/coverage/lcov-report/index.html +46 -46
  124. package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
  125. package/coverage/lcov-report/integrations/tests/index.html +1 -1
  126. package/coverage/lcov-report/middleware/appInfo.js.html +1 -1
  127. package/coverage/lcov-report/middleware/builder.js.html +1 -1
  128. package/coverage/lcov-report/middleware/currentapp.js.html +1 -1
  129. package/coverage/lcov-report/middleware/index.html +21 -21
  130. package/coverage/lcov-report/middleware/joi-validator.js.html +43 -43
  131. package/coverage/lcov-report/middleware/publicApi.js.html +1 -1
  132. package/coverage/lcov-report/middleware/resourceId.js.html +1 -1
  133. package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
  134. package/coverage/lcov-report/middleware/utils.js.html +1 -1
  135. package/coverage/lcov-report/threads/automation.js.html +1 -1
  136. package/coverage/lcov-report/threads/index.html +1 -1
  137. package/coverage/lcov-report/threads/query.js.html +1 -1
  138. package/coverage/lcov-report/threads/utils.js.html +1 -1
  139. package/coverage/lcov-report/utilities/budibaseDir.js.html +1 -1
  140. package/coverage/lcov-report/utilities/centralPath.js.html +1 -1
  141. package/coverage/lcov-report/utilities/csvParser.js.html +1 -1
  142. package/coverage/lcov-report/utilities/global.js.html +67 -13
  143. package/coverage/lcov-report/utilities/index.html +20 -20
  144. package/coverage/lcov-report/utilities/index.js.html +1 -1
  145. package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +1 -1
  146. package/coverage/lcov-report/utilities/queue/index.html +1 -1
  147. package/coverage/lcov-report/utilities/routing/index.html +1 -1
  148. package/coverage/lcov-report/utilities/routing/index.js.html +1 -1
  149. package/coverage/lcov-report/utilities/rowProcessor/index.html +1 -1
  150. package/coverage/lcov-report/utilities/rowProcessor/index.js.html +1 -1
  151. package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +1 -1
  152. package/coverage/lcov-report/utilities/scriptRunner.js.html +1 -1
  153. package/coverage/lcov-report/utilities/security.js.html +2 -2
  154. package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
  155. package/coverage/lcov-report/utilities/usageQuota/index.html +1 -1
  156. package/coverage/lcov-report/utilities/usageQuota/rows.js.html +1 -1
  157. package/coverage/lcov-report/utilities/usageQuota/usageQuoteReset.js.html +1 -1
  158. package/coverage/lcov-report/utilities/users.js.html +1 -1
  159. package/coverage/lcov-report/utilities/workerRequests.js.html +1 -1
  160. package/coverage/lcov.info +485 -445
  161. package/dist/api/controllers/query/index.js +1 -1
  162. package/dist/api/controllers/query/validation.js +1 -1
  163. package/dist/api/controllers/row/internalSearch.js +30 -16
  164. package/dist/api/routes/utils/validators.js +1 -1
  165. package/dist/automations/steps/queryRows.js +4 -2
  166. package/dist/automations/steps/utils.js +9 -5
  167. package/dist/integrations/base/sql.js +43 -14
  168. package/dist/package.json +8 -8
  169. package/dist/tsconfig.build.tsbuildinfo +1 -1
  170. package/dist/utilities/global.js +21 -4
  171. package/package.json +9 -9
  172. package/src/api/controllers/query/index.ts +1 -1
  173. package/src/api/controllers/query/validation.js +1 -1
  174. package/src/api/controllers/row/internalSearch.js +35 -20
  175. package/src/api/routes/tests/user.spec.js +2 -0
  176. package/src/api/routes/utils/validators.js +1 -1
  177. package/src/automations/steps/executeQuery.js +1 -0
  178. package/src/automations/steps/queryRows.js +4 -2
  179. package/src/automations/steps/utils.js +9 -5
  180. package/src/definitions/datasource.ts +3 -0
  181. package/src/integrations/base/sql.ts +44 -13
  182. package/src/integrations/tests/sql.spec.js +50 -4
  183. package/src/middleware/tests/currentapp.spec.js +11 -0
  184. package/src/utilities/global.js +20 -2
  185. package/builder/assets/index.a898d283.js +0 -979
@@ -241,7 +241,7 @@ function execute(ctx, opts = { rowsOnly: false, isAutomation: false }) {
241
241
  }
242
242
  function executeV1(ctx) {
243
243
  return __awaiter(this, void 0, void 0, function* () {
244
- return execute(ctx, { rowsOnly: true });
244
+ return execute(ctx, { rowsOnly: true, isAutomation: false });
245
245
  });
246
246
  }
247
247
  exports.executeV1 = executeV1;
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- const joiValidator = require("../../../middleware/joi-validator");
2
+ const { joiValidator } = require("@budibase/backend-core/auth");
3
3
  const Joi = require("joi");
4
4
  const OPTIONAL_STRING = Joi.string().optional().allow(null).allow("");
5
5
  exports.queryValidation = () => {
@@ -18,7 +18,7 @@ const { getAppId } = require("@budibase/backend-core/context");
18
18
  */
19
19
  class QueryBuilder {
20
20
  constructor(base) {
21
- this.query = Object.assign({ allOr: false, string: {}, fuzzy: {}, range: {}, equal: {}, notEqual: {}, empty: {}, notEmpty: {}, oneOf: {} }, base);
21
+ this.query = Object.assign({ allOr: false, string: {}, fuzzy: {}, range: {}, equal: {}, notEqual: {}, empty: {}, notEmpty: {}, oneOf: {}, contains: {} }, base);
22
22
  this.limit = 50;
23
23
  this.sortOrder = "ascending";
24
24
  this.sortType = "string";
@@ -100,6 +100,10 @@ class QueryBuilder {
100
100
  this.query.oneOf[key] = value;
101
101
  return this;
102
102
  }
103
+ addContains(key, value) {
104
+ this.query.contains[key] = value;
105
+ return this;
106
+ }
103
107
  /**
104
108
  * Preprocesses a value before going into a lucene search.
105
109
  * Transforms strings to lowercase and wraps strings and bools in quotes.
@@ -142,6 +146,27 @@ class QueryBuilder {
142
146
  }
143
147
  return `${key}:${builder.preprocess(value, allPreProcessingOpts)}`;
144
148
  };
149
+ const contains = (key, value) => {
150
+ if (!value && value !== 0) {
151
+ return null;
152
+ }
153
+ return `${key}:${builder.preprocess(value, { escape: true })}`;
154
+ };
155
+ const oneOf = (key, value) => {
156
+ if (!Array.isArray(value)) {
157
+ if (typeof value === "string") {
158
+ value = value.split(",");
159
+ }
160
+ else {
161
+ return "";
162
+ }
163
+ }
164
+ let orStatement = `${builder.preprocess(value[0], allPreProcessingOpts)}`;
165
+ for (let i = 1; i < value.length; i++) {
166
+ orStatement += ` OR ${builder.preprocess(value[i], allPreProcessingOpts)}`;
167
+ }
168
+ return `${key}:(${orStatement})`;
169
+ };
145
170
  function build(structure, queryFn) {
146
171
  for (let [key, value] of Object.entries(structure)) {
147
172
  key = builder.preprocess(key.replace(/ /g, "_"), {
@@ -216,21 +241,10 @@ class QueryBuilder {
216
241
  build(this.query.notEmpty, key => `${key}:["" TO *]`);
217
242
  }
218
243
  if (this.query.oneOf) {
219
- build(this.query.oneOf, (key, value) => {
220
- if (!Array.isArray(value)) {
221
- if (typeof value === "string") {
222
- value = value.split(",");
223
- }
224
- else {
225
- return "";
226
- }
227
- }
228
- let orStatement = `${builder.preprocess(value[0], allPreProcessingOpts)}`;
229
- for (let i = 1; i < value.length; i++) {
230
- orStatement += ` OR ${builder.preprocess(value[i], allPreProcessingOpts)}`;
231
- }
232
- return `${key}:(${orStatement})`;
233
- });
244
+ build(this.query.oneOf, oneOf);
245
+ }
246
+ if (this.query.contains) {
247
+ build(this.query.contains, contains);
234
248
  }
235
249
  // make sure table ID is always added as an AND
236
250
  if (tableId) {
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- const joiValidator = require("../../../middleware/joi-validator");
2
+ const { joiValidator } = require("@budibase/backend-core/auth");
3
3
  const { DataSourceOperation } = require("../../../constants");
4
4
  const { WebhookType } = require("../../../constants");
5
5
  const { BUILTIN_PERMISSION_IDS, PermissionLevels, } = require("@budibase/backend-core/permissions");
@@ -104,12 +104,14 @@ exports.run = function ({ inputs, appId }) {
104
104
  tableId,
105
105
  },
106
106
  body: {
107
- sortOrder,
108
107
  sortType,
108
+ limit,
109
109
  sort: sortColumn,
110
110
  query: filters || {},
111
- limit,
111
+ // default to ascending, like data tab
112
+ sortOrder: sortOrder || SortOrders.ASCENDING,
112
113
  },
114
+ version: "1",
113
115
  });
114
116
  try {
115
117
  yield rowController.search(ctx);
@@ -27,7 +27,8 @@ exports.getFetchResponse = (fetched) => __awaiter(void 0, void 0, void 0, functi
27
27
  // need to make sure all ctx structures have the
28
28
  // throw added to them, so that controllers don't
29
29
  // throw a ctx.throw undefined when error occurs
30
- exports.buildCtx = (appId, emitter, { body, params } = {}) => {
30
+ // opts can contain, body, params and version
31
+ exports.buildCtx = (appId, emitter, opts = {}) => {
31
32
  const ctx = {
32
33
  appId,
33
34
  user: { appId },
@@ -36,11 +37,14 @@ exports.buildCtx = (appId, emitter, { body, params } = {}) => {
36
37
  throw error;
37
38
  },
38
39
  };
39
- if (body) {
40
- ctx.request = { body };
40
+ if (opts.body) {
41
+ ctx.request = { body: opts.body };
41
42
  }
42
- if (params) {
43
- ctx.params = params;
43
+ if (opts.params) {
44
+ ctx.params = opts.params;
45
+ }
46
+ if (opts.version) {
47
+ ctx.version = opts.version;
44
48
  }
45
49
  return ctx;
46
50
  };
@@ -125,6 +125,20 @@ class InternalBuilder {
125
125
  }
126
126
  }
127
127
  }
128
+ const like = (key, value) => {
129
+ const fnc = allOr ? "orWhere" : "where";
130
+ // postgres supports ilike, nothing else does
131
+ if (this.client === utils_1.SqlClients.POSTGRES) {
132
+ query = query[fnc](key, "ilike", `%${value}%`);
133
+ }
134
+ else {
135
+ const rawFnc = `${fnc}Raw`;
136
+ // @ts-ignore
137
+ query = query[rawFnc](`LOWER(${likeKey(this.client, key)}) LIKE ?`, [
138
+ `%${value}%`,
139
+ ]);
140
+ }
141
+ };
128
142
  if (!filters) {
129
143
  return query;
130
144
  }
@@ -152,20 +166,7 @@ class InternalBuilder {
152
166
  });
153
167
  }
154
168
  if (filters.fuzzy) {
155
- iterate(filters.fuzzy, (key, value) => {
156
- const fnc = allOr ? "orWhere" : "where";
157
- // postgres supports ilike, nothing else does
158
- if (this.client === utils_1.SqlClients.POSTGRES) {
159
- query = query[fnc](key, "ilike", `%${value}%`);
160
- }
161
- else {
162
- const rawFnc = `${fnc}Raw`;
163
- // @ts-ignore
164
- query = query[rawFnc](`LOWER(${likeKey(this.client, key)}) LIKE ?`, [
165
- `%${value}%`,
166
- ]);
167
- }
168
- });
169
+ iterate(filters.fuzzy, like);
169
170
  }
170
171
  if (filters.range) {
171
172
  iterate(filters.range, (key, value) => {
@@ -210,6 +211,34 @@ class InternalBuilder {
210
211
  query = query[fnc](key);
211
212
  });
212
213
  }
214
+ if (filters.contains) {
215
+ const fnc = allOr ? "orWhere" : "where";
216
+ const rawFnc = `${fnc}Raw`;
217
+ if (this.client === utils_1.SqlClients.POSTGRES) {
218
+ iterate(filters.contains, (key, value) => {
219
+ const fieldNames = key.split(/\./g);
220
+ const tableName = fieldNames[0];
221
+ const columnName = fieldNames[1];
222
+ if (typeof value === "string") {
223
+ value = `"${value}"`;
224
+ }
225
+ // @ts-ignore
226
+ query = query[rawFnc](`"${tableName}"."${columnName}"::jsonb @> '[${value}]'`);
227
+ });
228
+ }
229
+ else if (this.client === utils_1.SqlClients.MY_SQL) {
230
+ iterate(filters.contains, (key, value) => {
231
+ if (typeof value === "string") {
232
+ value = `"${value}"`;
233
+ }
234
+ // @ts-ignore
235
+ query = query[rawFnc](`JSON_CONTAINS(${key}, '${value}')`);
236
+ });
237
+ }
238
+ else {
239
+ iterate(filters.contains, like);
240
+ }
241
+ }
213
242
  return query;
214
243
  }
215
244
  addSorting(query, json) {
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.1.25",
4
+ "version": "1.1.28",
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.1.25",
81
- "@budibase/client": "^1.1.25",
82
- "@budibase/pro": "1.1.25",
83
- "@budibase/string-templates": "^1.1.25",
84
- "@budibase/types": "^1.1.25",
80
+ "@budibase/backend-core": "^1.1.28",
81
+ "@budibase/client": "^1.1.28",
82
+ "@budibase/pro": "1.1.28",
83
+ "@budibase/string-templates": "^1.1.28",
84
+ "@budibase/types": "^1.1.28",
85
85
  "@bull-board/api": "3.7.0",
86
86
  "@bull-board/koa": "3.9.4",
87
87
  "@elastic/elasticsearch": "7.10.0",
@@ -118,7 +118,7 @@
118
118
  "koa-send": "5.0.0",
119
119
  "koa-session": "5.12.0",
120
120
  "koa-static": "5.0.0",
121
- "koa2-ratelimit": "1.1.0",
121
+ "koa2-ratelimit": "1.1.1",
122
122
  "lodash": "4.17.21",
123
123
  "memorystream": "0.3.1",
124
124
  "mongodb": "3.6.3",
@@ -137,7 +137,7 @@
137
137
  "redis": "4",
138
138
  "server-destroy": "1.0.1",
139
139
  "snowflake-promise": "^4.5.0",
140
- "svelte": "3.44.1",
140
+ "svelte": "3.49.0",
141
141
  "swagger-parser": "10.0.3",
142
142
  "to-json-schema": "0.2.5",
143
143
  "uuid": "3.3.2",