@budibase/backend-core 3.20.14 → 3.21.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.
- package/dist/index.js +11 -11
- package/dist/index.js.map +3 -3
- package/dist/package.json +2 -2
- package/dist/plugins.js +1 -1
- package/dist/src/events/publishers/index.d.ts +13 -12
- package/dist/src/events/publishers/index.js +27 -25
- package/dist/src/events/publishers/index.js.map +1 -1
- package/dist/src/events/publishers/resource.d.ts +13 -0
- package/dist/src/events/publishers/resource.js +27 -0
- package/dist/src/events/publishers/resource.js.map +1 -0
- package/dist/src/features/features.js +2 -1
- package/dist/src/features/features.js.map +1 -1
- package/dist/src/objectStore/buckets/app.d.ts +4 -10
- package/dist/src/objectStore/buckets/app.js +10 -34
- package/dist/src/objectStore/buckets/app.js.map +1 -1
- package/dist/src/objectStore/objectStore.d.ts +9 -0
- package/dist/src/objectStore/objectStore.js +84 -27
- package/dist/src/objectStore/objectStore.js.map +1 -1
- package/dist/src/utils/fetch.d.ts +5 -1
- package/dist/src/utils/fetch.js +42 -11
- package/dist/src/utils/fetch.js.map +1 -1
- package/package.json +2 -2
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@budibase/backend-core",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.21.0",
|
|
4
4
|
"description": "Budibase backend core libraries used in server and worker",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/src/index.d.ts",
|
|
@@ -113,5 +113,5 @@
|
|
|
113
113
|
}
|
|
114
114
|
}
|
|
115
115
|
},
|
|
116
|
-
"gitHead": "
|
|
116
|
+
"gitHead": "89497e01938534167c4ffbe74cdd4090e3e7c3a5"
|
|
117
117
|
}
|
package/dist/plugins.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var b=Object.create;var T=Object.defineProperty;var D=Object.getOwnPropertyDescriptor;var P=Object.getOwnPropertyNames;var A=Object.getPrototypeOf,N=Object.prototype.hasOwnProperty;var l=(t,n)=>T(t,"name",{value:n,configurable:!0});var x=(t,n)=>{for(var s in n)T(t,s,{get:n[s],enumerable:!0})},L=(t,n,s,o)=>{if(n&&typeof n=="object"||typeof n=="function")for(let g of P(n))!N.call(t,g)&&g!==s&&T(t,g,{get:()=>n[g],enumerable:!(o=D(n,g))||o.enumerable});return t};var U=(t,n,s)=>(s=t!=null?b(A(t)):{},L(n||!t||!t.__esModule?T(s,"default",{value:t,enumerable:!0}):s,t)),y=t=>L(T({},"__esModule",{value:!0}),t);var j={};x(j,{validate:()=>M});module.exports=y(j);var O=(o=>(o.SQL="sql",o.JSON="json",o.FIELDS="fields",o))(O||{}),c=(a=>(a.STRING="string",a.CODE="code",a.LONGFORM="longForm",a.BOOLEAN="boolean",a.NUMBER="number",a.PASSWORD="password",a.LIST="list",a.OBJECT="object",a.JSON="json",a.FILE="file",a.FIELD_GROUP="fieldGroup",a.SELECT="select",a))(c||{});var p=(o=>(o.CONNECTION_CHECKING="connection",o.FETCH_TABLE_NAMES="fetch_table_names",o.EXPORT_SCHEMA="export_schema",o))(p||{});var u=(E=>(E.OBJECT="object",E.STRING="string",E.BOOLEAN="boolean",E.NUMBER="number",E.ARRAY="array",E.JSON="json",E.DATE="date",E.DATETIME="datetime",E.ATTACHMENT="attachment",E.LONGFORM="longform",E))(u||{}),d=(i=>(i.TABLE="table",i.ROW="row",i.ROWS="rows",i.WIDE="wide",i.QUERY="query",i.QUERY_PARAMS="queryParams",i.QUERY_LIMIT="queryLimit",i.LOOP_OPTION="loopOption",i.ITEM="item",i.CODE="code",i.FILTERS="filters",i.COLUMN="column",i.TRIGGER_SCHEMA="triggerSchema",i.CRON="cron",i.WEBHOOK_URL="webhookUrl",i.AUTOMATION="automation",i.AUTOMATION_FIELDS="automationFields",i.MULTI_ATTACHMENTS="multi_attachments",i.TRIGGER_FILTER="trigger_filter",i.CATEGORIES="categories",i))(d||{}),
|
|
1
|
+
"use strict";var b=Object.create;var T=Object.defineProperty;var D=Object.getOwnPropertyDescriptor;var P=Object.getOwnPropertyNames;var A=Object.getPrototypeOf,N=Object.prototype.hasOwnProperty;var l=(t,n)=>T(t,"name",{value:n,configurable:!0});var x=(t,n)=>{for(var s in n)T(t,s,{get:n[s],enumerable:!0})},L=(t,n,s,o)=>{if(n&&typeof n=="object"||typeof n=="function")for(let g of P(n))!N.call(t,g)&&g!==s&&T(t,g,{get:()=>n[g],enumerable:!(o=D(n,g))||o.enumerable});return t};var U=(t,n,s)=>(s=t!=null?b(A(t)):{},L(n||!t||!t.__esModule?T(s,"default",{value:t,enumerable:!0}):s,t)),y=t=>L(T({},"__esModule",{value:!0}),t);var j={};x(j,{validate:()=>M});module.exports=y(j);var O=(o=>(o.SQL="sql",o.JSON="json",o.FIELDS="fields",o))(O||{}),c=(a=>(a.STRING="string",a.CODE="code",a.LONGFORM="longForm",a.BOOLEAN="boolean",a.NUMBER="number",a.PASSWORD="password",a.LIST="list",a.OBJECT="object",a.JSON="json",a.FILE="file",a.FIELD_GROUP="fieldGroup",a.SELECT="select",a))(c||{});var p=(o=>(o.CONNECTION_CHECKING="connection",o.FETCH_TABLE_NAMES="fetch_table_names",o.EXPORT_SCHEMA="export_schema",o))(p||{});var u=(E=>(E.OBJECT="object",E.STRING="string",E.BOOLEAN="boolean",E.NUMBER="number",E.ARRAY="array",E.JSON="json",E.DATE="date",E.DATETIME="datetime",E.ATTACHMENT="attachment",E.LONGFORM="longform",E))(u||{}),d=(i=>(i.TABLE="table",i.ROW="row",i.ROWS="rows",i.WIDE="wide",i.QUERY="query",i.QUERY_PARAMS="queryParams",i.QUERY_LIMIT="queryLimit",i.LOOP_OPTION="loopOption",i.ITEM="item",i.CODE="code",i.FILTERS="filters",i.COLUMN="column",i.TRIGGER_SCHEMA="triggerSchema",i.CRON="cron",i.WEBHOOK_URL="webhookUrl",i.AUTOMATION="automation",i.AUTOMATION_FIELDS="automationFields",i.MULTI_ATTACHMENTS="multi_attachments",i.TRIGGER_FILTER="trigger_filter",i.CATEGORIES="categories",i))(d||{}),C=(R=>(R.ROW_SAVED="ROW_SAVED",R.ROW_UPDATED="ROW_UPDATED",R.ROW_DELETED="ROW_DELETED",R.WEBHOOK="WEBHOOK",R.APP="APP",R.CRON="CRON",R.ROW_ACTION="ROW_ACTION",R))(C||{});var m=(r=>(r.SEND_EMAIL_SMTP="SEND_EMAIL_SMTP",r.CREATE_ROW="CREATE_ROW",r.UPDATE_ROW="UPDATE_ROW",r.DELETE_ROW="DELETE_ROW",r.EXECUTE_BASH="EXECUTE_BASH",r.OUTGOING_WEBHOOK="OUTGOING_WEBHOOK",r.EXECUTE_SCRIPT="EXECUTE_SCRIPT",r.EXECUTE_SCRIPT_V2="EXECUTE_SCRIPT_V2",r.EXECUTE_QUERY="EXECUTE_QUERY",r.SERVER_LOG="SERVER_LOG",r.DELAY="DELAY",r.FILTER="FILTER",r.API_REQUEST="API_REQUEST",r.QUERY_ROWS="QUERY_ROWS",r.LOOP="LOOP",r.COLLECT="COLLECT",r.OPENAI="OPENAI",r.TRIGGER_AUTOMATION_RUN="TRIGGER_AUTOMATION_RUN",r.BRANCH="BRANCH",r.CLASSIFY_CONTENT="CLASSIFY_CONTENT",r.PROMPT_LLM="PROMPT_LLM",r.TRANSLATE="TRANSLATE",r.SUMMARISE="SUMMARISE",r.GENERATE_TEXT="GENERATE_TEXT",r.EXTRACT_FILE_DATA="EXTRACT_FILE_DATA",r.EXTRACT_STATE="EXTRACT_STATE",r.LOOP_V2="LOOP_V2",r.discord="discord",r.slack="slack",r.zapier="zapier",r.integromat="integromat",r.n8n="n8n",r))(m||{}),f=[...Object.values(m),...Object.values(C)];var e=U(require("joi"));var I=["Relational","Non-relational","Spreadsheet","Object store","Graph","API"];function _(t,n){let{error:s}=t.validate(n);if(s)throw s}l(_,"runJoi");function S(t){let n=e.default.object({type:e.default.string().allow("component").required(),metadata:e.default.object().unknown(!0).required(),hash:e.default.string().optional(),version:e.default.string().optional(),schema:e.default.object({name:e.default.string().required(),settings:e.default.array().items(e.default.object().unknown(!0)).required()}).unknown(!0)});_(n,t)}l(S,"validateComponent");function G(t){let n=e.default.object({type:e.default.string().allow(...Object.values(c)).required(),required:e.default.boolean().required(),default:e.default.any(),display:e.default.string()}),s=e.default.object({type:e.default.string().allow(...Object.values(O)),readable:e.default.boolean(),displayName:e.default.string(),fields:e.default.object().pattern(e.default.string(),n)}).required(),o=e.default.object({type:e.default.string().allow("datasource").required(),metadata:e.default.object().unknown(!0).required(),hash:e.default.string().optional(),version:e.default.string().optional(),schema:e.default.object({docs:e.default.string(),plus:e.default.boolean().optional(),isSQL:e.default.boolean().optional(),auth:e.default.object({type:e.default.string().required()}).optional(),features:e.default.object(Object.fromEntries(Object.values(p).map(g=>[g,e.default.boolean().optional()]))).optional(),relationships:e.default.boolean().optional(),description:e.default.string().required(),friendlyName:e.default.string().required(),type:e.default.string().allow(...I),datasource:e.default.object().pattern(e.default.string(),n).required(),query:e.default.object().pattern(e.default.string(),s).unknown(!0).required(),extra:e.default.object().pattern(e.default.string(),e.default.object({type:e.default.string().required(),displayName:e.default.string().required(),required:e.default.boolean(),data:e.default.object()}))})});_(o,t)}l(G,"validateDatasource");function B(t){let n=e.default.object().pattern(e.default.string(),{type:e.default.string().allow(...Object.values(u)).required(),customType:e.default.string().allow(...Object.values(d)),title:e.default.string(),description:e.default.string(),enum:e.default.array().items(e.default.string()),pretty:e.default.array().items(e.default.string())}),s=e.default.object({properties:n,required:e.default.array().items(e.default.string())}).concat(n).required(),o=e.default.object({type:e.default.string().allow("automation").required(),metadata:e.default.object().unknown(!0).required(),hash:e.default.string().optional(),version:e.default.string().optional(),schema:e.default.object({name:e.default.string().required(),tagline:e.default.string().required(),icon:e.default.string().required(),description:e.default.string().required(),type:e.default.string().allow("ACTION","LOGIC").required(),stepId:e.default.string().disallow(...f).required(),inputs:e.default.object().optional(),schema:e.default.object({inputs:s,outputs:s}).required()})});_(o,t)}l(B,"validateAutomation");function M(t){switch(t?.type){case"component":S(t);break;case"datasource":G(t);break;case"automation":B(t);break;default:throw new Error(`Unknown plugin type - check schema.json: ${t.type}`)}}l(M,"validate");0&&(module.exports={validate});
|
|
2
2
|
//# sourceMappingURL=plugins.js.map
|
|
@@ -1,28 +1,29 @@
|
|
|
1
1
|
export { default as account } from "./account";
|
|
2
2
|
export { default as action } from "./action";
|
|
3
|
+
export { default as ai } from "./ai";
|
|
3
4
|
export { default as app } from "./app";
|
|
5
|
+
export { default as auditLog } from "./auditLog";
|
|
4
6
|
export { default as auth } from "./auth";
|
|
5
7
|
export { default as automation } from "./automation";
|
|
8
|
+
export { default as backfill } from "./backfill";
|
|
9
|
+
export { default as backup } from "./backup";
|
|
6
10
|
export { default as datasource } from "./datasource";
|
|
7
11
|
export { default as email } from "./email";
|
|
8
|
-
export { default as
|
|
9
|
-
export { default as
|
|
12
|
+
export { default as environmentVariable } from "./environmentVariable";
|
|
13
|
+
export { default as group } from "./group";
|
|
14
|
+
export { default as installation } from "./installation";
|
|
10
15
|
export { default as layout } from "./layout";
|
|
16
|
+
export { default as license } from "./license";
|
|
11
17
|
export { default as org } from "./org";
|
|
18
|
+
export { default as plugin } from "./plugin";
|
|
12
19
|
export { default as query } from "./query";
|
|
20
|
+
export { default as resource } from "./resource";
|
|
13
21
|
export { default as role } from "./role";
|
|
14
|
-
export { default as
|
|
22
|
+
export { default as rowAction } from "./rowAction";
|
|
15
23
|
export { default as rows } from "./rows";
|
|
16
|
-
export { default as
|
|
24
|
+
export { default as screen } from "./screen";
|
|
17
25
|
export { default as serve } from "./serve";
|
|
26
|
+
export { default as table } from "./table";
|
|
18
27
|
export { default as user } from "./user";
|
|
19
28
|
export { default as view } from "./view";
|
|
20
|
-
export { default as installation } from "./installation";
|
|
21
|
-
export { default as backfill } from "./backfill";
|
|
22
|
-
export { default as group } from "./group";
|
|
23
|
-
export { default as plugin } from "./plugin";
|
|
24
|
-
export { default as backup } from "./backup";
|
|
25
|
-
export { default as environmentVariable } from "./environmentVariable";
|
|
26
|
-
export { default as auditLog } from "./auditLog";
|
|
27
|
-
export { default as rowAction } from "./rowAction";
|
|
28
29
|
export { default as workspace } from "./workspace";
|
|
@@ -3,61 +3,63 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.workspace = exports.
|
|
6
|
+
exports.workspace = exports.view = exports.user = exports.table = exports.serve = exports.screen = exports.rows = exports.rowAction = exports.role = exports.resource = exports.query = exports.plugin = exports.org = exports.license = exports.layout = exports.installation = exports.group = exports.environmentVariable = exports.email = exports.datasource = exports.backup = exports.backfill = exports.automation = exports.auth = exports.auditLog = exports.app = exports.ai = exports.action = exports.account = void 0;
|
|
7
7
|
var account_1 = require("./account");
|
|
8
8
|
Object.defineProperty(exports, "account", { enumerable: true, get: function () { return __importDefault(account_1).default; } });
|
|
9
9
|
var action_1 = require("./action");
|
|
10
10
|
Object.defineProperty(exports, "action", { enumerable: true, get: function () { return __importDefault(action_1).default; } });
|
|
11
|
+
var ai_1 = require("./ai");
|
|
12
|
+
Object.defineProperty(exports, "ai", { enumerable: true, get: function () { return __importDefault(ai_1).default; } });
|
|
11
13
|
var app_1 = require("./app");
|
|
12
14
|
Object.defineProperty(exports, "app", { enumerable: true, get: function () { return __importDefault(app_1).default; } });
|
|
15
|
+
var auditLog_1 = require("./auditLog");
|
|
16
|
+
Object.defineProperty(exports, "auditLog", { enumerable: true, get: function () { return __importDefault(auditLog_1).default; } });
|
|
13
17
|
var auth_1 = require("./auth");
|
|
14
18
|
Object.defineProperty(exports, "auth", { enumerable: true, get: function () { return __importDefault(auth_1).default; } });
|
|
15
19
|
var automation_1 = require("./automation");
|
|
16
20
|
Object.defineProperty(exports, "automation", { enumerable: true, get: function () { return __importDefault(automation_1).default; } });
|
|
21
|
+
var backfill_1 = require("./backfill");
|
|
22
|
+
Object.defineProperty(exports, "backfill", { enumerable: true, get: function () { return __importDefault(backfill_1).default; } });
|
|
23
|
+
var backup_1 = require("./backup");
|
|
24
|
+
Object.defineProperty(exports, "backup", { enumerable: true, get: function () { return __importDefault(backup_1).default; } });
|
|
17
25
|
var datasource_1 = require("./datasource");
|
|
18
26
|
Object.defineProperty(exports, "datasource", { enumerable: true, get: function () { return __importDefault(datasource_1).default; } });
|
|
19
27
|
var email_1 = require("./email");
|
|
20
28
|
Object.defineProperty(exports, "email", { enumerable: true, get: function () { return __importDefault(email_1).default; } });
|
|
21
|
-
var
|
|
22
|
-
Object.defineProperty(exports, "
|
|
23
|
-
var
|
|
24
|
-
Object.defineProperty(exports, "
|
|
29
|
+
var environmentVariable_1 = require("./environmentVariable");
|
|
30
|
+
Object.defineProperty(exports, "environmentVariable", { enumerable: true, get: function () { return __importDefault(environmentVariable_1).default; } });
|
|
31
|
+
var group_1 = require("./group");
|
|
32
|
+
Object.defineProperty(exports, "group", { enumerable: true, get: function () { return __importDefault(group_1).default; } });
|
|
33
|
+
var installation_1 = require("./installation");
|
|
34
|
+
Object.defineProperty(exports, "installation", { enumerable: true, get: function () { return __importDefault(installation_1).default; } });
|
|
25
35
|
var layout_1 = require("./layout");
|
|
26
36
|
Object.defineProperty(exports, "layout", { enumerable: true, get: function () { return __importDefault(layout_1).default; } });
|
|
37
|
+
var license_1 = require("./license");
|
|
38
|
+
Object.defineProperty(exports, "license", { enumerable: true, get: function () { return __importDefault(license_1).default; } });
|
|
27
39
|
var org_1 = require("./org");
|
|
28
40
|
Object.defineProperty(exports, "org", { enumerable: true, get: function () { return __importDefault(org_1).default; } });
|
|
41
|
+
var plugin_1 = require("./plugin");
|
|
42
|
+
Object.defineProperty(exports, "plugin", { enumerable: true, get: function () { return __importDefault(plugin_1).default; } });
|
|
29
43
|
var query_1 = require("./query");
|
|
30
44
|
Object.defineProperty(exports, "query", { enumerable: true, get: function () { return __importDefault(query_1).default; } });
|
|
45
|
+
var resource_1 = require("./resource");
|
|
46
|
+
Object.defineProperty(exports, "resource", { enumerable: true, get: function () { return __importDefault(resource_1).default; } });
|
|
31
47
|
var role_1 = require("./role");
|
|
32
48
|
Object.defineProperty(exports, "role", { enumerable: true, get: function () { return __importDefault(role_1).default; } });
|
|
33
|
-
var
|
|
34
|
-
Object.defineProperty(exports, "
|
|
49
|
+
var rowAction_1 = require("./rowAction");
|
|
50
|
+
Object.defineProperty(exports, "rowAction", { enumerable: true, get: function () { return __importDefault(rowAction_1).default; } });
|
|
35
51
|
var rows_1 = require("./rows");
|
|
36
52
|
Object.defineProperty(exports, "rows", { enumerable: true, get: function () { return __importDefault(rows_1).default; } });
|
|
37
|
-
var
|
|
38
|
-
Object.defineProperty(exports, "
|
|
53
|
+
var screen_1 = require("./screen");
|
|
54
|
+
Object.defineProperty(exports, "screen", { enumerable: true, get: function () { return __importDefault(screen_1).default; } });
|
|
39
55
|
var serve_1 = require("./serve");
|
|
40
56
|
Object.defineProperty(exports, "serve", { enumerable: true, get: function () { return __importDefault(serve_1).default; } });
|
|
57
|
+
var table_1 = require("./table");
|
|
58
|
+
Object.defineProperty(exports, "table", { enumerable: true, get: function () { return __importDefault(table_1).default; } });
|
|
41
59
|
var user_1 = require("./user");
|
|
42
60
|
Object.defineProperty(exports, "user", { enumerable: true, get: function () { return __importDefault(user_1).default; } });
|
|
43
61
|
var view_1 = require("./view");
|
|
44
62
|
Object.defineProperty(exports, "view", { enumerable: true, get: function () { return __importDefault(view_1).default; } });
|
|
45
|
-
var installation_1 = require("./installation");
|
|
46
|
-
Object.defineProperty(exports, "installation", { enumerable: true, get: function () { return __importDefault(installation_1).default; } });
|
|
47
|
-
var backfill_1 = require("./backfill");
|
|
48
|
-
Object.defineProperty(exports, "backfill", { enumerable: true, get: function () { return __importDefault(backfill_1).default; } });
|
|
49
|
-
var group_1 = require("./group");
|
|
50
|
-
Object.defineProperty(exports, "group", { enumerable: true, get: function () { return __importDefault(group_1).default; } });
|
|
51
|
-
var plugin_1 = require("./plugin");
|
|
52
|
-
Object.defineProperty(exports, "plugin", { enumerable: true, get: function () { return __importDefault(plugin_1).default; } });
|
|
53
|
-
var backup_1 = require("./backup");
|
|
54
|
-
Object.defineProperty(exports, "backup", { enumerable: true, get: function () { return __importDefault(backup_1).default; } });
|
|
55
|
-
var environmentVariable_1 = require("./environmentVariable");
|
|
56
|
-
Object.defineProperty(exports, "environmentVariable", { enumerable: true, get: function () { return __importDefault(environmentVariable_1).default; } });
|
|
57
|
-
var auditLog_1 = require("./auditLog");
|
|
58
|
-
Object.defineProperty(exports, "auditLog", { enumerable: true, get: function () { return __importDefault(auditLog_1).default; } });
|
|
59
|
-
var rowAction_1 = require("./rowAction");
|
|
60
|
-
Object.defineProperty(exports, "rowAction", { enumerable: true, get: function () { return __importDefault(rowAction_1).default; } });
|
|
61
63
|
var workspace_1 = require("./workspace");
|
|
62
64
|
Object.defineProperty(exports, "workspace", { enumerable: true, get: function () { return __importDefault(workspace_1).default; } });
|
|
63
65
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/events/publishers/index.ts"],"names":[],"mappings":";;;;;;AAAA,qCAA8C;AAArC,mHAAA,OAAO,OAAW;AAC3B,mCAA4C;AAAnC,iHAAA,OAAO,OAAU;AAC1B,6BAAsC;AAA7B,2GAAA,OAAO,OAAO;AACvB,+BAAwC;AAA/B,6GAAA,OAAO,OAAQ;AACxB,2CAAoD;AAA3C,yHAAA,OAAO,OAAc;AAC9B,2CAAoD;AAA3C,yHAAA,OAAO,OAAc;AAC9B,iCAA0C;AAAjC,+GAAA,OAAO,OAAS;AACzB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/events/publishers/index.ts"],"names":[],"mappings":";;;;;;AAAA,qCAA8C;AAArC,mHAAA,OAAO,OAAW;AAC3B,mCAA4C;AAAnC,iHAAA,OAAO,OAAU;AAC1B,2BAAoC;AAA3B,yGAAA,OAAO,OAAM;AACtB,6BAAsC;AAA7B,2GAAA,OAAO,OAAO;AACvB,uCAAgD;AAAvC,qHAAA,OAAO,OAAY;AAC5B,+BAAwC;AAA/B,6GAAA,OAAO,OAAQ;AACxB,2CAAoD;AAA3C,yHAAA,OAAO,OAAc;AAC9B,uCAAgD;AAAvC,qHAAA,OAAO,OAAY;AAC5B,mCAA4C;AAAnC,iHAAA,OAAO,OAAU;AAC1B,2CAAoD;AAA3C,yHAAA,OAAO,OAAc;AAC9B,iCAA0C;AAAjC,+GAAA,OAAO,OAAS;AACzB,6DAAsE;AAA7D,2IAAA,OAAO,OAAuB;AACvC,iCAA0C;AAAjC,+GAAA,OAAO,OAAS;AACzB,+CAAwD;AAA/C,6HAAA,OAAO,OAAgB;AAChC,mCAA4C;AAAnC,iHAAA,OAAO,OAAU;AAC1B,qCAA8C;AAArC,mHAAA,OAAO,OAAW;AAC3B,6BAAsC;AAA7B,2GAAA,OAAO,OAAO;AACvB,mCAA4C;AAAnC,iHAAA,OAAO,OAAU;AAC1B,iCAA0C;AAAjC,+GAAA,OAAO,OAAS;AACzB,uCAAgD;AAAvC,qHAAA,OAAO,OAAY;AAC5B,+BAAwC;AAA/B,6GAAA,OAAO,OAAQ;AACxB,yCAAkD;AAAzC,uHAAA,OAAO,OAAa;AAC7B,+BAAwC;AAA/B,6GAAA,OAAO,OAAQ;AACxB,mCAA4C;AAAnC,iHAAA,OAAO,OAAU;AAC1B,iCAA0C;AAAjC,+GAAA,OAAO,OAAS;AACzB,iCAA0C;AAAjC,+GAAA,OAAO,OAAS;AACzB,+BAAwC;AAA/B,6GAAA,OAAO,OAAQ;AACxB,+BAAwC;AAA/B,6GAAA,OAAO,OAAQ;AACxB,yCAAkD;AAAzC,uHAAA,OAAO,OAAa"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
declare function duplicatedToWorkspace({ resource, fromWorkspace, toWorkspace, }: {
|
|
2
|
+
resource: {
|
|
3
|
+
type: string;
|
|
4
|
+
id: string;
|
|
5
|
+
name: string;
|
|
6
|
+
};
|
|
7
|
+
fromWorkspace: string;
|
|
8
|
+
toWorkspace: string;
|
|
9
|
+
}, timestamp?: number): Promise<void>;
|
|
10
|
+
declare const _default: {
|
|
11
|
+
duplicatedToWorkspace: typeof duplicatedToWorkspace;
|
|
12
|
+
};
|
|
13
|
+
export default _default;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
const types_1 = require("@budibase/types");
|
|
13
|
+
const events_1 = require("../events");
|
|
14
|
+
function duplicatedToWorkspace(_a, timestamp_1) {
|
|
15
|
+
return __awaiter(this, arguments, void 0, function* ({ resource, fromWorkspace, toWorkspace, }, timestamp) {
|
|
16
|
+
const properties = {
|
|
17
|
+
resource,
|
|
18
|
+
fromWorkspace,
|
|
19
|
+
toWorkspace,
|
|
20
|
+
};
|
|
21
|
+
yield (0, events_1.publishEvent)(types_1.Event.RESOURCE_COPIED_TO_WORKSPACE, properties, timestamp);
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
exports.default = {
|
|
25
|
+
duplicatedToWorkspace,
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=resource.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resource.js","sourceRoot":"","sources":["../../../../src/events/publishers/resource.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,2CAAuC;AACvC,sCAAwC;AAExC,SAAe,qBAAqB;yDAClC,EACE,QAAQ,EACR,aAAa,EACb,WAAW,GASZ,EACD,SAAkB;QAElB,MAAM,UAAU,GAAG;YACjB,QAAQ;YACR,aAAa;YACb,WAAW;SACZ,CAAA;QACD,MAAM,IAAA,qBAAY,EAAC,aAAK,CAAC,4BAA4B,EAAE,UAAU,EAAE,SAAS,CAAC,CAAA;IAC/E,CAAC;CAAA;AAED,kBAAe;IACb,qBAAqB;CACtB,CAAA"}
|
|
@@ -239,10 +239,11 @@ exports.FlagSet = FlagSet;
|
|
|
239
239
|
const featureFlagDefaults = {
|
|
240
240
|
[types_1.FeatureFlag.USE_ZOD_VALIDATOR]: false,
|
|
241
241
|
[types_1.FeatureFlag.AI_AGENTS]: false,
|
|
242
|
-
[types_1.FeatureFlag.
|
|
242
|
+
[types_1.FeatureFlag.ESM_CLIENT]: false,
|
|
243
243
|
[types_1.FeatureFlag.DEBUG_UI]: environment_1.default.isDev(),
|
|
244
244
|
[types_1.FeatureFlag.DEV_USE_CLIENT_FROM_STORAGE]: false,
|
|
245
245
|
[types_1.FeatureFlag.DUPLICATE_APP]: false,
|
|
246
|
+
[types_1.FeatureFlag.COPY_RESOURCES_BETWEEN_WORKSPACES]: false,
|
|
246
247
|
};
|
|
247
248
|
exports.flags = new FlagSet(featureFlagDefaults);
|
|
248
249
|
function isEnabled(flag) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"features.js","sourceRoot":"","sources":["../../../src/features/features.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,oBAiBC;AAED,4BAEC;AAQD,sCAcC;AAED,kCAEC;
|
|
1
|
+
{"version":3,"file":"features.js","sourceRoot":"","sources":["../../../src/features/features.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,7 @@
|
|
|
1
1
|
import { PWAManifestImage } from "@budibase/types";
|
|
2
|
-
export declare function clientLibraryPath(
|
|
3
|
-
export declare function client3rdPartyLibrary(
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
* due to issues with the domain we were unable to continue doing this - keeping
|
|
7
|
-
* incase we are able to switch back to CDN path again in future.
|
|
8
|
-
*/
|
|
9
|
-
export declare function clientLibraryCDNUrl(appId: string, version: string): Promise<string>;
|
|
10
|
-
export declare function clientLibraryUrl(appId: string, version: string): Promise<string>;
|
|
11
|
-
export declare function getClientCacheKey(appId: string, version: string): Promise<string>;
|
|
2
|
+
export declare function clientLibraryPath(workspaceId: string): Promise<string>;
|
|
3
|
+
export declare function client3rdPartyLibrary(workspaceId: string, file: string): string;
|
|
4
|
+
export declare function clientLibraryUrl(workspaceId: string, version: string): Promise<string>;
|
|
5
|
+
export declare function getClientCacheKey(version: string): Promise<string>;
|
|
12
6
|
export declare function getAppFileUrl(s3Key: string): Promise<string>;
|
|
13
7
|
export declare function enrichPWAImages(images: PWAManifestImage[]): Promise<PWAManifestImage[]>;
|
|
@@ -47,7 +47,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
47
47
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
48
48
|
exports.clientLibraryPath = clientLibraryPath;
|
|
49
49
|
exports.client3rdPartyLibrary = client3rdPartyLibrary;
|
|
50
|
-
exports.clientLibraryCDNUrl = clientLibraryCDNUrl;
|
|
51
50
|
exports.clientLibraryUrl = clientLibraryUrl;
|
|
52
51
|
exports.getClientCacheKey = getClientCacheKey;
|
|
53
52
|
exports.getAppFileUrl = getAppFileUrl;
|
|
@@ -59,11 +58,11 @@ const environment_1 = __importDefault(require("../../environment"));
|
|
|
59
58
|
const features = __importStar(require("../../features"));
|
|
60
59
|
const cloudfront = __importStar(require("../cloudfront"));
|
|
61
60
|
const objectStore = __importStar(require("../objectStore"));
|
|
62
|
-
function clientLibraryPath(
|
|
61
|
+
function clientLibraryPath(workspaceId) {
|
|
63
62
|
return __awaiter(this, void 0, void 0, function* () {
|
|
64
|
-
const oldClient = `${objectStore.sanitizeKey(
|
|
65
|
-
const newClient = `${objectStore.sanitizeKey(
|
|
66
|
-
if (!(yield features.isEnabled(types_1.FeatureFlag.
|
|
63
|
+
const oldClient = `${objectStore.sanitizeKey(workspaceId)}/budibase-client.js`;
|
|
64
|
+
const newClient = `${objectStore.sanitizeKey(workspaceId)}/budibase-client.esm.js`;
|
|
65
|
+
if (!(yield features.isEnabled(types_1.FeatureFlag.ESM_CLIENT))) {
|
|
67
66
|
return oldClient;
|
|
68
67
|
}
|
|
69
68
|
else {
|
|
@@ -72,37 +71,15 @@ function clientLibraryPath(appId) {
|
|
|
72
71
|
}
|
|
73
72
|
});
|
|
74
73
|
}
|
|
75
|
-
function client3rdPartyLibrary(
|
|
76
|
-
return `${objectStore.sanitizeKey(
|
|
74
|
+
function client3rdPartyLibrary(workspaceId, file) {
|
|
75
|
+
return `${objectStore.sanitizeKey(workspaceId)}/${file}`;
|
|
77
76
|
}
|
|
78
|
-
|
|
79
|
-
* Previously we used to serve the client library directly from Cloudfront, however
|
|
80
|
-
* due to issues with the domain we were unable to continue doing this - keeping
|
|
81
|
-
* incase we are able to switch back to CDN path again in future.
|
|
82
|
-
*/
|
|
83
|
-
function clientLibraryCDNUrl(appId, version) {
|
|
77
|
+
function clientLibraryUrl(workspaceId, version) {
|
|
84
78
|
return __awaiter(this, void 0, void 0, function* () {
|
|
85
|
-
|
|
86
|
-
if (environment_1.default.CLOUDFRONT_CDN) {
|
|
87
|
-
// append app version to bust the cache
|
|
88
|
-
if (version) {
|
|
89
|
-
file += `?v=${version}`;
|
|
90
|
-
}
|
|
91
|
-
// don't need to use presigned for client with cloudfront
|
|
92
|
-
// file is public
|
|
93
|
-
return cloudfront.getUrl(file);
|
|
94
|
-
}
|
|
95
|
-
else {
|
|
96
|
-
return yield objectStore.getPresignedUrl(environment_1.default.APPS_BUCKET_NAME, file);
|
|
97
|
-
}
|
|
98
|
-
});
|
|
99
|
-
}
|
|
100
|
-
function clientLibraryUrl(appId, version) {
|
|
101
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
102
|
-
return `/api/assets/client?${yield getClientCacheKey(appId, version)}`;
|
|
79
|
+
return `/api/assets/${workspaceId}/client?${yield getClientCacheKey(version)}`;
|
|
103
80
|
});
|
|
104
81
|
}
|
|
105
|
-
function getClientCacheKey(
|
|
82
|
+
function getClientCacheKey(version) {
|
|
106
83
|
return __awaiter(this, void 0, void 0, function* () {
|
|
107
84
|
let tenantId, qsParams;
|
|
108
85
|
try {
|
|
@@ -110,14 +87,13 @@ function getClientCacheKey(appId, version) {
|
|
|
110
87
|
}
|
|
111
88
|
finally {
|
|
112
89
|
qsParams = {
|
|
113
|
-
appId,
|
|
114
90
|
version,
|
|
115
91
|
};
|
|
116
92
|
}
|
|
117
93
|
if (tenantId && tenantId !== context_1.DEFAULT_TENANT_ID) {
|
|
118
94
|
qsParams.tenantId = tenantId;
|
|
119
95
|
}
|
|
120
|
-
qsParams.dynamic = yield features.isEnabled(types_1.FeatureFlag.
|
|
96
|
+
qsParams.dynamic = yield features.isEnabled(types_1.FeatureFlag.ESM_CLIENT);
|
|
121
97
|
return querystring_1.default.encode(qsParams);
|
|
122
98
|
});
|
|
123
99
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../../../src/objectStore/buckets/app.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,8CAYC;AACD,sDAEC;
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../../../src/objectStore/buckets/app.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,8CAYC;AACD,sDAEC;AAED,4CAEC;AAED,8CAmBC;AAED,sCAMC;AAED,0CAqBC;AA/ED,2CAA+D;AAC/D,8DAA4B;AAC5B,2CAA8D;AAC9D,oEAAmC;AACnC,yDAA0C;AAC1C,0DAA2C;AAC3C,4DAA6C;AAE7C,SAAsB,iBAAiB,CAAC,WAAmB;;QACzD,MAAM,SAAS,GAAG,GAAG,WAAW,CAAC,WAAW,CAAC,WAAW,CAAC,qBAAqB,CAAA;QAC9E,MAAM,SAAS,GAAG,GAAG,WAAW,CAAC,WAAW,CAAC,WAAW,CAAC,yBAAyB,CAAA;QAClF,IAAI,CAAC,CAAC,MAAM,QAAQ,CAAC,SAAS,CAAC,mBAAW,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;YACxD,OAAO,SAAS,CAAA;QAClB,CAAC;aAAM,CAAC;YACN,MAAM,eAAe,GAAG,MAAM,WAAW,CAAC,YAAY,CACpD,qBAAG,CAAC,gBAAgB,EACpB,SAAS,CACV,CAAA;YACD,OAAO,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAA;QAChD,CAAC;IACH,CAAC;CAAA;AACD,SAAgB,qBAAqB,CAAC,WAAmB,EAAE,IAAY;IACrE,OAAO,GAAG,WAAW,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAA;AAC1D,CAAC;AAED,SAAsB,gBAAgB,CAAC,WAAmB,EAAE,OAAe;;QACzE,OAAO,eAAe,WAAW,WAAW,MAAM,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAA;IAChF,CAAC;CAAA;AAED,SAAsB,iBAAiB,CAAC,OAAe;;QACrD,IAAI,QAAQ,EACV,QAIC,CAAA;QACH,IAAI,CAAC;YACH,QAAQ,GAAG,IAAA,qBAAW,GAAE,CAAA;QAC1B,CAAC;gBAAS,CAAC;YACT,QAAQ,GAAG;gBACT,OAAO;aACR,CAAA;QACH,CAAC;QACD,IAAI,QAAQ,IAAI,QAAQ,KAAK,2BAAiB,EAAE,CAAC;YAC/C,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAA;QAC9B,CAAC;QACD,QAAQ,CAAC,OAAO,GAAG,MAAM,QAAQ,CAAC,SAAS,CAAC,mBAAW,CAAC,UAAU,CAAC,CAAA;QACnE,OAAO,qBAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IAC5B,CAAC;CAAA;AAED,SAAsB,aAAa,CAAC,KAAa;;QAC/C,IAAI,qBAAG,CAAC,cAAc,EAAE,CAAC;YACvB,OAAO,UAAU,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA;QAC1C,CAAC;aAAM,CAAC;YACN,OAAO,MAAM,WAAW,CAAC,eAAe,CAAC,qBAAG,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAA;QACvE,CAAC;IACH,CAAC;CAAA;AAED,SAAsB,eAAe,CACnC,MAA0B;;QAE1B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,EAAE,CAAA;QACX,CAAC;QAED,IAAI,CAAC;YACH,OAAO,MAAM,OAAO,CAAC,GAAG,CACtB,MAAM,CAAC,GAAG,CAAC,CAAM,KAAK,EAAC,EAAE;gBACvB,uCACK,KAAK,KACR,GAAG,EAAE,MAAM,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,EACnC,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,WAAW,IAChC;YACH,CAAC,CAAA,CAAC,CACH,CAAA;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAA;YACnD,OAAO,MAAM,CAAA;QACf,CAAC;IACH,CAAC;CAAA"}
|
|
@@ -23,6 +23,14 @@ export type StreamTypes = ReadStream | NodeJS.ReadableStream;
|
|
|
23
23
|
export type StreamUploadParams = BaseUploadParams & {
|
|
24
24
|
stream?: StreamTypes;
|
|
25
25
|
};
|
|
26
|
+
export type StreamUploadManyParams = {
|
|
27
|
+
bucket: string;
|
|
28
|
+
files: Array<{
|
|
29
|
+
filename: string;
|
|
30
|
+
stream: StreamTypes;
|
|
31
|
+
} & Pick<BaseUploadParams, "type" | "extra">>;
|
|
32
|
+
ttl?: number;
|
|
33
|
+
};
|
|
26
34
|
export declare function sanitizeKey(input: string): string;
|
|
27
35
|
export declare function sanitizeBucket(input: string): string;
|
|
28
36
|
/**
|
|
@@ -70,6 +78,7 @@ export declare function streamUpload({ bucket: bucketName, stream, filename, typ
|
|
|
70
78
|
RequestCharged?: import("@aws-sdk/client-s3").RequestCharged | undefined;
|
|
71
79
|
$metadata: import("@smithy/types").ResponseMetadata;
|
|
72
80
|
}>;
|
|
81
|
+
export declare function streamUploadMany({ bucket: bucketName, files, ttl, }: StreamUploadManyParams): Promise<any[]>;
|
|
73
82
|
/**
|
|
74
83
|
* retrieves the contents of a file from the object store, if it is a known content type it
|
|
75
84
|
* will be converted, otherwise it will be returned as a buffer stream.
|
|
@@ -32,6 +32,7 @@ exports.ObjectStore = ObjectStore;
|
|
|
32
32
|
exports.createBucketIfNotExists = createBucketIfNotExists;
|
|
33
33
|
exports.upload = upload;
|
|
34
34
|
exports.streamUpload = streamUpload;
|
|
35
|
+
exports.streamUploadMany = streamUploadMany;
|
|
35
36
|
exports.retrieve = retrieve;
|
|
36
37
|
exports.listAllObjects = listAllObjects;
|
|
37
38
|
exports.getAllFiles = getAllFiles;
|
|
@@ -182,6 +183,47 @@ function createBucketIfNotExists(client, bucketName) {
|
|
|
182
183
|
}
|
|
183
184
|
});
|
|
184
185
|
}
|
|
186
|
+
const resolveContentType = (filename, type) => {
|
|
187
|
+
if (type) {
|
|
188
|
+
return type;
|
|
189
|
+
}
|
|
190
|
+
const extension = filename.split(".").pop();
|
|
191
|
+
return extension
|
|
192
|
+
? CONTENT_TYPE_MAP[extension.toLowerCase()]
|
|
193
|
+
: CONTENT_TYPE_MAP.txt;
|
|
194
|
+
};
|
|
195
|
+
const initialiseBucket = (bucketName, ttl, span) => __awaiter(void 0, void 0, void 0, function* () {
|
|
196
|
+
const bucket = sanitizeBucket(bucketName);
|
|
197
|
+
const client = ObjectStore();
|
|
198
|
+
const bucketCreated = yield createBucketIfNotExists(client, bucket);
|
|
199
|
+
span.addTags({
|
|
200
|
+
bucketCreated: bucketCreated.created,
|
|
201
|
+
bucketExists: bucketCreated.exists,
|
|
202
|
+
});
|
|
203
|
+
if (ttl && bucketCreated.created) {
|
|
204
|
+
let ttlConfig = (0, utils_1.bucketTTLConfig)(bucket, ttl);
|
|
205
|
+
yield client.putBucketLifecycleConfiguration(ttlConfig);
|
|
206
|
+
}
|
|
207
|
+
return {
|
|
208
|
+
bucket,
|
|
209
|
+
client,
|
|
210
|
+
bucketCreated,
|
|
211
|
+
};
|
|
212
|
+
});
|
|
213
|
+
const streamUploadInternal = (_a) => __awaiter(void 0, [_a], void 0, function* ({ client, bucket, filename, stream, type, extra, }) {
|
|
214
|
+
if (!stream) {
|
|
215
|
+
throw new Error("Stream to upload is invalid/undefined");
|
|
216
|
+
}
|
|
217
|
+
const contentType = resolveContentType(filename, type);
|
|
218
|
+
const key = sanitizeKey(filename);
|
|
219
|
+
const params = Object.assign({ Bucket: bucket, Key: key, Body: stream, ContentType: contentType }, (extra !== null && extra !== void 0 ? extra : {}));
|
|
220
|
+
const upload = new lib_storage_1.Upload({ client, params });
|
|
221
|
+
const details = yield upload.done();
|
|
222
|
+
return {
|
|
223
|
+
details,
|
|
224
|
+
contentType,
|
|
225
|
+
};
|
|
226
|
+
});
|
|
185
227
|
/**
|
|
186
228
|
* Uploads the contents of a file given the required parameters, useful when
|
|
187
229
|
* temp files in use (for example file uploaded as an attachment).
|
|
@@ -238,41 +280,56 @@ function streamUpload(_a) {
|
|
|
238
280
|
type,
|
|
239
281
|
ttl,
|
|
240
282
|
});
|
|
241
|
-
if (!stream) {
|
|
242
|
-
throw new Error("Stream to upload is invalid/undefined");
|
|
243
|
-
}
|
|
244
283
|
const extension = filename.split(".").pop();
|
|
245
|
-
|
|
246
|
-
const
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
284
|
+
span.addTags({ extension });
|
|
285
|
+
const { bucket, client } = yield initialiseBucket(bucketName, ttl, span);
|
|
286
|
+
const { details, contentType } = yield streamUploadInternal({
|
|
287
|
+
client,
|
|
288
|
+
bucket,
|
|
289
|
+
filename,
|
|
290
|
+
stream,
|
|
291
|
+
type,
|
|
292
|
+
extra,
|
|
251
293
|
});
|
|
252
|
-
|
|
253
|
-
let ttlConfig = (0, utils_1.bucketTTLConfig)(bucketName, ttl);
|
|
254
|
-
yield objectStore.putBucketLifecycleConfiguration(ttlConfig);
|
|
255
|
-
}
|
|
256
|
-
let contentType = type;
|
|
257
|
-
if (!contentType) {
|
|
258
|
-
contentType = extension
|
|
259
|
-
? CONTENT_TYPE_MAP[extension.toLowerCase()]
|
|
260
|
-
: CONTENT_TYPE_MAP.txt;
|
|
261
|
-
}
|
|
262
|
-
span.addTags({ contentType });
|
|
263
|
-
const bucket = sanitizeBucket(bucketName), objKey = sanitizeKey(filename);
|
|
264
|
-
const params = Object.assign({ Bucket: bucket, Key: objKey, Body: stream, ContentType: contentType }, extra);
|
|
265
|
-
const upload = new lib_storage_1.Upload({ client: objectStore, params });
|
|
266
|
-
const details = yield upload.done();
|
|
267
|
-
const headDetails = yield objectStore.headObject({
|
|
294
|
+
const headDetails = yield client.headObject({
|
|
268
295
|
Bucket: bucket,
|
|
269
|
-
Key:
|
|
296
|
+
Key: sanitizeKey(filename),
|
|
270
297
|
});
|
|
271
|
-
span.addTags({ contentLength: headDetails.ContentLength });
|
|
298
|
+
span.addTags({ contentType, contentLength: headDetails.ContentLength });
|
|
272
299
|
return Object.assign(Object.assign({}, details), { ContentLength: headDetails.ContentLength });
|
|
273
300
|
}));
|
|
274
301
|
});
|
|
275
302
|
}
|
|
303
|
+
function streamUploadMany(_a) {
|
|
304
|
+
return __awaiter(this, arguments, void 0, function* ({ bucket: bucketName, files, ttl, }) {
|
|
305
|
+
const MAX_CONCURRENCY = 10;
|
|
306
|
+
return yield dd_trace_1.default.trace("streamUploadMany", (span) => __awaiter(this, void 0, void 0, function* () {
|
|
307
|
+
span.addTags({
|
|
308
|
+
bucketName,
|
|
309
|
+
ttl,
|
|
310
|
+
fileCount: files.length,
|
|
311
|
+
});
|
|
312
|
+
if (!files.length) {
|
|
313
|
+
return [];
|
|
314
|
+
}
|
|
315
|
+
const { bucket, client } = yield initialiseBucket(bucketName, ttl, span);
|
|
316
|
+
const indexedFiles = files.map((file, index) => (Object.assign(Object.assign({}, file), { index })));
|
|
317
|
+
const uploadResults = new Array(files.length);
|
|
318
|
+
yield shared_core_1.utils.parallelForeach(indexedFiles, (file) => __awaiter(this, void 0, void 0, function* () {
|
|
319
|
+
const { details } = yield streamUploadInternal({
|
|
320
|
+
client,
|
|
321
|
+
bucket,
|
|
322
|
+
filename: file.filename,
|
|
323
|
+
stream: file.stream,
|
|
324
|
+
type: file.type,
|
|
325
|
+
extra: file.extra,
|
|
326
|
+
});
|
|
327
|
+
uploadResults[file.index] = details;
|
|
328
|
+
}), MAX_CONCURRENCY);
|
|
329
|
+
return uploadResults;
|
|
330
|
+
}));
|
|
331
|
+
});
|
|
332
|
+
}
|
|
276
333
|
/**
|
|
277
334
|
* retrieves the contents of a file from the object store, if it is a known content type it
|
|
278
335
|
* will be converted, otherwise it will be returned as a buffer stream.
|