@zaamx/netme-pos 0.0.11 → 0.0.13
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.
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GET = GET;
|
|
4
|
+
exports.POST = POST;
|
|
5
|
+
const zod_1 = require("@medusajs/framework/zod");
|
|
6
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
7
|
+
const PosPermissionsSchema = zod_1.z.object({
|
|
8
|
+
pos_stock_location_ids: zod_1.z.array(zod_1.z.string()).nullable().optional(),
|
|
9
|
+
pos_sales_channel_ids: zod_1.z.array(zod_1.z.string()).nullable().optional(),
|
|
10
|
+
pos_region_ids: zod_1.z.array(zod_1.z.string()).nullable().optional(),
|
|
11
|
+
pos_shipping_option_ids: zod_1.z.array(zod_1.z.string()).nullable().optional(),
|
|
12
|
+
pos_default_region_id: zod_1.z.string().nullable().optional(),
|
|
13
|
+
pos_default_sales_channel_id: zod_1.z.string().nullable().optional(),
|
|
14
|
+
pos_default_stock_location_id: zod_1.z.string().nullable().optional(),
|
|
15
|
+
pos_role: zod_1.z.enum(["cashier", "supervisor", "manager"]).nullable().optional(),
|
|
16
|
+
pos_capabilities: zod_1.z.record(zod_1.z.string(), zod_1.z.boolean()).nullable().optional(),
|
|
17
|
+
});
|
|
18
|
+
const isPosOperator = (user) => Boolean(user?.metadata?.is_pos_operator);
|
|
19
|
+
async function GET(req, res) {
|
|
20
|
+
const { id } = req.params;
|
|
21
|
+
const userModuleService = req.scope.resolve(utils_1.Modules.USER);
|
|
22
|
+
const user = await userModuleService.retrieveUser(id).catch(() => null);
|
|
23
|
+
if (!user || !isPosOperator(user)) {
|
|
24
|
+
res.status(404).json({ message: "Operator not found." });
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
res.json({
|
|
28
|
+
operator: {
|
|
29
|
+
id: user.id,
|
|
30
|
+
email: user.email,
|
|
31
|
+
first_name: user.first_name,
|
|
32
|
+
last_name: user.last_name,
|
|
33
|
+
metadata: user.metadata ?? {},
|
|
34
|
+
},
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
async function POST(req, res) {
|
|
38
|
+
const { id } = req.params;
|
|
39
|
+
const userModuleService = req.scope.resolve(utils_1.Modules.USER);
|
|
40
|
+
const user = await userModuleService.retrieveUser(id).catch(() => null);
|
|
41
|
+
if (!user || !isPosOperator(user)) {
|
|
42
|
+
res.status(404).json({ message: "Operator not found." });
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
const validated = PosPermissionsSchema.parse(req.body);
|
|
46
|
+
// The user module shallow-merges metadata (mergeMetadata): keys we omit are
|
|
47
|
+
// preserved, and a key is removed only when its value is an empty string "".
|
|
48
|
+
// So we build a patch where "remove" (null / empty capabilities) maps to "".
|
|
49
|
+
const patch = {};
|
|
50
|
+
for (const [key, value] of Object.entries(validated)) {
|
|
51
|
+
if (value === undefined) {
|
|
52
|
+
continue;
|
|
53
|
+
}
|
|
54
|
+
const isEmptyObject = value !== null &&
|
|
55
|
+
typeof value === "object" &&
|
|
56
|
+
!Array.isArray(value) &&
|
|
57
|
+
Object.keys(value).length === 0;
|
|
58
|
+
patch[key] = value === null || isEmptyObject ? "" : value;
|
|
59
|
+
}
|
|
60
|
+
const updated = await userModuleService.updateUsers({ id, metadata: patch });
|
|
61
|
+
res.json({
|
|
62
|
+
operator: {
|
|
63
|
+
id: updated.id,
|
|
64
|
+
email: updated.email,
|
|
65
|
+
first_name: updated.first_name,
|
|
66
|
+
last_name: updated.last_name,
|
|
67
|
+
metadata: updated.metadata ?? {},
|
|
68
|
+
},
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3Bvcy1wZXJtaXNzaW9ucy9baWRdL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBZ0NBLGtCQW1CQztBQUVELG9CQTJDQztBQXBGRCxpREFBMkM7QUFDM0MscURBQW1EO0FBRW5ELE1BQU0sb0JBQW9CLEdBQUcsT0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNwQyxzQkFBc0IsRUFBRSxPQUFDLENBQUMsS0FBSyxDQUFDLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNqRSxxQkFBcUIsRUFBRSxPQUFDLENBQUMsS0FBSyxDQUFDLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNoRSxjQUFjLEVBQUUsT0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDekQsdUJBQXVCLEVBQUUsT0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDbEUscUJBQXFCLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUN2RCw0QkFBNEIsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzlELDZCQUE2QixFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDL0QsUUFBUSxFQUFFLE9BQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMs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
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GET = GET;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
async function GET(req, res) {
|
|
6
|
+
const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
7
|
+
const [stockLocations, salesChannels, regions, shippingOptions] = await Promise.all([
|
|
8
|
+
query.graph({ entity: "stock_location", fields: ["id", "name"] }),
|
|
9
|
+
query.graph({ entity: "sales_channel", fields: ["id", "name"] }),
|
|
10
|
+
query.graph({ entity: "region", fields: ["id", "name", "currency_code"] }),
|
|
11
|
+
query.graph({ entity: "shipping_option", fields: ["id", "name"] }),
|
|
12
|
+
]);
|
|
13
|
+
res.json({
|
|
14
|
+
stock_locations: stockLocations.data,
|
|
15
|
+
sales_channels: salesChannels.data,
|
|
16
|
+
regions: regions.data,
|
|
17
|
+
shipping_options: shippingOptions.data,
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3Bvcy1wZXJtaXNzaW9ucy9vcHRpb25zL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBV0Esa0JBaUJDO0FBbkJELHFEQUFxRTtBQUU5RCxLQUFLLFVBQVUsR0FBRyxDQUFDLEdBQWtCLEVBQUUsR0FBbUI7SUFDL0QsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsS0FBSyxDQUFDLENBQUE7SUFFaEUsTUFBTSxDQUFDLGNBQWMsRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLGVBQWUsQ0FBQyxHQUM3RCxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUM7UUFDaEIsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNqRSxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNoRSxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLGVBQWUsQ0FBQyxFQUFFLENBQUM7UUFDMUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLEVBQUUsQ0FBQztLQUNuRSxDQUFDLENBQUE7SUFFSixHQUFHLENBQUMsSUFBSSxDQUFDO1FBQ1AsZUFBZSxFQUFFLGNBQWMsQ0FBQyxJQUFJO1FBQ3BDLGNBQWMsRUFBRSxhQUFhLENBQUMsSUFBSTtRQUNsQyxPQUFPLEVBQUUsT0FBTyxDQUFDLElBQUk7UUFDckIsZ0JBQWdCLEVBQUUsZUFBZSxDQUFDLElBQUk7S0FDdkMsQ0FBQyxDQUFBO0FBQ0osQ0FBQyJ9
|