@lodashventure/medusa-media-manager 0.1.1
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/.medusa/server/src/admin/index.js +1376 -0
- package/.medusa/server/src/admin/index.mjs +1377 -0
- package/.medusa/server/src/api/admin/media/assets/[id]/route.js +50 -0
- package/.medusa/server/src/api/admin/media/assets/[id]/url/route.js +24 -0
- package/.medusa/server/src/api/admin/media/assets/route.js +53 -0
- package/.medusa/server/src/api/admin/media/assets/upload/route.js +67 -0
- package/.medusa/server/src/api/middlewares.js +53 -0
- package/.medusa/server/src/index.js +46 -0
- package/.medusa/server/src/modules/media-manager/index.js +13 -0
- package/.medusa/server/src/modules/media-manager/migrations/Migration20251104115419.js +83 -0
- package/.medusa/server/src/modules/media-manager/migrations/Migration20251104160000.js +15 -0
- package/.medusa/server/src/modules/media-manager/models/index.js +14 -0
- package/.medusa/server/src/modules/media-manager/models/media-models.js +201 -0
- package/.medusa/server/src/modules/media-manager/service.js +778 -0
- package/.medusa/server/src/providers/index.js +23 -0
- package/.medusa/server/src/providers/storage/azure.js +100 -0
- package/.medusa/server/src/providers/storage/factory.js +32 -0
- package/.medusa/server/src/providers/storage/gcs.js +91 -0
- package/.medusa/server/src/providers/storage/local.js +73 -0
- package/.medusa/server/src/providers/storage/s3.js +96 -0
- package/.medusa/server/src/providers/storage/types.js +3 -0
- package/.medusa/server/src/types/index.js +3 -0
- package/.medusa/server/src/workflows/index.js +4 -0
- package/README.md +85 -0
- package/package.json +82 -0
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DELETE = exports.PATCH = exports.GET = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const media_manager_1 = require("../../../../../modules/media-manager");
|
|
6
|
+
const GET = async (req, res) => {
|
|
7
|
+
const service = req.scope.resolve(media_manager_1.MEDIA_MANAGER_MODULE);
|
|
8
|
+
const id = req.params.id;
|
|
9
|
+
const asset = await service.retrieveMediaAsset(id, {
|
|
10
|
+
relations: ["variants", "tag_links.tag", "folder", "relations"],
|
|
11
|
+
});
|
|
12
|
+
if (!asset) {
|
|
13
|
+
throw new utils_1.MedusaError(utils_1.MedusaErrorTypes.NOT_FOUND, "Asset not found");
|
|
14
|
+
}
|
|
15
|
+
res.setHeader("Content-Type", "application/json; charset=utf-8");
|
|
16
|
+
res.json({ asset });
|
|
17
|
+
};
|
|
18
|
+
exports.GET = GET;
|
|
19
|
+
const PATCH = async (req, res) => {
|
|
20
|
+
const service = req.scope.resolve(media_manager_1.MEDIA_MANAGER_MODULE);
|
|
21
|
+
const id = req.params.id;
|
|
22
|
+
const payload = req.body ?? {};
|
|
23
|
+
const updated = await service.updateAssetMetadata(id, {
|
|
24
|
+
title: payload.title,
|
|
25
|
+
altText: payload.alt_text,
|
|
26
|
+
caption: payload.caption,
|
|
27
|
+
custom: payload.custom,
|
|
28
|
+
status: payload.status,
|
|
29
|
+
visibility: payload.visibility,
|
|
30
|
+
folderId: payload.folder_id,
|
|
31
|
+
tags: payload.tags,
|
|
32
|
+
focalPoint: payload.focal_point ?? undefined,
|
|
33
|
+
});
|
|
34
|
+
res.setHeader("Content-Type", "application/json; charset=utf-8");
|
|
35
|
+
res.json({ asset: updated });
|
|
36
|
+
};
|
|
37
|
+
exports.PATCH = PATCH;
|
|
38
|
+
const DELETE = async (req, res) => {
|
|
39
|
+
const scopedReq = req;
|
|
40
|
+
const service = req.scope.resolve(media_manager_1.MEDIA_MANAGER_MODULE);
|
|
41
|
+
const id = req.params.id;
|
|
42
|
+
const force = ["true", "1"].includes(req.query?.force?.toLowerCase?.() ?? "");
|
|
43
|
+
await service.deleteAssetSafely(id, {
|
|
44
|
+
force,
|
|
45
|
+
actorId: scopedReq.auth?.actor_id ?? scopedReq.user?.id,
|
|
46
|
+
});
|
|
47
|
+
res.status(204).end();
|
|
48
|
+
};
|
|
49
|
+
exports.DELETE = DELETE;
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL21lZGlhL2Fzc2V0cy9baWRdL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUlBLHFEQUEwRTtBQUUxRSx3RUFBNEU7QUFjckUsTUFBTSxHQUFHLEdBQUcsS0FBSyxFQUN0QixHQUErQixFQUMvQixHQUFtQixFQUNuQixFQUFFO0lBQ0YsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQy9CLG9DQUFvQixDQUNyQixDQUFDO0lBRUYsTUFBTSxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7SUFDekIsTUFBTSxLQUFLLEdBQUcsTUFBTSxPQUFPLENBQUMsa0JBQWtCLENBQUMsRUFBRSxFQUFFO1FBQ2pELFNBQVMsRUFBRSxDQUFDLFVBQVUsRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFLFdBQVcsQ0FBQztLQUNoRSxDQUFDLENBQUM7SUFFSCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDWCxNQUFNLElBQUksbUJBQVcsQ0FBQyx3QkFBZ0IsQ0FBQyxTQUFTLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsR0FBRyxDQUFDLFNBQVMsQ0FBQyxjQUFjLEVBQUUsaUNBQWlDLENBQUMsQ0FBQztJQUNqRSxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztBQUN0QixDQUFDLENBQUM7QUFuQlcsUUFBQSxHQUFHLE9BbUJkO0FBRUssTUFBTSxLQUFLLEdBQUcsS0FBSyxFQUN4QixHQUEwQyxFQUMxQyxHQUFtQixFQUNuQixFQUFFO0lBQ0YsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQy9CLG9DQUFvQixDQUNyQixDQUFDO0lBRUYsTUFBTSxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7SUFDekIsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7SUFFL0IsTUFBTSxPQUFPLEdBQUcsTUFBTSxPQUFPLENBQUMsbUJBQW1CLENBQUMsRUFBRSxFQUFFO1FBQ3BELEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSztRQUNwQixPQUFPLEVBQUUsT0FBTyxDQUFDLFFBQVE7UUFDekIsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPO1FBQ3hCLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTTtRQUN0QixNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQWE7UUFDN0IsVUFBVSxFQUFFLE9BQU8sQ0FBQyxVQUFpQjtRQUNyQyxRQUFRLEVBQUUsT0FBTyxDQUFDLFNBQVM7UUFDM0IsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO1FBQ2xCLFVBQVUsRUFBRSxPQUFPLENBQUMsV0FBVyxJQUFJLFNBQVM7S0FDN0MsQ0FBQyxDQUFDO0lBRUgsR0FBRyxDQUFDLFNBQVMsQ0FBQyxjQUFjLEVBQUUsaUNBQWlDLENBQUMsQ0FBQztJQUNqRSxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7QUFDL0IsQ0FBQyxDQUFDO0FBekJXLFFBQUEsS0FBSyxTQXlCaEI7QUFFSyxNQUFNLE1BQU0sR0FBRyxLQUFLLEVBQ3pCLEdBQStCLEVBQy9CLEdBQW1CLEVBQ25CLEVBQUU7SUFDRixNQUFNLFNBQVMsR0FBRyxHQUdqQixDQUFDO0lBRUYsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQy9CLG9DQUFvQixDQUNyQixDQUFDO0lBRUYsTUFBTSxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7SUFDekIsTUFBTSxLQUFLLEdBQUcsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUNqQyxHQUFHLENBQUMsS0FBSyxFQUFFLEtBQTRCLEVBQUUsV0FBVyxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQ2hFLENBQUM7SUFFRixNQUFNLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEVBQUU7UUFDbEMsS0FBSztRQUNMLE9BQU8sRUFBRSxTQUFTLENBQUMsSUFBSSxFQUFFLFFBQVEsSUFBSSxTQUFTLENBQUMsSUFBSSxFQUFFLEVBQUU7S0FDeEQsQ0FBQyxDQUFDO0lBRUgsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztBQUN4QixDQUFDLENBQUM7QUF4QlcsUUFBQSxNQUFNLFVBd0JqQiJ9
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GET = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const media_manager_1 = require("../../../../../../modules/media-manager");
|
|
6
|
+
const GET = async (req, res) => {
|
|
7
|
+
const service = req.scope.resolve(media_manager_1.MEDIA_MANAGER_MODULE);
|
|
8
|
+
const { id } = req.params;
|
|
9
|
+
const { variant, signed, ttl } = req.query;
|
|
10
|
+
try {
|
|
11
|
+
const url = await service.getAssetUrl(id, {
|
|
12
|
+
variant: variant || undefined,
|
|
13
|
+
signed: signed ? signed !== "false" : undefined,
|
|
14
|
+
expiresInSeconds: ttl ? Number(ttl) : undefined,
|
|
15
|
+
});
|
|
16
|
+
res.setHeader("Content-Type", "application/json; charset=utf-8");
|
|
17
|
+
res.json({ url });
|
|
18
|
+
}
|
|
19
|
+
catch (err) {
|
|
20
|
+
throw new utils_1.MedusaError(utils_1.MedusaErrorTypes.INVALID_DATA, err?.message ?? "Failed to resolve asset URL");
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
exports.GET = GET;
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL21lZGlhL2Fzc2V0cy9baWRdL3VybC9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFJQSxxREFBMEU7QUFFMUUsMkVBQStFO0FBRXhFLE1BQU0sR0FBRyxHQUFHLEtBQUssRUFDdEIsR0FBK0IsRUFDL0IsR0FBbUIsRUFDbkIsRUFBRTtJQUNGLE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUMvQixvQ0FBb0IsQ0FDckIsQ0FBQztJQUVGLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDO0lBQzFCLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLEdBQUcsQ0FBQyxLQUlwQyxDQUFDO0lBRUYsSUFBSSxDQUFDO1FBQ0gsTUFBTSxHQUFHLEdBQUcsTUFBTSxPQUFPLENBQUMsV0FBVyxDQUFDLEVBQUUsRUFBRTtZQUN4QyxPQUFPLEVBQUUsT0FBTyxJQUFJLFNBQVM7WUFDN0IsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUztZQUMvQyxnQkFBZ0IsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUztTQUNoRCxDQUFDLENBQUM7UUFFSCxHQUFHLENBQUMsU0FBUyxDQUFDLGNBQWMsRUFBRSxpQ0FBaUMsQ0FBQyxDQUFDO1FBQ2pFLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ3BCLENBQUM7SUFBQyxPQUFPLEdBQVEsRUFBRSxDQUFDO1FBQ2xCLE1BQU0sSUFBSSxtQkFBVyxDQUNuQix3QkFBZ0IsQ0FBQyxZQUFZLEVBQzdCLEdBQUcsRUFBRSxPQUFPLElBQUksNkJBQTZCLENBQzlDLENBQUM7SUFDSixDQUFDO0FBQ0gsQ0FBQyxDQUFDO0FBOUJXLFFBQUEsR0FBRyxPQThCZCJ9
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GET = void 0;
|
|
4
|
+
const media_manager_1 = require("../../../../modules/media-manager");
|
|
5
|
+
const toNumber = (value) => {
|
|
6
|
+
if (value === undefined)
|
|
7
|
+
return undefined;
|
|
8
|
+
const val = Array.isArray(value) ? value[0] : value;
|
|
9
|
+
const parsed = Number(val);
|
|
10
|
+
return Number.isFinite(parsed) ? parsed : undefined;
|
|
11
|
+
};
|
|
12
|
+
const toBoolean = (value) => {
|
|
13
|
+
if (value === undefined)
|
|
14
|
+
return undefined;
|
|
15
|
+
const val = Array.isArray(value) ? value[0] : value;
|
|
16
|
+
return ["true", "1", "yes"].includes(val.toLowerCase());
|
|
17
|
+
};
|
|
18
|
+
const GET = async (req, res) => {
|
|
19
|
+
const service = req.scope.resolve(media_manager_1.MEDIA_MANAGER_MODULE);
|
|
20
|
+
const { q, type, folder, tags, used, mime, min_w, max_w, min_h, max_h, min_size, max_size, status, visibility, limit, offset, order, } = req.query;
|
|
21
|
+
const parsedTags = tags
|
|
22
|
+
? tags.split(",").map((tag) => tag.trim()).filter(Boolean)
|
|
23
|
+
: undefined;
|
|
24
|
+
const [assets, count] = await service.searchAssets({
|
|
25
|
+
q: q ?? undefined,
|
|
26
|
+
type: type,
|
|
27
|
+
folder: folder ?? undefined,
|
|
28
|
+
tags: parsedTags,
|
|
29
|
+
used: used ? toBoolean(used) : undefined,
|
|
30
|
+
mime: mime ?? undefined,
|
|
31
|
+
min_w: toNumber(min_w),
|
|
32
|
+
max_w: toNumber(max_w),
|
|
33
|
+
min_h: toNumber(min_h),
|
|
34
|
+
max_h: toNumber(max_h),
|
|
35
|
+
min_size: toNumber(min_size),
|
|
36
|
+
max_size: toNumber(max_size),
|
|
37
|
+
status: status,
|
|
38
|
+
visibility: visibility,
|
|
39
|
+
}, {
|
|
40
|
+
skip: toNumber(offset) ?? 0,
|
|
41
|
+
take: Math.min(toNumber(limit) ?? 20, 100),
|
|
42
|
+
order: order?.split(":")[0] === "created_at"
|
|
43
|
+
? { created_at: order?.split(":")[1]?.toUpperCase() ?? "DESC" }
|
|
44
|
+
: { created_at: "DESC" },
|
|
45
|
+
});
|
|
46
|
+
res.setHeader("Content-Type", "application/json; charset=utf-8");
|
|
47
|
+
res.json({
|
|
48
|
+
assets,
|
|
49
|
+
count,
|
|
50
|
+
});
|
|
51
|
+
};
|
|
52
|
+
exports.GET = GET;
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL21lZGlhL2Fzc2V0cy9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFLQSxxRUFBeUU7QUFFekUsTUFBTSxRQUFRLEdBQUcsQ0FBQyxLQUF5QixFQUFFLEVBQUU7SUFDN0MsSUFBSSxLQUFLLEtBQUssU0FBUztRQUFFLE9BQU8sU0FBUyxDQUFDO0lBQzFDLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ3BELE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMzQixPQUFPLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0FBQ3RELENBQUMsQ0FBQztBQUVGLE1BQU0sU0FBUyxHQUFHLENBQUMsS0FBeUIsRUFBRSxFQUFFO0lBQzlDLElBQUksS0FBSyxLQUFLLFNBQVM7UUFBRSxPQUFPLFNBQVMsQ0FBQztJQUMxQyxNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUNwRCxPQUFPLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7QUFDMUQsQ0FBQyxDQUFDO0FBRUssTUFBTSxHQUFHLEdBQUcsS0FBSyxFQUN0QixHQUErQixFQUMvQixHQUFtQixFQUNuQixFQUFFO0lBQ0YsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQy9CLG9DQUFvQixDQUNyQixDQUFDO0lBRUYsTUFBTSxFQUNKLENBQUMsRUFDRCxJQUFJLEVBQ0osTUFBTSxFQUNOLElBQUksRUFDSixJQUFJLEVBQ0osSUFBSSxFQUNKLEtBQUssRUFDTCxLQUFLLEVBQ0wsS0FBSyxFQUNMLEtBQUssRUFDTCxRQUFRLEVBQ1IsUUFBUSxFQUNSLE1BQU0sRUFDTixVQUFVLEVBQ1YsS0FBSyxFQUNMLE1BQU0sRUFDTixLQUFLLEdBQ04sR0FBRyxHQUFHLENBQUMsS0FBMkMsQ0FBQztJQUVwRCxNQUFNLFVBQVUsR0FBRyxJQUFJO1FBQ3JCLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQztRQUMxRCxDQUFDLENBQUMsU0FBUyxDQUFDO0lBRWQsTUFBTSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsR0FBRyxNQUFNLE9BQU8sQ0FBQyxZQUFZLENBQ2hEO1FBQ0UsQ0FBQyxFQUFFLENBQUMsSUFBSSxTQUFTO1FBQ2pCLElBQUksRUFBRSxJQUFXO1FBQ2pCLE1BQU0sRUFBRSxNQUFNLElBQUksU0FBUztRQUMzQixJQUFJLEVBQUUsVUFBVTtRQUNoQixJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVM7UUFDeEMsSUFBSSxFQUFFLElBQUksSUFBSSxTQUFTO1FBQ3ZCLEtBQUssRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDO1FBQ3RCLEtBQUssRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDO1FBQ3RCLEtBQUssRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDO1FBQ3RCLEtBQUssRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDO1FBQ3RCLFFBQVEsRUFBRSxRQUFRLENBQUMsUUFBUSxDQUFDO1FBQzVCLFFBQVEsRUFBRSxRQUFRLENBQUMsUUFBUSxDQUFDO1FBQzVCLE1BQU0sRUFBRSxNQUFhO1FBQ3JCLFVBQVUsRUFBRSxVQUFpQjtLQUM5QixFQUNEO1FBQ0UsSUFBSSxFQUFFLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBQzNCLElBQUksRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEVBQUUsR0FBRyxDQUFDO1FBQzFDLEtBQUssRUFDSCxLQUFLLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLFlBQVk7WUFDbkMsQ0FBQyxDQUFDLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsV0FBVyxFQUFFLElBQUksTUFBTSxFQUFFO1lBQy9ELENBQUMsQ0FBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7S0FDN0IsQ0FDRixDQUFDO0lBRUYsR0FBRyxDQUFDLFNBQVMsQ0FBQyxjQUFjLEVBQUUsaUNBQWlDLENBQUMsQ0FBQztJQUNqRSxHQUFHLENBQUMsSUFBSSxDQUFDO1FBQ1AsTUFBTTtRQUNOLEtBQUs7S0FDTixDQUFDLENBQUM7QUFDTCxDQUFDLENBQUM7QUFoRVcsUUFBQSxHQUFHLE9BZ0VkIn0=
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.POST = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const media_manager_1 = require("../../../../../modules/media-manager");
|
|
6
|
+
function parseTags(raw) {
|
|
7
|
+
if (!raw) {
|
|
8
|
+
return undefined;
|
|
9
|
+
}
|
|
10
|
+
if (Array.isArray(raw)) {
|
|
11
|
+
return raw.map((tag) => `${tag}`.trim()).filter(Boolean);
|
|
12
|
+
}
|
|
13
|
+
if (typeof raw === "string") {
|
|
14
|
+
try {
|
|
15
|
+
const parsed = JSON.parse(raw);
|
|
16
|
+
if (Array.isArray(parsed)) {
|
|
17
|
+
return parsed.map((tag) => `${tag}`.trim()).filter(Boolean);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
catch {
|
|
21
|
+
return raw
|
|
22
|
+
.split(",")
|
|
23
|
+
.map((tag) => tag.trim())
|
|
24
|
+
.filter(Boolean);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return undefined;
|
|
28
|
+
}
|
|
29
|
+
const POST = async (req, res) => {
|
|
30
|
+
const scopedReq = req;
|
|
31
|
+
const files = scopedReq.files ?? [];
|
|
32
|
+
if (!files.length) {
|
|
33
|
+
throw new utils_1.MedusaError(utils_1.MedusaErrorTypes.INVALID_DATA, "No files were uploaded");
|
|
34
|
+
}
|
|
35
|
+
const service = req.scope.resolve(media_manager_1.MEDIA_MANAGER_MODULE);
|
|
36
|
+
const body = scopedReq.body ?? {};
|
|
37
|
+
const folderId = body.folderId ?? body.folder_id ?? null;
|
|
38
|
+
const visibility = body.visibility ?? "public";
|
|
39
|
+
const status = body.status ?? "draft";
|
|
40
|
+
const tags = parseTags(body.tags);
|
|
41
|
+
const actorId = scopedReq.auth?.actor_id ?? scopedReq.user?.id ?? undefined;
|
|
42
|
+
const results = await service.createAssetsFromUpload({
|
|
43
|
+
files: files.map((file) => ({
|
|
44
|
+
filename: Buffer.from(file.originalname, "latin1").toString("utf-8"),
|
|
45
|
+
mimeType: file.mimetype,
|
|
46
|
+
buffer: file.buffer,
|
|
47
|
+
size: file.size,
|
|
48
|
+
})),
|
|
49
|
+
folderId,
|
|
50
|
+
tags,
|
|
51
|
+
visibility,
|
|
52
|
+
status,
|
|
53
|
+
createdBy: actorId,
|
|
54
|
+
});
|
|
55
|
+
res.setHeader("Content-Type", "application/json; charset=utf-8");
|
|
56
|
+
res.json({
|
|
57
|
+
assets: await Promise.all(results.map(async ({ asset, variants, reused }) => ({
|
|
58
|
+
asset: await service.retrieveMediaAsset(asset.id, {
|
|
59
|
+
relations: ["variants", "tag_links.tag", "folder"],
|
|
60
|
+
}),
|
|
61
|
+
variants,
|
|
62
|
+
reused,
|
|
63
|
+
}))),
|
|
64
|
+
});
|
|
65
|
+
};
|
|
66
|
+
exports.POST = POST;
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL21lZGlhL2Fzc2V0cy91cGxvYWQvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBSUEscURBQTBFO0FBRTFFLHdFQUE0RTtBQVM1RSxTQUFTLFNBQVMsQ0FBQyxHQUFRO0lBQ3pCLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNULE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUN2QixPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVELElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDO1lBQ0gsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUMvQixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztnQkFDMUIsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzlELENBQUM7UUFDSCxDQUFDO1FBQUMsTUFBTSxDQUFDO1lBQ1AsT0FBTyxHQUFHO2lCQUNQLEtBQUssQ0FBQyxHQUFHLENBQUM7aUJBQ1YsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7aUJBQ3hCLE1BQU0sQ0FBQyxPQUFPLENB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
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const http_1 = require("@medusajs/framework/http");
|
|
7
|
+
const multer_1 = __importDefault(require("multer"));
|
|
8
|
+
const upload = (0, multer_1.default)({
|
|
9
|
+
storage: multer_1.default.memoryStorage(),
|
|
10
|
+
limits: {
|
|
11
|
+
fileSize: 200 * 1024 * 1024,
|
|
12
|
+
files: 20,
|
|
13
|
+
},
|
|
14
|
+
fileFilter: (_req, file, cb) => {
|
|
15
|
+
const allowedMimeTypes = [
|
|
16
|
+
"image/jpeg",
|
|
17
|
+
"image/png",
|
|
18
|
+
"image/webp",
|
|
19
|
+
"image/avif",
|
|
20
|
+
"image/gif",
|
|
21
|
+
"image/svg+xml",
|
|
22
|
+
"application/pdf",
|
|
23
|
+
"video/mp4",
|
|
24
|
+
"video/webm",
|
|
25
|
+
];
|
|
26
|
+
if (allowedMimeTypes.includes(file.mimetype)) {
|
|
27
|
+
cb(null, true);
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
cb(new Error(`Unsupported file type: ${file.mimetype}. Allowed types are ${allowedMimeTypes.join(", ")}`));
|
|
31
|
+
},
|
|
32
|
+
});
|
|
33
|
+
exports.default = (0, http_1.defineMiddlewares)({
|
|
34
|
+
routes: [
|
|
35
|
+
{
|
|
36
|
+
method: "POST",
|
|
37
|
+
matcher: "/admin/media/assets/upload",
|
|
38
|
+
middlewares: [
|
|
39
|
+
// @ts-ignore
|
|
40
|
+
upload.array("files"),
|
|
41
|
+
],
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
method: "POST",
|
|
45
|
+
matcher: "/admin/media/assets/:id/replace",
|
|
46
|
+
middlewares: [
|
|
47
|
+
// @ts-ignore
|
|
48
|
+
upload.single("file"),
|
|
49
|
+
],
|
|
50
|
+
},
|
|
51
|
+
],
|
|
52
|
+
});
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBpL21pZGRsZXdhcmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsbURBQTZEO0FBQzdELG9EQUE0QjtBQUU1QixNQUFNLE1BQU0sR0FBRyxJQUFBLGdCQUFNLEVBQUM7SUFDcEIsT0FBTyxFQUFFLGdCQUFNLENBQUMsYUFBYSxFQUFFO0lBQy9CLE1BQU0sRUFBRTtRQUNOLFFBQVEsRUFBRSxHQUFHLEdBQUcsSUFBSSxHQUFHLElBQUk7UUFDM0IsS0FBSyxFQUFFLEVBQUU7S0FDVjtJQUNELFVBQVUsRUFBRSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQUU7UUFDN0IsTUFBTSxnQkFBZ0IsR0FBRztZQUN2QixZQUFZO1lBQ1osV0FBVztZQUNYLFlBQVk7WUFDWixZQUFZO1lBQ1osV0FBVztZQUNYLGVBQWU7WUFDZixpQkFBaUI7WUFDakIsV0FBVztZQUNYLFlBQVk7U0FDYixDQUFDO1FBQ0YsSUFBSSxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDN0MsRUFBRSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNmLE9BQU87UUFDVCxDQUFDO1FBQ0QsRUFBRSxDQUNBLElBQUksS0FBSyxDQUNQLDBCQUEwQixJQUFJLENBQUMsUUFBUSx1QkFBdUIsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQzVGLENBQ0YsQ0FBQztJQUNKLENBQUM7Q0FDRixDQUFDLENBQUM7QUFFSCxrQkFBZSxJQUFBLHdCQUFpQixFQUFDO0lBQy9CLE1BQU0sRUFBRTtRQUNOO1lBQ0UsTUFBTSxFQUFFLE1BQU07WUFDZCxPQUFPLEVBQUUsNEJBQTRCO1lBQ3JDLFdBQVcsRUFBRTtnQkFDWCxhQUFhO2dCQUNiLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDO2FBQ3RCO1NBQ0Y7UUFDRDtZQUNFLE1BQU0sRUFBRSxNQUFNO1lBQ2QsT0FBTyxFQUFFLGlDQUFpQztZQUMxQyxXQUFXLEVBQUU7Z0JBQ1gsYUFBYTtnQkFDYixNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQzthQUN0QjtTQUNGO0tBQ0Y7Q0FDRixDQUFDLENBQUMifQ==
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
36
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.MEDIA_MANAGER_MODULE = void 0;
|
|
40
|
+
const media_manager_1 = __importStar(require("./modules/media-manager"));
|
|
41
|
+
Object.defineProperty(exports, "MEDIA_MANAGER_MODULE", { enumerable: true, get: function () { return media_manager_1.MEDIA_MANAGER_MODULE; } });
|
|
42
|
+
exports.default = media_manager_1.default;
|
|
43
|
+
__exportStar(require("./types"), exports);
|
|
44
|
+
__exportStar(require("./providers"), exports);
|
|
45
|
+
__exportStar(require("./workflows"), exports);
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEseUVBRWlDO0FBRXhCLHFHQUhQLG9DQUFvQixPQUdPO0FBRTdCLGtCQUFlLHVCQUFrQixDQUFDO0FBRWxDLDBDQUF3QjtBQUN4Qiw4Q0FBNEI7QUFDNUIsOENBQTRCIn0=
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.MEDIA_MANAGER_MODULE = void 0;
|
|
7
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
8
|
+
const service_1 = __importDefault(require("./service"));
|
|
9
|
+
exports.MEDIA_MANAGER_MODULE = "media_manager";
|
|
10
|
+
exports.default = (0, utils_1.Module)(exports.MEDIA_MANAGER_MODULE, {
|
|
11
|
+
service: service_1.default,
|
|
12
|
+
});
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9tZWRpYS1tYW5hZ2VyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLHFEQUFtRDtBQUNuRCx3REFBa0Q7QUFFckMsUUFBQSxvQkFBb0IsR0FBRyxlQUFlLENBQUM7QUFFcEQsa0JBQWUsSUFBQSxjQUFNLEVBQUMsNEJBQW9CLEVBQUU7SUFDMUMsT0FBTyxFQUFFLGlCQUF5QjtDQUNuQyxDQUFDLENBQUMifQ==
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Migration20251104115419 = void 0;
|
|
4
|
+
const migrations_1 = require("@medusajs/framework/mikro-orm/migrations");
|
|
5
|
+
class Migration20251104115419 extends migrations_1.Migration {
|
|
6
|
+
async up() {
|
|
7
|
+
this.addSql(`alter table if exists "media_variant" drop constraint if exists "media_variant_asset_id_preset_format_unique";`);
|
|
8
|
+
this.addSql(`alter table if exists "media_asset_tag" drop constraint if exists "media_asset_tag_asset_id_tag_id_unique";`);
|
|
9
|
+
this.addSql(`alter table if exists "media_tag" drop constraint if exists "media_tag_name_unique";`);
|
|
10
|
+
this.addSql(`alter table if exists "media_asset_relation" drop constraint if exists "media_asset_relation_asset_id_entity_type_entity_id_relation_role_unique";`);
|
|
11
|
+
this.addSql(`alter table if exists "media_asset_version" drop constraint if exists "media_asset_version_asset_id_version_unique";`);
|
|
12
|
+
this.addSql(`alter table if exists "media_asset" drop constraint if exists "media_asset_checksum_sha256_unique";`);
|
|
13
|
+
this.addSql(`alter table if exists "media_asset" drop constraint if exists "media_asset_storage_key_unique";`);
|
|
14
|
+
this.addSql(`alter table if exists "media_folder" drop constraint if exists "media_folder_name_parent_id_unique";`);
|
|
15
|
+
this.addSql(`create table if not exists "media_asset_audit_view" ("id" text not null, "asset_id" text not null, "usage_count" integer not null, "last_used_at" timestamptz null, "created_at" timestamptz not null default now(), "updated_at" timestamptz not null default now(), "deleted_at" timestamptz null, constraint "media_asset_audit_view_pkey" primary key ("id"));`);
|
|
16
|
+
this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_media_asset_audit_view_deleted_at" ON "media_asset_audit_view" (deleted_at) WHERE deleted_at IS NULL;`);
|
|
17
|
+
this.addSql(`create table if not exists "media_folder" ("id" text not null, "name" text not null, "parent_id" text null, "created_at" timestamptz not null default now(), "updated_at" timestamptz not null default now(), "deleted_at" timestamptz null, constraint "media_folder_pkey" primary key ("id"));`);
|
|
18
|
+
this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_media_folder_parent_id" ON "media_folder" (parent_id) WHERE deleted_at IS NULL;`);
|
|
19
|
+
this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_media_folder_deleted_at" ON "media_folder" (deleted_at) WHERE deleted_at IS NULL;`);
|
|
20
|
+
this.addSql(`CREATE UNIQUE INDEX IF NOT EXISTS "IDX_media_folder_name_parent_id_unique" ON "media_folder" (name, parent_id) WHERE deleted_at IS NULL;`);
|
|
21
|
+
this.addSql(`create table if not exists "media_asset" ("id" text not null, "storage_key" text not null, "original_filename" text not null, "mime" text not null, "type" text check ("type" in ('image', 'video', 'document', 'svg')) not null default 'image', "size_bytes" integer not null, "width" integer null, "height" integer null, "duration_ms" integer null, "checksum_sha256" text not null, "visibility" text check ("visibility" in ('public', 'private')) not null default 'public', "status" text check ("status" in ('draft', 'published', 'archived')) not null default 'draft', "focal_x" real null, "focal_y" real null, "title" jsonb null, "alt_text" jsonb null, "caption" jsonb null, "exif" jsonb null, "custom" jsonb null, "metadata" jsonb null, "version" integer not null default 1, "folder_id" text null, "created_by" text null, "updated_by" text null, "uploaded_at" timestamptz null, "processing_state" text check ("processing_state" in ('pending', 'processing', 'processed', 'failed')) not null default 'pending', "processing_error" text null, "created_at" timestamptz not null default now(), "updated_at" timestamptz not null default now(), "deleted_at" timestamptz null, constraint "media_asset_pkey" primary key ("id"));`);
|
|
22
|
+
this.addSql(`CREATE UNIQUE INDEX IF NOT EXISTS "IDX_media_asset_storage_key_unique" ON "media_asset" (storage_key) WHERE deleted_at IS NULL;`);
|
|
23
|
+
this.addSql(`CREATE UNIQUE INDEX IF NOT EXISTS "IDX_media_asset_checksum_sha256_unique" ON "media_asset" (checksum_sha256) WHERE deleted_at IS NULL;`);
|
|
24
|
+
this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_media_asset_folder_id" ON "media_asset" (folder_id) WHERE deleted_at IS NULL;`);
|
|
25
|
+
this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_media_asset_deleted_at" ON "media_asset" (deleted_at) WHERE deleted_at IS NULL;`);
|
|
26
|
+
this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_media_asset_type" ON "media_asset" (type) WHERE deleted_at IS NULL;`);
|
|
27
|
+
this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_media_asset_created_at" ON "media_asset" (created_at) WHERE deleted_at IS NULL;`);
|
|
28
|
+
this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_media_asset_visibility_status" ON "media_asset" (visibility, status) WHERE deleted_at IS NULL;`);
|
|
29
|
+
this.addSql(`create table if not exists "media_asset_version" ("id" text not null, "asset_id" text not null, "version" integer not null, "storage_key" text not null, "mime" text not null, "size_bytes" integer not null, "checksum_sha256" text not null, "metadata" jsonb null, "created_at" timestamptz not null default now(), "updated_at" timestamptz not null default now(), "deleted_at" timestamptz null, constraint "media_asset_version_pkey" primary key ("id"));`);
|
|
30
|
+
this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_media_asset_version_asset_id" ON "media_asset_version" (asset_id) WHERE deleted_at IS NULL;`);
|
|
31
|
+
this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_media_asset_version_deleted_at" ON "media_asset_version" (deleted_at) WHERE deleted_at IS NULL;`);
|
|
32
|
+
this.addSql(`CREATE UNIQUE INDEX IF NOT EXISTS "IDX_media_asset_version_asset_id_version_unique" ON "media_asset_version" (asset_id, version) WHERE deleted_at IS NULL;`);
|
|
33
|
+
this.addSql(`create table if not exists "media_asset_relation" ("id" text not null, "asset_id" text not null, "entity_type" text not null, "entity_id" text not null, "relation_role" text not null default 'primary', "created_at" timestamptz not null default now(), "updated_at" timestamptz not null default now(), "deleted_at" timestamptz null, constraint "media_asset_relation_pkey" primary key ("id"));`);
|
|
34
|
+
this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_media_asset_relation_asset_id" ON "media_asset_relation" (asset_id) WHERE deleted_at IS NULL;`);
|
|
35
|
+
this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_media_asset_relation_deleted_at" ON "media_asset_relation" (deleted_at) WHERE deleted_at IS NULL;`);
|
|
36
|
+
this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_media_asset_relation_entity_type_entity_id" ON "media_asset_relation" (entity_type, entity_id) WHERE deleted_at IS NULL;`);
|
|
37
|
+
this.addSql(`CREATE UNIQUE INDEX IF NOT EXISTS "IDX_media_asset_relation_asset_id_entity_type_entity_id_relation_role_unique" ON "media_asset_relation" (asset_id, entity_type, entity_id, relation_role) WHERE deleted_at IS NULL;`);
|
|
38
|
+
this.addSql(`create table if not exists "media_activity_log" ("id" text not null, "asset_id" text not null, "actor_id" text null, "action" text not null, "metadata" jsonb null, "created_at" timestamptz not null default now(), "updated_at" timestamptz not null default now(), "deleted_at" timestamptz null, constraint "media_activity_log_pkey" primary key ("id"));`);
|
|
39
|
+
this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_media_activity_log_asset_id" ON "media_activity_log" (asset_id) WHERE deleted_at IS NULL;`);
|
|
40
|
+
this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_media_activity_log_deleted_at" ON "media_activity_log" (deleted_at) WHERE deleted_at IS NULL;`);
|
|
41
|
+
this.addSql(`create table if not exists "media_tag" ("id" text not null, "name" text not null, "color" text null, "created_at" timestamptz not null default now(), "updated_at" timestamptz not null default now(), "deleted_at" timestamptz null, constraint "media_tag_pkey" primary key ("id"));`);
|
|
42
|
+
this.addSql(`CREATE UNIQUE INDEX IF NOT EXISTS "IDX_media_tag_name_unique" ON "media_tag" (name) WHERE deleted_at IS NULL;`);
|
|
43
|
+
this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_media_tag_deleted_at" ON "media_tag" (deleted_at) WHERE deleted_at IS NULL;`);
|
|
44
|
+
this.addSql(`create table if not exists "media_asset_tag" ("id" text not null, "asset_id" text not null, "tag_id" text not null, "created_at" timestamptz not null default now(), "updated_at" timestamptz not null default now(), "deleted_at" timestamptz null, constraint "media_asset_tag_pkey" primary key ("id"));`);
|
|
45
|
+
this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_media_asset_tag_asset_id" ON "media_asset_tag" (asset_id) WHERE deleted_at IS NULL;`);
|
|
46
|
+
this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_media_asset_tag_tag_id" ON "media_asset_tag" (tag_id) WHERE deleted_at IS NULL;`);
|
|
47
|
+
this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_media_asset_tag_deleted_at" ON "media_asset_tag" (deleted_at) WHERE deleted_at IS NULL;`);
|
|
48
|
+
this.addSql(`CREATE UNIQUE INDEX IF NOT EXISTS "IDX_media_asset_tag_asset_id_tag_id_unique" ON "media_asset_tag" (asset_id, tag_id) WHERE deleted_at IS NULL;`);
|
|
49
|
+
this.addSql(`create table if not exists "media_variant" ("id" text not null, "asset_id" text not null, "preset" text not null, "format" text not null, "width" integer null, "height" integer null, "size_bytes" integer null, "storage_key" text null, "checksum_sha256" text null, "generated_at" timestamptz not null, "status" text check ("status" in ('pending', 'processing', 'generated', 'failed')) not null default 'pending', "error" text null, "created_at" timestamptz not null default now(), "updated_at" timestamptz not null default now(), "deleted_at" timestamptz null, constraint "media_variant_pkey" primary key ("id"));`);
|
|
50
|
+
this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_media_variant_asset_id" ON "media_variant" (asset_id) WHERE deleted_at IS NULL;`);
|
|
51
|
+
this.addSql(`CREATE INDEX IF NOT EXISTS "IDX_media_variant_deleted_at" ON "media_variant" (deleted_at) WHERE deleted_at IS NULL;`);
|
|
52
|
+
this.addSql(`CREATE UNIQUE INDEX IF NOT EXISTS "IDX_media_variant_asset_id_preset_format_unique" ON "media_variant" (asset_id, preset, format) WHERE deleted_at IS NULL;`);
|
|
53
|
+
this.addSql(`alter table if exists "media_folder" add constraint "media_folder_parent_id_foreign" foreign key ("parent_id") references "media_folder" ("id") on update cascade on delete set null;`);
|
|
54
|
+
this.addSql(`alter table if exists "media_asset" add constraint "media_asset_folder_id_foreign" foreign key ("folder_id") references "media_folder" ("id") on update cascade on delete set null;`);
|
|
55
|
+
this.addSql(`alter table if exists "media_asset_version" add constraint "media_asset_version_asset_id_foreign" foreign key ("asset_id") references "media_asset" ("id") on update cascade;`);
|
|
56
|
+
this.addSql(`alter table if exists "media_asset_relation" add constraint "media_asset_relation_asset_id_foreign" foreign key ("asset_id") references "media_asset" ("id") on update cascade;`);
|
|
57
|
+
this.addSql(`alter table if exists "media_activity_log" add constraint "media_activity_log_asset_id_foreign" foreign key ("asset_id") references "media_asset" ("id") on update cascade;`);
|
|
58
|
+
this.addSql(`alter table if exists "media_asset_tag" add constraint "media_asset_tag_asset_id_foreign" foreign key ("asset_id") references "media_asset" ("id") on update cascade;`);
|
|
59
|
+
this.addSql(`alter table if exists "media_asset_tag" add constraint "media_asset_tag_tag_id_foreign" foreign key ("tag_id") references "media_tag" ("id") on update cascade;`);
|
|
60
|
+
this.addSql(`alter table if exists "media_variant" add constraint "media_variant_asset_id_foreign" foreign key ("asset_id") references "media_asset" ("id") on update cascade;`);
|
|
61
|
+
}
|
|
62
|
+
async down() {
|
|
63
|
+
this.addSql(`alter table if exists "media_folder" drop constraint if exists "media_folder_parent_id_foreign";`);
|
|
64
|
+
this.addSql(`alter table if exists "media_asset" drop constraint if exists "media_asset_folder_id_foreign";`);
|
|
65
|
+
this.addSql(`alter table if exists "media_asset_version" drop constraint if exists "media_asset_version_asset_id_foreign";`);
|
|
66
|
+
this.addSql(`alter table if exists "media_asset_relation" drop constraint if exists "media_asset_relation_asset_id_foreign";`);
|
|
67
|
+
this.addSql(`alter table if exists "media_activity_log" drop constraint if exists "media_activity_log_asset_id_foreign";`);
|
|
68
|
+
this.addSql(`alter table if exists "media_asset_tag" drop constraint if exists "media_asset_tag_asset_id_foreign";`);
|
|
69
|
+
this.addSql(`alter table if exists "media_variant" drop constraint if exists "media_variant_asset_id_foreign";`);
|
|
70
|
+
this.addSql(`alter table if exists "media_asset_tag" drop constraint if exists "media_asset_tag_tag_id_foreign";`);
|
|
71
|
+
this.addSql(`drop table if exists "media_asset_audit_view" cascade;`);
|
|
72
|
+
this.addSql(`drop table if exists "media_folder" cascade;`);
|
|
73
|
+
this.addSql(`drop table if exists "media_asset" cascade;`);
|
|
74
|
+
this.addSql(`drop table if exists "media_asset_version" cascade;`);
|
|
75
|
+
this.addSql(`drop table if exists "media_asset_relation" cascade;`);
|
|
76
|
+
this.addSql(`drop table if exists "media_activity_log" cascade;`);
|
|
77
|
+
this.addSql(`drop table if exists "media_tag" cascade;`);
|
|
78
|
+
this.addSql(`drop table if exists "media_asset_tag" cascade;`);
|
|
79
|
+
this.addSql(`drop table if exists "media_variant" cascade;`);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
exports.Migration20251104115419 = Migration20251104115419;
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTExMDQxMTU0MTkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9tZWRpYS1tYW5hZ2VyL21pZ3JhdGlvbnMvTWlncmF0aW9uMjAyNTExMDQxMTU0MTkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEseUVBQXFFO0FBRXJFLE1BQWEsdUJBQXdCLFNBQVEsc0JBQVM7SUFFM0MsS0FBSyxDQUFDLEVBQUU7UUFDZixJQUFJLENBQUMsTUFBTSxDQUFDLGdIQUFnSCxDQUFDLENBQUM7UUFDOUgsSUFBSSxDQUFDLE1BQU0sQ0FBQyw2R0FBNkcsQ0FBQyxDQUFDO1FBQzNILElBQUksQ0FBQyxNQUFNLENBQUMsc0ZBQXNGLENBQUMsQ0FBQztRQUNwRyxJQUFJLENBQUMsTUFBTSxDQUFDLG9KQUFvSixDQUFDLENBQUM7UUFDbEssSUFBSSxDQUFDLE1BQU0sQ0FBQyxzSEFBc0gsQ0FBQyxDQUFDO1FBQ3BJLElBQUksQ0FBQyxNQUFNLENBQUMscUdBQXFHLENBQUMsQ0FBQztRQUNuSCxJQUFJLENBQUMsTUFBTSxDQUFDLGlHQUFpRyxDQUFDLENBQUM7UUFDL0csSUFBSSxDQUFDLE1BQU0sQ0FBQyxzR0FBc0csQ0FBQyxDQUFDO1FBQ3BILElBQUksQ0FBQyxNQUFNLENBQUMsb1dBQW9XLENBQUMsQ0FBQztRQUNsWCxJQUFJLENBQUMsTUFBTSxDQUFDLHVJQUF1SSxDQUFDLENBQUM7UUFFckosSUFBSSxDQUFDLE1BQU0sQ0FBQyxrU0FBa1MsQ0FBQyxDQUFDO1FBQ2hULElBQUksQ0FBQyxNQUFNLENBQUMsaUhBQWlILENBQUMsQ0FBQztRQUMvSCxJQUFJLENBQUMsTUFBTSxDQUFDLG1IQUFtSCxDQUFDLENBQUM7UUFDakksSUFBSSxDQUFDLE1BQU0sQ0FBQywwSUFBMEksQ0FBQyxDQUFDO1FBRXhKLElBQUksQ0FBQyxNQUFNLENBQUMsa3NDQUFrc0MsQ0FBQyxDQUFDO1FBQ2h0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
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Migration20251104160000 = void 0;
|
|
4
|
+
const migrations_1 = require("@medusajs/framework/mikro-orm/migrations");
|
|
5
|
+
class Migration20251104160000 extends migrations_1.Migration {
|
|
6
|
+
async up() {
|
|
7
|
+
this.addSql(`alter table if exists "media_variant" alter column "generated_at" drop not null;`);
|
|
8
|
+
}
|
|
9
|
+
async down() {
|
|
10
|
+
this.addSql(`update "media_variant" set "generated_at" = coalesce("generated_at", now());`);
|
|
11
|
+
this.addSql(`alter table if exists "media_variant" alter column "generated_at" set not null;`);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
exports.Migration20251104160000 = Migration20251104160000;
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNTExMDQxNjAwMDAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9tZWRpYS1tYW5hZ2VyL21pZ3JhdGlvbnMvTWlncmF0aW9uMjAyNTExMDQxNjAwMDAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEseUVBQXFFO0FBRXJFLE1BQWEsdUJBQXdCLFNBQVEsc0JBQVM7SUFDM0MsS0FBSyxDQUFDLEVBQUU7UUFDZixJQUFJLENBQUMsTUFBTSxDQUNULGtGQUFrRixDQUNuRixDQUFDO0lBQ0osQ0FBQztJQUVRLEtBQUssQ0FBQyxJQUFJO1FBQ2pCLElBQUksQ0FBQyxNQUFNLENBQ1QsOEVBQThFLENBQy9FLENBQUM7UUFDRixJQUFJLENBQUMsTUFBTSxDQUNULGlGQUFpRixDQUNsRixDQUFDO0lBQ0osQ0FBQztDQUNGO0FBZkQsMERBZUMifQ==
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MediaAssetAuditView = exports.MediaActivityLog = exports.MediaAssetVersion = exports.MediaAssetRelation = exports.MediaAssetTag = exports.MediaTag = exports.MediaFolder = exports.MediaVariant = exports.MediaAsset = void 0;
|
|
4
|
+
var media_models_1 = require("./media-models");
|
|
5
|
+
Object.defineProperty(exports, "MediaAsset", { enumerable: true, get: function () { return media_models_1.MediaAsset; } });
|
|
6
|
+
Object.defineProperty(exports, "MediaVariant", { enumerable: true, get: function () { return media_models_1.MediaVariant; } });
|
|
7
|
+
Object.defineProperty(exports, "MediaFolder", { enumerable: true, get: function () { return media_models_1.MediaFolder; } });
|
|
8
|
+
Object.defineProperty(exports, "MediaTag", { enumerable: true, get: function () { return media_models_1.MediaTag; } });
|
|
9
|
+
Object.defineProperty(exports, "MediaAssetTag", { enumerable: true, get: function () { return media_models_1.MediaAssetTag; } });
|
|
10
|
+
Object.defineProperty(exports, "MediaAssetRelation", { enumerable: true, get: function () { return media_models_1.MediaAssetRelation; } });
|
|
11
|
+
Object.defineProperty(exports, "MediaAssetVersion", { enumerable: true, get: function () { return media_models_1.MediaAssetVersion; } });
|
|
12
|
+
Object.defineProperty(exports, "MediaActivityLog", { enumerable: true, get: function () { return media_models_1.MediaActivityLog; } });
|
|
13
|
+
Object.defineProperty(exports, "MediaAssetAuditView", { enumerable: true, get: function () { return media_models_1.MediaAssetAuditView; } });
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9tZWRpYS1tYW5hZ2VyL21vZGVscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrQ0FVd0I7QUFUdEIsMEdBQUEsVUFBVSxPQUFBO0FBQ1YsNEdBQUEsWUFBWSxPQUFBO0FBQ1osMkdBQUEsV0FBVyxPQUFBO0FBQ1gsd0dBQUEsUUFBUSxPQUFBO0FBQ1IsNkdBQUEsYUFBYSxPQUFBO0FBQ2Isa0hBQUEsa0JBQWtCLE9BQUE7QUFDbEIsaUhBQUEsaUJBQWlCLE9BQUE7QUFDakIsZ0hBQUEsZ0JBQWdCLE9BQUE7QUFDaEIsbUhBQUEsbUJBQW1CLE9BQUEifQ==
|