@lodashventure/medusa-collection-thumbnail 1.1.1 → 1.1.4

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.
@@ -1,4 +1,8 @@
1
1
  import { MedusaRequest, MedusaResponse } from "@medusajs/framework/http";
2
+ type MedusaRequestWithFile<TBody = unknown> = MedusaRequest<TBody> & {
3
+ file?: Express.Multer.File;
4
+ };
2
5
  export declare const GET: (req: MedusaRequest, res: MedusaResponse) => Promise<MedusaResponse>;
3
- export declare const POST: (req: MedusaRequest, res: MedusaResponse) => Promise<MedusaResponse>;
6
+ export declare const POST: (req: MedusaRequestWithFile, res: MedusaResponse) => Promise<MedusaResponse>;
4
7
  export declare const DELETE: (req: MedusaRequest, res: MedusaResponse) => Promise<MedusaResponse>;
8
+ export {};
@@ -2,52 +2,96 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DELETE = exports.POST = exports.GET = void 0;
4
4
  const utils_1 = require("@medusajs/framework/utils");
5
+ const collection_1 = require("../../../../../modules/collection");
5
6
  const upload_collection_thumbnail_1 = require("../../../../../workflows/upload-collection-thumbnail");
6
7
  const gcs_direct_upload_1 = require("../../../../../services/gcs-direct-upload");
8
+ const resolveLogger = (req) => {
9
+ try {
10
+ return req.scope.resolve(utils_1.ContainerRegistrationKeys.LOGGER);
11
+ }
12
+ catch {
13
+ return console;
14
+ }
15
+ };
16
+ const normalizeCustomRecord = (record) => {
17
+ if (!record) {
18
+ return undefined;
19
+ }
20
+ if (Array.isArray(record)) {
21
+ for (const entry of record) {
22
+ const normalized = normalizeCustomRecord(entry);
23
+ if (normalized) {
24
+ return normalized;
25
+ }
26
+ }
27
+ return undefined;
28
+ }
29
+ if (typeof record === "object") {
30
+ return record;
31
+ }
32
+ return undefined;
33
+ };
7
34
  const GET = async (req, res) => {
8
35
  const { id } = req.params;
9
- const collectionCustomService = req.scope.resolve("collectionCustom");
36
+ const logger = resolveLogger(req);
10
37
  try {
11
- const customData = await collectionCustomService
12
- .listProductCollectionCustoms({ collection_id: id })
13
- .then((result) => result[0]);
38
+ const collectionCustomService = req.scope.resolve(collection_1.COLLECTION_MODULE);
39
+ const customRecords = await collectionCustomService.listProductCollectionCustoms({
40
+ collection_id: id,
41
+ });
42
+ const customData = normalizeCustomRecord(customRecords);
43
+ res.setHeader("Content-Type", "application/json; charset=utf-8");
14
44
  return res.json({
15
- thumbnail: customData?.thumbnail || null,
45
+ thumbnail: customData?.thumbnail ?? null,
16
46
  });
17
47
  }
18
48
  catch (error) {
19
- console.error("Error fetching thumbnail:", error);
49
+ const err = error;
50
+ logger.error("Error fetching collection thumbnail:", err);
51
+ if (err?.name === "AwilixResolutionError") {
52
+ return res.status(500).json({
53
+ error: "Collection thumbnail module is not registered",
54
+ });
55
+ }
20
56
  return res.status(500).json({ error: "Failed to fetch thumbnail" });
21
57
  }
22
58
  };
23
59
  exports.GET = GET;
