medusa-plugin-complaints 0.1.0
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.d.ts +1 -0
- package/.medusa/server/medusa-config.js +23 -0
- package/.medusa/server/src/admin/index.js +8633 -0
- package/.medusa/server/src/admin/index.mjs +8631 -0
- package/.medusa/server/src/api/admin/complaint-stats/products/[id]/route.d.ts +3 -0
- package/.medusa/server/src/api/admin/complaint-stats/products/[id]/route.js +21 -0
- package/.medusa/server/src/api/admin/complaint-stats/recalculate/route.d.ts +2 -0
- package/.medusa/server/src/api/admin/complaint-stats/recalculate/route.js +40 -0
- package/.medusa/server/src/api/admin/complaint-stats/route.d.ts +1 -0
- package/.medusa/server/src/api/admin/complaint-stats/route.js +16 -0
- package/.medusa/server/src/api/admin/complaint-tags/[id]/route.d.ts +5 -0
- package/.medusa/server/src/api/admin/complaint-tags/[id]/route.js +34 -0
- package/.medusa/server/src/api/admin/complaint-tags/route.d.ts +5 -0
- package/.medusa/server/src/api/admin/complaint-tags/route.js +37 -0
- package/.medusa/server/src/api/admin/complaints/[id]/activities/[entryId]/route.d.ts +5 -0
- package/.medusa/server/src/api/admin/complaints/[id]/activities/[entryId]/route.js +35 -0
- package/.medusa/server/src/api/admin/complaints/[id]/activities/route.d.ts +5 -0
- package/.medusa/server/src/api/admin/complaints/[id]/activities/route.js +43 -0
- package/.medusa/server/src/api/admin/complaints/[id]/notes/[noteId]/route.d.ts +4 -0
- package/.medusa/server/src/api/admin/complaints/[id]/notes/[noteId]/route.js +20 -0
- package/.medusa/server/src/api/admin/complaints/[id]/notes/route.d.ts +3 -0
- package/.medusa/server/src/api/admin/complaints/[id]/notes/route.js +12 -0
- package/.medusa/server/src/api/admin/complaints/[id]/route.d.ts +5 -0
- package/.medusa/server/src/api/admin/complaints/[id]/route.js +43 -0
- package/.medusa/server/src/api/admin/complaints/route.d.ts +5 -0
- package/.medusa/server/src/api/admin/complaints/route.js +48 -0
- package/.medusa/server/src/api/middlewares.d.ts +2 -0
- package/.medusa/server/src/api/middlewares.js +150 -0
- package/.medusa/server/src/api/validators.d.ts +547 -0
- package/.medusa/server/src/api/validators.js +215 -0
- package/.medusa/server/src/jobs/update-complaint-stats.d.ts +6 -0
- package/.medusa/server/src/jobs/update-complaint-stats.js +50 -0
- package/.medusa/server/src/links/complaint-activity-user.d.ts +2 -0
- package/.medusa/server/src/links/complaint-activity-user.js +15 -0
- package/.medusa/server/src/links/complaint-customer.d.ts +2 -0
- package/.medusa/server/src/links/complaint-customer.js +15 -0
- package/.medusa/server/src/links/complaint-order.d.ts +2 -0
- package/.medusa/server/src/links/complaint-order.js +15 -0
- package/.medusa/server/src/links/complaint-product.d.ts +2 -0
- package/.medusa/server/src/links/complaint-product.js +15 -0
- package/.medusa/server/src/links/customer-complaint.d.ts +2 -0
- package/.medusa/server/src/links/customer-complaint.js +18 -0
- package/.medusa/server/src/links/order-complaint.d.ts +2 -0
- package/.medusa/server/src/links/order-complaint.js +18 -0
- package/.medusa/server/src/links/product-complaint.d.ts +2 -0
- package/.medusa/server/src/links/product-complaint.js +18 -0
- package/.medusa/server/src/links/user-complaint-activity.d.ts +2 -0
- package/.medusa/server/src/links/user-complaint-activity.js +18 -0
- package/.medusa/server/src/modules/complaint/index.d.ts +64 -0
- package/.medusa/server/src/modules/complaint/index.js +25 -0
- package/.medusa/server/src/modules/complaint/migrations/Migration20260409171742.d.ts +5 -0
- package/.medusa/server/src/modules/complaint/migrations/Migration20260409171742.js +36 -0
- package/.medusa/server/src/modules/complaint/models/complaint-activity.d.ts +30 -0
- package/.medusa/server/src/modules/complaint/models/complaint-activity.js +22 -0
- package/.medusa/server/src/modules/complaint/models/complaint-product-stat.d.ts +9 -0
- package/.medusa/server/src/modules/complaint/models/complaint-product-stat.js +15 -0
- package/.medusa/server/src/modules/complaint/models/complaint-stat.d.ts +1 -0
- package/.medusa/server/src/modules/complaint/models/complaint-stat.js +8 -0
- package/.medusa/server/src/modules/complaint/models/complaint-tag.d.ts +25 -0
- package/.medusa/server/src/modules/complaint/models/complaint-tag.js +11 -0
- package/.medusa/server/src/modules/complaint/models/complaint.d.ts +29 -0
- package/.medusa/server/src/modules/complaint/models/complaint.js +32 -0
- package/.medusa/server/src/modules/complaint/service.d.ts +236 -0
- package/.medusa/server/src/modules/complaint/service.js +87 -0
- package/LICENSE +21 -0
- package/README.md +69 -0
- package/package.json +89 -0
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { AuthenticatedMedusaRequest, MedusaResponse } from '@medusajs/framework/http';
|
|
2
|
+
import { AdminGetComplaintProductStatsType } from '../../../../validators';
|
|
3
|
+
export declare const GET: (req: AuthenticatedMedusaRequest<AdminGetComplaintProductStatsType>, res: MedusaResponse) => Promise<void>;
|
|
@@ -0,0 +1,21 @@
|
|
|
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 GET = async (req, res) => {
|
|
6
|
+
const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
7
|
+
const { id: product_id } = req.params;
|
|
8
|
+
console.log('Received request for complaint stats of product', product_id);
|
|
9
|
+
const { data: [complaintProductStat] } = await query.graph({
|
|
10
|
+
entity: 'complaint_product_stat',
|
|
11
|
+
...req.queryConfig,
|
|
12
|
+
filters: { product_id }
|
|
13
|
+
});
|
|
14
|
+
if (!complaintProductStat) {
|
|
15
|
+
res.status(404).json({ error: 'Complaint stats not found for product' });
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
res.json({ complaint_product_stat: complaintProductStat });
|
|
19
|
+
};
|
|
20
|
+
exports.GET = GET;
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2NvbXBsYWludC1zdGF0cy9wcm9kdWN0cy9baWRdL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHFEQUFxRTtBQUs5RCxNQUFNLEdBQUcsR0FBRyxLQUFLLEVBQ3ZCLEdBQWtFLEVBQ2xFLEdBQW1CLEVBQ2xCLEVBQUU7SUFDSCxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUVoRSxNQUFNLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUE7SUFDckMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpREFBaUQsRUFBRSxVQUFVLENBQUMsQ0FBQTtJQUUxRSxNQUFNLEVBQ0wsSUFBSSxFQUFFLENBQUMsb0JBQW9CLENBQUMsRUFDNUIsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDckIsTUFBTSxFQUFFLHdCQUF3QjtRQUNoQyxHQUFHLEdBQUcsQ0FBQyxXQUFXO1FBQ2xCLE9BQU8sRUFBRSxFQUFFLFVBQVUsRUFBRTtLQUN2QixDQUFDLENBQUE7SUFFRixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUMzQixHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSx1Q0FBdUMsRUFBRSxDQUFDLENBQUE7UUFDeEUsT0FBTTtJQUNQLENBQUM7SUFFRCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsc0JBQXNCLEVBQUUsb0JBQW9CLEVBQUUsQ0FBQyxDQUFBO0FBQzNELENBQUMsQ0FBQTtBQXZCWSxRQUFBLEdBQUcsT0F1QmYifQ==
|
|
@@ -0,0 +1,40 @@
|
|
|
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 complaint_1 = require("../../../../modules/complaint");
|
|
6
|
+
const POST = async (req, res) => {
|
|
7
|
+
const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
8
|
+
const limit = 100;
|
|
9
|
+
let offset = 0;
|
|
10
|
+
let totalCount = 0;
|
|
11
|
+
const orderCountsByProduct = {};
|
|
12
|
+
do {
|
|
13
|
+
const { data: orders, metadata } = await query.graph({
|
|
14
|
+
entity: 'order',
|
|
15
|
+
fields: ['id', 'items.*'],
|
|
16
|
+
pagination: {
|
|
17
|
+
take: limit,
|
|
18
|
+
skip: offset
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
totalCount = metadata?.count || 0;
|
|
22
|
+
offset += limit;
|
|
23
|
+
for (const order of orders) {
|
|
24
|
+
const productsInThisOrder = new Set();
|
|
25
|
+
for (const item of order.items || []) {
|
|
26
|
+
if (!item?.product_id)
|
|
27
|
+
continue;
|
|
28
|
+
productsInThisOrder.add(item.product_id);
|
|
29
|
+
}
|
|
30
|
+
for (const productId of productsInThisOrder) {
|
|
31
|
+
orderCountsByProduct[productId] = (orderCountsByProduct[productId] || 0) + 1;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
} while (offset < totalCount);
|
|
35
|
+
const complaintService = req.scope.resolve(complaint_1.COMPLAINT_MODULE);
|
|
36
|
+
await complaintService.calculateComplaintRates(orderCountsByProduct);
|
|
37
|
+
res.json({ success: true });
|
|
38
|
+
};
|
|
39
|
+
exports.POST = POST;
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2NvbXBsYWludC1zdGF0cy9yZWNhbGN1bGF0ZS9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxxREFBcUU7QUFDckUsNkRBQWdFO0FBR3pELE1BQU0sSUFBSSxHQUFHLEtBQUssRUFBRSxHQUFrQixFQUFFLEdBQW1CLEVBQUUsRUFBRTtJQUNyRSxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUVoRSxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUE7SUFDakIsSUFBSSxNQUFNLEdBQUcsQ0FBQyxDQUFBO0lBQ2QsSUFBSSxVQUFVLEdBQUcsQ0FBQyxDQUFBO0lBQ2xCLE1BQU0sb0JBQW9CLEdBQTJCLEVBQUUsQ0FBQTtJQUV2RCxHQUFHLENBQUM7UUFDSCxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7WUFDcEQsTUFBTSxFQUFFLE9BQU87WUFDZixNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDO1lBQ3pCLFVBQVUsRUFBRTtnQkFDWCxJQUFJLEVBQUUsS0FBSztnQkFDWCxJQUFJLEVBQUUsTUFBTTthQUNaO1NBQ0QsQ0FBQyxDQUFBO1FBRUYsVUFBVSxHQUFHLFFBQVEsRUFBRSxLQUFLLElBQUksQ0FBQyxDQUFBO1FBQ2pDLE1BQU0sSUFBSSxLQUFLLENBQUE7UUFFZixLQUFLLE1BQU0sS0FBSyxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQzVCLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQTtZQUU3QyxLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssQ0FBQyxLQUFLLElBQUksRUFBRSxFQUFFLENBQUM7Z0JBQ3RDLElBQUksQ0FBQyxJQUFJLEVBQUUsVUFBVTtvQkFBRSxTQUFRO2dCQUMvQixtQkFBbUIsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFBO1lBQ3pDLENBQUM7WUFFRCxLQUFLLE1BQU0sU0FBUyxJQUFJLG1CQUFtQixFQUFFLENBQUM7Z0JBQzdDLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1lBQzdFLENBQUM7UUFDRixDQUFDO0lBQ0YsQ0FBQyxRQUFRLE1BQU0sR0FBRyxVQUFVLEVBQUM7SUFFN0IsTUFBTSxnQkFBZ0IsR0FBcUIsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsNEJBQWdCLENBQUMsQ0FBQTtJQUM5RSxNQUFNLGdCQUFnQixDQUFDLHVCQUF1QixDQUFDLG9CQUFvQixDQUFDLENBQUE7SUFDcEUsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFBO0FBQzVCLENBQUMsQ0FBQTtBQXRDWSxRQUFBLElBQUksUUFzQ2hCIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// show number of complaints in:
|
|
3
|
+
// last week
|
|
4
|
+
// last week annualized
|
|
5
|
+
// last month
|
|
6
|
+
// last month annualized
|
|
7
|
+
// last 3 months
|
|
8
|
+
// last 3 months annualized
|
|
9
|
+
// last 6 months
|
|
10
|
+
// last 6 months annualized
|
|
11
|
+
// last year
|
|
12
|
+
// all time
|
|
13
|
+
// all time annualized
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
// For annualized, calculate the complaint rate per product based on the number of complaints and the number of orders for that product in the same time period, then multiply by 365 to get an annualized rate. This will give a more accurate picture of complaint frequency relative to sales volume.
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2NvbXBsYWludC1zdGF0cy9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsZ0NBQWdDO0FBQ2hDLFlBQVk7QUFDWix1QkFBdUI7QUFDdkIsYUFBYTtBQUNiLHdCQUF3QjtBQUN4QixnQkFBZ0I7QUFDaEIsMkJBQTJCO0FBQzNCLGdCQUFnQjtBQUNoQiwyQkFBMkI7QUFDM0IsWUFBWTtBQUNaLFdBQVc7QUFDWCxzQkFBc0I7O0FBRXRCLHdTQUF3UyJ9
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { AuthenticatedMedusaRequest, MedusaResponse } from '@medusajs/framework/http';
|
|
2
|
+
import { AdminGetComplaintTagType, AdminUpdateComplaintTagType } from '../../../validators';
|
|
3
|
+
export declare const GET: (req: AuthenticatedMedusaRequest<AdminGetComplaintTagType>, res: MedusaResponse) => Promise<void>;
|
|
4
|
+
export declare const POST: (req: AuthenticatedMedusaRequest<AdminUpdateComplaintTagType>, res: MedusaResponse) => Promise<void>;
|
|
5
|
+
export declare const DELETE: (req: AuthenticatedMedusaRequest, res: MedusaResponse) => Promise<void>;
|
|
@@ -0,0 +1,34 @@
|
|
|
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 complaint_1 = require("../../../../modules/complaint");
|
|
6
|
+
const GET = async (req, res) => {
|
|
7
|
+
const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
8
|
+
const { id } = req.params;
|
|
9
|
+
const { data: [complaintTag] } = await query.graph({
|
|
10
|
+
entity: 'complaint_tag',
|
|
11
|
+
fields: req.queryConfig.fields,
|
|
12
|
+
filters: { id }
|
|
13
|
+
}, { throwIfKeyNotFound: true });
|
|
14
|
+
res.json({ complaint_tag: complaintTag });
|
|
15
|
+
};
|
|
16
|
+
exports.GET = GET;
|
|
17
|
+
const POST = async (req, res) => {
|
|
18
|
+
const complaintService = req.scope.resolve(complaint_1.COMPLAINT_MODULE);
|
|
19
|
+
const { id } = req.params;
|
|
20
|
+
const complaintTag = await complaintService.updateComplaintTags({
|
|
21
|
+
id,
|
|
22
|
+
...req.validatedBody
|
|
23
|
+
});
|
|
24
|
+
res.json({ complaint_tag: complaintTag });
|
|
25
|
+
};
|
|
26
|
+
exports.POST = POST;
|
|
27
|
+
const DELETE = async (req, res) => {
|
|
28
|
+
const { id } = req.params;
|
|
29
|
+
const complaintService = req.scope.resolve(complaint_1.COMPLAINT_MODULE);
|
|
30
|
+
await complaintService.deleteComplaintTags([id]);
|
|
31
|
+
res.json({ deleted: [id] });
|
|
32
|
+
};
|
|
33
|
+
exports.DELETE = DELETE;
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2NvbXBsYWludC10YWdzL1tpZF0vcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EscURBQXFFO0FBQ3JFLDZEQUFnRTtBQUl6RCxNQUFNLEdBQUcsR0FBRyxLQUFLLEVBQ3ZCLEdBQXlELEVBQ3pELEdBQW1CLEVBQ2xCLEVBQUU7SUFDSCxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNoRSxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQTtJQUV6QixNQUFNLEVBQ0wsSUFBSSxFQUFFLENBQUMsWUFBWSxDQUFDLEVBQ3BCLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUNwQjtRQUNDLE1BQU0sRUFBRSxlQUFlO1FBQ3ZCLE1BQU0sRUFBRSxHQUFHLENBQUMsV0FBVyxDQUFDLE1BQU07UUFDOUIsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFO0tBQ2YsRUFDRCxFQUFFLGtCQUFrQixFQUFFLElBQUksRUFBRSxDQUM1QixDQUFBO0lBRUQsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFBO0FBQzFDLENBQUMsQ0FBQTtBQW5CWSxRQUFBLEdBQUcsT0FtQmY7QUFFTSxNQUFNLElBQUksR0FBRyxLQUFLLEVBQ3hCLEdBQTRELEVBQzVELEdBQW1CLEVBQ2xCLEVBQUU7SUFDSCxNQUFNLGdCQUFnQixHQUFxQixHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyw0QkFBZ0IsQ0FBQyxDQUFBO0lBQzlFLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFBO0lBQ3pCLE1BQU0sWUFBWSxHQUFHLE1BQU0sZ0JBQWdCLENBQUMsbUJBQW1CLENBQUM7UUFDL0QsRUFBRTtRQUNGLEdBQUcsR0FBRyxDQUFDLGFBQWE7S0FDcEIsQ0FBQyxDQUFBO0lBQ0YsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFBO0FBQzFDLENBQUMsQ0FBQTtBQVhZLFFBQUEsSUFBSSxRQVdoQjtBQUVNLE1BQU0sTUFBTSxHQUFHLEtBQUssRUFBRSxHQUErQixFQUFFLEdBQW1CLEVBQUUsRUFBRTtJQUNwRixNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQTtJQUN6QixNQUFNLGdCQUFnQixHQUFxQixHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyw0QkFBZ0IsQ0FBQyxDQUFBO0lBQzlFLE1BQU0sZ0JBQWdCLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQ2hELEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUE7QUFDNUIsQ0FBQyxDQUFBO0FBTFksUUFBQSxNQUFNLFVBS2xCIn0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { AuthenticatedMedusaRequest, MedusaResponse } from '@medusajs/framework/http';
|
|
2
|
+
import { AdminCreateComplaintTagType, AdminDeleteComplaintTagsType, AdminGetComplaintTagsType } from '../../validators';
|
|
3
|
+
export declare function GET(req: AuthenticatedMedusaRequest<AdminGetComplaintTagsType>, res: MedusaResponse): Promise<void>;
|
|
4
|
+
export declare const POST: (req: AuthenticatedMedusaRequest<AdminCreateComplaintTagType>, res: MedusaResponse) => Promise<void>;
|
|
5
|
+
export declare function DELETE(req: AuthenticatedMedusaRequest<AdminDeleteComplaintTagsType>, res: MedusaResponse): Promise<void>;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.POST = void 0;
|
|
4
|
+
exports.GET = GET;
|
|
5
|
+
exports.DELETE = DELETE;
|
|
6
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
7
|
+
const complaint_1 = require("../../../modules/complaint");
|
|
8
|
+
async function GET(req, res) {
|
|
9
|
+
const { q } = req.validatedQuery;
|
|
10
|
+
const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
11
|
+
const { data: complaintTags, metadata } = await query.graph({
|
|
12
|
+
entity: 'complaint_tag',
|
|
13
|
+
...req.queryConfig,
|
|
14
|
+
filters: {
|
|
15
|
+
...(q ? { value: { $ilike: `%${q}%` } } : {})
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
res.json({
|
|
19
|
+
complaint_tags: complaintTags,
|
|
20
|
+
count: metadata?.count,
|
|
21
|
+
limit: metadata?.take,
|
|
22
|
+
offset: metadata?.skip
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
const POST = async (req, res) => {
|
|
26
|
+
const complaintService = req.scope.resolve(complaint_1.COMPLAINT_MODULE);
|
|
27
|
+
const complaintTag = await complaintService.createComplaintTags(req.validatedBody);
|
|
28
|
+
res.json({ complaint_tag: complaintTag });
|
|
29
|
+
};
|
|
30
|
+
exports.POST = POST;
|
|
31
|
+
async function DELETE(req, res) {
|
|
32
|
+
const complaintService = req.scope.resolve(complaint_1.COMPLAINT_MODULE);
|
|
33
|
+
const { ids } = req.validatedBody;
|
|
34
|
+
await complaintService.deleteComplaintTags(ids);
|
|
35
|
+
res.json({ deleted: ids });
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2NvbXBsYWludC10YWdzL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQVVBLGtCQW1CQztBQVdELHdCQVFDO0FBL0NELHFEQUFxRTtBQU1yRSwwREFBNkQ7QUFHdEQsS0FBSyxVQUFVLEdBQUcsQ0FDeEIsR0FBMEQsRUFDMUQsR0FBbUI7SUFFbkIsTUFBTSxFQUFFLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxjQUFjLENBQUE7SUFDaEMsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDaEUsTUFBTSxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQzNELE1BQU0sRUFBRSxlQUFlO1FBQ3ZCLEdBQUcsR0FBRyxDQUFDLFdBQVc7UUFDbEIsT0FBTyxFQUFFO1lBQ1IsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztTQUM3QztLQUNELENBQUMsQ0FBQTtJQUNGLEdBQUcsQ0FBQyxJQUFJLENBQUM7UUFDUixjQUFjLEVBQUUsYUFBYTtRQUM3QixLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUs7UUFDdEIsS0FBSyxFQUFFLFFBQVEsRUFBRSxJQUFJO1FBQ3JCLE1BQU0sRUFBRSxRQUFRLEVBQUUsSUFBSTtLQUN0QixDQUFDLENBQUE7QUFDSCxDQUFDO0FBRU0sTUFBTSxJQUFJLEdBQUcsS0FBSyxFQUN4QixHQUE0RCxFQUM1RCxHQUFtQixFQUNsQixFQUFFO0lBQ0gsTUFBTSxnQkFBZ0IsR0FBcUIsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsNEJBQWdCLENBQUMsQ0FBQTtJQUM5RSxNQUFNLFlBQVksR0FBRyxNQUFNLGdCQUFnQixDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQTtJQUNsRixHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUE7QUFDMUMsQ0FBQyxDQUFBO0FBUFksUUFBQSxJQUFJLFFBT2hCO0FBRU0sS0FBSyxVQUFVLE1BQU0sQ0FDM0IsR0FBNkQsRUFDN0QsR0FBbUI7SUFFbkIsTUFBTSxnQkFBZ0IsR0FBcUIsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsNEJBQWdCLENBQUMsQ0FBQTtJQUM5RSxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsR0FBRyxDQUFDLGFBQWEsQ0FBQTtJQUNqQyxNQUFNLGdCQUFnQixDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQy9DLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQTtBQUMzQixDQUFDIn0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { AuthenticatedMedusaRequest, MedusaResponse } from '@medusajs/framework/http';
|
|
2
|
+
import { AdminUpdateComplaintActivityType, AdminGetComplaintActivityType } from '../../../../../validators';
|
|
3
|
+
export declare const GET: (req: AuthenticatedMedusaRequest<AdminGetComplaintActivityType>, res: MedusaResponse) => Promise<void>;
|
|
4
|
+
export declare const POST: (req: AuthenticatedMedusaRequest<AdminUpdateComplaintActivityType>, res: MedusaResponse) => Promise<void>;
|
|
5
|
+
export declare const DELETE: (req: AuthenticatedMedusaRequest, res: MedusaResponse) => Promise<void>;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DELETE = exports.POST = exports.GET = void 0;
|
|
4
|
+
const complaint_1 = require("../../../../../../modules/complaint");
|
|
5
|
+
const GET = async (req, res) => {
|
|
6
|
+
const query = req.scope.resolve('query');
|
|
7
|
+
const { entryId } = req.params;
|
|
8
|
+
const { data: [activity] } = await query.graph({
|
|
9
|
+
entity: 'complaint_activity',
|
|
10
|
+
fields: req.queryConfig.fields,
|
|
11
|
+
filters: { id: entryId }
|
|
12
|
+
}, { throwIfKeyNotFound: true });
|
|
13
|
+
res.json({ activity });
|
|
14
|
+
};
|
|
15
|
+
exports.GET = GET;
|
|
16
|
+
const POST = async (req, res) => {
|
|
17
|
+
const { id: complaintId, entryId } = req.params;
|
|
18
|
+
const complaintService = req.scope.resolve(complaint_1.COMPLAINT_MODULE);
|
|
19
|
+
const activity = await complaintService.updateComplaintActivities({
|
|
20
|
+
id: entryId,
|
|
21
|
+
complaint_id: complaintId,
|
|
22
|
+
user_id: req.auth_context?.actor_id,
|
|
23
|
+
...req.validatedBody
|
|
24
|
+
});
|
|
25
|
+
res.json({ activity });
|
|
26
|
+
};
|
|
27
|
+
exports.POST = POST;
|
|
28
|
+
const DELETE = async (req, res) => {
|
|
29
|
+
const { entryId } = req.params;
|
|
30
|
+
const complaintService = req.scope.resolve(complaint_1.COMPLAINT_MODULE);
|
|
31
|
+
await complaintService.deleteComplaintActivities([entryId]);
|
|
32
|
+
res.json({ deleted: [entryId] });
|
|
33
|
+
};
|
|
34
|
+
exports.DELETE = DELETE;
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2NvbXBsYWludHMvW2lkXS9hY3Rpdml0aWVzL1tlbnRyeUlkXS9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxtRUFBc0U7QUFPL0QsTUFBTSxHQUFHLEdBQUcsS0FBSyxFQUN2QixHQUE4RCxFQUM5RCxHQUFtQixFQUNsQixFQUFFO0lBQ0gsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDeEMsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUE7SUFFOUIsTUFBTSxFQUNMLElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUNoQixHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FDcEI7UUFDQyxNQUFNLEVBQUUsb0JBQW9CO1FBQzVCLE1BQU0sRUFBRSxHQUFHLENBQUMsV0FBVyxDQUFDLE1BQU07UUFDOUIsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRTtLQUN4QixFQUNELEVBQUUsa0JBQWtCLEVBQUUsSUFBSSxFQUFFLENBQzVCLENBQUE7SUFDRCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQTtBQUN2QixDQUFDLENBQUE7QUFsQlksUUFBQSxHQUFHLE9Ba0JmO0FBRU0sTUFBTSxJQUFJLEdBQUcsS0FBSyxFQUN4QixHQUFpRSxFQUNqRSxHQUFtQixFQUNsQixFQUFFO0lBQ0gsTUFBTSxFQUFFLEVBQUUsRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQTtJQUMvQyxNQUFNLGdCQUFnQixHQUFxQixHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyw0QkFBZ0IsQ0FBQyxDQUFBO0lBQzlFLE1BQU0sUUFBUSxHQUFHLE1BQU0sZ0JBQWdCLENBQUMseUJBQXlCLENBQUM7UUFDakUsRUFBRSxFQUFFLE9BQU87UUFDWCxZQUFZLEVBQUUsV0FBVztRQUN6QixPQUFPLEVBQUUsR0FBRyxDQUFDLFlBQVksRUFBRSxRQUFRO1FBQ25DLEdBQUcsR0FBRyxDQUFDLGFBQWE7S0FDcEIsQ0FBQyxDQUFBO0lBQ0YsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUE7QUFDdkIsQ0FBQyxDQUFBO0FBYlksUUFBQSxJQUFJLFFBYWhCO0FBRU0sTUFBTSxNQUFNLEdBQUcsS0FBSyxFQUFFLEdBQStCLEVBQUUsR0FBbUIsRUFBRSxFQUFFO0lBQ3BGLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFBO0lBQzlCLE1BQU0sZ0JBQWdCLEdBQXFCLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLDRCQUFnQixDQUFDLENBQUE7SUFDOUUsTUFBTSxnQkFBZ0IsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUE7SUFDM0QsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQTtBQUNqQyxDQUFDLENBQUE7QUFMWSxRQUFBLE1BQU0sVUFLbEIifQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { AuthenticatedMedusaRequest, MedusaResponse } from '@medusajs/framework/http';
|
|
2
|
+
import { AdminCreateComplaintActivityType, AdminDeleteComplaintActivitiesType, AdminGetComplaintActivitiesType } from '../../../../validators';
|
|
3
|
+
export declare function GET(req: AuthenticatedMedusaRequest<AdminGetComplaintActivitiesType>, res: MedusaResponse): Promise<void>;
|
|
4
|
+
export declare const POST: (req: AuthenticatedMedusaRequest<AdminCreateComplaintActivityType>, res: MedusaResponse) => Promise<void>;
|
|
5
|
+
export declare const DELETE: (req: AuthenticatedMedusaRequest<AdminDeleteComplaintActivitiesType>, res: MedusaResponse) => Promise<void>;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DELETE = exports.POST = void 0;
|
|
4
|
+
exports.GET = GET;
|
|
5
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
6
|
+
const complaint_1 = require("../../../../../modules/complaint");
|
|
7
|
+
async function GET(req, res) {
|
|
8
|
+
const { q, id: complaint_id } = req.params;
|
|
9
|
+
const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
10
|
+
const { data: activities, metadata } = await query.graph({
|
|
11
|
+
entity: 'complaint_activity',
|
|
12
|
+
...req.queryConfig,
|
|
13
|
+
filters: {
|
|
14
|
+
complaint_id: complaint_id,
|
|
15
|
+
...(q ? { description: { $ilike: `%${q}%` } } : {})
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
res.json({
|
|
19
|
+
activities,
|
|
20
|
+
count: metadata?.count,
|
|
21
|
+
limit: metadata?.take,
|
|
22
|
+
offset: metadata?.skip
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
const POST = async (req, res) => {
|
|
26
|
+
const { id: complaint_id } = req.params;
|
|
27
|
+
const complaintService = req.scope.resolve(complaint_1.COMPLAINT_MODULE);
|
|
28
|
+
const activity = await complaintService.createComplaintActivities({
|
|
29
|
+
user_id: req.auth_context?.actor_id,
|
|
30
|
+
complaint_id,
|
|
31
|
+
...req.validatedBody
|
|
32
|
+
});
|
|
33
|
+
res.json({ activity });
|
|
34
|
+
};
|
|
35
|
+
exports.POST = POST;
|
|
36
|
+
const DELETE = async (req, res) => {
|
|
37
|
+
const { ids } = req.validatedBody;
|
|
38
|
+
const complaintService = req.scope.resolve(complaint_1.COMPLAINT_MODULE);
|
|
39
|
+
await complaintService.deleteComplaintActivities(ids);
|
|
40
|
+
res.json({ deleted: ids });
|
|
41
|
+
};
|
|
42
|
+
exports.DELETE = DELETE;
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2NvbXBsYWludHMvW2lkXS9hY3Rpdml0aWVzL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQVVBLGtCQW9CQztBQTdCRCxxREFBcUU7QUFDckUsZ0VBQW1FO0FBUTVELEtBQUssVUFBVSxHQUFHLENBQ3hCLEdBQWdFLEVBQ2hFLEdBQW1CO0lBRW5CLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLFlBQVksRUFBRSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUE7SUFDMUMsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDaEUsTUFBTSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQ3hELE1BQU0sRUFBRSxvQkFBb0I7UUFDNUIsR0FBRyxHQUFHLENBQUMsV0FBVztRQUNsQixPQUFPLEVBQUU7WUFDUixZQUFZLEVBQUUsWUFBWTtZQUMxQixHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1NBQ25EO0tBQ0QsQ0FBQyxDQUFBO0lBQ0YsR0FBRyxDQUFDLElBQUksQ0FBQztRQUNSLFVBQVU7UUFDVixLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUs7UUFDdEIsS0FBSyxFQUFFLFFBQVEsRUFBRSxJQUFJO1FBQ3JCLE1BQU0sRUFBRSxRQUFRLEVBQUUsSUFBSTtLQUN0QixDQUFDLENBQUE7QUFDSCxDQUFDO0FBRU0sTUFBTSxJQUFJLEdBQUcsS0FBSyxFQUN4QixHQUFpRSxFQUNqRSxHQUFtQixFQUNsQixFQUFFO0lBQ0gsTUFBTSxFQUFFLEVBQUUsRUFBRSxZQUFZLEVBQUUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFBO0lBQ3ZDLE1BQU0sZ0JBQWdCLEdBQXFCLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLDRCQUFnQixDQUFDLENBQUE7SUFDOUUsTUFBTSxRQUFRLEdBQUcsTUFBTSxnQkFBZ0IsQ0FBQyx5QkFBeUIsQ0FBQztRQUNqRSxPQUFPLEVBQUUsR0FBRyxDQUFDLFlBQVksRUFBRSxRQUFRO1FBQ25DLFlBQVk7UUFDWixHQUFHLEdBQUcsQ0FBQyxhQUFhO0tBQ3BCLENBQUMsQ0FBQTtJQUNGLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFBO0FBQ3ZCLENBQUMsQ0FBQTtBQVpZLFFBQUEsSUFBSSxRQVloQjtBQUVNLE1BQU0sTUFBTSxHQUFHLEtBQUssRUFDMUIsR0FBbUUsRUFDbkUsR0FBbUIsRUFDbEIsRUFBRTtJQUNILE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxHQUFHLENBQUMsYUFBYSxDQUFBO0lBQ2pDLE1BQU0sZ0JBQWdCLEdBQXFCLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLDRCQUFnQixDQUFDLENBQUE7SUFDOUUsTUFBTSxnQkFBZ0IsQ0FBQyx5QkFBeUIsQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUNyRCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUE7QUFDM0IsQ0FBQyxDQUFBO0FBUlksUUFBQSxNQUFNLFVBUWxCIn0=
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { AuthenticatedMedusaRequest, MedusaResponse } from '@medusajs/framework/http';
|
|
2
|
+
import { AdminUpdateComplaintNoteType } from '../../../../../validators';
|
|
3
|
+
export declare const POST: (req: AuthenticatedMedusaRequest<AdminUpdateComplaintNoteType>, res: MedusaResponse) => Promise<void>;
|
|
4
|
+
export declare const DELETE: (req: AuthenticatedMedusaRequest, res: MedusaResponse) => Promise<void>;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DELETE = exports.POST = void 0;
|
|
4
|
+
const complaint_1 = require("../../../../../../modules/complaint");
|
|
5
|
+
const POST = async (req, res) => {
|
|
6
|
+
const { id, noteId } = req.params;
|
|
7
|
+
const { note } = req.validatedBody;
|
|
8
|
+
const complaintService = req.scope.resolve(complaint_1.COMPLAINT_MODULE);
|
|
9
|
+
const entry = await complaintService.updateNote(noteId, note);
|
|
10
|
+
res.json({ entry });
|
|
11
|
+
};
|
|
12
|
+
exports.POST = POST;
|
|
13
|
+
const DELETE = async (req, res) => {
|
|
14
|
+
const { noteId } = req.params;
|
|
15
|
+
const complaintService = req.scope.resolve(complaint_1.COMPLAINT_MODULE);
|
|
16
|
+
await complaintService.deleteComplaintActivities([noteId]);
|
|
17
|
+
res.json({ deleted: [noteId] });
|
|
18
|
+
};
|
|
19
|
+
exports.DELETE = DELETE;
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2NvbXBsYWludHMvW2lkXS9ub3Rlcy9bbm90ZUlkXS9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxtRUFBc0U7QUFJL0QsTUFBTSxJQUFJLEdBQUcsS0FBSyxFQUN4QixHQUE2RCxFQUM3RCxHQUFtQixFQUNsQixFQUFFO0lBQ0gsTUFBTSxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFBO0lBQ2pDLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBaUMsR0FBRyxDQUFDLGFBQWEsQ0FBQTtJQUNoRSxNQUFNLGdCQUFnQixHQUFxQixHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyw0QkFBZ0IsQ0FBQyxDQUFBO0lBQzlFLE1BQU0sS0FBSyxHQUFHLE1BQU0sZ0JBQWdCLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUM3RCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQTtBQUNwQixDQUFDLENBQUE7QUFUWSxRQUFBLElBQUksUUFTaEI7QUFFTSxNQUFNLE1BQU0sR0FBRyxLQUFLLEVBQUUsR0FBK0IsRUFBRSxHQUFtQixFQUFFLEVBQUU7SUFDcEYsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUE7SUFDN0IsTUFBTSxnQkFBZ0IsR0FBcUIsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsNEJBQWdCLENBQUMsQ0FBQTtJQUM5RSxNQUFNLGdCQUFnQixDQUFDLHlCQUF5QixDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQTtJQUMxRCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0FBQ2hDLENBQUMsQ0FBQTtBQUxZLFFBQUEsTUFBTSxVQUtsQiJ9
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { AuthenticatedMedusaRequest, MedusaResponse } from '@medusajs/framework/http';
|
|
2
|
+
import { AdminCreateComplaintNoteType } from '../../../../validators';
|
|
3
|
+
export declare const POST: (req: AuthenticatedMedusaRequest<AdminCreateComplaintNoteType>, res: MedusaResponse) => Promise<void>;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.POST = void 0;
|
|
4
|
+
const complaint_1 = require("../../../../../modules/complaint");
|
|
5
|
+
const POST = async (req, res) => {
|
|
6
|
+
const { id: complaint_id } = req.params;
|
|
7
|
+
const complaintService = req.scope.resolve(complaint_1.COMPLAINT_MODULE);
|
|
8
|
+
const entry = await complaintService.addNote(complaint_id, req.auth_context.actor_id, req.validatedBody.note);
|
|
9
|
+
res.json({ entry });
|
|
10
|
+
};
|
|
11
|
+
exports.POST = POST;
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2NvbXBsYWludHMvW2lkXS9ub3Rlcy9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxnRUFBbUU7QUFJNUQsTUFBTSxJQUFJLEdBQUcsS0FBSyxFQUN4QixHQUE2RCxFQUM3RCxHQUFtQixFQUNsQixFQUFFO0lBQ0gsTUFBTSxFQUFFLEVBQUUsRUFBRSxZQUFZLEVBQUUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFBO0lBQ3ZDLE1BQU0sZ0JBQWdCLEdBQXFCLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLDRCQUFnQixDQUFDLENBQUE7SUFDOUUsTUFBTSxLQUFLLEdBQUcsTUFBTSxnQkFBZ0IsQ0FBQyxPQUFPLENBQzNDLFlBQVksRUFDWixHQUFHLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFDekIsR0FBRyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQ3RCLENBQUE7SUFDRCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQTtBQUNwQixDQUFDLENBQUE7QUFaWSxRQUFBLElBQUksUUFZaEIifQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { AuthenticatedMedusaRequest, MedusaResponse } from '@medusajs/framework/http';
|
|
2
|
+
import { AdminGetComplaintType, AdminUpdateComplaintType } from '../../../validators';
|
|
3
|
+
export declare const GET: (req: AuthenticatedMedusaRequest<AdminGetComplaintType>, res: MedusaResponse) => Promise<void>;
|
|
4
|
+
export declare const POST: (req: AuthenticatedMedusaRequest<AdminUpdateComplaintType>, res: MedusaResponse) => Promise<void>;
|
|
5
|
+
export declare const DELETE: (req: AuthenticatedMedusaRequest, res: MedusaResponse) => Promise<void>;
|
|
@@ -0,0 +1,43 @@
|
|
|
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 complaint_1 = require("../../../../modules/complaint");
|
|
6
|
+
const GET = async (req, res) => {
|
|
7
|
+
const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
8
|
+
const { id } = req.params;
|
|
9
|
+
const { data: [complaint] } = await query.graph({
|
|
10
|
+
entity: 'complaint',
|
|
11
|
+
fields: req.queryConfig.fields,
|
|
12
|
+
filters: { id }
|
|
13
|
+
}, { throwIfKeyNotFound: true });
|
|
14
|
+
res.json({ complaint });
|
|
15
|
+
};
|
|
16
|
+
exports.GET = GET;
|
|
17
|
+
const POST = async (req, res) => {
|
|
18
|
+
const complaintService = req.scope.resolve(complaint_1.COMPLAINT_MODULE);
|
|
19
|
+
const { id } = req.params;
|
|
20
|
+
const currentComplaint = await complaintService.retrieveComplaint(id);
|
|
21
|
+
const complaint = await complaintService.updateComplaints({
|
|
22
|
+
id,
|
|
23
|
+
...req.validatedBody
|
|
24
|
+
});
|
|
25
|
+
if (currentComplaint.status !== complaint.status) {
|
|
26
|
+
if (complaint.status === 'open') {
|
|
27
|
+
await complaintService.addOpenEntry(id, req.auth_context.actor_id);
|
|
28
|
+
}
|
|
29
|
+
else if (complaint.status === 'closed') {
|
|
30
|
+
await complaintService.addCloseEntry(id, req.auth_context.actor_id);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
res.json({ complaint });
|
|
34
|
+
};
|
|
35
|
+
exports.POST = POST;
|
|
36
|
+
const DELETE = async (req, res) => {
|
|
37
|
+
const { id } = req.params;
|
|
38
|
+
const complaintService = req.scope.resolve(complaint_1.COMPLAINT_MODULE);
|
|
39
|
+
await complaintService.deleteComplaints([id]);
|
|
40
|
+
res.json({ deleted: [id] });
|
|
41
|
+
};
|
|
42
|
+
exports.DELETE = DELETE;
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2NvbXBsYWludHMvW2lkXS9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxxREFBcUU7QUFDckUsNkRBQWdFO0FBSXpELE1BQU0sR0FBRyxHQUFHLEtBQUssRUFDdkIsR0FBc0QsRUFDdEQsR0FBbUIsRUFDbEIsRUFBRTtJQUNILE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ2hFLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFBO0lBRXpCLE1BQU0sRUFDTCxJQUFJLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFDakIsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQ3BCO1FBQ0MsTUFBTSxFQUFFLFdBQVc7UUFDbkIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxXQUFXLENBQUMsTUFBTTtRQUM5QixPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUU7S0FDZixFQUNELEVBQUUsa0JBQWtCLEVBQUUsSUFBSSxFQUFFLENBQzVCLENBQUE7SUFDRCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQTtBQUN4QixDQUFDLENBQUE7QUFsQlksUUFBQSxHQUFHLE9Ba0JmO0FBRU0sTUFBTSxJQUFJLEdBQUcsS0FBSyxFQUN4QixHQUF5RCxFQUN6RCxHQUFtQixFQUNsQixFQUFFO0lBQ0gsTUFBTSxnQkFBZ0IsR0FBcUIsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsNEJBQWdCLENBQUMsQ0FBQTtJQUM5RSxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQTtJQUN6QixNQUFNLGdCQUFnQixHQUFHLE1BQU0sZ0JBQWdCLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDckUsTUFBTSxTQUFTLEdBQUcsTUFBTSxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQztRQUN6RCxFQUFFO1FBQ0YsR0FBRyxHQUFHLENBQUMsYUFBYTtLQUNwQixDQUFDLENBQUE7SUFDRixJQUFJLGdCQUFnQixDQUFDLE1BQU0sS0FBSyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDbEQsSUFBSSxTQUFTLENBQUMsTUFBTSxLQUFLLE1BQU0sRUFBRSxDQUFDO1lBQ2pDLE1BQU0sZ0JBQWdCLENBQUMsWUFBWSxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBQ25FLENBQUM7YUFBTSxJQUFJLFNBQVMsQ0FBQyxNQUFNLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDMUMsTUFBTSxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUE7UUFDcEUsQ0FBQztJQUNGLENBQUM7SUFDRCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQTtBQUN4QixDQUFDLENBQUE7QUFuQlksUUFBQSxJQUFJLFFBbUJoQjtBQUVNLE1BQU0sTUFBTSxHQUFHLEtBQUssRUFBRSxHQUErQixFQUFFLEdBQW1CLEVBQUUsRUFBRTtJQUNwRixNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQTtJQUN6QixNQUFNLGdCQUFnQixHQUFxQixHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyw0QkFBZ0IsQ0FBQyxDQUFBO0lBQzlFLE1BQU0sZ0JBQWdCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQzdDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUE7QUFDNUIsQ0FBQyxDQUFBO0FBTFksUUFBQSxNQUFNLFVBS2xCIn0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { AuthenticatedMedusaRequest, MedusaResponse } from '@medusajs/framework/http';
|
|
2
|
+
import { AdminCreateComplaintType, AdminDeleteComplaintsType, AdminGetComplaintsType } from '../../validators';
|
|
3
|
+
export declare const GET: (req: AuthenticatedMedusaRequest<AdminGetComplaintsType>, res: MedusaResponse) => Promise<void>;
|
|
4
|
+
export declare const POST: (req: AuthenticatedMedusaRequest<AdminCreateComplaintType>, res: MedusaResponse) => Promise<void>;
|
|
5
|
+
export declare const DELETE: (req: AuthenticatedMedusaRequest<AdminDeleteComplaintsType>, res: MedusaResponse) => Promise<void>;
|
|
@@ -0,0 +1,48 @@
|
|
|
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 complaint_1 = require("../../../modules/complaint");
|
|
6
|
+
const complaint_2 = require("../../../modules/complaint/models/complaint");
|
|
7
|
+
const GET = async (req, res) => {
|
|
8
|
+
const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
9
|
+
const { customer_id, order_id, product_id, status, q } = req.validatedQuery;
|
|
10
|
+
const { data: complaints, metadata } = await query.graph({
|
|
11
|
+
entity: 'complaint',
|
|
12
|
+
...req.queryConfig,
|
|
13
|
+
filters: {
|
|
14
|
+
...(customer_id ? { customer_id } : {}),
|
|
15
|
+
...(order_id ? { order_id } : {}),
|
|
16
|
+
...(product_id ? { product_id } : {}),
|
|
17
|
+
...(status !== undefined
|
|
18
|
+
? status === 'closed'
|
|
19
|
+
? { status: complaint_2.ComplaintStatus.CLOSED }
|
|
20
|
+
: { status: complaint_2.ComplaintStatus.OPEN }
|
|
21
|
+
: {}),
|
|
22
|
+
...(q ? { description: { $ilike: `%${q}%` } } : {})
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
res.json({
|
|
26
|
+
complaints,
|
|
27
|
+
count: metadata?.count,
|
|
28
|
+
limit: metadata?.take,
|
|
29
|
+
offset: metadata?.skip
|
|
30
|
+
});
|
|
31
|
+
};
|
|
32
|
+
exports.GET = GET;
|
|
33
|
+
const POST = async (req, res) => {
|
|
34
|
+
const complaintService = req.scope.resolve(complaint_1.COMPLAINT_MODULE);
|
|
35
|
+
const { tag_ids: tags, ...rest } = req.validatedBody;
|
|
36
|
+
const complaint = await complaintService.createComplaints({ ...rest, tags });
|
|
37
|
+
const historyEntry = await complaintService.addOpenEntry(complaint.id, req.auth_context.actor_id);
|
|
38
|
+
res.json({ complaint });
|
|
39
|
+
};
|
|
40
|
+
exports.POST = POST;
|
|
41
|
+
const DELETE = async (req, res) => {
|
|
42
|
+
const { ids } = req.validatedBody;
|
|
43
|
+
const complaintService = req.scope.resolve(complaint_1.COMPLAINT_MODULE);
|
|
44
|
+
await complaintService.deleteComplaints(ids);
|
|
45
|
+
res.json({ deleted: ids });
|
|
46
|
+
};
|
|
47
|
+
exports.DELETE = DELETE;
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2NvbXBsYWludHMvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EscURBQXFFO0FBQ3JFLDBEQUE2RDtBQUU3RCwyRUFBNkU7QUFPdEUsTUFBTSxHQUFHLEdBQUcsS0FBSyxFQUN2QixHQUF1RCxFQUN2RCxHQUFtQixFQUNsQixFQUFFO0lBQ0gsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsS0FBSyxDQUFDLENBQUE7SUFFaEUsTUFBTSxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsR0FBRyxHQUFHLENBQUMsY0FBYyxDQUFBO0lBRTNFLE1BQU0sRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztRQUN4RCxNQUFNLEVBQUUsV0FBVztRQUNuQixHQUFHLEdBQUcsQ0FBQyxXQUFXO1FBQ2xCLE9BQU8sRUFBRTtZQUNSLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUN2QyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDakMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3JDLEdBQUcsQ0FBQyxNQUFNLEtBQUssU0FBUztnQkFDdkIsQ0FBQyxDQUFDLE1BQU0sS0FBSyxRQUFRO29CQUNwQixDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsMkJBQWUsQ0FBQyxNQUFNLEVBQUU7b0JBQ3BDLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSwyQkFBZSxDQUFDLElBQUksRUFBRTtnQkFDbkMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNOLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7U0FDbkQ7S0FDRCxDQUFDLENBQUE7SUFFRixHQUFHLENBQUMsSUFBSSxDQUFDO1FBQ1IsVUFBVTtRQUNWLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSztRQUN0QixLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUk7UUFDckIsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJO0tBQ3RCLENBQUMsQ0FBQTtBQUNILENBQUMsQ0FBQTtBQTlCWSxRQUFBLEdBQUcsT0E4QmY7QUFFTSxNQUFNLElBQUksR0FBRyxLQUFLLEVBQ3hCLEdBQXlELEVBQ3pELEdBQW1CLEVBQ2xCLEVBQUU7SUFDSCxNQUFNLGdCQUFnQixHQUFxQixHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyw0QkFBZ0IsQ0FBQyxDQUFBO0lBQzlFLE1BQU0sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLEdBQUcsSUFBSSxFQUFFLEdBQUcsR0FBRyxDQUFDLGFBQWEsQ0FBQTtJQUNwRCxNQUFNLFNBQVMsR0FBRyxNQUFNLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQTtJQUM1RSxNQUFNLFlBQVksR0FBRyxNQUFNLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDakcsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUE7QUFDeEIsQ0FBQyxDQUFBO0FBVFksUUFBQSxJQUFJLFFBU2hCO0FBRU0sTUFBTSxNQUFNLEdBQUcsS0FBSyxFQUMxQixHQUEwRCxFQUMxRCxHQUFtQixFQUNsQixFQUFFO0lBQ0gsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLEdBQUcsQ0FBQyxhQUFhLENBQUE7SUFDakMsTUFBTSxnQkFBZ0IsR0FBcUIsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsNEJBQWdCLENBQUMsQ0FBQTtJQUM5RSxNQUFNLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQzVDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQTtBQUMzQixDQUFDLENBQUE7QUFSWSxRQUFBLE1BQU0sVUFRbEIifQ==
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const http_1 = require("@medusajs/framework/http");
|
|
4
|
+
const validators_1 = require("./validators");
|
|
5
|
+
exports.default = (0, http_1.defineMiddlewares)([
|
|
6
|
+
{
|
|
7
|
+
matcher: '/admin/complaints',
|
|
8
|
+
method: ['GET'],
|
|
9
|
+
middlewares: [
|
|
10
|
+
(0, http_1.validateAndTransformQuery)(validators_1.AdminGetComplaints, {
|
|
11
|
+
defaults: [
|
|
12
|
+
'id', 'number', 'status', 'description', 'created_at', 'updated_at',
|
|
13
|
+
'customer_id', 'order_id', 'product_id', 'stock_lot_id', 'serial_number_id', 'tags.*'
|
|
14
|
+
],
|
|
15
|
+
isList: true,
|
|
16
|
+
defaultLimit: 20
|
|
17
|
+
})
|
|
18
|
+
]
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
matcher: '/admin/complaints',
|
|
22
|
+
method: ['POST'],
|
|
23
|
+
middlewares: [(0, http_1.validateAndTransformBody)(validators_1.AdminCreateComplaint)]
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
matcher: '/admin/complaints',
|
|
27
|
+
method: ['DELETE'],
|
|
28
|
+
middlewares: [(0, http_1.validateAndTransformBody)(validators_1.AdminDeleteComplaints)]
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
matcher: '/admin/complaints/:id',
|
|
32
|
+
method: ['GET'],
|
|
33
|
+
middlewares: [
|
|
34
|
+
(0, http_1.validateAndTransformQuery)(validators_1.AdminGetComplaint, {
|
|
35
|
+
defaults: [
|
|
36
|
+
'id', 'number', 'status', 'description', 'created_at', 'updated_at',
|
|
37
|
+
'customer_id', 'order_id', 'product_id', 'stock_lot_id', 'serial_number_id',
|
|
38
|
+
'tags.*', 'customer.*', 'order.*', 'product.*'
|
|
39
|
+
],
|
|
40
|
+
isList: false
|
|
41
|
+
})
|
|
42
|
+
]
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
matcher: '/admin/complaints/:id',
|
|
46
|
+
method: ['POST'],
|
|
47
|
+
middlewares: [(0, http_1.validateAndTransformBody)(validators_1.AdminUpdateComplaint)]
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
matcher: '/admin/complaints/:id/notes',
|
|
51
|
+
method: ['POST'],
|
|
52
|
+
middlewares: [(0, http_1.validateAndTransformBody)(validators_1.AdminCreateComplaintNote)]
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
matcher: '/admin/complaints/:id/notes/:note_id',
|
|
56
|
+
method: ['POST'],
|
|
57
|
+
middlewares: [(0, http_1.validateAndTransformBody)(validators_1.AdminUpdateComplaintNote)]
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
matcher: '/admin/complaint-tags',
|
|
61
|
+
method: ['GET'],
|
|
62
|
+
middlewares: [
|
|
63
|
+
(0, http_1.validateAndTransformQuery)(validators_1.AdminGetComplaintTags, {
|
|
64
|
+
defaults: ['id', 'value', 'created_at', 'updated_at'],
|
|
65
|
+
isList: true,
|
|
66
|
+
defaultLimit: 20
|
|
67
|
+
})
|
|
68
|
+
]
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
matcher: '/admin/complaint-tags',
|
|
72
|
+
method: ['POST'],
|
|
73
|
+
middlewares: [(0, http_1.validateAndTransformBody)(validators_1.AdminCreateComplaintTag)]
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
matcher: '/admin/complaint-tags',
|
|
77
|
+
method: ['DELETE'],
|
|
78
|
+
middlewares: [(0, http_1.validateAndTransformBody)(validators_1.AdminDeleteComplaintTags)]
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
matcher: '/admin/complaint-tags/:id',
|
|
82
|
+
method: ['GET'],
|
|
83
|
+
middlewares: [
|
|
84
|
+
(0, http_1.validateAndTransformQuery)(validators_1.AdminGetComplaintTag, {
|
|
85
|
+
defaults: ['id', 'value', 'created_at', 'updated_at'],
|
|
86
|
+
isList: false
|
|
87
|
+
})
|
|
88
|
+
]
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
matcher: '/admin/complaint-tags/:id',
|
|
92
|
+
method: ['POST'],
|
|
93
|
+
middlewares: [(0, http_1.validateAndTransformBody)(validators_1.AdminUpdateComplaintTag)]
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
matcher: '/admin/complaints/:id/activities',
|
|
97
|
+
method: ['GET'],
|
|
98
|
+
middlewares: [
|
|
99
|
+
(0, http_1.validateAndTransformQuery)(validators_1.AdminGetComplaintActivities, {
|
|
100
|
+
defaults: [
|
|
101
|
+
'id', 'complaint_id', 'user_id', 'type', 'note', 'metadata',
|
|
102
|
+
'created_at', 'updated_at', 'user.*'
|
|
103
|
+
],
|
|
104
|
+
isList: true,
|
|
105
|
+
defaultLimit: 20
|
|
106
|
+
})
|
|
107
|
+
]
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
matcher: '/admin/complaints/:id/activities',
|
|
111
|
+
method: ['POST'],
|
|
112
|
+
middlewares: [(0, http_1.validateAndTransformBody)(validators_1.AdminCreateComplaintActivity)]
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
matcher: '/admin/complaints/:id/activities',
|
|
116
|
+
method: ['DELETE'],
|
|
117
|
+
middlewares: [(0, http_1.validateAndTransformBody)(validators_1.AdminDeleteComplaintActivities)]
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
matcher: '/admin/complaints/:id/activities/:entry_id',
|
|
121
|
+
method: ['GET'],
|
|
122
|
+
middlewares: [
|
|
123
|
+
(0, http_1.validateAndTransformQuery)(validators_1.AdminGetComplaintActivity, {
|
|
124
|
+
defaults: [
|
|
125
|
+
'id', 'complaint_id', 'user_id', 'type', 'note', 'metadata',
|
|
126
|
+
'created_at', 'updated_at', 'user.*'
|
|
127
|
+
],
|
|
128
|
+
isList: false
|
|
129
|
+
})
|
|
130
|
+
]
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
matcher: '/admin/complaints/:id/activities/:entry_id',
|
|
134
|
+
method: ['POST'],
|
|
135
|
+
middlewares: [(0, http_1.validateAndTransformBody)(validators_1.AdminUpdateComplaintActivity)]
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
matcher: '/admin/complaint-stats/products/:product_id',
|
|
139
|
+
method: ['GET'],
|
|
140
|
+
middlewares: [
|
|
141
|
+
(0, http_1.validateAndTransformQuery)(validators_1.AdminGetComplaintProductStat, {
|
|
142
|
+
defaults: [
|
|
143
|
+
'product_id', 'total_complaints', 'total_orders', 'complaint_rate', 'last_calculated_at'
|
|
144
|
+
],
|
|
145
|
+
isList: false
|
|
146
|
+
})
|
|
147
|
+
]
|
|
148
|
+
}
|
|
149
|
+
]);
|
|
150
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBpL21pZGRsZXdhcmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsbURBQWlIO0FBQ2pILDZDQW1CcUI7QUFFckIsa0JBQWUsSUFBQSx3QkFBaUIsRUFBQztJQUNoQztRQUNDLE9BQU8sRUFBRSxtQkFBbUI7UUFDNUIsTUFBTSxFQUFFLENBQUMsS0FBSyxDQUFDO1FBQ2YsV0FBVyxFQUFFO1lBQ1osSUFBQSxnQ0FBeUIsRUFBQywrQkFBa0IsRUFBRTtnQkFDN0MsUUFBUSxFQUFFO29CQUNULElBQUksRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsWUFBWTtvQkFDbkUsYUFBYSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLGtCQUFrQixFQUFFLFFBQVE7aUJBQ3JGO2dCQUNELE1BQU0sRUFBRSxJQUFJO2dCQUNaLFlBQVksRUFBRSxFQUFFO2FBQ2hCLENBQUM7U0FDRjtLQUNEO0lBQ0Q7UUFDQyxPQUFPLEVBQUUsbUJBQW1CO1FBQzVCLE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQztRQUNoQixXQUFXLEVBQUUsQ0FBQyxJQUFBLCtCQUF3QixFQUFDLGlDQUFvQixDQUFDLENBQUM7S0FDN0Q7SUFDRDtRQUNDLE9BQU8sRUFBRSxtQkFBbUI7UUFDNUIsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDO1FBQ2xCLFdBQVcsRUFBRSxDQUFDLElBQUEsK0JBQXdCLEVBQUMsa0NBQXFCLENBQUMsQ0FBQztLQUM5RDtJQUNEO1FBQ0MsT0FBTyxFQUFFLHVCQUF1QjtRQUNoQyxNQUFNLEVBQUUsQ0FBQyxLQUFLLENBQUM7UUFDZixXQUFXLEVBQUU7WUFDWixJQUFBLGdDQUF5QixFQUFDLDhCQUFpQixFQUFFO2dCQUM1QyxRQUFRLEVBQUU7b0JBQ1QsSUFBSSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxZQUFZO29CQUNuRSxhQUFhLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsa0JBQWtCO29CQUMzRSxRQUFRLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxXQUFXO2lCQUM5QztnQkFDRCxNQUFNLEVBQUUsS0FBSzthQUNiLENBQUM7U0FDRjtLQUNEO0lBQ0Q7UUFDQyxPQUFPLEVBQUUsdUJBQXVCO1FBQ2hDLE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQztRQUNoQixXQUFXLEVBQUUsQ0FBQyxJQUFBLCtCQUF3QixFQUFDLGlDQUFvQixDQUFDLENBQUM7S0FDN0Q7SUFDRDtRQUNDLE9BQU8sRUFBRSw2QkFBNkI7UUFDdEMsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDO1FBQ2hCLFdBQVcsRUFBRSxDQUFDLElBQUEsK0JBQXdCLEVBQUMscUNBQXdCLENBQUMsQ0FBQztLQUNqRTtJQUNEO1FBQ0MsT0FBTyxFQUFFLHNDQUFzQztRQUMvQyxNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUM7UUFDaEIsV0FBVyxFQUFFLENBQUMsSUFBQSwrQkFBd0IsRUFBQyxxQ0FBd0IsQ0FBQyxDQUFDO0tBQ2pFO0lBQ0Q7UUFDQyxPQUFPLEVBQUUsdUJBQXVCO1FBQ2hDLE1BQU0sRUFBRSxDQUFDLEtBQUssQ0FBQztRQUNmLFdBQVcsRUFBRTtZQUNaLElBQUEsZ0NBQXlCLEVBQUMsa0NBQXFCLEVBQUU7Z0JBQ2hELFFBQVEsRUFBRSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLFlBQVksQ0FBQztnQkFDckQsTUFBTSxFQUFFLElBQUk7Z0JBQ1osWUFBWSxFQUFFLEVBQUU7YUFDaEIsQ0FBQztTQUNGO0tBQ0Q7SUFDRDtRQUNDLE9BQU8sRUFBRSx1QkFBdUI7UUFDaEMsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDO1FBQ2hCLFdBQVcsRUFBRSxDQUFDLElBQUEsK0JBQXdCLEVBQUMsb0NBQXVCLENBQUMsQ0FBQztLQUNoRTtJQUNEO1FBQ0MsT0FBTyxFQUFFLHVCQUF1QjtRQUNoQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUM7UUFDbEIsV0FBVyxFQUFFLENBQUMsSUFBQSwrQkFBd0IsRUFBQyxxQ0FBd0IsQ0FBQyxDQUFDO0tBQ2pFO0lBQ0Q7UUFDQyxPQUFPLEVBQUUsMkJBQTJCO1FBQ3BDLE1BQU0sRUFBRSxDQUFDLEtBQUssQ0FBQztRQUNmLFdBQVcsRUFBRTtZQUNaLElBQUEsZ0NBQXlCLEVBQUMsaUNBQW9CLEVBQUU7Z0JBQy9DLFFBQVEsRUFBRSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLFlBQVksQ0FBQztnQkFDckQsTUFBTSxFQUFFLEtBQUs7YUFDYixDQUFDO1NBQ0Y7S0FDRDtJQUNEO1FBQ0MsT0FBTyxFQUFFLDJCQUEyQjtRQUNwQyxNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUM7UUFDaEIsV0FBVyxFQUFFLENBQUMsSUFBQSwrQkFBd0IsRUFBQyxvQ0FBdUIsQ0FBQyxDQUFDO0tBQ2hFO0lBQ0Q7UUFDQyxPQUFPLEVBQUUsa0NBQWtDO1FBQzNDLE1BQU0sRUFBRSxDQUFDLEtBQUssQ0FBQztRQUNmLFdBQVcsRUFBRTtZQUNaLElBQUEsZ0NBQXlCLEVBQUMsd0NBQTJCLEVBQUU7Z0JBQ3RELFFBQVEsRUFBRTtvQkFDVCxJQUFJLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFVBQVU7b0JBQzNELFlBQVksRUFBRSxZQUFZLEVBQUUsUUFBUTtpQkFDcEM7Z0JBQ0QsTUFBTSxFQUFFLElBQUk7Z0JBQ1osWUFBWSxFQUFFLEVBQUU7YUFDaEIsQ0FBQztTQUNGO0tBQ0Q7SUFDRDtRQUNDLE9BQU8sRUFBRSxrQ0FBa0M7UUFDM0MsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDO1FBQ2hCLFdBQVcsRUFBRSxDQUFDLElBQUEsK0JBQXdCLEVBQUMseUNBQTRCLENBQUMsQ0FBQztLQUNyRTtJQUNEO1FBQ0MsT0FBTyxFQUFFLGtDQUFrQztRQUMzQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUM7UUFDbEIsV0FBVyxFQUFFLENBQUMsSUFBQSwrQkFBd0IsRUFBQywyQ0FBOEIsQ0FBQyxDQUFDO0tBQ3ZFO0lBQ0Q7UUFDQyxPQUFPLEVBQUUsNENBQTRDO1FBQ3JELE1BQU0sRUFBRSxDQUFDLEtBQUssQ0FBQztRQUNmLFdBQVcsRUFBRTtZQUNaLElBQUEsZ0NBQXlCLEVBQUMsc0NBQXlCLEVBQUU7Z0JBQ3BELFFBQVEsRUFBRTtvQkFDVCxJQUFJLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFVBQVU7b0JBQzNELFlBQVksRUFBRSxZQUFZLEVBQUUsUUFBUTtpQkFDcEM7Z0JBQ0QsTUFBTSxFQUFFLEtBQUs7YUFDYixDQUFDO1NBQ0Y7S0FDRDtJQUNEO1FBQ0MsT0FBTyxFQUFFLDRDQUE0QztRQUNyRCxNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUM7UUFDaEIsV0FBVyxFQUFFLENBQUMsSUFBQSwrQkFBd0IsRUFBQyx5Q0FBNEIsQ0FBQyxDQUFDO0tBQ3JFO0lBQ0Q7UUFDQyxPQUFPLEVBQUUsNkNBQTZDO1FBQ3RELE1BQU0sRUFBRSxDQUFDLEtBQUssQ0FBQztRQUNmLFdBQVcsRUFBRTtZQUNaLElBQUEsZ0NBQXlCLEVBQUMseUNBQTRCLEVBQUU7Z0JBQ3ZELFFBQVEsRUFBRTtvQkFDVCxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsY0FBYyxFQUFFLGdCQUFnQixFQUFFLG9CQUFvQjtpQkFDeEY7Z0JBQ0QsTUFBTSxFQUFFLEtBQUs7YUFDYixDQUFDO1NBQ0Y7S0FDRDtDQUNELENBQUMsQ0FBQSJ9
|