@venizia/ignis 0.2.0-32 → 0.2.0-34
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/components/static-asset/common/commit-token.d.ts +23 -0
- package/dist/components/static-asset/common/commit-token.d.ts.map +1 -0
- package/dist/components/static-asset/common/commit-token.js +40 -0
- package/dist/components/static-asset/common/commit-token.js.map +1 -0
- package/dist/components/static-asset/common/constants.d.ts +2 -0
- package/dist/components/static-asset/common/constants.d.ts.map +1 -1
- package/dist/components/static-asset/common/constants.js +3 -1
- package/dist/components/static-asset/common/constants.js.map +1 -1
- package/dist/components/static-asset/common/errors.d.ts +33 -0
- package/dist/components/static-asset/common/errors.d.ts.map +1 -1
- package/dist/components/static-asset/common/errors.js +27 -0
- package/dist/components/static-asset/common/errors.js.map +1 -1
- package/dist/components/static-asset/common/index.d.ts +1 -0
- package/dist/components/static-asset/common/index.d.ts.map +1 -1
- package/dist/components/static-asset/common/index.js +1 -0
- package/dist/components/static-asset/common/index.js.map +1 -1
- package/dist/components/static-asset/common/types.d.ts +34 -2
- package/dist/components/static-asset/common/types.d.ts.map +1 -1
- package/dist/components/static-asset/component.d.ts +3 -1
- package/dist/components/static-asset/component.d.ts.map +1 -1
- package/dist/components/static-asset/component.js +1 -0
- package/dist/components/static-asset/component.js.map +1 -1
- package/dist/components/static-asset/controller/base.definition.d.ts +2 -0
- package/dist/components/static-asset/controller/base.definition.d.ts.map +1 -1
- package/dist/components/static-asset/controller/base.definition.js +48 -0
- package/dist/components/static-asset/controller/base.definition.js.map +1 -1
- package/dist/components/static-asset/controller/factory.d.ts +3 -1
- package/dist/components/static-asset/controller/factory.d.ts.map +1 -1
- package/dist/components/static-asset/controller/factory.js +99 -0
- package/dist/components/static-asset/controller/factory.js.map +1 -1
- package/package.json +6 -6
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/** What a commit token binds. Business fields are deliberately absent - which order or tenant an upload belongs to is the application's, and a token the framework signs is the wrong place to put its authorization. */
|
|
2
|
+
export interface ICommitTokenPayload {
|
|
3
|
+
bucket: string;
|
|
4
|
+
key: string;
|
|
5
|
+
expiresAt: number;
|
|
6
|
+
}
|
|
7
|
+
/** Signs `{ bucket, key, expiresAt }` so the commit route can trust the key it is handed. */
|
|
8
|
+
export declare const buildCommitToken: (opts: {
|
|
9
|
+
payload: ICommitTokenPayload;
|
|
10
|
+
secretKey: string;
|
|
11
|
+
}) => string;
|
|
12
|
+
/**
|
|
13
|
+
* Reads a commit token back, or throws.
|
|
14
|
+
*
|
|
15
|
+
* Verification happens BEFORE any storage call, which is what makes the commit route refuse to be a
|
|
16
|
+
* name prober: a forged token fails without a round trip, so timing says nothing about what exists.
|
|
17
|
+
*/
|
|
18
|
+
export declare const readCommitToken: (opts: {
|
|
19
|
+
token: string;
|
|
20
|
+
secretKey: string;
|
|
21
|
+
now?: number;
|
|
22
|
+
}) => ICommitTokenPayload;
|
|
23
|
+
//# sourceMappingURL=commit-token.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commit-token.d.ts","sourceRoot":"","sources":["../../../../src/components/static-asset/common/commit-token.ts"],"names":[],"mappings":"AAIA,yNAAyN;AACzN,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;CACnB;AAQD,6FAA6F;AAC7F,eAAO,MAAM,gBAAgB,GAAI,MAAM;IACrC,OAAO,EAAE,mBAAmB,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;CACnB,KAAG,MAGH,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,eAAe,GAAI,MAAM;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,KAAG,mBAsBH,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.readCommitToken = exports.buildCommitToken = void 0;
|
|
4
|
+
const core_1 = require("@venizia/ignis-helpers/core");
|
|
5
|
+
const node_crypto_1 = require("node:crypto");
|
|
6
|
+
const errors_1 = require("./errors");
|
|
7
|
+
const encode = (payload) => Buffer.from(JSON.stringify(payload)).toString('base64url');
|
|
8
|
+
const sign = (opts) => (0, node_crypto_1.createHmac)('sha256', opts.secretKey).update(opts.body).digest('base64url');
|
|
9
|
+
/** Signs `{ bucket, key, expiresAt }` so the commit route can trust the key it is handed. */
|
|
10
|
+
const buildCommitToken = (opts) => {
|
|
11
|
+
const body = encode(opts.payload);
|
|
12
|
+
return `${body}.${sign({ body, secretKey: opts.secretKey })}`;
|
|
13
|
+
};
|
|
14
|
+
exports.buildCommitToken = buildCommitToken;
|
|
15
|
+
/**
|
|
16
|
+
* Reads a commit token back, or throws.
|
|
17
|
+
*
|
|
18
|
+
* Verification happens BEFORE any storage call, which is what makes the commit route refuse to be a
|
|
19
|
+
* name prober: a forged token fails without a round trip, so timing says nothing about what exists.
|
|
20
|
+
*/
|
|
21
|
+
const readCommitToken = (opts) => {
|
|
22
|
+
const { token, secretKey, now = Date.now() } = opts;
|
|
23
|
+
const [body, signature] = token.split('.');
|
|
24
|
+
if (!body || !signature) {
|
|
25
|
+
throw (0, core_1.getError)(errors_1.StaticAssetErrors.INVALID_COMMIT_TOKEN);
|
|
26
|
+
}
|
|
27
|
+
const expected = Buffer.from(sign({ body, secretKey }));
|
|
28
|
+
const given = Buffer.from(signature);
|
|
29
|
+
// Length-checked first: `timingSafeEqual` throws on a length mismatch instead of answering false.
|
|
30
|
+
if (expected.length !== given.length || !(0, node_crypto_1.timingSafeEqual)(expected, given)) {
|
|
31
|
+
throw (0, core_1.getError)(errors_1.StaticAssetErrors.INVALID_COMMIT_TOKEN);
|
|
32
|
+
}
|
|
33
|
+
const payload = JSON.parse(Buffer.from(body, 'base64url').toString('utf8'));
|
|
34
|
+
if (payload.expiresAt <= now) {
|
|
35
|
+
throw (0, core_1.getError)(errors_1.StaticAssetErrors.EXPIRED_COMMIT_TOKEN);
|
|
36
|
+
}
|
|
37
|
+
return payload;
|
|
38
|
+
};
|
|
39
|
+
exports.readCommitToken = readCommitToken;
|
|
40
|
+
//# sourceMappingURL=commit-token.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commit-token.js","sourceRoot":"","sources":["../../../../src/components/static-asset/common/commit-token.ts"],"names":[],"mappings":";;;AAAA,sDAAuD;AACvD,6CAA0D;AAC1D,qCAA6C;AAS7C,MAAM,MAAM,GAAG,CAAC,OAA4B,EAAU,EAAE,CACtD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AAE7D,MAAM,IAAI,GAAG,CAAC,IAAyC,EAAU,EAAE,CACjE,IAAA,wBAAU,EAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AAE7E,6FAA6F;AACtF,MAAM,gBAAgB,GAAG,CAAC,IAGhC,EAAU,EAAE;IACX,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClC,OAAO,GAAG,IAAI,IAAI,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC;AAChE,CAAC,CAAC;AANW,QAAA,gBAAgB,oBAM3B;AAEF;;;;;GAKG;AACI,MAAM,eAAe,GAAG,CAAC,IAI/B,EAAuB,EAAE;IACxB,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC;IACpD,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAE3C,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QACxB,MAAM,IAAA,eAAQ,EAAC,0BAAiB,CAAC,oBAAoB,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAErC,kGAAkG;IAClG,IAAI,QAAQ,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,IAAI,CAAC,IAAA,6BAAe,EAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;QAC1E,MAAM,IAAA,eAAQ,EAAC,0BAAiB,CAAC,oBAAoB,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,OAAO,GAAwB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IACjG,IAAI,OAAO,CAAC,SAAS,IAAI,GAAG,EAAE,CAAC;QAC7B,MAAM,IAAA,eAAQ,EAAC,0BAAiB,CAAC,oBAAoB,CAAC,CAAC;IACzD,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AA1BW,QAAA,eAAe,mBA0B1B"}
|
|
@@ -16,4 +16,6 @@ export declare class StaticAssetStorageTypes {
|
|
|
16
16
|
static isValid(orgType: string): boolean;
|
|
17
17
|
}
|
|
18
18
|
export type TStaticAssetStorageType = TConstValue<typeof StaticAssetStorageTypes>;
|
|
19
|
+
/** Where a signed policy may write. The final key is never inside it, so content cannot be replaced after the commit. */
|
|
20
|
+
export declare const DEFAULT_PENDING_PREFIX = "pending/";
|
|
19
21
|
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/components/static-asset/common/constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAGjE,uGAAuG;AACvG,eAAO,MAAM,iBAAiB,yEAKpB,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,aAgBnC,CAAC;AAEH,qBAAa,uBAAuB;IAClC,MAAM,CAAC,QAAQ,CAAC,IAAI,UAAU;IAC9B,wGAAwG;IACxG,MAAM,CAAC,QAAQ,CAAC,KAAK,WAAW;IAChC,MAAM,CAAC,QAAQ,CAAC,MAAM,YAAY;IAElC,MAAM,CAAC,QAAQ,CAAC,UAAU,cAAiD;IAE3E,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;CAGzC;AAED,MAAM,MAAM,uBAAuB,GAAG,WAAW,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/components/static-asset/common/constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAGjE,uGAAuG;AACvG,eAAO,MAAM,iBAAiB,yEAKpB,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,aAgBnC,CAAC;AAEH,qBAAa,uBAAuB;IAClC,MAAM,CAAC,QAAQ,CAAC,IAAI,UAAU;IAC9B,wGAAwG;IACxG,MAAM,CAAC,QAAQ,CAAC,KAAK,WAAW;IAChC,MAAM,CAAC,QAAQ,CAAC,MAAM,YAAY;IAElC,MAAM,CAAC,QAAQ,CAAC,UAAU,cAAiD;IAE3E,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;CAGzC;AAED,MAAM,MAAM,uBAAuB,GAAG,WAAW,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAElF,yHAAyH;AACzH,eAAO,MAAM,sBAAsB,aAAa,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.StaticAssetStorageTypes = exports.RENDERABLE_CONTENT_TYPES = exports.WHITELIST_HEADERS = void 0;
|
|
3
|
+
exports.DEFAULT_PENDING_PREFIX = exports.StaticAssetStorageTypes = exports.RENDERABLE_CONTENT_TYPES = exports.WHITELIST_HEADERS = void 0;
|
|
4
4
|
const common_1 = require("@venizia/ignis-helpers/common");
|
|
5
5
|
/** `content-type` is absent on purpose: it is decided from the object name, never from the backend. */
|
|
6
6
|
exports.WHITELIST_HEADERS = [
|
|
@@ -42,4 +42,6 @@ class StaticAssetStorageTypes {
|
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
44
|
exports.StaticAssetStorageTypes = StaticAssetStorageTypes;
|
|
45
|
+
/** Where a signed policy may write. The final key is never inside it, so content cannot be replaced after the commit. */
|
|
46
|
+
exports.DEFAULT_PENDING_PREFIX = 'pending/';
|
|
45
47
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/components/static-asset/common/constants.ts"],"names":[],"mappings":";;;AACA,0DAAqD;AAErD,uGAAuG;AAC1F,QAAA,iBAAiB,GAAG;IAC/B,aAAI,CAAC,OAAO,CAAC,gBAAgB;IAC7B,aAAI,CAAC,OAAO,CAAC,aAAa;IAC1B,aAAI,CAAC,OAAO,CAAC,IAAI;IACjB,aAAI,CAAC,OAAO,CAAC,aAAa;CAClB,CAAC;AAEX;;;;GAIG;AACU,QAAA,wBAAwB,GAAG,IAAI,GAAG,CAAS;IACtD,WAAW;IACX,YAAY;IACZ,WAAW;IACX,YAAY;IACZ,YAAY;IACZ,WAAW;IACX,cAAc;IACd,WAAW;IACX,YAAY;IACZ,YAAY;IACZ,WAAW;IACX,WAAW;IACX,iBAAiB;IACjB,YAAY;IACZ,UAAU;CACX,CAAC,CAAC;AAEH,MAAa,uBAAuB;aAClB,SAAI,GAAG,MAAM,CAAC;IAC9B,wGAAwG;aACxF,UAAK,GAAG,OAAO,CAAC;aAChB,WAAM,GAAG,QAAQ,CAAC;aAElB,eAAU,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAE3E,MAAM,CAAC,OAAO,CAAC,OAAe;QAC5B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;;AAVH,0DAWC"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/components/static-asset/common/constants.ts"],"names":[],"mappings":";;;AACA,0DAAqD;AAErD,uGAAuG;AAC1F,QAAA,iBAAiB,GAAG;IAC/B,aAAI,CAAC,OAAO,CAAC,gBAAgB;IAC7B,aAAI,CAAC,OAAO,CAAC,aAAa;IAC1B,aAAI,CAAC,OAAO,CAAC,IAAI;IACjB,aAAI,CAAC,OAAO,CAAC,aAAa;CAClB,CAAC;AAEX;;;;GAIG;AACU,QAAA,wBAAwB,GAAG,IAAI,GAAG,CAAS;IACtD,WAAW;IACX,YAAY;IACZ,WAAW;IACX,YAAY;IACZ,YAAY;IACZ,WAAW;IACX,cAAc;IACd,WAAW;IACX,YAAY;IACZ,YAAY;IACZ,WAAW;IACX,WAAW;IACX,iBAAiB;IACjB,YAAY;IACZ,UAAU;CACX,CAAC,CAAC;AAEH,MAAa,uBAAuB;aAClB,SAAI,GAAG,MAAM,CAAC;IAC9B,wGAAwG;aACxF,UAAK,GAAG,OAAO,CAAC;aAChB,WAAM,GAAG,QAAQ,CAAC;aAElB,eAAU,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAE3E,MAAM,CAAC,OAAO,CAAC,OAAe;QAC5B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;;AAVH,0DAWC;AAID,yHAAyH;AAC5G,QAAA,sBAAsB,GAAG,UAAU,CAAC"}
|
|
@@ -1,6 +1,39 @@
|
|
|
1
1
|
import type { TRegisterErrors } from '@venizia/ignis-helpers/core';
|
|
2
2
|
/** Codes a client branches on for a rejected static-asset request. A throw site may override `message` to name the offending value. */
|
|
3
3
|
export declare const StaticAssetErrors: {
|
|
4
|
+
readonly UPLOAD_NOT_AUTHORIZED: {
|
|
5
|
+
readonly message: {
|
|
6
|
+
readonly text: "Not allowed to request an upload policy";
|
|
7
|
+
readonly code: "core.static_asset.upload_not_authorized";
|
|
8
|
+
};
|
|
9
|
+
readonly statusCode: 403;
|
|
10
|
+
readonly category: "validation";
|
|
11
|
+
};
|
|
12
|
+
readonly UPLOAD_TOO_LARGE: {
|
|
13
|
+
readonly message: {
|
|
14
|
+
readonly text: "File is larger than the policy allows";
|
|
15
|
+
readonly code: "core.static_asset.upload_too_large";
|
|
16
|
+
};
|
|
17
|
+
readonly statusCode: 400;
|
|
18
|
+
readonly category: "validation";
|
|
19
|
+
};
|
|
20
|
+
/** Deliberately not 404 and deliberately not "expired": a caller learns only that the token is no good, never whether the key it names exists. */
|
|
21
|
+
readonly INVALID_COMMIT_TOKEN: {
|
|
22
|
+
readonly message: {
|
|
23
|
+
readonly text: "Invalid commit token";
|
|
24
|
+
readonly code: "core.static_asset.invalid_commit_token";
|
|
25
|
+
};
|
|
26
|
+
readonly statusCode: 400;
|
|
27
|
+
readonly category: "validation";
|
|
28
|
+
};
|
|
29
|
+
readonly EXPIRED_COMMIT_TOKEN: {
|
|
30
|
+
readonly message: {
|
|
31
|
+
readonly text: "Commit token has expired";
|
|
32
|
+
readonly code: "core.static_asset.expired_commit_token";
|
|
33
|
+
};
|
|
34
|
+
readonly statusCode: 400;
|
|
35
|
+
readonly category: "validation";
|
|
36
|
+
};
|
|
4
37
|
readonly BUCKET_NAME_INVALID: {
|
|
5
38
|
readonly message: {
|
|
6
39
|
readonly text: "Invalid bucket name";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../src/components/static-asset/common/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAoB,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAIrF,uIAAuI;AACvI,eAAO,MAAM,iBAAiB
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../src/components/static-asset/common/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAoB,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAIrF,uIAAuI;AACvI,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;IAiB5B,kJAAkJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0D/F,CAAC;AAEtD,2GAA2G;AAC3G,OAAO,QAAQ,wBAAwB,CAAC;IACtC,UAAU,iBAAkB,SAAQ,eAAe,CAAC,OAAO,iBAAiB,CAAC;KAAG;CACjF"}
|
|
@@ -5,6 +5,33 @@ const core_1 = require("@venizia/ignis-helpers/core");
|
|
|
5
5
|
const common_1 = require("@venizia/ignis-helpers/common");
|
|
6
6
|
/** Codes a client branches on for a rejected static-asset request. A throw site may override `message` to name the offending value. */
|
|
7
7
|
exports.StaticAssetErrors = {
|
|
8
|
+
UPLOAD_NOT_AUTHORIZED: {
|
|
9
|
+
message: {
|
|
10
|
+
text: 'Not allowed to request an upload policy',
|
|
11
|
+
code: 'core.static_asset.upload_not_authorized',
|
|
12
|
+
},
|
|
13
|
+
statusCode: common_1.HTTP.ResultCodes.RS_4.Forbidden,
|
|
14
|
+
category: core_1.ErrorScopes.VALIDATION,
|
|
15
|
+
},
|
|
16
|
+
UPLOAD_TOO_LARGE: {
|
|
17
|
+
message: {
|
|
18
|
+
text: 'File is larger than the policy allows',
|
|
19
|
+
code: 'core.static_asset.upload_too_large',
|
|
20
|
+
},
|
|
21
|
+
statusCode: common_1.HTTP.ResultCodes.RS_4.BadRequest,
|
|
22
|
+
category: core_1.ErrorScopes.VALIDATION,
|
|
23
|
+
},
|
|
24
|
+
/** Deliberately not 404 and deliberately not "expired": a caller learns only that the token is no good, never whether the key it names exists. */
|
|
25
|
+
INVALID_COMMIT_TOKEN: {
|
|
26
|
+
message: { text: 'Invalid commit token', code: 'core.static_asset.invalid_commit_token' },
|
|
27
|
+
statusCode: common_1.HTTP.ResultCodes.RS_4.BadRequest,
|
|
28
|
+
category: core_1.ErrorScopes.VALIDATION,
|
|
29
|
+
},
|
|
30
|
+
EXPIRED_COMMIT_TOKEN: {
|
|
31
|
+
message: { text: 'Commit token has expired', code: 'core.static_asset.expired_commit_token' },
|
|
32
|
+
statusCode: common_1.HTTP.ResultCodes.RS_4.BadRequest,
|
|
33
|
+
category: core_1.ErrorScopes.VALIDATION,
|
|
34
|
+
},
|
|
8
35
|
BUCKET_NAME_INVALID: {
|
|
9
36
|
message: { text: 'Invalid bucket name', code: 'core.static_asset.bucket_name_invalid' },
|
|
10
37
|
statusCode: common_1.HTTP.ResultCodes.RS_4.BadRequest,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../../src/components/static-asset/common/errors.ts"],"names":[],"mappings":";;;AACA,sDAA0D;AAC1D,0DAAqD;AAErD,uIAAuI;AAC1H,QAAA,iBAAiB,GAAG;IAC/B,mBAAmB,EAAE;QACnB,OAAO,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,uCAAuC,EAAE;QACvF,UAAU,EAAE,aAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU;QAC5C,QAAQ,EAAE,kBAAW,CAAC,UAAU;KACjC;IACD,mBAAmB,EAAE;QACnB,OAAO,EAAE;YACP,IAAI,EAAE,6BAA6B;YACnC,IAAI,EAAE,uCAAuC;SAC9C;QACD,UAAU,EAAE,aAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU;QAC5C,QAAQ,EAAE,kBAAW,CAAC,UAAU;KACjC;IACD,mBAAmB,EAAE;QACnB,OAAO,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,uCAAuC,EAAE;QACvF,UAAU,EAAE,aAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU;QAC5C,QAAQ,EAAE,kBAAW,CAAC,UAAU;KACjC;IACD,sBAAsB,EAAE;QACtB,OAAO,EAAE;YACP,IAAI,EAAE,6BAA6B;YACnC,IAAI,EAAE,0CAA0C;SACjD;QACD,UAAU,EAAE,aAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU;QAC5C,QAAQ,EAAE,kBAAW,CAAC,UAAU;KACjC;IACD,qBAAqB,EAAE;QACrB,OAAO,EAAE;YACP,IAAI,EAAE,uCAAuC;YAC7C,IAAI,EAAE,yCAAyC;SAChD;QACD,UAAU,EAAE,aAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU;QAC5C,QAAQ,EAAE,kBAAW,CAAC,UAAU;KACjC;IACD,UAAU,EAAE;QACV,OAAO,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,8BAA8B,EAAE;QAC7E,UAAU,EAAE,aAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU;QAC5C,QAAQ,EAAE,kBAAW,CAAC,UAAU;KACjC;IACD,gBAAgB,EAAE;QAChB,OAAO,EAAE;YACP,IAAI,EAAE,+CAA+C;YACrD,IAAI,EAAE,oCAAoC;SAC3C;QACD,UAAU,EAAE,aAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU;QAC5C,QAAQ,EAAE,kBAAW,CAAC,UAAU;KACjC;CACkD,CAAC"}
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../../src/components/static-asset/common/errors.ts"],"names":[],"mappings":";;;AACA,sDAA0D;AAC1D,0DAAqD;AAErD,uIAAuI;AAC1H,QAAA,iBAAiB,GAAG;IAC/B,qBAAqB,EAAE;QACrB,OAAO,EAAE;YACP,IAAI,EAAE,yCAAyC;YAC/C,IAAI,EAAE,yCAAyC;SAChD;QACD,UAAU,EAAE,aAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS;QAC3C,QAAQ,EAAE,kBAAW,CAAC,UAAU;KACjC;IACD,gBAAgB,EAAE;QAChB,OAAO,EAAE;YACP,IAAI,EAAE,uCAAuC;YAC7C,IAAI,EAAE,oCAAoC;SAC3C;QACD,UAAU,EAAE,aAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU;QAC5C,QAAQ,EAAE,kBAAW,CAAC,UAAU;KACjC;IACD,kJAAkJ;IAClJ,oBAAoB,EAAE;QACpB,OAAO,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,wCAAwC,EAAE;QACzF,UAAU,EAAE,aAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU;QAC5C,QAAQ,EAAE,kBAAW,CAAC,UAAU;KACjC;IACD,oBAAoB,EAAE;QACpB,OAAO,EAAE,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,wCAAwC,EAAE;QAC7F,UAAU,EAAE,aAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU;QAC5C,QAAQ,EAAE,kBAAW,CAAC,UAAU;KACjC;IACD,mBAAmB,EAAE;QACnB,OAAO,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,uCAAuC,EAAE;QACvF,UAAU,EAAE,aAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU;QAC5C,QAAQ,EAAE,kBAAW,CAAC,UAAU;KACjC;IACD,mBAAmB,EAAE;QACnB,OAAO,EAAE;YACP,IAAI,EAAE,6BAA6B;YACnC,IAAI,EAAE,uCAAuC;SAC9C;QACD,UAAU,EAAE,aAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU;QAC5C,QAAQ,EAAE,kBAAW,CAAC,UAAU;KACjC;IACD,mBAAmB,EAAE;QACnB,OAAO,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,uCAAuC,EAAE;QACvF,UAAU,EAAE,aAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU;QAC5C,QAAQ,EAAE,kBAAW,CAAC,UAAU;KACjC;IACD,sBAAsB,EAAE;QACtB,OAAO,EAAE;YACP,IAAI,EAAE,6BAA6B;YACnC,IAAI,EAAE,0CAA0C;SACjD;QACD,UAAU,EAAE,aAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU;QAC5C,QAAQ,EAAE,kBAAW,CAAC,UAAU;KACjC;IACD,qBAAqB,EAAE;QACrB,OAAO,EAAE;YACP,IAAI,EAAE,uCAAuC;YAC7C,IAAI,EAAE,yCAAyC;SAChD;QACD,UAAU,EAAE,aAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU;QAC5C,QAAQ,EAAE,kBAAW,CAAC,UAAU;KACjC;IACD,UAAU,EAAE;QACV,OAAO,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,8BAA8B,EAAE;QAC7E,UAAU,EAAE,aAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU;QAC5C,QAAQ,EAAE,kBAAW,CAAC,UAAU;KACjC;IACD,gBAAgB,EAAE;QAChB,OAAO,EAAE;YACP,IAAI,EAAE,+CAA+C;YACrD,IAAI,EAAE,oCAAoC;SAC3C;QACD,UAAU,EAAE,aAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU;QAC5C,QAAQ,EAAE,kBAAW,CAAC,UAAU;KACjC;CACkD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/static-asset/common/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/static-asset/common/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC"}
|
|
@@ -18,4 +18,5 @@ __exportStar(require("./errors"), exports);
|
|
|
18
18
|
__exportStar(require("./constants"), exports);
|
|
19
19
|
__exportStar(require("./keys"), exports);
|
|
20
20
|
__exportStar(require("./types"), exports);
|
|
21
|
+
__exportStar(require("./commit-token"), exports);
|
|
21
22
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/static-asset/common/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,8CAA4B;AAC5B,yCAAuB;AACvB,0CAAwB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/static-asset/common/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,8CAA4B;AAC5B,yCAAuB;AACvB,0CAAwB;AACxB,iDAA+B"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import type { BaseRestController, IAuthRouteConfig } from '../../../base';
|
|
1
|
+
import type { BaseRestController, IAuthRouteConfig, TRouteContext } from '../../../base';
|
|
2
|
+
import type { IDuration } from '@venizia/ignis-helpers/common';
|
|
2
3
|
import type { BaseRelationalEntity, DefaultCRUDRepository, TTableObject } from '@venizia/ignis-connectors/postgres';
|
|
3
|
-
import type { DiskHelper, IBucketRef, IFileStat, IObjectLocation, IStorageHelper, IUploadResult, TUploadNaming } from '@venizia/ignis-helpers';
|
|
4
|
+
import type { DiskHelper, IBucketRef, IFileStat, IObjectLocation, IObjectRef, IStorageHelper, IUploadResult, TUploadNaming } from '@venizia/ignis-helpers';
|
|
4
5
|
import type { BunS3Helper } from '@venizia/ignis-helpers/bun-s3';
|
|
5
6
|
import type { AnyType, TValueOrAsyncResolver, ValueOrPromise } from '@venizia/ignis-helpers/common';
|
|
6
7
|
import type { MinioHelper } from '@venizia/ignis-helpers/minio';
|
|
@@ -51,6 +52,33 @@ export type TListQuery = {
|
|
|
51
52
|
recursive?: string;
|
|
52
53
|
maxKeys?: string;
|
|
53
54
|
};
|
|
55
|
+
export type TDirectUploadOptions = {
|
|
56
|
+
/** Who may ask for a policy. REQUIRED, not defaulted: this route hands out a write credential, and there is no safe default for that. */
|
|
57
|
+
authorize: (opts: {
|
|
58
|
+
context: TRouteContext;
|
|
59
|
+
}) => ValueOrPromise<boolean>;
|
|
60
|
+
/** Signs the commit token. Keep it out of the repository and out of the client. */
|
|
61
|
+
secretKey: string;
|
|
62
|
+
/** The ceiling the policy carries as `content-length-range`. A signed PUT cannot express this at all, which is why this is a POST policy. */
|
|
63
|
+
maxBytes: number;
|
|
64
|
+
/** Where a policy may write. The final key is NEVER in a policy, so content cannot be replaced after the commit. Default: `pending/`. */
|
|
65
|
+
pendingPrefix?: string;
|
|
66
|
+
/** How long a policy and its commit token stay good. Default: the helper's POST default. */
|
|
67
|
+
expiresIn?: IDuration;
|
|
68
|
+
/** Runs BEFORE the copy to the final key, so a hook that throws leaves the object under the pending prefix for a lifecycle rule to collect, rather than stranding it at the final key. */
|
|
69
|
+
onCommit?: (opts: {
|
|
70
|
+
bucket: IBucketRef;
|
|
71
|
+
pendingObject: IObjectRef;
|
|
72
|
+
object: IObjectRef;
|
|
73
|
+
}) => ValueOrPromise<void>;
|
|
74
|
+
};
|
|
75
|
+
export type TUploadPolicyRequest = {
|
|
76
|
+
files: Array<{
|
|
77
|
+
fileName: string;
|
|
78
|
+
contentType?: string;
|
|
79
|
+
size?: number;
|
|
80
|
+
}>;
|
|
81
|
+
};
|
|
54
82
|
/** The MetaLink table belongs to the application. `Schema` defaults to the table IGNIS ships, and widens to any table whose row carries the same fields. */
|
|
55
83
|
export type TMetaLinkConfig<Schema extends TMetaLinkCompatibleSchema = TMetaLinkSchema> = {
|
|
56
84
|
model: TValueOrAsyncResolver<typeof BaseRelationalEntity<Schema>>;
|
|
@@ -74,6 +102,8 @@ export type TStaticAssetRoutes = {
|
|
|
74
102
|
deleteObject?: Partial<Omit<IAuthRouteConfig, 'method' | 'request' | 'responses'>>;
|
|
75
103
|
getObjectByName?: Partial<Omit<IAuthRouteConfig, 'method' | 'request' | 'responses'>>;
|
|
76
104
|
downloadObjectByName?: Partial<Omit<IAuthRouteConfig, 'method' | 'request' | 'responses'>>;
|
|
105
|
+
uploadPolicy?: Partial<Omit<IAuthRouteConfig, 'method' | 'request' | 'responses'>>;
|
|
106
|
+
uploadCommit?: Partial<Omit<IAuthRouteConfig, 'method' | 'request' | 'responses'>>;
|
|
77
107
|
recreateMetaLink?: Partial<Omit<IAuthRouteConfig, 'method' | 'request' | 'responses'>>;
|
|
78
108
|
};
|
|
79
109
|
export type TStaticAssetsComponentOptions<Schema extends TMetaLinkCompatibleSchema = TMetaLinkSchema> = {
|
|
@@ -87,6 +117,8 @@ export type TStaticAssetsComponentOptions<Schema extends TMetaLinkCompatibleSche
|
|
|
87
117
|
/** The single bucket every object route uses. It leaves the URL (`/objects/{objectName}`) and the four bucket-management routes are not registered. The function form is read per request, so an environment variable can be read lazily. */
|
|
88
118
|
bucket?: TValueOrAsyncResolver<string>;
|
|
89
119
|
routes?: TStaticAssetRoutes;
|
|
120
|
+
/** Direct upload: the browser posts the bytes to the storage and IGNIS only signs the permission. Absent leaves both routes unregistered. Requires `bucket` - a policy names one bucket, and a bucket in the URL is a bucket the caller chooses. */
|
|
121
|
+
directUpload?: TDirectUploadOptions;
|
|
90
122
|
};
|
|
91
123
|
extra?: TStaticAssetExtraOptions;
|
|
92
124
|
/** Decides the stored object name of each uploaded file; absent keeps the storage helper's own naming. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/static-asset/common/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/static-asset/common/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,9 @@ import { BaseApplication } from '../../base/applications';
|
|
|
2
2
|
import { BaseComponent } from '@venizia/ignis-kernel';
|
|
3
3
|
import { ValueOrPromise } from '@venizia/ignis-helpers/common';
|
|
4
4
|
import { TStaticAssetsComponentOptions } from './common';
|
|
5
|
-
|
|
5
|
+
import type { TMetaLinkCompatibleSchema, TMetaLinkSchema } from './models';
|
|
6
|
+
/** `Schema` is the MetaLink table the application binds. It has to live on the CLASS, not only on the options: `component(Ctor, { options })` infers the options from the class, so a class pinned to the shipped table can only carry options for that table. */
|
|
7
|
+
export declare class StaticAssetComponent<Schema extends TMetaLinkCompatibleSchema = TMetaLinkSchema> extends BaseComponent<TStaticAssetsComponentOptions<Schema>> {
|
|
6
8
|
private application;
|
|
7
9
|
constructor(application: BaseApplication);
|
|
8
10
|
binding(): ValueOrPromise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../src/components/static-asset/component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAItD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAmC,6BAA6B,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../src/components/static-asset/component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAItD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAmC,6BAA6B,EAAE,MAAM,UAAU,CAAC;AAC1F,OAAO,KAAK,EAAE,yBAAyB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAG3E,kQAAkQ;AAClQ,qBAAa,oBAAoB,CAC/B,MAAM,SAAS,yBAAyB,GAAG,eAAe,CAC1D,SAAQ,aAAa,CAAC,6BAA6B,CAAC,MAAM,CAAC,CAAC;IAEN,OAAO,CAAC,WAAW;gBAAX,WAAW,EAAE,eAAe;IAcjF,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC;CAuDzC"}
|
|
@@ -21,6 +21,7 @@ const ignis_kernel_2 = require("@venizia/ignis-kernel");
|
|
|
21
21
|
const ignis_kernel_3 = require("@venizia/ignis-kernel");
|
|
22
22
|
const common_1 = require("./common");
|
|
23
23
|
const controller_1 = require("./controller");
|
|
24
|
+
/** `Schema` is the MetaLink table the application binds. It has to live on the CLASS, not only on the options: `component(Ctor, { options })` infers the options from the class, so a class pinned to the shipped table can only carry options for that table. */
|
|
24
25
|
let StaticAssetComponent = StaticAssetComponent_1 = class StaticAssetComponent extends ignis_kernel_1.BaseComponent {
|
|
25
26
|
constructor(application) {
|
|
26
27
|
super({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.js","sourceRoot":"","sources":["../../../src/components/static-asset/component.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAsD;AACtD,wDAAsD;AACtD,8CAAyC;AACzC,wDAAqD;AACrD,wDAAgD;AAEhD,qCAA0F;
|
|
1
|
+
{"version":3,"file":"component.js","sourceRoot":"","sources":["../../../src/components/static-asset/component.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAsD;AACtD,wDAAsD;AACtD,8CAAyC;AACzC,wDAAqD;AACrD,wDAAgD;AAEhD,qCAA0F;AAE1F,6CAAuE;AAEvE,kQAAkQ;AAClQ,IAAa,oBAAoB,4BAAjC,MAAa,oBAEX,SAAQ,4BAAoD;IAC5D,YAC8D,WAA4B;QAExF,KAAK,CAAC;YACJ,KAAK,EAAE,sBAAoB,CAAC,IAAI;YAChC,WAAW,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE;YACrD,QAAQ,EAAE;gBACR,CAAC,wCAA+B,CAAC,8BAA8B,CAAC,EAC9D,sBAAO,CAAC,IAAI,CAAgC;oBAC1C,GAAG,EAAE,wCAA+B,CAAC,8BAA8B;iBACpE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;aACjB;SACF,CAAC,CAAC;QAXyD,gBAAW,GAAX,WAAW,CAAiB;IAY1F,CAAC;IAEQ,OAAO;QACd,2FAA2F;QAC3F,8EAA8E;QAC9E,MAAM,gBAAgB,GACpB,IAAI,CAAC,iBAAiB;YACtB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAwC;gBAC1D,GAAG,EAAE,wCAA+B,CAAC,8BAA8B;aACpE,CAAC,CAAC;QAEL,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAC1D,MAAM,EACJ,OAAO,EACP,UAAU,EACV,MAAM,EACN,KAAK,EACL,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,GAClB,GAAG,GAAG,CAAC;YAER,IAAI,CAAC,WAAW,CAAC,UAAU,CACzB,mCAAsB,CAAC,qBAAqB,CAAC;gBAC3C,UAAU;gBACV,OAAO;gBACP,MAAM;gBACN,WAAW,EAAE,GAAG,CAAC,WAAW;gBAC5B,QAAQ,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;gBACpD,iBAAiB;gBACjB,kBAAkB;gBAClB,iBAAiB;gBACjB,OAAO,EAAE;oBACP,GAAG,KAAK;oBACR,eAAe,EACb,KAAK,EAAE,eAAe;wBACtB,2KAA2K;wBAC3K,CAAC,WAAW,CAAC,EAAE,CACb,IAAA,4BAAe,EAAC;4BACd,QAAQ,EAAE,UAAU,CAAC,QAAQ;4BAC7B,MAAM,EAAE,WAAW,CAAC,MAAM;4BAC1B,MAAM,EAAE,WAAW,CAAC,MAAM;4BAC1B,mBAAmB,EAAE,UAAU,CAAC,MAAM,KAAK,SAAS;4BACpD,aAAa,EAAE,UAAU,CAAC,aAAa;yBACxC,CAAC,CAAC;iBACR;aACF,CAAC,CACH,CAAC;YAEF,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAC1B,iFAAiF,EACjF,GAAG,EACH,OAAO,EACP,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CACzB,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAA;AAzEY,oDAAoB;+BAApB,oBAAoB;IAI5B,WAAA,IAAA,iBAAM,EAAC,EAAE,GAAG,EAAE,2BAAY,CAAC,oBAAoB,EAAE,CAAC,CAAA;qCAAsB,8BAAe;GAJ/E,oBAAoB,CAyEhC"}
|
|
@@ -7,6 +7,8 @@ export interface IAssetDefinitions {
|
|
|
7
7
|
DELETE_BUCKET: IAuthRouteConfig;
|
|
8
8
|
GET_OBJECT_BY_NAME: IAuthRouteConfig;
|
|
9
9
|
DOWNLOAD_OBJECT_BY_NAME: IAuthRouteConfig;
|
|
10
|
+
UPLOAD_POLICY: IAuthRouteConfig;
|
|
11
|
+
UPLOAD_COMMIT: IAuthRouteConfig;
|
|
10
12
|
UPLOAD: IAuthRouteConfig;
|
|
11
13
|
DELETE_OBJECT: IAuthRouteConfig;
|
|
12
14
|
LIST_OBJECTS: IAuthRouteConfig;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.definition.d.ts","sourceRoot":"","sources":["../../../../src/components/static-asset/controller/base.definition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAoD/C,0GAA0G;AAC1G,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,gBAAgB,CAAC;IAC9B,kBAAkB,EAAE,gBAAgB,CAAC;IACrC,aAAa,EAAE,gBAAgB,CAAC;IAChC,aAAa,EAAE,gBAAgB,CAAC;IAChC,kBAAkB,EAAE,gBAAgB,CAAC;IACrC,uBAAuB,EAAE,gBAAgB,CAAC;IAC1C,MAAM,EAAE,gBAAgB,CAAC;IACzB,aAAa,EAAE,gBAAgB,CAAC;IAChC,YAAY,EAAE,gBAAgB,CAAC;IAC/B,iBAAiB,EAAE,gBAAgB,CAAC;CACrC;AAED;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,GAAI,MAAM;IAC1C,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,KAAG,
|
|
1
|
+
{"version":3,"file":"base.definition.d.ts","sourceRoot":"","sources":["../../../../src/components/static-asset/controller/base.definition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAoD/C,0GAA0G;AAC1G,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,gBAAgB,CAAC;IAC9B,kBAAkB,EAAE,gBAAgB,CAAC;IACrC,aAAa,EAAE,gBAAgB,CAAC;IAChC,aAAa,EAAE,gBAAgB,CAAC;IAChC,kBAAkB,EAAE,gBAAgB,CAAC;IACrC,uBAAuB,EAAE,gBAAgB,CAAC;IAC1C,aAAa,EAAE,gBAAgB,CAAC;IAChC,aAAa,EAAE,gBAAgB,CAAC;IAChC,MAAM,EAAE,gBAAgB,CAAC;IACzB,aAAa,EAAE,gBAAgB,CAAC;IAChC,YAAY,EAAE,gBAAgB,CAAC;IAC/B,iBAAiB,EAAE,gBAAgB,CAAC;CACrC;AAED;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,GAAI,MAAM;IAC1C,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,KAAG,iBAmQH,CAAC;AAEF,mFAAmF;AACnF,eAAO,MAAM,sBAAsB,mBAA4B,CAAC"}
|
|
@@ -126,6 +126,54 @@ const buildAssetDefinitions = (opts) => {
|
|
|
126
126
|
request: objectRequest(),
|
|
127
127
|
responses: fileStreamResponses(),
|
|
128
128
|
},
|
|
129
|
+
UPLOAD_POLICY: {
|
|
130
|
+
method: 'post',
|
|
131
|
+
path: `${bucketPrefix}/upload-policy`,
|
|
132
|
+
request: {
|
|
133
|
+
body: {
|
|
134
|
+
content: {
|
|
135
|
+
'application/json': {
|
|
136
|
+
schema: zod_openapi_1.z.object({
|
|
137
|
+
files: zod_openapi_1.z.array(zod_openapi_1.z.object({
|
|
138
|
+
fileName: zod_openapi_1.z.string().min(1),
|
|
139
|
+
contentType: zod_openapi_1.z.string().optional(),
|
|
140
|
+
size: zod_openapi_1.z.number().int().nonnegative().optional(),
|
|
141
|
+
})),
|
|
142
|
+
}),
|
|
143
|
+
},
|
|
144
|
+
},
|
|
145
|
+
},
|
|
146
|
+
},
|
|
147
|
+
responses: (0, ignis_kernel_1.jsonResponse)({
|
|
148
|
+
schema: zod_openapi_1.z.array(zod_openapi_1.z.object({
|
|
149
|
+
postURL: zod_openapi_1.z.string(),
|
|
150
|
+
formData: zod_openapi_1.z.record(zod_openapi_1.z.string(), zod_openapi_1.z.string()),
|
|
151
|
+
objectName: zod_openapi_1.z.string(),
|
|
152
|
+
commitToken: zod_openapi_1.z.string(),
|
|
153
|
+
expiresAt: zod_openapi_1.z.string(),
|
|
154
|
+
})),
|
|
155
|
+
description: 'One signed POST policy per file, plus the token its commit is claimed with',
|
|
156
|
+
}),
|
|
157
|
+
},
|
|
158
|
+
UPLOAD_COMMIT: {
|
|
159
|
+
method: 'post',
|
|
160
|
+
path: `${bucketPrefix}/upload-commit`,
|
|
161
|
+
request: {
|
|
162
|
+
body: {
|
|
163
|
+
content: {
|
|
164
|
+
'application/json': { schema: zod_openapi_1.z.object({ commitToken: zod_openapi_1.z.string().min(1) }) },
|
|
165
|
+
},
|
|
166
|
+
},
|
|
167
|
+
},
|
|
168
|
+
responses: (0, ignis_kernel_1.jsonResponse)({
|
|
169
|
+
schema: zod_openapi_1.z.object({
|
|
170
|
+
bucket: zod_openapi_1.z.object({ name: zod_openapi_1.z.string() }),
|
|
171
|
+
object: zod_openapi_1.z.object({ key: zod_openapi_1.z.string() }),
|
|
172
|
+
link: zod_openapi_1.z.string(),
|
|
173
|
+
}),
|
|
174
|
+
description: 'The object at its final key, copied out of the pending prefix',
|
|
175
|
+
}),
|
|
176
|
+
},
|
|
129
177
|
UPLOAD: {
|
|
130
178
|
method: 'post',
|
|
131
179
|
path: `${bucketPrefix}/objects`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.definition.js","sourceRoot":"","sources":["../../../../src/components/static-asset/controller/base.definition.ts"],"names":[],"mappings":";;;AACA,wDAAkE;AAClE,mDAAsC;AACtC,0DAAqD;AACrD,0DAAqD;AAIrD,MAAM,mBAAmB,GAAG,eAAC,CAAC,MAAM,CAAC;IACnC,KAAK,EAAE,eAAC,CAAC,KAAK,CAAC,CAAC,eAAC,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,eAAC,CAAC,KAAK,CAAC,eAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QACxE,IAAI,EAAE,OAAO;QACb,KAAK,EAAE;YACL,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,QAAQ;SACjB;KACF,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,eAAe,GAAG,GAAG,EAAE,CAC3B,eAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC;IACjB,KAAK,EAAE;QACL,IAAI,EAAE,YAAY;QAClB,EAAE,EAAE,MAAM;KACX;IACD,OAAO,EAAE,QAAQ;CAClB,CAAC,CAAC;AAEL,MAAM,eAAe,GAAG,GAAG,EAAE,CAC3B,eAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC;IACjB,KAAK,EAAE;QACL,IAAI,EAAE,YAAY;QAClB,EAAE,EAAE,MAAM;QACV,WAAW,EAAE,oEAAoE;KAClF;IACD,OAAO,EAAE,uBAAuB;CACjC,CAAC,CAAC;AAEL,MAAM,mBAAmB,GAAG,GAAkC,EAAE,CAAC,CAAC;IAChE,CAAC,aAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;QAC1B,WAAW,EAAE,sBAAsB;QACnC,OAAO,EAAE;YACP,0BAA0B,EAAE;gBAC1B,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,MAAM,EAAE,QAAQ;iBACjB;aACF;SACF;KACF;IACD,CAAC,WAAW,CAAC,EAAE,IAAA,0BAAW,EAAC,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,EAAE,2BAAW,EAAE,CAAC;CACnF,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"base.definition.js","sourceRoot":"","sources":["../../../../src/components/static-asset/controller/base.definition.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { TRouteContext } from '../../../base/controllers';
|
|
2
2
|
import { IObjectLocation, IObjectRef, IStorageHelper } from '@venizia/ignis-helpers';
|
|
3
3
|
import { ValueOrPromise } from '@venizia/ignis-helpers/common';
|
|
4
|
+
import type { AnyType } from '@venizia/ignis-helpers/common';
|
|
4
5
|
import { BaseHelper } from '@venizia/ignis-helpers/core';
|
|
5
6
|
import { Env } from 'hono';
|
|
6
7
|
import { TDefineExtraRoutes, TMetaLinkConfig, TObjectNameResolver, TStaticAssetExtraOptions, TStaticAssetsComponentOptions, TStaticAssetStorageType } from '../common';
|
|
@@ -9,7 +10,8 @@ export interface IAssetControllerOptions {
|
|
|
9
10
|
storage: TStaticAssetStorageType;
|
|
10
11
|
helper: IStorageHelper;
|
|
11
12
|
useMetaLink?: boolean;
|
|
12
|
-
|
|
13
|
+
/** The table is erased at this seam on purpose. The public option types carry the real `Schema` and check it; inside the controller every read and write is on MetaLink COLUMNS, and threading a table type nobody here constrains through 700 lines of handler buys nothing. */
|
|
14
|
+
metaLink?: TMetaLinkConfig<AnyType>;
|
|
13
15
|
options?: TStaticAssetExtraOptions;
|
|
14
16
|
/** Decides the stored object name of each uploaded file. Absent leaves the storage helper's own naming untouched. */
|
|
15
17
|
resolveObjectName?: TObjectNameResolver;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../../src/components/static-asset/controller/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEvE,OAAO,EAIL,eAAe,EAEf,UAAU,EAEV,cAAc,
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../../src/components/static-asset/controller/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEvE,OAAO,EAIL,eAAe,EAEf,UAAU,EAEV,cAAc,EAMf,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAA2B,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACxF,OAAO,KAAK,EAAE,OAAO,EAAyB,MAAM,+BAA+B,CAAC;AACpF,OAAO,EAAE,UAAU,EAAY,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAE3B,OAAO,EAIL,kBAAkB,EAElB,eAAe,EAIf,mBAAmB,EACnB,wBAAwB,EACxB,6BAA6B,EAC7B,uBAAuB,EAGxB,MAAM,WAAW,CAAC;AAKnB,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,6BAA6B,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IAChE,OAAO,EAAE,uBAAuB,CAAC;IACjC,MAAM,EAAE,cAAc,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iRAAiR;IACjR,QAAQ,CAAC,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;IACpC,OAAO,CAAC,EAAE,wBAAwB,CAAC;IAEnC,qHAAqH;IACrH,iBAAiB,CAAC,EAAE,mBAAmB,CAAC;IAExC,oGAAoG;IACpG,4IAA4I;IAC5I,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,iBAAiB,CAAC,EAAE,kBAAkB,CAAC;CACxC;AAwBD,qJAAqJ;AACrJ,eAAO,MAAM,eAAe,GAC1B,MAAM,eAAe,GAAG;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,KACA,MAQF,CAAC;AAcF;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,GAAI,MAAM;IAC7C,MAAM,EAAE,cAAc,CAAC;IACvB,MAAM,EAAE,UAAU,CAAC;CACpB,KAAG;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,OAAO,CAAA;CAS/C,CAAC;AAyDF,qBAAa,sBAAuB,SAAQ,UAAU;;IAKpD,MAAM,CAAC,qBAAqB,CAAC,IAAI,EAAE,uBAAuB;;YAqCtD,6FAA6F;2CAC9D;gBAAE,KAAK,EAAE,MAAM,EAAE,CAAA;aAAE,GAAG,IAAI;uBAYrC,cAAc,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBApMlB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA83B5B"}
|
|
@@ -17,6 +17,8 @@ const common_1 = require("@venizia/ignis-helpers/common");
|
|
|
17
17
|
const core_1 = require("@venizia/ignis-helpers/core");
|
|
18
18
|
const node_fs_1 = require("node:fs");
|
|
19
19
|
const common_2 = require("../common");
|
|
20
|
+
const common_3 = require("../common");
|
|
21
|
+
const node_crypto_1 = require("node:crypto");
|
|
20
22
|
const base_definition_1 = require("./base.definition");
|
|
21
23
|
/** Hono ALREADY percent-decodes path params - a second decodeURIComponent throws on `report_100%.pdf` and turns `a%2Fb.png` into a DIFFERENT object; `isValidName`/`isValidPath` still run on this value, so traversal is still rejected. */
|
|
22
24
|
const readObjectName = rawObjectName => rawObjectName;
|
|
@@ -110,6 +112,7 @@ class AssetControllerFactory extends core_1.BaseHelper {
|
|
|
110
112
|
static defineAssetController(opts) {
|
|
111
113
|
const { controller, helper, options, useMetaLink, metaLink, storage } = opts;
|
|
112
114
|
const { resolveObjectName, defineRoutesBefore, defineExtraRoutes } = opts;
|
|
115
|
+
const { directUpload } = controller;
|
|
113
116
|
const { name, basePath, routes, isStrict = true, bucket, rawObjectPath = false } = controller;
|
|
114
117
|
const maxFolderDepth = options?.maxFolderDepth ?? ignis_helpers_1.BaseStorageHelper.DEFAULT_MAX_FOLDER_DEPTH;
|
|
115
118
|
const hasConfiguredBucket = bucket !== undefined;
|
|
@@ -540,6 +543,102 @@ class AssetControllerFactory extends core_1.BaseHelper {
|
|
|
540
543
|
return ctx.json(objects, common_1.HTTP.ResultCodes.RS_2.Ok);
|
|
541
544
|
},
|
|
542
545
|
});
|
|
546
|
+
if (directUpload) {
|
|
547
|
+
if (!hasConfiguredBucket) {
|
|
548
|
+
throw (0, core_1.getError)({
|
|
549
|
+
message: `[${name}] directUpload needs controller.bucket | a policy names one bucket, and a bucket in the URL is a bucket the caller chooses`,
|
|
550
|
+
});
|
|
551
|
+
}
|
|
552
|
+
const pendingPrefix = directUpload.pendingPrefix ?? common_2.DEFAULT_PENDING_PREFIX;
|
|
553
|
+
this.bindRoute({
|
|
554
|
+
configs: { ...definitions.UPLOAD_POLICY, ...routes?.uploadPolicy },
|
|
555
|
+
}).to({
|
|
556
|
+
handler: async (ctx) => {
|
|
557
|
+
if (!(await directUpload.authorize({ context: ctx }))) {
|
|
558
|
+
throw (0, core_1.getError)({ error: common_2.StaticAssetErrors.UPLOAD_NOT_AUTHORIZED });
|
|
559
|
+
}
|
|
560
|
+
const { files } = ctx.req.valid('json');
|
|
561
|
+
const bucketName = await resolveBucket({ configured: bucket });
|
|
562
|
+
const policies = [];
|
|
563
|
+
for (const file of files) {
|
|
564
|
+
if (file.size !== undefined && file.size > directUpload.maxBytes) {
|
|
565
|
+
throw (0, core_1.getError)({
|
|
566
|
+
error: common_2.StaticAssetErrors.UPLOAD_TOO_LARGE,
|
|
567
|
+
message: `File '${file.fileName}' is ${file.size} bytes, over the ${directUpload.maxBytes} the policy allows`,
|
|
568
|
+
});
|
|
569
|
+
}
|
|
570
|
+
// Generated, never taken from the caller: a key the caller picks is a key the caller
|
|
571
|
+
// can collide with, and the pending object is the one thing a policy authorizes.
|
|
572
|
+
const objectName = `${pendingPrefix}${(0, node_crypto_1.randomUUID)()}/${file.fileName}`;
|
|
573
|
+
const policy = await helper.presignPost({
|
|
574
|
+
bucket: { name: bucketName },
|
|
575
|
+
keyPrefix: pendingPrefix,
|
|
576
|
+
maxBytes: directUpload.maxBytes,
|
|
577
|
+
contentType: file.contentType,
|
|
578
|
+
expiresIn: directUpload.expiresIn,
|
|
579
|
+
});
|
|
580
|
+
policies.push({
|
|
581
|
+
...policy,
|
|
582
|
+
objectName,
|
|
583
|
+
commitToken: (0, common_3.buildCommitToken)({
|
|
584
|
+
payload: {
|
|
585
|
+
bucket: bucketName,
|
|
586
|
+
key: objectName,
|
|
587
|
+
expiresAt: new Date(policy.expiresAt).getTime(),
|
|
588
|
+
},
|
|
589
|
+
secretKey: directUpload.secretKey,
|
|
590
|
+
}),
|
|
591
|
+
});
|
|
592
|
+
}
|
|
593
|
+
return ctx.json(policies, common_1.HTTP.ResultCodes.RS_2.Ok);
|
|
594
|
+
},
|
|
595
|
+
});
|
|
596
|
+
this.bindRoute({
|
|
597
|
+
configs: { ...definitions.UPLOAD_COMMIT, ...routes?.uploadCommit },
|
|
598
|
+
}).to({
|
|
599
|
+
handler: async (ctx) => {
|
|
600
|
+
const { commitToken } = ctx.req.valid('json');
|
|
601
|
+
// Verified BEFORE any storage call. That is what keeps this route from being a name
|
|
602
|
+
// prober: a forged token fails without a round trip, so timing says nothing.
|
|
603
|
+
const payload = (0, common_3.readCommitToken)({
|
|
604
|
+
token: commitToken,
|
|
605
|
+
secretKey: directUpload.secretKey,
|
|
606
|
+
});
|
|
607
|
+
const bucketRef = { name: payload.bucket };
|
|
608
|
+
const pendingObject = { key: payload.key };
|
|
609
|
+
const object = { key: payload.key.slice(pendingPrefix.length) };
|
|
610
|
+
// Before the copy, so a hook that throws leaves the object under the pending prefix
|
|
611
|
+
// for a lifecycle rule, rather than stranding it at the final key.
|
|
612
|
+
await directUpload.onCommit?.({ bucket: bucketRef, pendingObject, object });
|
|
613
|
+
await helper.copyObject({
|
|
614
|
+
bucket: bucketRef,
|
|
615
|
+
source: pendingObject,
|
|
616
|
+
destination: object,
|
|
617
|
+
});
|
|
618
|
+
// The copy IS the commit; removing the temporary object is cleanup. A failure here
|
|
619
|
+
// leaves one object for the lifecycle rule, and failing the request would tell the
|
|
620
|
+
// caller their upload did not work when it did.
|
|
621
|
+
await helper
|
|
622
|
+
.removeObject({ bucket: bucketRef, object: pendingObject })
|
|
623
|
+
.catch(error => {
|
|
624
|
+
this.logger
|
|
625
|
+
.for('UPLOAD_COMMIT')
|
|
626
|
+
.warn('Committed, but the pending object remains | key: %s | error: %s', pendingObject.key, error);
|
|
627
|
+
});
|
|
628
|
+
return ctx.json({
|
|
629
|
+
bucket: bucketRef,
|
|
630
|
+
object,
|
|
631
|
+
link: (0, exports.buildObjectLink)({
|
|
632
|
+
basePath: normalizedBasePath,
|
|
633
|
+
bucket: bucketRef,
|
|
634
|
+
object,
|
|
635
|
+
hasConfiguredBucket,
|
|
636
|
+
rawObjectPath,
|
|
637
|
+
}),
|
|
638
|
+
}, common_1.HTTP.ResultCodes.RS_2.Ok);
|
|
639
|
+
},
|
|
640
|
+
});
|
|
641
|
+
}
|
|
543
642
|
if (useMetaLink && metaLink) {
|
|
544
643
|
this.bindRoute({
|
|
545
644
|
configs: { ...definitions.RECREATE_METALINK, ...routes?.recreateMetaLink },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../../src/components/static-asset/controller/factory.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../../src/components/static-asset/controller/factory.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@venizia/ignis",
|
|
3
|
-
"version": "0.2.0-
|
|
3
|
+
"version": "0.2.0-34",
|
|
4
4
|
"description": "High-performance TypeScript server infrastructure combining LoopBack 4 enterprise architecture (decorator-based DI, repository pattern, component system) with Hono speed (~140k req/s). Features auto-generated OpenAPI docs, Drizzle ORM type-safe SQL, JWT/Basic authentication, Casbin authorization, convention-based bootstrapping, and pluggable components for health checks, Swagger UI, mail, Socket.IO, and static assets. Built for Bun and Node.js.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"access-control",
|
|
@@ -199,11 +199,11 @@
|
|
|
199
199
|
"prepublishOnly": "bun run rebuild"
|
|
200
200
|
},
|
|
201
201
|
"dependencies": {
|
|
202
|
-
"@venizia/ignis-connectors": "^0.2.0-
|
|
203
|
-
"@venizia/ignis-filter": "^0.2.0-
|
|
204
|
-
"@venizia/ignis-helpers": "^0.2.0-
|
|
205
|
-
"@venizia/ignis-inversion": "^0.2.0-
|
|
206
|
-
"@venizia/ignis-kernel": "^0.2.0-
|
|
202
|
+
"@venizia/ignis-connectors": "^0.2.0-30",
|
|
203
|
+
"@venizia/ignis-filter": "^0.2.0-9",
|
|
204
|
+
"@venizia/ignis-helpers": "^0.2.0-25",
|
|
205
|
+
"@venizia/ignis-inversion": "^0.2.0-9",
|
|
206
|
+
"@venizia/ignis-kernel": "^0.2.0-30",
|
|
207
207
|
"lodash": "^4.18.1",
|
|
208
208
|
"reflect-metadata": "^0.2.2",
|
|
209
209
|
"zod": "^4.5.4"
|