24
60
  const POST = async (req, res) => {
25
61
  const { id } = req.params;
26
- const productModuleService = req.scope.resolve(utils_1.Modules.PRODUCT);
27
- const logger = req.scope.resolve(utils_1.ContainerRegistrationKeys.LOGGER);
62
+ const logger = resolveLogger(req);
28
63
  try {
64
+ const productModuleService = req.scope.resolve(utils_1.Modules.PRODUCT);
29
65
  const collection = await productModuleService.retrieveProductCollection(id);
30
66
  if (!collection) {
31
67
  return res.status(404).json({ error: "Collection not found" });
32
68
  }
33
- const file = req.file;
34
- if (!file) {
35
- return res.status(400).json({ error: "No file uploaded" });
69
+ const payload = prepareFilePayload(req);
70
+ if (!isFilePayloadSuccess(payload)) {
71
+ const failurePayload = payload;
72
+ return res
73
+ .status(failurePayload.status)
74
+ .json({ error: failurePayload.error });
36
75
  }
37
- const result = await (0, upload_collection_thumbnail_1.uploadCollectionThumbnailWorkflow)(req.scope).run({
76
+ const { filename, mimeType, base64 } = payload.data;
77
+ const { result: workflowResult } = await (0, upload_collection_thumbnail_1.uploadCollectionThumbnailWorkflow)(req.scope).run({
38
78
  input: {
39
79
  collectionId: id,
40
80
  fileData: {
41
- filename: file.originalname,
42
- mimeType: file.mimetype,
43
- content: file.buffer.toString("base64"),
81
+ filename,
82
+ mimeType,
83
+ content: base64,
44
84
  },
45
85
  },
46
86
  });
87
+ if (!workflowResult?.thumbnailUrl) {
88
+ throw new Error("Thumbnail URL missing from workflow result");
89
+ }
90
+ res.setHeader("Content-Type", "application/json; charset=utf-8");
47
91
  return res.json({
48
92
  collection: {
49
93
  id,
50
- thumbnail: result.result.thumbnailUrl,
94
+ thumbnail: workflowResult.thumbnailUrl,
51
95
  },
52
96
  });
53
97
  }
@@ -59,45 +103,109 @@ const POST = async (req, res) => {
59
103
  exports.POST = POST;
60
104
  const DELETE = async (req, res) => {
61
105
  const { id } = req.params;
62
- const collectionCustomService = req.scope.resolve("collectionCustom");
63
- const logger = req.scope.resolve(utils_1.ContainerRegistrationKeys.LOGGER);
64
106
  const gcsUploadService = new gcs_direct_upload_1.GcsDirectUploadService();
107
+ const logger = resolveLogger(req);
65
108
  try {
66
- const existingCustom = await collectionCustomService
67
- .listProductCollectionCustoms({ collection_id: id })
68
- .then((result) => result[0]);
69
- if (!existingCustom || !existingCustom.thumbnail) {
70
- return res.status(404).json({ error: "No thumbnail found for this collection" });
109
+ const collectionCustomService = req.scope.resolve(collection_1.COLLECTION_MODULE);
110
+ const customRecords = await collectionCustomService.listProductCollectionCustoms({
111
+ collection_id: id,
112
+ });
113
+ const existingCustom = normalizeCustomRecord(customRecords);
114
+ if (!existingCustom?.thumbnail) {
115
+ return res
116
+ .status(404)
117
+ .json({ error: "No thumbnail found for this collection" });
71
118
  }
72
119
  // Delete the file from GCS
73
- if (existingCustom.thumbnail) {
74
- try {
75
- const url = existingCustom.thumbnail;
76
- const isGcsUrl = url.includes("storage.googleapis.com") ||
77
- url.includes("storage.cloud.google.com");
78
- if (isGcsUrl) {
79
- const parts = url.split('/');
80
- const bucketIndex = parts.indexOf('sangaroon');
81
- if (bucketIndex !== -1 && bucketIndex < parts.length - 1) {
82
- const filename = parts.slice(bucketIndex + 1).join('/');
83
- await gcsUploadService.deleteFile(filename);
84
- }
120
+ try {
121
+ const url = existingCustom.thumbnail;
122
+ const isGcsUrl = url.includes("storage.googleapis.com") ||
123
+ url.includes("storage.cloud.google.com");
124
+ if (isGcsUrl) {
125
+ const parts = url.split("/");
126
+ const bucketIndex = parts.indexOf("sangaroon");
127
+ if (bucketIndex !== -1 && bucketIndex < parts.length - 1) {
128
+ const filename = parts.slice(bucketIndex + 1).join("/");
129
+ await gcsUploadService.deleteFile(filename);
85
130
  }
86
131
  }
87
- catch (deleteError) {
88
- logger.error("Error deleting file from GCS:", deleteError);
89
- // Continue even if file deletion fails
90
- }
91
132
  }
92
- await collectionCustomService.updateProductCollectionCustoms([{ id: existingCustom.id, thumbnail: null }]);
133
+ catch (deleteError) {
134
+ logger.error("Error deleting file from GCS:", deleteError);
135
+ // Continue even if file deletion fails
136
+ }
137
+ await collectionCustomService.updateProductCollectionCustoms([
138
+ { id: existingCustom.id, thumbnail: null },
139
+ ]);
140
+ res.setHeader("Content-Type", "application/json; charset=utf-8");
93
141
  return res.json({
94
142
  message: "Thumbnail deleted successfully",
95
143
  });
96
144
  }
97
145
  catch (error) {
98
- logger.error("Error deleting collection thumbnail:", error);
146
+ const err = error;
147
+ logger.error("Error deleting collection thumbnail:", err);
148
+ if (err?.name === "AwilixResolutionError") {
149
+ return res.status(500).json({
150
+ error: "Collection thumbnail module is not registered",
151
+ });
152
+ }
99
153
  return res.status(500).json({ error: "Failed to delete thumbnail" });
100
154
  }
101
155
  };
102
156
  exports.DELETE = DELETE;
103
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2NvbGxlY3Rpb25zL1tpZF0vdGh1bWJuYWlsL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUlBLHFEQUErRTtBQUUvRSxzR0FBeUc7QUFDekcsaUZBQW1GO0FBRTVFLE1BQU0sR0FBRyxHQUFHLEtBQUssRUFDdEIsR0FBa0IsRUFDbEIsR0FBbUIsRUFDbkIsRUFBRTtJQUNGLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDO0lBQzFCLE1BQU0sdUJBQXVCLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQVEsQ0FBQztJQUU3RSxJQUFJLENBQUM7UUFDSCxNQUFNLFVBQVUsR0FBRyxNQUFNLHVCQUF1QjthQUM3Qyw0QkFBNEIsQ0FBQyxFQUFFLGFBQWEsRUFBRSxFQUFFLEVBQUUsQ0FBQzthQUNuRCxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRS9CLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQztZQUNkLFNBQVMsRUFBRSxVQUFVLEVBQUUsU0FBUyxJQUFJLElBQUk7U0FDekMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixPQUFPLENBQUMsS0FBSyxDQUFDLDJCQUEyQixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2xELE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsMkJBQTJCLEVBQUUsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7QUFDSCxDQUFDLENBQUM7QUFuQlcsUUFBQSxHQUFHLE9BbUJkO0FBRUssTUFBTSxJQUFJLEdBQUcsS0FBSyxFQUN2QixHQUFrQixFQUNs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
157
+ const isFilePayloadSuccess = (payload) => payload.success === true;
158
+ const prepareFilePayload = (req) => {
159
+ if (req.file) {
160
+ return {
161
+ success: true,
162
+ data: {
163
+ filename: req.file.originalname,
164
+ mimeType: req.file.mimetype,
165
+ base64: req.file.buffer.toString("base64"),
166
+ },
167
+ };
168
+ }
169
+ const body = req.body;
170
+ if (!body || typeof body !== "object") {
171
+ return {
172
+ success: false,
173
+ status: 400,
174
+ error: "Invalid payload",
175
+ };
176
+ }
177
+ const { filename, mimeType, content } = body;
178
+ if (!filename || !mimeType || !content) {
179
+ return {
180
+ success: false,
181
+ status: 400,
182
+ error: "Missing file data",
183
+ };
184
+ }
185
+ try {
186
+ const buffer = Buffer.from(content, "base64");
187
+ if (!buffer.length) {
188
+ return {
189
+ success: false,
190
+ status: 400,
191
+ error: "Invalid file content",
192
+ };
193
+ }
194
+ return {
195
+ success: true,
196
+ data: {
197
+ filename,
198
+ mimeType,
199
+ base64: content,
200
+ },
201
+ };
202
+ }
203
+ catch {
204
+ return {
205
+ success: false,
206
+ status: 400,
207
+ error: "Failed to decode file",
208
+ };
209
+ }
210
+ };
211
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2NvbGxlY3Rpb25zL1tpZF0vdGh1bWJuYWlsL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHFEQUErRTtBQUcvRSxrRUFBc0U7QUFDdEUsc0dBQXlHO0FBQ3pHLGlGQUFtRjtBQVVuRixNQUFNLGFBQWEsR0FBRyxDQUFDLEdBQWtCLEVBQWMsRUFBRTtJQUN2RCxJQUFJLENBQUM7UUFDSCxPQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFBQyxNQUFNLENBQUM7UUFDUCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0FBQ0gsQ0FBQyxDQUFDO0FBRUYsTUFBTSxxQkFBcUIsR0FBRyxDQUM1QixNQUFlLEVBQ3lDLEVBQUU7SUFDMUQsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1osT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQzFCLEtBQUssTUFBTSxLQUFLLElBQUksTUFBTSxFQUFFLENBQUM7WUFDM0IsTUFBTSxVQUFVLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDaEQsSUFBSSxVQUFVLEVBQUUsQ0FBQztnQkFDZixPQUFPLFVBQVUsQ0FBQztZQUNwQixDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCxJQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQy9CLE9BQU8sTUFBb0QsQ0FBQztJQUM5RCxDQUFDO0lBRUQsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQyxDQUFDO0FBRUssTUFBTSxHQUFHLEdBQUcsS0FBSyxFQUFFLEdBQWtCLEVBQUUs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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lodashventure/medusa-collection-thumbnail",
3
- "version": "1.1.1",
3
+ "version": "1.1.4",
4
4
  "description": "Collection thumbnail management plugin for Medusa v2",
5
5
  "author": "Lodashventure",
6
6
  "license": "MIT",
@@ -16,11 +16,11 @@
16
16
  ],
17
17
  "exports": {
18
18
  "./package.json": "./package.json",
19
- "./workflows": "./.medusa/server/workflows/index.js",
20
- "./.medusa/server/src/modules/*": "./.medusa/server/modules/*/index.js",
21
- "./modules/*": "./.medusa/server/modules/*/index.js",
19
+ "./workflows": "./.medusa/server/src/workflows/index.js",
20
+ "./.medusa/server/src/modules/*": "./.medusa/server/src/modules/*/index.js",
21
+ "./modules/*": "./.medusa/server/src/modules/*/index.js",
22
22
  "./admin": "./.medusa/server/src/admin/index.mjs",
23
- "./*": "./.medusa/server/*.js"
23
+ "./*": "./.medusa/server/src/*.js"
24
24
  },
25
25
  "repository": {
26
26
  "type": "git",
@@ -36,7 +36,8 @@
36
36
  "@medusajs/admin-sdk": "2.11.2",
37
37
  "@medusajs/framework": "2.11.2",
38
38
  "@medusajs/icons": "2.11.2",
39
- "@medusajs/ui": "*"
39
+ "@medusajs/ui": "*",
40
+ "yalc": "1.0.0-pre.53"
40
41
  },
41
42
  "peerDependencies": {
42
43
  "@medusajs/admin-sdk": "2.11.2",
@@ -52,6 +53,7 @@
52
53
  "@medusajs/cli": "2.11.2",
53
54
  "@medusajs/medusa": "2.11.2",
54
55
  "@medusajs/types": "2.11.2",
56
+ "@swc/core": "^1.5.7",
55
57
  "@types/multer": "^2.0.0",
56
58
  "@types/node": "^20.19.23",
57
59
  "@types/react": "^18.3.2",