@primershop/strapi-plugin-product-actions 0.0.4 → 0.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/admin/index.js +260 -7
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/index.mjs +256 -3
- package/dist/admin/index.mjs.map +1 -1
- package/dist/server/index.js +1 -4
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs +1 -1
- package/dist/server/index.mjs.map +1 -1
- package/package.json +3 -2
- package/dist/admin/components/Initializer/index.js +0 -17
- package/dist/admin/components/Initializer/index.js.map +0 -1
- package/dist/admin/components/Initializer/index.mjs +0 -15
- package/dist/admin/components/Initializer/index.mjs.map +0 -1
- package/dist/admin/components/SeriesProductActions/index.js +0 -229
- package/dist/admin/components/SeriesProductActions/index.js.map +0 -1
- package/dist/admin/components/SeriesProductActions/index.mjs +0 -227
- package/dist/admin/components/SeriesProductActions/index.mjs.map +0 -1
- package/dist/admin/pluginId.js +0 -6
- package/dist/admin/pluginId.js.map +0 -1
- package/dist/admin/pluginId.mjs +0 -4
- package/dist/admin/pluginId.mjs.map +0 -1
- package/dist/admin/src/components/Initializer/index.js +0 -13
- package/dist/admin/src/components/SeriesProductActions/index.js +0 -84
- package/dist/admin/src/index.js +0 -22
- package/dist/admin/src/pluginId.js +0 -1
- package/dist/admin/src/translations/en.js +0 -21
- package/dist/admin/src/translations/index.js +0 -1
- package/dist/admin/translations/en.js +0 -25
- package/dist/admin/translations/en.js.map +0 -1
- package/dist/admin/translations/en.mjs +0 -23
- package/dist/admin/translations/en.mjs.map +0 -1
- package/dist/server/src/bootstrap.js +0 -16
- package/dist/server/src/controllers/index.js +0 -10
- package/dist/server/src/controllers/product-series.js +0 -31
- package/dist/server/src/index.js +0 -20
- package/dist/server/src/permissions.js +0 -42
- package/dist/server/src/pluginId.js +0 -4
- package/dist/server/src/register.js +0 -14
- package/dist/server/src/routes/admin.js +0 -37
- package/dist/server/src/routes/index.js +0 -9
- package/dist/server/src/services/index.js +0 -7
- package/dist/server/src/services/product-series.js +0 -116
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.register = void 0;
|
|
4
|
-
const pluginId_1 = require("./pluginId");
|
|
5
|
-
const register = ({ strapi }) => {
|
|
6
|
-
// Register permissions
|
|
7
|
-
strapi.admin.services.permission.actionProvider.register({
|
|
8
|
-
section: "plugins",
|
|
9
|
-
displayName: "Product Actions",
|
|
10
|
-
uid: pluginId_1.PLUGIN_ID,
|
|
11
|
-
pluginName: pluginId_1.PLUGIN_ID,
|
|
12
|
-
});
|
|
13
|
-
};
|
|
14
|
-
exports.register = register;
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.default = {
|
|
4
|
-
type: "admin",
|
|
5
|
-
routes: [
|
|
6
|
-
{
|
|
7
|
-
method: "POST",
|
|
8
|
-
path: "/create-products",
|
|
9
|
-
handler: "productSeries.createProducts",
|
|
10
|
-
config: {
|
|
11
|
-
policies: [
|
|
12
|
-
{
|
|
13
|
-
name: "admin::hasPermissions",
|
|
14
|
-
config: {
|
|
15
|
-
actions: ["plugin::primer-product-actions.product-series.create"],
|
|
16
|
-
},
|
|
17
|
-
},
|
|
18
|
-
],
|
|
19
|
-
},
|
|
20
|
-
},
|
|
21
|
-
{
|
|
22
|
-
method: "PUT",
|
|
23
|
-
path: "/update-products",
|
|
24
|
-
handler: "productSeries.updateProducts",
|
|
25
|
-
config: {
|
|
26
|
-
policies: [
|
|
27
|
-
{
|
|
28
|
-
name: "admin::hasPermissions",
|
|
29
|
-
config: {
|
|
30
|
-
actions: ["plugin::primer-product-actions.product-series.update"],
|
|
31
|
-
},
|
|
32
|
-
},
|
|
33
|
-
],
|
|
34
|
-
},
|
|
35
|
-
},
|
|
36
|
-
],
|
|
37
|
-
};
|
|
@@ -1,9 +0,0 @@
|
|
|
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.routes = void 0;
|
|
7
|
-
const admin_1 = __importDefault(require("./admin"));
|
|
8
|
-
const routes = { admin: admin_1.default };
|
|
9
|
-
exports.routes = routes;
|
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.productSeriesService = void 0;
|
|
4
|
-
const productSeriesService = ({ strapi }) => ({
|
|
5
|
-
async createProductsFromSeries(seriesId, count = 1) {
|
|
6
|
-
var _a, _b;
|
|
7
|
-
const series = await getSeries(strapi, seriesId);
|
|
8
|
-
const products = [];
|
|
9
|
-
const startIndex = ((_a = series.products) === null || _a === void 0 ? void 0 : _a.length) || 0;
|
|
10
|
-
for (let i = 0; i < count; i++) {
|
|
11
|
-
const index = startIndex + i;
|
|
12
|
-
// Create product with series data
|
|
13
|
-
const product = await strapi.documents("api::product.product").create({
|
|
14
|
-
data: {
|
|
15
|
-
name: `${series.name} #${index + 1}`,
|
|
16
|
-
slug: `${series.slug}-${index + 1}`,
|
|
17
|
-
series: {
|
|
18
|
-
set: seriesId,
|
|
19
|
-
},
|
|
20
|
-
seriesIndex: index,
|
|
21
|
-
category: series.category
|
|
22
|
-
? {
|
|
23
|
-
set: series.category.documentId,
|
|
24
|
-
}
|
|
25
|
-
: null,
|
|
26
|
-
creator: series.creator
|
|
27
|
-
? {
|
|
28
|
-
set: (_b = series.creator) === null || _b === void 0 ? void 0 : _b.documentId,
|
|
29
|
-
}
|
|
30
|
-
: null,
|
|
31
|
-
publishedAt: undefined,
|
|
32
|
-
// Copy all required fields from series
|
|
33
|
-
description: series.description,
|
|
34
|
-
shortDescription: series.shortDescription,
|
|
35
|
-
media: series.media,
|
|
36
|
-
coverImage: series.coverImage,
|
|
37
|
-
seo: series.seo,
|
|
38
|
-
totalCost: series.totalCost,
|
|
39
|
-
wholesalePrice: series.wholesalePrice,
|
|
40
|
-
retailPrice: series.retailPrice,
|
|
41
|
-
},
|
|
42
|
-
});
|
|
43
|
-
products.push(product);
|
|
44
|
-
}
|
|
45
|
-
return products;
|
|
46
|
-
},
|
|
47
|
-
async updateSeriesProducts(seriesId, fieldsToUpdate) {
|
|
48
|
-
var _a, _b, _c;
|
|
49
|
-
const series = await getSeries(strapi, seriesId);
|
|
50
|
-
const dataToUpdate = {};
|
|
51
|
-
if (fieldsToUpdate.includes("description")) {
|
|
52
|
-
dataToUpdate.description = series.description;
|
|
53
|
-
}
|
|
54
|
-
if (fieldsToUpdate.includes("shortDescription")) {
|
|
55
|
-
dataToUpdate.shortDescription = series.shortDescription;
|
|
56
|
-
}
|
|
57
|
-
if (fieldsToUpdate.includes("media")) {
|
|
58
|
-
dataToUpdate.media = series.media;
|
|
59
|
-
}
|
|
60
|
-
if (fieldsToUpdate.includes("coverImage")) {
|
|
61
|
-
dataToUpdate.coverImage = series.coverImage;
|
|
62
|
-
}
|
|
63
|
-
if (fieldsToUpdate.includes("seo")) {
|
|
64
|
-
dataToUpdate.seo = series.seo;
|
|
65
|
-
}
|
|
66
|
-
if (fieldsToUpdate.includes("totalCost")) {
|
|
67
|
-
dataToUpdate.totalCost = series.totalCost;
|
|
68
|
-
}
|
|
69
|
-
if (fieldsToUpdate.includes("wholesalePrice")) {
|
|
70
|
-
dataToUpdate.wholesalePrice = series.wholesalePrice;
|
|
71
|
-
}
|
|
72
|
-
if (fieldsToUpdate.includes("retailPrice")) {
|
|
73
|
-
dataToUpdate.retailPrice = series.retailPrice;
|
|
74
|
-
}
|
|
75
|
-
if (fieldsToUpdate.includes("category")) {
|
|
76
|
-
dataToUpdate.category = {
|
|
77
|
-
set: [(_a = series.category) === null || _a === void 0 ? void 0 : _a.documentId],
|
|
78
|
-
};
|
|
79
|
-
}
|
|
80
|
-
if (fieldsToUpdate.includes("creator")) {
|
|
81
|
-
dataToUpdate.creator = {
|
|
82
|
-
set: [(_b = series.creator) === null || _b === void 0 ? void 0 : _b.documentId],
|
|
83
|
-
};
|
|
84
|
-
}
|
|
85
|
-
const updatePromises = (_c = series.products) === null || _c === void 0 ? void 0 : _c.map((product) => strapi.documents("api::product.product").update({
|
|
86
|
-
documentId: product.documentId,
|
|
87
|
-
data: {
|
|
88
|
-
...dataToUpdate,
|
|
89
|
-
},
|
|
90
|
-
}));
|
|
91
|
-
if (updatePromises) {
|
|
92
|
-
await Promise.all(updatePromises);
|
|
93
|
-
}
|
|
94
|
-
return true;
|
|
95
|
-
},
|
|
96
|
-
});
|
|
97
|
-
exports.productSeriesService = productSeriesService;
|
|
98
|
-
async function getSeries(strapi, seriesId) {
|
|
99
|
-
const series = await strapi
|
|
100
|
-
.documents("api::product-series.product-series")
|
|
101
|
-
.findOne({
|
|
102
|
-
documentId: seriesId,
|
|
103
|
-
populate: [
|
|
104
|
-
"products",
|
|
105
|
-
"category",
|
|
106
|
-
"creator",
|
|
107
|
-
"media",
|
|
108
|
-
"coverImage",
|
|
109
|
-
"seo",
|
|
110
|
-
],
|
|
111
|
-
});
|
|
112
|
-
if (!series) {
|
|
113
|
-
throw new Error("Series not found");
|
|
114
|
-
}
|
|
115
|
-
return series;
|
|
116
|
-
}
|