@primershop/strapi-plugin-product-actions 0.0.12 → 0.0.14

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.
Files changed (61) hide show
  1. package/dist/admin/index.js +221 -24
  2. package/dist/admin/index.mjs +223 -23
  3. package/dist/server/index.js +242 -17
  4. package/dist/server/index.mjs +245 -17
  5. package/package.json +11 -10
  6. package/dist/admin/components/Initializer/index.js +0 -17
  7. package/dist/admin/components/Initializer/index.js.map +0 -1
  8. package/dist/admin/components/Initializer/index.mjs +0 -15
  9. package/dist/admin/components/Initializer/index.mjs.map +0 -1
  10. package/dist/admin/components/SeriesProductActions/index.js +0 -229
  11. package/dist/admin/components/SeriesProductActions/index.js.map +0 -1
  12. package/dist/admin/components/SeriesProductActions/index.mjs +0 -227
  13. package/dist/admin/components/SeriesProductActions/index.mjs.map +0 -1
  14. package/dist/admin/index.js.map +0 -1
  15. package/dist/admin/index.mjs.map +0 -1
  16. package/dist/admin/pluginId.js +0 -6
  17. package/dist/admin/pluginId.js.map +0 -1
  18. package/dist/admin/pluginId.mjs +0 -4
  19. package/dist/admin/pluginId.mjs.map +0 -1
  20. package/dist/admin/translations/en.js +0 -25
  21. package/dist/admin/translations/en.js.map +0 -1
  22. package/dist/admin/translations/en.mjs +0 -23
  23. package/dist/admin/translations/en.mjs.map +0 -1
  24. package/dist/server/bootstrap.js +0 -16
  25. package/dist/server/bootstrap.js.map +0 -1
  26. package/dist/server/bootstrap.mjs +0 -14
  27. package/dist/server/bootstrap.mjs.map +0 -1
  28. package/dist/server/controllers/index.js +0 -10
  29. package/dist/server/controllers/index.js.map +0 -1
  30. package/dist/server/controllers/index.mjs +0 -8
  31. package/dist/server/controllers/index.mjs.map +0 -1
  32. package/dist/server/controllers/product-series.js +0 -29
  33. package/dist/server/controllers/product-series.js.map +0 -1
  34. package/dist/server/controllers/product-series.mjs +0 -27
  35. package/dist/server/controllers/product-series.mjs.map +0 -1
  36. package/dist/server/index.js.map +0 -1
  37. package/dist/server/index.mjs.map +0 -1
  38. package/dist/server/permissions.js +0 -51
  39. package/dist/server/permissions.js.map +0 -1
  40. package/dist/server/permissions.mjs +0 -49
  41. package/dist/server/permissions.mjs.map +0 -1
  42. package/dist/server/register.js +0 -7
  43. package/dist/server/register.js.map +0 -1
  44. package/dist/server/register.mjs +0 -5
  45. package/dist/server/register.mjs.map +0 -1
  46. package/dist/server/routes/admin.js +0 -44
  47. package/dist/server/routes/admin.js.map +0 -1
  48. package/dist/server/routes/admin.mjs +0 -42
  49. package/dist/server/routes/admin.mjs.map +0 -1
  50. package/dist/server/routes/index.js +0 -10
  51. package/dist/server/routes/index.js.map +0 -1
  52. package/dist/server/routes/index.mjs +0 -8
  53. package/dist/server/routes/index.mjs.map +0 -1
  54. package/dist/server/services/index.js +0 -10
  55. package/dist/server/services/index.js.map +0 -1
  56. package/dist/server/services/index.mjs +0 -8
  57. package/dist/server/services/index.mjs.map +0 -1
  58. package/dist/server/services/product-series.js +0 -113
  59. package/dist/server/services/product-series.js.map +0 -1
  60. package/dist/server/services/product-series.mjs +0 -111
  61. package/dist/server/services/product-series.mjs.map +0 -1
