medusa-plugin-content 0.1.2
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/medusa-config.js +23 -0
- package/.medusa/server/src/admin/index.js +7517 -0
- package/.medusa/server/src/admin/index.mjs +7515 -0
- package/.medusa/server/src/api/admin/content/[collectionId]/fields/[fieldId]/route.js +31 -0
- package/.medusa/server/src/api/admin/content/[collectionId]/fields/route.js +36 -0
- package/.medusa/server/src/api/admin/content/[collectionId]/items/[itemId]/activity/route.js +40 -0
- package/.medusa/server/src/api/admin/content/[collectionId]/items/[itemId]/links/[linkId]/route.js +12 -0
- package/.medusa/server/src/api/admin/content/[collectionId]/items/[itemId]/links/route.js +34 -0
- package/.medusa/server/src/api/admin/content/[collectionId]/items/[itemId]/route.js +49 -0
- package/.medusa/server/src/api/admin/content/[collectionId]/items/[itemId]/tags/route.js +36 -0
- package/.medusa/server/src/api/admin/content/[collectionId]/items/route.js +43 -0
- package/.medusa/server/src/api/admin/content/[collectionId]/relationships/[relId]/route.js +24 -0
- package/.medusa/server/src/api/admin/content/[collectionId]/relationships/route.js +36 -0
- package/.medusa/server/src/api/admin/content/[collectionId]/route.js +31 -0
- package/.medusa/server/src/api/admin/content/[collectionId]/upload/route.js +31 -0
- package/.medusa/server/src/api/admin/content/route.js +37 -0
- package/.medusa/server/src/api/admin/content-creators/[id]/activity/route.js +40 -0
- package/.medusa/server/src/api/admin/content-creators/[id]/route.js +33 -0
- package/.medusa/server/src/api/admin/content-creators/route.js +37 -0
- package/.medusa/server/src/api/admin/content-tags/[id]/route.js +31 -0
- package/.medusa/server/src/api/admin/content-tags/route.js +38 -0
- package/.medusa/server/src/api/content/[slug]/items/[itemSlug]/route.js +30 -0
- package/.medusa/server/src/api/content/[slug]/items/route.js +38 -0
- package/.medusa/server/src/api/content/[slug]/route.js +29 -0
- package/.medusa/server/src/api/content/route.js +33 -0
- package/.medusa/server/src/api/middlewares.js +423 -0
- package/.medusa/server/src/api/validators.js +172 -0
- package/.medusa/server/src/links/content-creator-activity-user.js +15 -0
- package/.medusa/server/src/links/content-item-activity-user.js +15 -0
- package/.medusa/server/src/links/user-content-creator-activity.js +18 -0
- package/.medusa/server/src/links/user-content-item-activity.js +18 -0
- package/.medusa/server/src/modules/content/index.js +10 -0
- package/.medusa/server/src/modules/content/migrations/Migration20260411221609.js +88 -0
- package/.medusa/server/src/modules/content/models/content-collection.js +40 -0
- package/.medusa/server/src/modules/content/models/content-creator-activity.js +21 -0
- package/.medusa/server/src/modules/content/models/content-creator.js +24 -0
- package/.medusa/server/src/modules/content/models/content-field.js +19 -0
- package/.medusa/server/src/modules/content/models/content-item-activity.js +24 -0
- package/.medusa/server/src/modules/content/models/content-item.js +49 -0
- package/.medusa/server/src/modules/content/models/content-link.js +19 -0
- package/.medusa/server/src/modules/content/models/content-relationship.js +26 -0
- package/.medusa/server/src/modules/content/models/content-tag.js +14 -0
- package/.medusa/server/src/modules/content/models/customer-activity.js +28 -0
- package/.medusa/server/src/modules/content/service.js +49 -0
- package/.medusa/server/src/workflows/file.js +26 -0
- package/LICENSE +21 -0
- package/README.md +56 -0
- package/package.json +86 -0
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DELETE = exports.POST = exports.GET = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const content_1 = require("../../../../modules/content");
|
|
6
|
+
const GET = async (req, res) => {
|
|
7
|
+
const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
8
|
+
const { id } = req.params;
|
|
9
|
+
const { data: [content_tag] } = await query.graph({
|
|
10
|
+
entity: 'content_tag',
|
|
11
|
+
fields: req.queryConfig.fields,
|
|
12
|
+
filters: { id }
|
|
13
|
+
}, { throwIfKeyNotFound: true });
|
|
14
|
+
res.json({ content_tag });
|
|
15
|
+
};
|
|
16
|
+
exports.GET = GET;
|
|
17
|
+
const POST = async (req, res) => {
|
|
18
|
+
const { id } = req.params;
|
|
19
|
+
const contentService = req.scope.resolve(content_1.CONTENT_MODULE);
|
|
20
|
+
const content_tag = await contentService.updateContentTags({ id, ...req.validatedBody });
|
|
21
|
+
res.json({ content_tag });
|
|
22
|
+
};
|
|
23
|
+
exports.POST = POST;
|
|
24
|
+
const DELETE = async (req, res) => {
|
|
25
|
+
const { id } = req.params;
|
|
26
|
+
const contentService = req.scope.resolve(content_1.CONTENT_MODULE);
|
|
27
|
+
await contentService.deleteContentTags([id]);
|
|
28
|
+
res.json({ deleted: [id] });
|
|
29
|
+
};
|
|
30
|
+
exports.DELETE = DELETE;
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2NvbnRlbnQtdGFncy9baWRdL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHFEQUFxRTtBQUNyRSx5REFBNEQ7QUFPckQsTUFBTSxHQUFHLEdBQUcsS0FBSyxFQUN2QixHQUF1RCxFQUN2RCxHQUFtQixFQUNsQixFQUFFO0lBQ0gsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDaEUsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUE7SUFFekIsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLFdBQVcsQ0FBQyxFQUFFLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUNoRDtRQUNDLE1BQU0sRUFBRSxhQUFhO1FBQ3JCLE1BQU0sRUFBRSxHQUFHLENBQUMsV0FBVyxDQUFDLE1BQU07UUFDOUIsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFO0tBQ2YsRUFDRCxFQUFFLGtCQUFrQixFQUFFLElBQUksRUFBRSxDQUM1QixDQUFBO0lBRUQsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUE7QUFDMUIsQ0FBQyxDQUFBO0FBakJZLFFBQUEsR0FBRyxPQWlCZjtBQUVNLE1BQU0sSUFBSSxHQUFHLEtBQUssRUFDeEIsR0FBMEQsRUFDMUQsR0FBbUIsRUFDbEIsRUFBRTtJQUNILE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFBO0lBQ3pCLE1BQU0sY0FBYyxHQUFtQixHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyx3QkFBYyxDQUFDLENBQUE7SUFDeEUsTUFBTSxXQUFXLEdBQUcsTUFBTSxjQUFjLENBQUMsaUJBQWlCLENBQUMsRUFBRSxFQUFFLEVBQUUsR0FBRyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQTtJQUN4RixHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQTtBQUMxQixDQUFDLENBQUE7QUFSWSxRQUFBLElBQUksUUFRaEI7QUFFTSxNQUFNLE1BQU0sR0FBRyxLQUFLLEVBQzFCLEdBQStCLEVBQy9CLEdBQW1CLEVBQ2xCLEVBQUU7SUFDSCxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQTtJQUN6QixNQUFNLGNBQWMsR0FBbUIsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsd0JBQWMsQ0FBQyxDQUFBO0lBQ3hFLE1BQU0sY0FBYyxDQUFDLGlCQUFpQixDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUM1QyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0FBQzVCLENBQUMsQ0FBQTtBQVJZLFFBQUEsTUFBTSxVQVFsQiJ9
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DELETE = exports.POST = exports.GET = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const content_1 = require("../../../modules/content");
|
|
6
|
+
const GET = async (req, res) => {
|
|
7
|
+
const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
8
|
+
const { item_id, q } = req.validatedQuery;
|
|
9
|
+
const { data: content_tags, metadata } = await query.graph({
|
|
10
|
+
entity: 'content_tag',
|
|
11
|
+
...req.queryConfig,
|
|
12
|
+
filters: {
|
|
13
|
+
...(item_id ? { item_id } : {}),
|
|
14
|
+
...(q ? { value: { $ilike: `%${q}%` } } : {})
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
res.json({
|
|
18
|
+
content_tags,
|
|
19
|
+
count: metadata?.count,
|
|
20
|
+
limit: metadata?.take,
|
|
21
|
+
offset: metadata?.skip
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
exports.GET = GET;
|
|
25
|
+
const POST = async (req, res) => {
|
|
26
|
+
const contentService = req.scope.resolve(content_1.CONTENT_MODULE);
|
|
27
|
+
const content_tag = await contentService.createContentTags(req.validatedBody);
|
|
28
|
+
res.json({ content_tag });
|
|
29
|
+
};
|
|
30
|
+
exports.POST = POST;
|
|
31
|
+
const DELETE = async (req, res) => {
|
|
32
|
+
const { ids } = req.validatedBody;
|
|
33
|
+
const contentService = req.scope.resolve(content_1.CONTENT_MODULE);
|
|
34
|
+
await contentService.deleteContentTags(ids);
|
|
35
|
+
res.json({ deleted: ids });
|
|
36
|
+
};
|
|
37
|
+
exports.DELETE = DELETE;
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2NvbnRlbnQtdGFncy9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxxREFBcUU7QUFDckUsc0RBQXlEO0FBUWxELE1BQU0sR0FBRyxHQUFHLEtBQUssRUFDdkIsR0FBd0QsRUFDeEQsR0FBbUIsRUFDbEIsRUFBRTtJQUNILE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ2hFLE1BQU0sRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLEdBQUcsR0FBRyxDQUFDLGNBQWMsQ0FBQTtJQUV6QyxNQUFNLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDMUQsTUFBTSxFQUFFLGFBQWE7UUFDckIsR0FBRyxHQUFHLENBQUMsV0FBVztRQUNsQixPQUFPLEVBQUU7WUFDUixHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDL0IsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztTQUM3QztLQUNELENBQUMsQ0FBQTtJQUVGLEdBQUcsQ0FBQyxJQUFJLENBQUM7UUFDUixZQUFZO1FBQ1osS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLO1FBQ3RCLEtBQUssRUFBRSxRQUFRLEVBQUUsSUFBSTtRQUNyQixNQUFNLEVBQUUsUUFBUSxFQUFFLElBQUk7S0FDdEIsQ0FBQyxDQUFBO0FBQ0gsQ0FBQyxDQUFBO0FBdEJZLFFBQUEsR0FBRyxPQXNCZjtBQUVNLE1BQU0sSUFBSSxHQUFHLEtBQUssRUFDeEIsR0FBMEQsRUFDMUQsR0FBbUIsRUFDbEIsRUFBRTtJQUNILE1BQU0sY0FBYyxHQUFtQixHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyx3QkFBYyxDQUFDLENBQUE7SUFDeEUsTUFBTSxXQUFXLEdBQUcsTUFBTSxjQUFjLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFBO0lBQzdFLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFBO0FBQzFCLENBQUMsQ0FBQTtBQVBZLFFBQUEsSUFBSSxRQU9oQjtBQUVNLE1BQU0sTUFBTSxHQUFHLEtBQUssRUFDMUIsR0FBMkQsRUFDM0QsR0FBbUIsRUFDbEIsRUFBRTtJQUNILE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxHQUFHLENBQUMsYUFBYSxDQUFBO0lBQ2pDLE1BQU0sY0FBYyxHQUFtQixHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyx3QkFBYyxDQUFDLENBQUE7SUFDeEUsTUFBTSxjQUFjLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDM0MsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFBO0FBQzNCLENBQUMsQ0FBQTtBQVJZLFFBQUEsTUFBTSxVQVFsQiJ9
|
|
@@ -0,0 +1,30 @@
|
|
|
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 content_item_1 = require("../../../../../modules/content/models/content-item");
|
|
6
|
+
const TTL = 300; // 5 minutes
|
|
7
|
+
const GET = async (req, res) => {
|
|
8
|
+
const caching = req.scope.resolve(utils_1.Modules.CACHING);
|
|
9
|
+
const { itemSlug } = req.params;
|
|
10
|
+
const cacheKey = `store:content-item:${itemSlug}`;
|
|
11
|
+
const cached = await caching.get({ key: cacheKey });
|
|
12
|
+
if (cached) {
|
|
13
|
+
res.json(cached);
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
17
|
+
const { data: [content_item] } = await query.graph({
|
|
18
|
+
entity: 'content_item',
|
|
19
|
+
...req.queryConfig,
|
|
20
|
+
filters: { slug: itemSlug, status: content_item_1.ContentStatus.PUBLISHED }
|
|
21
|
+
});
|
|
22
|
+
if (!content_item) {
|
|
23
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_FOUND, `Content item "${itemSlug}" not found`);
|
|
24
|
+
}
|
|
25
|
+
const body = { content_item };
|
|
26
|
+
await caching.set({ key: cacheKey, data: body, ttl: TTL });
|
|
27
|
+
res.json(body);
|
|
28
|
+
};
|
|
29
|
+
exports.GET = GET;
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2NvbnRlbnQvW3NsdWddL2l0ZW1zL1tpdGVtU2x1Z10vcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EscURBQTJGO0FBRTNGLHFGQUFrRjtBQUdsRixNQUFNLEdBQUcsR0FBRyxHQUFHLENBQUEsQ0FBQyxZQUFZO0FBRXJCLE1BQU0sR0FBRyxHQUFHLEtBQUssRUFDdkIsR0FBMkMsRUFDM0MsR0FBbUIsRUFDbEIsRUFBRTtJQUNILE1BQU0sT0FBTyxHQUEwQixHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxlQUFPLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDekUsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUE7SUFFL0IsTUFBTSxRQUFRLEdBQUcsc0JBQXNCLFFBQVEsRUFBRSxDQUFBO0lBQ2pELE1BQU0sTUFBTSxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFBO0lBQ25ELElBQUksTUFBTSxFQUFFLENBQUM7UUFDWixHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQ2hCLE9BQU07SUFDUCxDQUFDO0lBRUQsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDaEUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLFlBQVksQ0FBQyxFQUFFLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQ2xELE1BQU0sRUFBRSxjQUFjO1FBQ3RCLEdBQUcsR0FBRyxDQUFDLFdBQVc7UUFDbEIsT0FBTyxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsNEJBQWEsQ0FBQyxTQUFTLEVBQUU7S0FDNUQsQ0FBQyxDQUFBO0lBRUYsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ25CLE1BQU0sSUFBSSxtQkFBVyxDQUFDLG1CQUFXLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxpQkFBaUIsUUFBUSxhQUFhLENBQUMsQ0FBQTtJQUMzRixDQUFDO0lBRUQsTUFBTSxJQUFJLEdBQUcsRUFBRSxZQUFZLEVBQUUsQ0FBQTtJQUM3QixNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxJQUF5QixFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFBO0lBQy9FLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7QUFDZixDQUFDLENBQUE7QUE1QlksUUFBQSxHQUFHLE9BNEJmIn0=
|
|
@@ -0,0 +1,38 @@
|
|
|
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 content_item_1 = require("../../../../modules/content/models/content-item");
|
|
6
|
+
const TTL = 300; // 5 minutes
|
|
7
|
+
const GET = async (req, res) => {
|
|
8
|
+
const caching = req.scope.resolve(utils_1.Modules.CACHING);
|
|
9
|
+
const { slug } = req.params;
|
|
10
|
+
const { tag, q, limit, offset } = req.validatedQuery;
|
|
11
|
+
const cacheKey = `store:content-items:${slug}:${tag ?? ''}:${q ?? ''}:${limit}:${offset}`;
|
|
12
|
+
const cached = await caching.get({ key: cacheKey });
|
|
13
|
+
if (cached) {
|
|
14
|
+
res.json(cached);
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
18
|
+
const { data: content_items, metadata } = await query.graph({
|
|
19
|
+
entity: 'content_item',
|
|
20
|
+
...req.queryConfig,
|
|
21
|
+
filters: {
|
|
22
|
+
status: content_item_1.ContentStatus.PUBLISHED,
|
|
23
|
+
content_collection: { slug },
|
|
24
|
+
...(tag ? { tags: { value: tag } } : {}),
|
|
25
|
+
...(q ? { title: { $ilike: `%${q}%` } } : {})
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
const body = {
|
|
29
|
+
content_items,
|
|
30
|
+
count: metadata?.count,
|
|
31
|
+
limit: metadata?.take,
|
|
32
|
+
offset: metadata?.skip
|
|
33
|
+
};
|
|
34
|
+
await caching.set({ key: cacheKey, data: body, ttl: TTL });
|
|
35
|
+
res.json(body);
|
|
36
|
+
};
|
|
37
|
+
exports.GET = GET;
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2NvbnRlbnQvW3NsdWddL2l0ZW1zL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHFEQUE4RTtBQUU5RSxrRkFBK0U7QUFHL0UsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFBLENBQUMsWUFBWTtBQUVyQixNQUFNLEdBQUcsR0FBRyxLQUFLLEVBQ3ZCLEdBQTRDLEVBQzVDLEdBQW1CLEVBQ2xCLEVBQUU7SUFDSCxNQUFNLE9BQU8sR0FBMEIsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsZUFBTyxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQ3pFLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFBO0lBQzNCLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsR0FBRyxHQUFHLENBQUMsY0FBYyxDQUFBO0lBRXBELE1BQU0sUUFBUSxHQUFHLHVCQUF1QixJQUFJLElBQUksR0FBRyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEtBQUssSUFBSSxNQUFNLEVBQUUsQ0FBQTtJQUN6RixNQUFNLE1BQU0sR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQTtJQUNuRCxJQUFJLE1BQU0sRUFBRSxDQUFDO1FBQ1osR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUNoQixPQUFNO0lBQ1AsQ0FBQztJQUVELE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ2hFLE1BQU0sRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztRQUMzRCxNQUFNLEVBQUUsY0FBYztRQUN0QixHQUFHLEdBQUcsQ0FBQyxXQUFXO1FBQ2xCLE9BQU8sRUFBRTtZQUNSLE1BQU0sRUFBRSw0QkFBYSxDQUFDLFNBQVM7WUFDL0Isa0JBQWtCLEVBQUUsRUFBRSxJQUFJLEVBQUU7WUFDNUIsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3hDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7U0FDN0M7S0FDRCxDQUFDLENBQUE7SUFFRixNQUFNLElBQUksR0FBRztRQUNaLGFBQWE7UUFDYixLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUs7UUFDdEIsS0FBSyxFQUFFLFFBQVEsRUFBRSxJQUFJO1FBQ3JCLE1BQU0sRUFBRSxRQUFRLEVBQUUsSUFBSTtLQUN0QixDQUFBO0lBRUQsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsSUFBeUIsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQTtJQUMvRSxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO0FBQ2YsQ0FBQyxDQUFBO0FBcENZLFFBQUEsR0FBRyxPQW9DZiJ9
|
|
@@ -0,0 +1,29 @@
|
|
|
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 TTL = 300; // 5 minutes
|
|
6
|
+
const GET = async (req, res) => {
|
|
7
|
+
const caching = req.scope.resolve(utils_1.Modules.CACHING);
|
|
8
|
+
const { slug } = req.params;
|
|
9
|
+
const cacheKey = `store:content-collection:${slug}`;
|
|
10
|
+
const cached = await caching.get({ key: cacheKey });
|
|
11
|
+
if (cached) {
|
|
12
|
+
res.json(cached);
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
16
|
+
const { data: [content_collection] } = await query.graph({
|
|
17
|
+
entity: 'content_collection',
|
|
18
|
+
...req.queryConfig,
|
|
19
|
+
filters: { slug }
|
|
20
|
+
});
|
|
21
|
+
if (!content_collection) {
|
|
22
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_FOUND, `Content collection "${slug}" not found`);
|
|
23
|
+
}
|
|
24
|
+
const body = { content_collection };
|
|
25
|
+
await caching.set({ key: cacheKey, data: body, ttl: TTL });
|
|
26
|
+
res.json(body);
|
|
27
|
+
};
|
|
28
|
+
exports.GET = GET;
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2NvbnRlbnQvW3NsdWddL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHFEQUEyRjtBQUkzRixNQUFNLEdBQUcsR0FBRyxHQUFHLENBQUEsQ0FBQyxZQUFZO0FBRXJCLE1BQU0sR0FBRyxHQUFHLEtBQUssRUFDdkIsR0FBaUQsRUFDakQsR0FBbUIsRUFDbEIsRUFBRTtJQUNILE1BQU0sT0FBTyxHQUEwQixHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxlQUFPLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDekUsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUE7SUFFM0IsTUFBTSxRQUFRLEdBQUcsNEJBQTRCLElBQUksRUFBRSxDQUFBO0lBQ25ELE1BQU0sTUFBTSxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFBO0lBQ25ELElBQUksTUFBTSxFQUFFLENBQUM7UUFDWixHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQ2hCLE9BQU07SUFDUCxDQUFDO0lBRUQsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDaEUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDeEQsTUFBTSxFQUFFLG9CQUFvQjtRQUM1QixHQUFHLEdBQUcsQ0FBQyxXQUFXO1FBQ2xCLE9BQU8sRUFBRSxFQUFFLElBQUksRUFBRTtLQUNqQixDQUFDLENBQUE7SUFFRixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUN6QixNQUFNLElBQUksbUJBQVcsQ0FBQyxtQkFBVyxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsdUJBQXVCLElBQUksYUFBYSxDQUFDLENBQUE7SUFDN0YsQ0FBQztJQUVELE1BQU0sSUFBSSxHQUFHLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQTtJQUNuQyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxJQUF5QixFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFBO0lBQy9FLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7QUFDZixDQUFDLENBQUE7QUE1QlksUUFBQSxHQUFHLE9BNEJmIn0=
|
|
@@ -0,0 +1,33 @@
|
|
|
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 TTL = 300; // 5 minutes
|
|
6
|
+
const GET = async (req, res) => {
|
|
7
|
+
const caching = req.scope.resolve(utils_1.Modules.CACHING);
|
|
8
|
+
const { q } = req.validatedQuery;
|
|
9
|
+
const cacheKey = `store:content-collections:${q ?? 'all'}`;
|
|
10
|
+
const cached = await caching.get({ key: cacheKey });
|
|
11
|
+
if (cached) {
|
|
12
|
+
res.json(cached);
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
16
|
+
const { data: content_collections, metadata } = await query.graph({
|
|
17
|
+
entity: 'content_collection',
|
|
18
|
+
...req.queryConfig,
|
|
19
|
+
filters: {
|
|
20
|
+
...(q ? { label: { $ilike: `%${q}%` } } : {})
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
const body = {
|
|
24
|
+
content_collections,
|
|
25
|
+
count: metadata?.count,
|
|
26
|
+
limit: metadata?.take,
|
|
27
|
+
offset: metadata?.skip
|
|
28
|
+
};
|
|
29
|
+
await caching.set({ key: cacheKey, data: body, ttl: TTL });
|
|
30
|
+
res.json(body);
|
|
31
|
+
};
|
|
32
|
+
exports.GET = GET;
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2NvbnRlbnQvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EscURBQThFO0FBSTlFLE1BQU0sR0FBRyxHQUFHLEdBQUcsQ0FBQSxDQUFDLFlBQVk7QUFFckIsTUFBTSxHQUFHLEdBQUcsS0FBSyxFQUN2QixHQUFrRCxFQUNsRCxHQUFtQixFQUNsQixFQUFFO0lBQ0gsTUFBTSxPQUFPLEdBQTBCLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGVBQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUN6RSxNQUFNLEVBQUUsQ0FBQyxFQUFFLEdBQUcsR0FBRyxDQUFDLGNBQWMsQ0FBQTtJQUVoQyxNQUFNLFFBQVEsR0FBRyw2QkFBNkIsQ0FBQyxJQUFJLEtBQUssRUFBRSxDQUFBO0lBQzFELE1BQU0sTUFBTSxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFBO0lBQ25ELElBQUksTUFBTSxFQUFFLENBQUM7UUFDWixHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQ2hCLE9BQU07SUFDUCxDQUFDO0lBRUQsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDaEUsTUFBTSxFQUFFLElBQUksRUFBRSxtQkFBbUIsRUFBRSxRQUFRLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDakUsTUFBTSxFQUFFLG9CQUFvQjtRQUM1QixHQUFHLEdBQUcsQ0FBQyxXQUFXO1FBQ2xCLE9BQU8sRUFBRTtZQUNSLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7U0FDN0M7S0FDRCxDQUFDLENBQUE7SUFFRixNQUFNLElBQUksR0FBRztRQUNaLG1CQUFtQjtRQUNuQixLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUs7UUFDdEIsS0FBSyxFQUFFLFFBQVEsRUFBRSxJQUFJO1FBQ3JCLE1BQU0sRUFBRSxRQUFRLEVBQUUsSUFBSTtLQUN0QixDQUFBO0lBRUQsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsSUFBeUIsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQTtJQUMvRSxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO0FBQ2YsQ0FBQyxDQUFBO0FBaENZLFFBQUEsR0FBRyxPQWdDZiJ9
|