@codemind.ec/medusa-plugin-invoice 1.0.6 → 1.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/src/admin/index.js +806 -378
- package/.medusa/server/src/admin/index.mjs +809 -381
- package/.medusa/server/src/api/admin/invoice-config/[id]/route.js +31 -0
- package/.medusa/server/src/api/admin/invoice-config/[id]/set-default/route.js +19 -0
- package/.medusa/server/src/api/admin/invoice-config/route.js +6 -8
- package/.medusa/server/src/api/admin/invoice-templates/route.js +2 -2
- package/.medusa/server/src/api/admin/invoice-templates/validators.js +3 -1
- package/.medusa/server/src/modules/invoice-generator/migrations/Migration20260321120000.js +29 -0
- package/.medusa/server/src/modules/invoice-generator/models/invoice-config.js +2 -1
- package/.medusa/server/src/modules/invoice-generator/models/invoice-template.js +2 -1
- package/.medusa/server/src/modules/invoice-generator/service.js +14 -2
- package/package.json +86 -87
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GET = GET;
|
|
4
|
+
exports.POST = POST;
|
|
5
|
+
exports.DELETE = DELETE;
|
|
6
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
7
|
+
const invoice_generator_1 = require("../../../../modules/invoice-generator");
|
|
8
|
+
async function GET(req, res) {
|
|
9
|
+
const { id } = req.params;
|
|
10
|
+
const service = req.scope.resolve(invoice_generator_1.INVOICE_MODULE);
|
|
11
|
+
const config = await service.retrieveInvoiceConfig(id);
|
|
12
|
+
res.json({ invoice_config: config });
|
|
13
|
+
}
|
|
14
|
+
async function POST(req, res) {
|
|
15
|
+
const { id } = req.params;
|
|
16
|
+
const body = req.validatedBody ?? req.body;
|
|
17
|
+
const service = req.scope.resolve(invoice_generator_1.INVOICE_MODULE);
|
|
18
|
+
const updated = await service.updateInvoiceConfigs({ id, ...body });
|
|
19
|
+
res.json({ invoice_config: updated });
|
|
20
|
+
}
|
|
21
|
+
async function DELETE(req, res) {
|
|
22
|
+
const { id } = req.params;
|
|
23
|
+
const service = req.scope.resolve(invoice_generator_1.INVOICE_MODULE);
|
|
24
|
+
const config = await service.retrieveInvoiceConfig(id);
|
|
25
|
+
if (config.is_default) {
|
|
26
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_ALLOWED, "No se puede eliminar la empresa por defecto. Asigne otra empresa como default primero.");
|
|
27
|
+
}
|
|
28
|
+
await service.deleteInvoiceConfigs(id);
|
|
29
|
+
res.status(200).json({ id, object: "invoice_config", deleted: true });
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2ludm9pY2UtY29uZmlnL1tpZF0vcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFLQSxrQkFVQztBQUVELG9CQVdDO0FBRUQsd0JBbUJDO0FBaERELHFEQUF1RDtBQUN2RCw2RUFBc0U7QUFHL0QsS0FBSyxVQUFVLEdBQUcsQ0FDckIsR0FBa0IsRUFDbEIsR0FBbUI7SUFFbkIsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUE7SUFDekIsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsa0NBQWMsQ0FBNEIsQ0FBQTtJQUU1RSxNQUFNLE1BQU0sR0FBRyxNQUFNLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLENBQUMsQ0FBQTtJQUV0RCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUE7QUFDeEMsQ0FBQztBQUVNLEtBQUssVUFBVSxJQUFJLENBQ3RCLEdBQWtCLEVBQ2xCLEdBQW1CO0lBRW5CLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFBO0lBQ3pCLE1BQU0sSUFBSSxHQUFHLEdBQUcsQ0FBQyxhQUFhLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQTtJQUMxQyxNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxrQ0FBYyxDQUE0QixDQUFBO0lBRTVFLE1BQU0sT0FBTyxHQUFHLE1BQU0sT0FBTyxDQUFDLG9CQUFvQixDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUksSUFBZ0MsRUFBRSxDQUFDLENBQUE7SUFFaEcsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLGNBQWMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFBO0FBQ3pDLENBQUM7QUFFTSxLQUFLLFVBQVUsTUFBTSxDQUN4QixHQUFrQixFQUNsQixHQUFtQjtJQUVuQixNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQTtJQUN6QixNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxrQ0FBYyxDQUE0QixDQUFBO0lBRTVFLE1BQU0sTUFBTSxHQUFHLE1BQU0sT0FBTyxDQUFDLHFCQUFxQixDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBRXRELElBQUksTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3BCLE1BQU0sSUFBSSxtQkFBVyxDQUNqQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQzdCLHdGQUF3RixDQUMzRixDQUFBO0lBQ0wsQ0FBQztJQUVELE1BQU0sT0FBTyxDQUFDLG9CQUFvQixDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBRXRDLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQTtBQUN6RSxDQUFDIn0=
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.POST = POST;
|
|
4
|
+
const invoice_generator_1 = require("../../../../../modules/invoice-generator");
|
|
5
|
+
async function POST(req, res) {
|
|
6
|
+
const { id } = req.params;
|
|
7
|
+
const service = req.scope.resolve(invoice_generator_1.INVOICE_MODULE);
|
|
8
|
+
// Unset all defaults first
|
|
9
|
+
const all = await service.listInvoiceConfigs();
|
|
10
|
+
for (const cfg of all) {
|
|
11
|
+
if (cfg.is_default) {
|
|
12
|
+
await service.updateInvoiceConfigs({ id: cfg.id, is_default: false });
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
// Set the requested one as default
|
|
16
|
+
const updated = await service.updateInvoiceConfigs({ id, is_default: true });
|
|
17
|
+
res.json({ invoice_config: updated });
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2ludm9pY2UtY29uZmlnL1tpZF0vc2V0LWRlZmF1bHQvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFJQSxvQkFtQkM7QUF0QkQsZ0ZBQXlFO0FBR2xFLEtBQUssVUFBVSxJQUFJLENBQ3RCLEdBQWtCLEVBQ2xCLEdBQW1CO0lBRW5CLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFBO0lBQ3pCLE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGtDQUFjLENBQTRCLENBQUE7SUFFNUUsMkJBQTJCO0lBQzNCLE1BQU0sR0FBRyxHQUFHLE1BQU0sT0FBTyxDQUFDLGtCQUFrQixFQUFFLENBQUE7SUFDOUMsS0FBSyxNQUFNLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNwQixJQUFJLEdBQUcsQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNqQixNQUFNLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFBO1FBQ3pFLENBQUM7SUFDTCxDQUFDO0lBRUQsbUNBQW1DO0lBQ25DLE1BQU0sT0FBTyxHQUFHLE1BQU0sT0FBTyxDQUFDLG9CQUFvQixDQUFDLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFBO0lBRTVFLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxjQUFjLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQTtBQUN6QyxDQUFDIn0=
|
|
@@ -5,22 +5,20 @@ exports.POST = POST;
|
|
|
5
5
|
const invoice_generator_1 = require("../../../modules/invoice-generator");
|
|
6
6
|
async function GET(req, res) {
|
|
7
7
|
const query = req.scope.resolve("query");
|
|
8
|
-
const { data:
|
|
8
|
+
const { data: configs } = await query.graph({
|
|
9
9
|
entity: "invoice_config",
|
|
10
10
|
fields: ["*"],
|
|
11
11
|
});
|
|
12
12
|
res.json({
|
|
13
|
-
|
|
13
|
+
invoice_configs: configs
|
|
14
14
|
});
|
|
15
15
|
}
|
|
16
16
|
async function POST(req, res) {
|
|
17
17
|
const body = req.validatedBody ?? req.body;
|
|
18
18
|
const service = req.scope.resolve(invoice_generator_1.INVOICE_MODULE);
|
|
19
|
-
const
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
res.json({
|
|
23
|
-
invoice_config: updated
|
|
19
|
+
const config = await service.createInvoiceConfigs(body);
|
|
20
|
+
res.status(201).json({
|
|
21
|
+
invoice_config: config
|
|
24
22
|
});
|
|
25
23
|
}
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2ludm9pY2UtY29uZmlnL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBSUEsa0JBY0M7QUFFRCxvQkFZQztBQS9CRCwwRUFBbUU7QUFHNUQsS0FBSyxVQUFVLEdBQUcsQ0FDdkIsR0FBa0IsRUFDbEIsR0FBbUI7SUFFbkIsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUE7SUFFeEMsTUFBTSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDMUMsTUFBTSxFQUFFLGdCQUFnQjtRQUN4QixNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUM7S0FDZCxDQUFDLENBQUE7SUFFRixHQUFHLENBQUMsSUFBSSxDQUFDO1FBQ1AsZUFBZSxFQUFFLE9BQU87S0FDekIsQ0FBQyxDQUFBO0FBQ0osQ0FBQztBQUVNLEtBQUssVUFBVSxJQUFJLENBQ3hCLEdBQWtCLEVBQ2xCLEdBQW1CO0lBRW5CLE1BQU0sSUFBSSxHQUFHLEdBQUcsQ0FBQyxhQUFhLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQTtJQUMxQyxNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxrQ0FBYyxDQUE0QixDQUFBO0lBRTVFLE1BQU0sTUFBTSxHQUFHLE1BQU0sT0FBTyxDQUFDLG9CQUFvQixDQUFDLElBQStCLENBQUMsQ0FBQTtJQUVsRixHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUNuQixjQUFjLEVBQUUsTUFBTTtLQUN2QixDQUFDLENBQUE7QUFDSixDQUFDIn0=
|
|
@@ -7,7 +7,7 @@ async function GET(req, res) {
|
|
|
7
7
|
const query = req.scope.resolve("query");
|
|
8
8
|
const { data: templates } = await query.graph({
|
|
9
9
|
entity: "invoice_template",
|
|
10
|
-
fields: ["id", "name", "slug", "type", "is_default", "created_at", "updated_at"],
|
|
10
|
+
fields: ["id", "name", "slug", "type", "is_default", "company_id", "created_at", "updated_at"],
|
|
11
11
|
});
|
|
12
12
|
res.json({ invoice_templates: templates });
|
|
13
13
|
}
|
|
@@ -17,4 +17,4 @@ async function POST(req, res) {
|
|
|
17
17
|
const template = await service.createInvoiceTemplates(body);
|
|
18
18
|
res.status(201).json({ invoice_template: template });
|
|
19
19
|
}
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2ludm9pY2UtdGVtcGxhdGVzL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBS0Esa0JBWUM7QUFFRCxvQkFVQztBQTNCRCwwRUFBbUU7QUFHNUQsS0FBSyxVQUFVLEdBQUcsQ0FDdkIsR0FBa0IsRUFDbEIsR0FBbUI7SUFFbkIsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUE7SUFFeEMsTUFBTSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDNUMsTUFBTSxFQUFFLGtCQUFrQjtRQUMxQixNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsWUFBWSxDQUFDO0tBQy9GLENBQUMsQ0FBQTtJQUVGLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFBO0FBQzVDLENBQUM7QUFFTSxLQUFLLFVBQVUsSUFBSSxDQUN4QixHQUFrQyxFQUNsQyxHQUFtQjtJQUVuQixNQUFNLElBQUksR0FBRyxHQUFHLENBQUMsYUFBYSxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUE7SUFDMUMsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsa0NBQWMsQ0FBNEIsQ0FBQTtJQUU1RSxNQUFNLFFBQVEsR0FBRyxNQUFNLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxJQUErQixDQUFDLENBQUE7SUFFdEYsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFBO0FBQ3RELENBQUMifQ==
|
|
@@ -9,10 +9,12 @@ exports.CreateTemplateSchema = zod_1.z.object({
|
|
|
9
9
|
type: zod_1.z.enum(["order_invoice", "quote_proforma"]),
|
|
10
10
|
is_default: zod_1.z.boolean().optional().default(false),
|
|
11
11
|
variables_schema: zod_1.z.record(zod_1.z.unknown()).nullable().optional(),
|
|
12
|
+
company_id: zod_1.z.string().nullable().optional(),
|
|
12
13
|
});
|
|
13
14
|
exports.UpdateTemplateSchema = zod_1.z.object({
|
|
14
15
|
name: zod_1.z.string().min(1).optional(),
|
|
15
16
|
html_content: zod_1.z.string().min(1).optional(),
|
|
16
17
|
variables_schema: zod_1.z.record(zod_1.z.unknown()).nullable().optional(),
|
|
18
|
+
company_id: zod_1.z.string().nullable().optional(),
|
|
17
19
|
});
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcGkvYWRtaW4vaW52b2ljZS10ZW1wbGF0ZXMvdmFsaWRhdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxpREFBMkM7QUFFOUIsUUFBQSxvQkFBb0IsR0FBRyxPQUFDLENBQUMsTUFBTSxDQUFDO0lBQzNDLElBQUksRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN2QixJQUFJLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsY0FBYyxFQUFFLHNEQUFzRCxDQUFDO0lBQ3JHLFlBQVksRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMvQixJQUFJLEVBQUUsT0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLGVBQWUsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2pELFVBQVUsRUFBRSxPQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztJQUNqRCxnQkFBZ0IsRUFBRSxPQUFDLENBQUMsTUFBTSxDQUFDLE9BQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM3RCxVQUFVLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRTtDQUM3QyxDQUFDLENBQUE7QUFFVyxRQUFBLG9CQUFvQixHQUFHLE9BQUMsQ0FBQyxNQUFNLENBQUM7SUFDM0MsSUFBSSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQ2xDLFlBQVksRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUMxQyxnQkFBZ0IsRUFBRSxPQUFDLENBQUMsTUFBTSxDQUFDLE9BQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM3RCxVQUFVLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRTtDQUM3QyxDQUFDLENBQUEifQ==
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Migration20260321120000 = void 0;
|
|
4
|
+
const migrations_1 = require("@medusajs/framework/mikro-orm/migrations");
|
|
5
|
+
class Migration20260321120000 extends migrations_1.Migration {
|
|
6
|
+
async up() {
|
|
7
|
+
// Add is_default to invoice_config
|
|
8
|
+
this.addSql(`ALTER TABLE IF EXISTS "invoice_config" ADD COLUMN IF NOT EXISTS "is_default" boolean NOT NULL DEFAULT false;`);
|
|
9
|
+
// Set the first existing config as default
|
|
10
|
+
this.addSql(`
|
|
11
|
+
UPDATE "invoice_config"
|
|
12
|
+
SET "is_default" = true
|
|
13
|
+
WHERE "id" = (
|
|
14
|
+
SELECT "id" FROM "invoice_config"
|
|
15
|
+
WHERE "deleted_at" IS NULL
|
|
16
|
+
ORDER BY "created_at" ASC
|
|
17
|
+
LIMIT 1
|
|
18
|
+
);
|
|
19
|
+
`);
|
|
20
|
+
// Add company_id to invoice_template
|
|
21
|
+
this.addSql(`ALTER TABLE IF EXISTS "invoice_template" ADD COLUMN IF NOT EXISTS "company_id" text NULL;`);
|
|
22
|
+
}
|
|
23
|
+
async down() {
|
|
24
|
+
this.addSql(`ALTER TABLE IF EXISTS "invoice_config" DROP COLUMN IF EXISTS "is_default";`);
|
|
25
|
+
this.addSql(`ALTER TABLE IF EXISTS "invoice_template" DROP COLUMN IF EXISTS "company_id";`);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
exports.Migration20260321120000 = Migration20260321120000;
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNjAzMjExMjAwMDAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9pbnZvaWNlLWdlbmVyYXRvci9taWdyYXRpb25zL01pZ3JhdGlvbjIwMjYwMzIxMTIwMDAwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlFQUFxRTtBQUVyRSxNQUFhLHVCQUF3QixTQUFRLHNCQUFTO0lBRXpDLEtBQUssQ0FBQyxFQUFFO1FBQ2IsbUNBQW1DO1FBQ25DLElBQUksQ0FBQyxNQUFNLENBQUMsOEdBQThHLENBQUMsQ0FBQztRQUU1SCwyQ0FBMkM7UUFDM0MsSUFBSSxDQUFDLE1BQU0sQ0FBQzs7Ozs7Ozs7O0tBU2YsQ0FBQyxDQUFDO1FBRUMscUNBQXFDO1FBQ3JDLElBQUksQ0FBQyxNQUFNLENBQUMsMkZBQTJGLENBQUMsQ0FBQztJQUM3RyxDQUFDO0lBRVEsS0FBSyxDQUFDLElBQUk7UUFDZixJQUFJLENBQUMsTUFBTSxDQUFDLDRFQUE0RSxDQUFDLENBQUM7UUFDMUYsSUFBSSxDQUFDLE1BQU0sQ0FBQyw4RUFBOEUsQ0FBQyxDQUFDO0lBQ2hHLENBQUM7Q0FFSjtBQTNCRCwwREEyQkMifQ==
|
|
@@ -12,5 +12,6 @@ exports.InvoiceConfig = utils_1.model.define("invoice_config", {
|
|
|
12
12
|
company_logo: utils_1.model.text().nullable(),
|
|
13
13
|
notes: utils_1.model.text().nullable(),
|
|
14
14
|
admin_notification_email: utils_1.model.text().nullable(),
|
|
15
|
+
is_default: utils_1.model.boolean().default(false),
|
|
15
16
|
});
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52b2ljZS1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9pbnZvaWNlLWdlbmVyYXRvci9tb2RlbHMvaW52b2ljZS1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscURBQWlEO0FBRXBDLFFBQUEsYUFBYSxHQUFHLGFBQUssQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLEVBQUU7SUFDMUQsRUFBRSxFQUFFLGFBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLEVBQUU7SUFDM0IsWUFBWSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUU7SUFDMUIsV0FBVyxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDcEMsZUFBZSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUU7SUFDN0IsYUFBYSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUU7SUFDM0IsYUFBYSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUU7SUFDM0IsWUFBWSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDckMsS0FBSyxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDOUIsd0JBQXdCLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNqRCxVQUFVLEVBQUUsYUFBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7Q0FDM0MsQ0FBQyxDQUFBIn0=
|
|
@@ -15,5 +15,6 @@ exports.InvoiceTemplate = utils_1.model.define("invoice_template", {
|
|
|
15
15
|
type: utils_1.model.enum(TemplateType),
|
|
16
16
|
is_default: utils_1.model.boolean().default(false),
|
|
17
17
|
variables_schema: utils_1.model.json().nullable(),
|
|
18
|
+
company_id: utils_1.model.text().nullable(),
|
|
18
19
|
});
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52b2ljZS10ZW1wbGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL2ludm9pY2UtZ2VuZXJhdG9yL21vZGVscy9pbnZvaWNlLXRlbXBsYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFEQUFpRDtBQUVqRCxJQUFZLFlBR1g7QUFIRCxXQUFZLFlBQVk7SUFDdEIsK0NBQStCLENBQUE7SUFDL0IsaURBQWlDLENBQUE7QUFDbkMsQ0FBQyxFQUhXLFlBQVksNEJBQVosWUFBWSxRQUd2QjtBQUVZLFFBQUEsZUFBZSxHQUFHLGFBQUssQ0FBQyxNQUFNLENBQUMsa0JBQWtCLEVBQUU7SUFDOUQsRUFBRSxFQUFFLGFBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLEVBQUU7SUFDM0IsSUFBSSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUU7SUFDbEIsSUFBSSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUU7SUFDbEIsWUFBWSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUU7SUFDMUIsSUFBSSxFQUFFLGFBQUssQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzlCLFVBQVUsRUFBRSxhQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztJQUMxQyxnQkFBZ0IsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ3pDLFVBQVUsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFO0NBQ3BDLENBQUMsQ0FBQSJ9
|
|
@@ -65,11 +65,23 @@ class InvoiceGeneratorService extends (0, utils_1.MedusaService)({
|
|
|
65
65
|
}
|
|
66
66
|
async buildWithStrategy(params) {
|
|
67
67
|
const configs = await this.listInvoiceConfigs();
|
|
68
|
-
|
|
68
|
+
// Resolve template (to check company_id)
|
|
69
69
|
const templates = await this.listInvoiceTemplates({
|
|
70
70
|
slug: params.template,
|
|
71
71
|
});
|
|
72
72
|
const htmlTemplate = templates[0]?.html_content ?? null;
|
|
73
|
+
const templateCompanyId = templates[0]?.company_id;
|
|
74
|
+
// Resolve company: template.company_id → is_default → first available
|
|
75
|
+
let config = null;
|
|
76
|
+
if (templateCompanyId) {
|
|
77
|
+
config = configs.find((c) => c.id === templateCompanyId) ?? null;
|
|
78
|
+
}
|
|
79
|
+
if (!config) {
|
|
80
|
+
config = configs.find((c) => c.is_default === true) ?? null;
|
|
81
|
+
}
|
|
82
|
+
if (!config) {
|
|
83
|
+
config = configs[0] ?? null;
|
|
84
|
+
}
|
|
73
85
|
const strategy = strategy_1.TemplateFactory.resolve(params.template);
|
|
74
86
|
return strategy.buildDocumentDefinition(params.data, config, htmlTemplate);
|
|
75
87
|
}
|
|
@@ -121,4 +133,4 @@ class InvoiceGeneratorService extends (0, utils_1.MedusaService)({
|
|
|
121
133
|
}
|
|
122
134
|
}
|
|
123
135
|
exports.default = InvoiceGeneratorService;
|
|
124
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
136
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL2ludm9pY2UtZ2VuZXJhdG9yL3NlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxxREFBeUQ7QUFHekQsc0RBQWdDO0FBQ2hDLDREQUF1RDtBQUN2RCw4Q0FBMEM7QUFDMUMsZ0VBQTJEO0FBQzNELHFDQUE2QztBQUM3QyxtREFBd0U7QUFFeEUsZ0ZBQWdGO0FBQ2hGLDZEQUFnRTtBQUNoRSwrREFBa0U7QUFJbEUsMEJBQWUsQ0FBQyxRQUFRLENBQW9CLGVBQWUsRUFBRSxvQ0FBb0IsQ0FBQyxDQUFBO0FBQ2xGLDBCQUFlLENBQUMsUUFBUSxDQUFxQixnQkFBZ0IsRUFBRSxzQ0FBcUIsQ0FBQyxDQUFBO0FBRXJGLGlGQUFpRjtBQUVqRixNQUFNLEtBQUssR0FBRztJQUNaLFNBQVMsRUFBRTtRQUNULE1BQU0sRUFBRSxXQUFXO1FBQ25CLElBQUksRUFBRSxnQkFBZ0I7UUFDdEIsT0FBTyxFQUFFLG1CQUFtQjtRQUM1QixXQUFXLEVBQUUsdUJBQXVCO0tBQ3JDO0NBQ08sQ0FBQTtBQUVWLE1BQU0sT0FBTyxHQUFHLElBQUksaUJBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQTtBQVFyQyxpRkFBaUY7QUFFakYsTUFBTSx1QkFBd0IsU0FBUSxJQUFBLHFCQUFhLEVBQUM7SUFDbEQsYUFBYSxFQUFiLDhCQUFhO0lBQ2IsT0FBTyxFQUFQLGlCQUFPO0lBQ1AsZUFBZSxFQUFmLGtDQUFlO0NBQ2hCLENBQUM7SUFDQSxLQUFLLENBQUMsV0FBVyxDQUNmLE1BQW1EO1FBRW5ELE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUUvQyxJQUFJLE1BQU0sQ0FBQyxJQUFJLEtBQUssTUFBTSxFQUFFLENBQUM7WUFDM0IsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxJ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
|
package/package.json
CHANGED
|
@@ -1,91 +1,90 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
},
|
|
17
|
-
"./package.json": "./package.json",
|
|
18
|
-
"./modules/invoice-generator": {
|
|
19
|
-
"types": "./index.d.ts",
|
|
20
|
-
"default": "./.medusa/server/src/modules/invoice-generator/index.js"
|
|
21
|
-
},
|
|
22
|
-
"./modules/*": "./.medusa/server/src/modules/*/index.js",
|
|
23
|
-
"./.medusa/server/src/modules/*": "./.medusa/server/src/modules/*/index.js",
|
|
24
|
-
"./admin": {
|
|
25
|
-
"import": "./.medusa/server/src/admin/index.mjs",
|
|
26
|
-
"require": "./.medusa/server/src/admin/index.js",
|
|
27
|
-
"default": "./.medusa/server/src/admin/index.js"
|
|
28
|
-
}
|
|
2
|
+
"name": "@codemind.ec/medusa-plugin-invoice",
|
|
3
|
+
"version": "1.1.0",
|
|
4
|
+
"description": "Invoice & quotation PDF widget for Medusa v2 admin — download order receipts and manage company billing config.",
|
|
5
|
+
"author": "Kollor <dev@codemind.ec> (https://codemind.ec)",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"files": [
|
|
8
|
+
".medusa/server",
|
|
9
|
+
"index.d.ts"
|
|
10
|
+
],
|
|
11
|
+
"types": "./index.d.ts",
|
|
12
|
+
"exports": {
|
|
13
|
+
".": {
|
|
14
|
+
"types": "./index.d.ts",
|
|
15
|
+
"default": "./.medusa/server/src/index.js"
|
|
29
16
|
},
|
|
30
|
-
"
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
"plugin",
|
|
35
|
-
"invoice",
|
|
36
|
-
"pdf",
|
|
37
|
-
"comprobante",
|
|
38
|
-
"codemind",
|
|
39
|
-
"kollor"
|
|
40
|
-
],
|
|
41
|
-
"scripts": {
|
|
42
|
-
"build": "medusa plugin:build",
|
|
43
|
-
"dev": "medusa plugin:develop",
|
|
44
|
-
"prepublishOnly": "medusa plugin:build"
|
|
17
|
+
"./package.json": "./package.json",
|
|
18
|
+
"./modules/invoice-generator": {
|
|
19
|
+
"types": "./index.d.ts",
|
|
20
|
+
"default": "./.medusa/server/src/modules/invoice-generator/index.js"
|
|
45
21
|
},
|
|
46
|
-
"
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
"@medusajs/js-sdk": "^2.13.3",
|
|
53
|
-
"@medusajs/medusa": "2.13.3",
|
|
54
|
-
"@medusajs/test-utils": "2.13.3",
|
|
55
|
-
"@medusajs/ui": "^4.1.3",
|
|
56
|
-
"@swc/core": "^1.7.28",
|
|
57
|
-
"@tanstack/react-query": "^5.64.2",
|
|
58
|
-
"@types/node": "^20",
|
|
59
|
-
"@types/pdfmake": "^0.2.11",
|
|
60
|
-
"@types/react": "^18.3.3",
|
|
61
|
-
"@types/react-dom": "^18.3.0",
|
|
62
|
-
"handlebars": "^4.7.8",
|
|
63
|
-
"prop-types": "^15.8.1",
|
|
64
|
-
"react": "^18.3.1",
|
|
65
|
-
"react-dom": "^18.3.1",
|
|
66
|
-
"react-hook-form": "^7.54.2",
|
|
67
|
-
"ts-node": "^10.9.2",
|
|
68
|
-
"typescript": "^5",
|
|
69
|
-
"vite": "^5.4.14"
|
|
70
|
-
},
|
|
71
|
-
"dependencies": {
|
|
72
|
-
"@codemirror/lang-html": "^6.4.11",
|
|
73
|
-
"@codemirror/theme-one-dark": "^6.1.3",
|
|
74
|
-
"@uiw/react-codemirror": "^4.25.8",
|
|
75
|
-
"axios": "^1.7.7",
|
|
76
|
-
"pdfmake": "^0.2.20",
|
|
77
|
-
"puppeteer-core": "^24.0.0"
|
|
78
|
-
},
|
|
79
|
-
"peerDependencies": {
|
|
80
|
-
"@medusajs/admin-sdk": "2.13.3",
|
|
81
|
-
"@medusajs/cli": "2.13.3",
|
|
82
|
-
"@medusajs/framework": "2.13.3",
|
|
83
|
-
"@medusajs/icons": "^2.13.3",
|
|
84
|
-
"@medusajs/medusa": "2.13.3",
|
|
85
|
-
"@medusajs/test-utils": "2.13.3",
|
|
86
|
-
"@medusajs/ui": "^4.1.3"
|
|
87
|
-
},
|
|
88
|
-
"engines": {
|
|
89
|
-
"node": ">=20"
|
|
22
|
+
"./modules/*": "./.medusa/server/src/modules/*/index.js",
|
|
23
|
+
"./.medusa/server/src/modules/*": "./.medusa/server/src/modules/*/index.js",
|
|
24
|
+
"./admin": {
|
|
25
|
+
"import": "./.medusa/server/src/admin/index.mjs",
|
|
26
|
+
"require": "./.medusa/server/src/admin/index.js",
|
|
27
|
+
"default": "./.medusa/server/src/admin/index.js"
|
|
90
28
|
}
|
|
91
|
-
}
|
|
29
|
+
},
|
|
30
|
+
"keywords": [
|
|
31
|
+
"medusa",
|
|
32
|
+
"medusa-plugin",
|
|
33
|
+
"medusa-v2",
|
|
34
|
+
"plugin",
|
|
35
|
+
"invoice",
|
|
36
|
+
"pdf",
|
|
37
|
+
"comprobante",
|
|
38
|
+
"codemind",
|
|
39
|
+
"kollor"
|
|
40
|
+
],
|
|
41
|
+
"devDependencies": {
|
|
42
|
+
"@medusajs/admin-sdk": "2.13.3",
|
|
43
|
+
"@medusajs/admin-shared": "2.13.3",
|
|
44
|
+
"@medusajs/cli": "2.13.3",
|
|
45
|
+
"@medusajs/framework": "2.13.3",
|
|
46
|
+
"@medusajs/icons": "^2.13.3",
|
|
47
|
+
"@medusajs/js-sdk": "^2.13.3",
|
|
48
|
+
"@medusajs/medusa": "2.13.3",
|
|
49
|
+
"@medusajs/test-utils": "2.13.3",
|
|
50
|
+
"@medusajs/ui": "^4.1.3",
|
|
51
|
+
"@swc/core": "^1.7.28",
|
|
52
|
+
"@tanstack/react-query": "^5.64.2",
|
|
53
|
+
"@types/node": "^20",
|
|
54
|
+
"@types/pdfmake": "^0.2.11",
|
|
55
|
+
"@types/react": "^18.3.3",
|
|
56
|
+
"@types/react-dom": "^18.3.0",
|
|
57
|
+
"handlebars": "^4.7.8",
|
|
58
|
+
"prop-types": "^15.8.1",
|
|
59
|
+
"react": "^18.3.1",
|
|
60
|
+
"react-dom": "^18.3.1",
|
|
61
|
+
"react-hook-form": "^7.54.2",
|
|
62
|
+
"ts-node": "^10.9.2",
|
|
63
|
+
"typescript": "^5",
|
|
64
|
+
"vite": "^5.4.14"
|
|
65
|
+
},
|
|
66
|
+
"dependencies": {
|
|
67
|
+
"@codemirror/lang-html": "^6.4.11",
|
|
68
|
+
"@codemirror/theme-one-dark": "^6.1.3",
|
|
69
|
+
"@uiw/react-codemirror": "^4.25.8",
|
|
70
|
+
"axios": "^1.7.7",
|
|
71
|
+
"pdfmake": "^0.2.20",
|
|
72
|
+
"puppeteer-core": "^24.0.0"
|
|
73
|
+
},
|
|
74
|
+
"peerDependencies": {
|
|
75
|
+
"@medusajs/admin-sdk": "2.13.3",
|
|
76
|
+
"@medusajs/cli": "2.13.3",
|
|
77
|
+
"@medusajs/framework": "2.13.3",
|
|
78
|
+
"@medusajs/icons": "^2.13.3",
|
|
79
|
+
"@medusajs/medusa": "2.13.3",
|
|
80
|
+
"@medusajs/test-utils": "2.13.3",
|
|
81
|
+
"@medusajs/ui": "^4.1.3"
|
|
82
|
+
},
|
|
83
|
+
"engines": {
|
|
84
|
+
"node": ">=20"
|
|
85
|
+
},
|
|
86
|
+
"scripts": {
|
|
87
|
+
"build": "medusa plugin:build",
|
|
88
|
+
"dev": "medusa plugin:develop"
|
|
89
|
+
}
|
|
90
|
+
}
|