@@ -1,111 +0,0 @@
1
- const productSeriesService = ({ strapi })=>({
2
- async createProductsFromSeries (seriesId, count = 1) {
3
- const series = await getSeries(strapi, seriesId);
4
- const products = [];
5
- const startIndex = series.products?.length || 0;
6
- for(let i = 0; i < count; i++){
7
- const index = startIndex + i;
8
- // Create product with series data
9
- const product = await strapi.documents("api::product.product").create({
10
- data: {
11
- name: `${series.name} #${index + 1}`,
12
- slug: `${series.slug}-${index + 1}`,
13
- series: {
14
- set: seriesId
15
- },
16
- seriesIndex: index,
17
- category: series.category ? {
18
- set: series.category.documentId
19
- } : null,
20
- creator: series.creator ? {
21
- set: series.creator?.documentId
22
- } : null,
23
- publishedAt: undefined,
24
- // Copy all required fields from series
25
- description: series.description,
26
- shortDescription: series.shortDescription,
27
- media: series.media,
28
- coverImage: series.coverImage,
29
- seo: series.seo,
30
- totalCost: series.totalCost,
31
- wholesalePrice: series.wholesalePrice,
32
- retailPrice: series.retailPrice
33
- }
34
- });
35
- products.push(product);
36
- }
37
- return products;
38
- },
39
- async updateSeriesProducts (seriesId, fieldsToUpdate) {
40
- const series = await getSeries(strapi, seriesId);
41
- const dataToUpdate = {};
42
- if (fieldsToUpdate.includes("description")) {
43
- dataToUpdate.description = series.description;
44
- }
45
- if (fieldsToUpdate.includes("shortDescription")) {
46
- dataToUpdate.shortDescription = series.shortDescription;
47
- }
48
- if (fieldsToUpdate.includes("media")) {
49
- dataToUpdate.media = series.media;
50
- }
51
- if (fieldsToUpdate.includes("coverImage")) {
52
- dataToUpdate.coverImage = series.coverImage;
53
- }
54
- if (fieldsToUpdate.includes("seo")) {
55
- dataToUpdate.seo = series.seo;
56
- }
57
- if (fieldsToUpdate.includes("totalCost")) {
58
- dataToUpdate.totalCost = series.totalCost;
59
- }
60
- if (fieldsToUpdate.includes("wholesalePrice")) {
61
- dataToUpdate.wholesalePrice = series.wholesalePrice;
62
- }
63
- if (fieldsToUpdate.includes("retailPrice")) {
64
- dataToUpdate.retailPrice = series.retailPrice;
65
- }
66
- if (fieldsToUpdate.includes("category")) {
67
- dataToUpdate.category = {
68
- set: [
69
- series.category?.documentId
70
- ]
71
- };
72
- }
73
- if (fieldsToUpdate.includes("creator")) {
74
- dataToUpdate.creator = {
75
- set: [
76
- series.creator?.documentId
77
- ]
78
- };
79
- }
80
- const updatePromises = series.products?.map((product)=>strapi.documents("api::product.product").update({
81
- documentId: product.documentId,
82
- data: {
83
- ...dataToUpdate
84
- }
85
- }));
86
- if (updatePromises) {
87
- await Promise.all(updatePromises);
88
- }
89
- return true;
90
- }
91
- });
92
- async function getSeries(strapi, seriesId) {
93
- const series = await strapi.documents("api::product-series.product-series").findOne({
94
- documentId: seriesId,
95
- populate: [
96
- "products",
97
- "category",
98
- "creator",
99
- "media",
100
- "coverImage",
101
- "seo"
102
- ]
103
- });
104
- if (!series) {
105
- throw new Error("Series not found");
106
- }
107
- return series;
108
- }
109
-
110
- export { productSeriesService };
111
- //# sourceMappingURL=product-series.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"product-series.mjs","sources":["../../../server/src/services/product-series.ts"],"sourcesContent":["import type { Core } from \"@strapi/strapi\";\r\n\r\ninterface Series {\r\n name: string;\r\n slug: string;\r\n products?: Array<{ documentId: string }>;\r\n category?: { documentId: string };\r\n creator?: { documentId: string };\r\n description: unknown;\r\n shortDescription: string;\r\n media: unknown;\r\n coverImage: unknown;\r\n seo: unknown;\r\n totalCost: number;\r\n wholesalePrice: number;\r\n retailPrice: number;\r\n}\r\n\r\ninterface ProductData {\r\n name: string;\r\n slug: string;\r\n series: { set: string };\r\n seriesIndex: number;\r\n category: { set: string };\r\n creator: { set: string };\r\n publishedAt: undefined;\r\n description: unknown;\r\n shortDescription: string;\r\n media: unknown;\r\n coverImage: unknown;\r\n seo: unknown;\r\n totalCost: number;\r\n wholesalePrice: number;\r\n retailPrice: number;\r\n}\r\n\r\nexport const productSeriesService = ({ strapi }: { strapi: Core.Strapi }) => ({\r\n async createProductsFromSeries(seriesId: string, count = 1) {\r\n const series = await getSeries(strapi, seriesId);\r\n\r\n const products: unknown[] = [];\r\n const startIndex = series.products?.length || 0;\r\n\r\n for (let i = 0; i < count; i++) {\r\n const index = startIndex + i;\r\n\r\n // Create product with series data\r\n const product = await strapi.documents(\"api::product.product\").create({\r\n data: {\r\n name: `${series.name} #${index + 1}`,\r\n slug: `${series.slug}-${index + 1}`,\r\n series: {\r\n set: seriesId,\r\n },\r\n seriesIndex: index,\r\n category: series.category\r\n ? {\r\n set: series.category.documentId,\r\n }\r\n : null,\r\n creator: series.creator\r\n ? {\r\n set: series.creator?.documentId,\r\n }\r\n : null,\r\n publishedAt: undefined,\r\n // Copy all required fields from series\r\n description: series.description,\r\n shortDescription: series.shortDescription,\r\n media: series.media,\r\n coverImage: series.coverImage,\r\n seo: series.seo,\r\n totalCost: series.totalCost,\r\n wholesalePrice: series.wholesalePrice,\r\n retailPrice: series.retailPrice,\r\n } as ProductData,\r\n });\r\n products.push(product);\r\n }\r\n\r\n return products;\r\n },\r\n\r\n async updateSeriesProducts(seriesId: string, fieldsToUpdate: string[]) {\r\n const series = await getSeries(strapi, seriesId);\r\n\r\n const dataToUpdate: Record<string, unknown> = {};\r\n\r\n if (fieldsToUpdate.includes(\"description\")) {\r\n dataToUpdate.description = series.description;\r\n }\r\n\r\n if (fieldsToUpdate.includes(\"shortDescription\")) {\r\n dataToUpdate.shortDescription = series.shortDescription;\r\n }\r\n\r\n if (fieldsToUpdate.includes(\"media\")) {\r\n dataToUpdate.media = series.media;\r\n }\r\n\r\n if (fieldsToUpdate.includes(\"coverImage\")) {\r\n dataToUpdate.coverImage = series.coverImage;\r\n }\r\n\r\n if (fieldsToUpdate.includes(\"seo\")) {\r\n dataToUpdate.seo = series.seo;\r\n }\r\n\r\n if (fieldsToUpdate.includes(\"totalCost\")) {\r\n dataToUpdate.totalCost = series.totalCost;\r\n }\r\n\r\n if (fieldsToUpdate.includes(\"wholesalePrice\")) {\r\n dataToUpdate.wholesalePrice = series.wholesalePrice;\r\n }\r\n\r\n if (fieldsToUpdate.includes(\"retailPrice\")) {\r\n dataToUpdate.retailPrice = series.retailPrice;\r\n }\r\n\r\n if (fieldsToUpdate.includes(\"category\")) {\r\n dataToUpdate.category = {\r\n set: [series.category?.documentId],\r\n };\r\n }\r\n\r\n if (fieldsToUpdate.includes(\"creator\")) {\r\n dataToUpdate.creator = {\r\n set: [series.creator?.documentId],\r\n };\r\n }\r\n\r\n const updatePromises = series.products?.map((product) =>\r\n strapi.documents(\"api::product.product\").update({\r\n documentId: product.documentId,\r\n data: {\r\n ...dataToUpdate,\r\n },\r\n }),\r\n );\r\n\r\n if (updatePromises) {\r\n await Promise.all(updatePromises);\r\n }\r\n return true;\r\n },\r\n});\r\n\r\nasync function getSeries(\r\n strapi: Core.Strapi,\r\n seriesId: string,\r\n): Promise<Series> {\r\n const series = await strapi\r\n .documents(\"api::product-series.product-series\")\r\n .findOne({\r\n documentId: seriesId,\r\n populate: [\r\n \"products\",\r\n \"category\",\r\n \"creator\",\r\n \"media\",\r\n \"coverImage\",\r\n \"seo\",\r\n ],\r\n });\r\n\r\n if (!series) {\r\n throw new Error(\"Series not found\");\r\n }\r\n return series as unknown as Series;\r\n}\r\n"],"names":["productSeriesService","strapi","createProductsFromSeries","seriesId","count","series","getSeries","products","startIndex","length","i","index","product","documents","create","data","name","slug","set","seriesIndex","category","documentId","creator","publishedAt","undefined","description","shortDescription","media","coverImage","seo","totalCost","wholesalePrice","retailPrice","push","updateSeriesProducts","fieldsToUpdate","dataToUpdate","includes","updatePromises","map","update","Promise","all","findOne","populate","Error"],"mappings":"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"}