@substrat-run/engine-invoicing 0.1.1 → 0.2.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/dist/index.d.ts +11 -11
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +76 -1
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
package/dist/index.d.ts
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { type ModuleRegistration } from '@substrat-run/kernel';
|
|
3
3
|
export declare const INVOICING_PERM: {
|
|
4
|
-
read: string & z.
|
|
5
|
-
export: string & z.
|
|
4
|
+
read: string & z.core.$brand<"PermissionKey">;
|
|
5
|
+
export: string & z.core.$brand<"PermissionKey">;
|
|
6
6
|
};
|
|
7
7
|
export declare const invoicingManifest: {
|
|
8
|
-
id: string & z.
|
|
8
|
+
id: string & z.core.$brand<"ModuleId">;
|
|
9
|
+
version: string;
|
|
10
|
+
kernelContract: string;
|
|
9
11
|
permissions: {
|
|
10
|
-
key: string & z.
|
|
12
|
+
key: string & z.core.$brand<"PermissionKey">;
|
|
11
13
|
description: string;
|
|
12
14
|
}[];
|
|
13
|
-
version: string;
|
|
14
|
-
kernelContract: string;
|
|
15
15
|
events: {
|
|
16
16
|
emits: {
|
|
17
17
|
type: string;
|
|
@@ -28,7 +28,7 @@ export declare const invoicingManifest: {
|
|
|
28
28
|
};
|
|
29
29
|
attachmentTargets: {
|
|
30
30
|
entityType: string;
|
|
31
|
-
readPermission: string & z.
|
|
31
|
+
readPermission: string & z.core.$brand<"PermissionKey">;
|
|
32
32
|
}[];
|
|
33
33
|
entitlementKey: string;
|
|
34
34
|
entityRelations?: {
|
|
@@ -49,13 +49,13 @@ export declare const invoicingManifest: {
|
|
|
49
49
|
ui?: {
|
|
50
50
|
routes?: {
|
|
51
51
|
path: string;
|
|
52
|
-
permission: string & z.BRAND<"PermissionKey">;
|
|
53
52
|
screen: string;
|
|
53
|
+
permission: string & z.core.$brand<"PermissionKey">;
|
|
54
54
|
}[] | undefined;
|
|
55
55
|
nav?: {
|
|
56
|
-
permission: string & z.BRAND<"PermissionKey">;
|
|
57
56
|
label: string;
|
|
58
57
|
to: string;
|
|
58
|
+
permission: string & z.core.$brand<"PermissionKey">;
|
|
59
59
|
icon?: string | undefined;
|
|
60
60
|
}[] | undefined;
|
|
61
61
|
entityViews?: {
|
|
@@ -63,14 +63,14 @@ export declare const invoicingManifest: {
|
|
|
63
63
|
view: string;
|
|
64
64
|
}[] | undefined;
|
|
65
65
|
widgets?: {
|
|
66
|
-
permission: string & z.BRAND<"PermissionKey">;
|
|
67
66
|
slot: string;
|
|
68
67
|
component: string;
|
|
68
|
+
permission: string & z.core.$brand<"PermissionKey">;
|
|
69
69
|
}[] | undefined;
|
|
70
70
|
settingsPanels?: {
|
|
71
|
-
permission: string & z.BRAND<"PermissionKey">;
|
|
72
71
|
label: string;
|
|
73
72
|
component: string;
|
|
73
|
+
permission: string & z.core.$brand<"PermissionKey">;
|
|
74
74
|
}[] | undefined;
|
|
75
75
|
} | undefined;
|
|
76
76
|
};
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,OAAO,EAIL,KAAK,kBAAkB,EAGxB,MAAM,sBAAsB,CAAC;AAS9B,eAAO,MAAM,cAAc;;;CAG1B,CAAC;AAEF,eAAO,MAAM,iBAAiB
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,OAAO,EAIL,KAAK,kBAAkB,EAGxB,MAAM,sBAAsB,CAAC;AAS9B,eAAO,MAAM,cAAc;;;CAG1B,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0B5B,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;GA6B/B,CAAC;AA6CF,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;CACpB;AAuMD,eAAO,MAAM,eAAe,EAAE,kBAY7B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -24,7 +24,10 @@ export const invoicingManifest = moduleManifest.parse({
|
|
|
24
24
|
{ type: 'invoicing.underlag-updated', schemaVersion: 1 },
|
|
25
25
|
{ type: 'invoicing.underlag-exported', schemaVersion: 1 },
|
|
26
26
|
],
|
|
27
|
-
consumes: [
|
|
27
|
+
consumes: [
|
|
28
|
+
{ type: 'workorder.completed', schemaVersion: 1 },
|
|
29
|
+
{ type: 'commerce.order-placed', schemaVersion: 1 },
|
|
30
|
+
],
|
|
28
31
|
},
|
|
29
32
|
migrations: { journalDir: './migrations', compatibleFrom: '0.0.1' },
|
|
30
33
|
attachmentTargets: [{ entityType: 'underlag', readPermission: 'invoicing:read' }],
|
|
@@ -83,6 +86,25 @@ const completedPayload = z.object({
|
|
|
83
86
|
})),
|
|
84
87
|
total: money,
|
|
85
88
|
});
|
|
89
|
+
// ADDITIVE (D-28): a SECOND input event. The engine learns to build a
|
|
90
|
+
// fakturaunderlag from a retail order without touching the workorder path — new
|
|
91
|
+
// `consumes` entry + this parse + the consumer below, no migration, no
|
|
92
|
+
// permission. Its OWN Zod view of the contract; zero imports from the producer.
|
|
93
|
+
const commercePlacedPayload = z.object({
|
|
94
|
+
orderId: z.string().min(1),
|
|
95
|
+
number: z.number().int(),
|
|
96
|
+
customer: entityRef,
|
|
97
|
+
paymentMethod: z.string().min(1),
|
|
98
|
+
billable: z.array(z.object({
|
|
99
|
+
article: z.string().min(1),
|
|
100
|
+
description: z.string().min(1),
|
|
101
|
+
qty: z.string().min(1),
|
|
102
|
+
unit: z.string().min(1),
|
|
103
|
+
unitPrice: money,
|
|
104
|
+
lineTotal: money,
|
|
105
|
+
})),
|
|
106
|
+
total: money,
|
|
107
|
+
});
|
|
86
108
|
function underlagTotal(ctx, underlagId) {
|
|
87
109
|
return ctx.sql
|
|
88
110
|
.query('SELECT line_total_amount FROM invoicing_lines WHERE underlag_id = ?', [underlagId])
|
|
@@ -133,6 +155,58 @@ const onWorkOrderCompleted = (ctx, event) => {
|
|
|
133
155
|
},
|
|
134
156
|
});
|
|
135
157
|
};
|
|
158
|
+
// ADDITIVE consumer for the retail order event (concept §7). Same snapshot,
|
|
159
|
+
// -not-join discipline as `onWorkOrderCompleted`; source_type is 'order'. Only
|
|
160
|
+
// invoice-payment orders bill — card/Swish settle through a payment connector.
|
|
161
|
+
const onCommerceOrderPlaced = (ctx, event) => {
|
|
162
|
+
const p = commercePlacedPayload.parse(event.payload);
|
|
163
|
+
if (p.paymentMethod !== 'invoice')
|
|
164
|
+
return;
|
|
165
|
+
if (p.billable.length === 0)
|
|
166
|
+
return;
|
|
167
|
+
// Idempotent on at-least-once redelivery (K-11): the order is the dedup key.
|
|
168
|
+
// Its lines are already present → this delivery is a replay, do nothing.
|
|
169
|
+
const already = ctx.sql.query(`SELECT 1 AS found FROM invoicing_lines WHERE source_type = 'order' AND source_id = ? LIMIT 1`, [p.orderId])[0];
|
|
170
|
+
if (already)
|
|
171
|
+
return;
|
|
172
|
+
let underlag = ctx.sql.query(`SELECT * FROM invoicing_underlag WHERE customer_type = ? AND customer_id = ? AND status = 'open'`, [p.customer.entityType, p.customer.entityId])[0];
|
|
173
|
+
if (!underlag) {
|
|
174
|
+
const id = ulid();
|
|
175
|
+
const number = ctx.sql.query('SELECT COALESCE(MAX(number), 0) + 1 AS n FROM invoicing_underlag')[0]?.n ?? 1;
|
|
176
|
+
ctx.sql.exec(`INSERT INTO invoicing_underlag (id, number, customer_type, customer_id, status, created_at)
|
|
177
|
+
VALUES (?, ?, ?, ?, 'open', ?)`, [id, number, p.customer.entityType, p.customer.entityId, new Date().toISOString()]);
|
|
178
|
+
underlag = ctx.sql.query('SELECT * FROM invoicing_underlag WHERE id = ?', [id])[0];
|
|
179
|
+
}
|
|
180
|
+
for (const line of p.billable) {
|
|
181
|
+
ctx.sql.exec(`INSERT INTO invoicing_lines
|
|
182
|
+
(id, underlag_id, source_type, source_id, article, description, qty, unit,
|
|
183
|
+
unit_price_amount, currency, line_total_amount, created_at)
|
|
184
|
+
VALUES (?, ?, 'order', ?, ?, ?, ?, ?, ?, ?, ?, ?)`, [
|
|
185
|
+
ulid(),
|
|
186
|
+
underlag.id,
|
|
187
|
+
p.orderId,
|
|
188
|
+
line.article,
|
|
189
|
+
line.description,
|
|
190
|
+
line.qty,
|
|
191
|
+
line.unit,
|
|
192
|
+
line.unitPrice.amount,
|
|
193
|
+
line.unitPrice.currency,
|
|
194
|
+
line.lineTotal.amount,
|
|
195
|
+
new Date().toISOString(),
|
|
196
|
+
]);
|
|
197
|
+
}
|
|
198
|
+
ctx.emit({
|
|
199
|
+
type: 'invoicing.underlag-updated',
|
|
200
|
+
schemaVersion: 1,
|
|
201
|
+
entity: { entityType: 'underlag', entityId: underlag.id },
|
|
202
|
+
piiClass: 'none',
|
|
203
|
+
payload: {
|
|
204
|
+
underlagId: underlag.id,
|
|
205
|
+
addedLines: p.billable.length,
|
|
206
|
+
source: { entityType: 'order', entityId: p.orderId },
|
|
207
|
+
},
|
|
208
|
+
});
|
|
209
|
+
};
|
|
136
210
|
const listOp = async (ctx, input) => {
|
|
137
211
|
assertAllowed(await ctx.check(INVOICING_PERM.read));
|
|
138
212
|
const rows = input?.status
|
|
@@ -186,6 +260,7 @@ export const invoicingModule = {
|
|
|
186
260
|
},
|
|
187
261
|
consumers: {
|
|
188
262
|
'workorder.completed': onWorkOrderCompleted,
|
|
263
|
+
'commerce.order-placed': onCommerceOrderPlaced,
|
|
189
264
|
},
|
|
190
265
|
};
|
|
191
266
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,UAAU,EACV,SAAS,EACT,KAAK,EACL,cAAc,EACd,aAAa,GACd,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,aAAa,EACb,IAAI,GAKL,MAAM,sBAAsB,CAAC;AAE9B,+EAA+E;AAC/E,uEAAuE;AACvE,+EAA+E;AAC/E,6EAA6E;AAC7E,mDAAmD;AACnD,+EAA+E;AAE/E,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC,gBAAgB,CAAC;IAC3C,MAAM,EAAE,aAAa,CAAC,KAAK,CAAC,kBAAkB,CAAC;CAChD,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,cAAc,CAAC,KAAK,CAAC;IACpD,EAAE,EAAE,gCAAgC;IACpC,OAAO,EAAE,OAAO;IAChB,cAAc,EAAE,QAAQ;IACxB,WAAW,EAAE;QACX,EAAE,GAAG,EAAE,gBAAgB,EAAE,WAAW,EAAE,sBAAsB,EAAE;QAC9D,EAAE,GAAG,EAAE,kBAAkB,EAAE,WAAW,EAAE,+CAA+C,EAAE;KAC1F;IACD,MAAM,EAAE;QACN,KAAK,EAAE;YACL,EAAE,IAAI,EAAE,4BAA4B,EAAE,aAAa,EAAE,CAAC,EAAE;YACxD,EAAE,IAAI,EAAE,6BAA6B,EAAE,aAAa,EAAE,CAAC,EAAE;SAC1D;QACD,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@substrat-run/engine-invoicing",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Substrat engine: fakturaunderlag — consumes billable events, snapshots lines with provenance, immutable once exported",
|
|
5
5
|
"license": "AGPL-3.0-only",
|
|
6
6
|
"repository": {
|
|
@@ -25,9 +25,9 @@
|
|
|
25
25
|
"access": "public"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"zod": "^
|
|
29
|
-
"@substrat-run/contracts": "^0.
|
|
30
|
-
"@substrat-run/kernel": "^0.
|
|
28
|
+
"zod": "^4.4.3",
|
|
29
|
+
"@substrat-run/contracts": "^0.3.0",
|
|
30
|
+
"@substrat-run/kernel": "^0.3.0"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
33
|
"typescript": "^5.6.0"
|