includio-cms 0.36.0 → 0.36.1
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/API.md +1 -1
- package/CHANGELOG.md +7 -0
- package/DOCS.md +1 -1
- package/dist/shop/adapters/fakturownia/payload.d.ts +2 -0
- package/dist/shop/adapters/fakturownia/payload.js +5 -0
- package/dist/updates/0.36.1/index.d.ts +2 -0
- package/dist/updates/0.36.1/index.js +10 -0
- package/dist/updates/index.js +3 -1
- package/package.json +1 -1
package/API.md
CHANGED
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,13 @@
|
|
|
3
3
|
All notable changes to includio-cms are documented here.
|
|
4
4
|
Generated from `src/lib/updates/` — do not edit manually.
|
|
5
5
|
|
|
6
|
+
## 0.36.1 — 2026-06-08
|
|
7
|
+
|
|
8
|
+
Fakturownia adapter — fix B2C: gdy brak `buyer.nip` i `buyer.companyName`, payload zawiera `buyer_first_name` + `buyer_last_name` (rozdzielone przez `splitFullName` — spójnie z PayU/InPost). Bez tej zmiany Fakturownia API odrzuca fakturę dla osoby fizycznej z 422 `buyer_tax_no — nie może być puste`.
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
- `buildFakturowniaInvoice` — dla B2C (brak NIP i companyName) payload zawiera teraz `buyer_first_name` i `buyer_last_name` (rozdzielone z `buyer.name` przez `splitFullName` z adaptera PayU). B2B (z NIP lub companyName) zachowuje obecne zachowanie — bez first/last name. Dla `splitFullName("Madonna")` (1 słowo) → tylko `buyer_first_name`. Naprawia 422 z Fakturownia dla osób fizycznych.
|
|
12
|
+
|
|
6
13
|
## 0.36.0 — 2026-06-05
|
|
7
14
|
|
|
8
15
|
`defineShop({ invoiceName, cartName })` — opcjonalne multilingual template overriding produktowej nazwy w koszyku, podsumowaniu zamówienia i na fakturze. Reusuje engine od `variantLabel.template` (`{slug}`, `{slug|filter}`), z nowymi możliwościami: dot-path (`{hero.title}`) i auto-unwrap pól i18n. Reserved `{variant}` = wyrenderowany variantLabel. Order item `nameSnapshot` zyskuje opcjonalne pole `invoice` (zamrażane przy checkout). Additive — brak zmian default behavior.
|
package/DOCS.md
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { splitFullName } from '../payu/payload.js';
|
|
1
2
|
/** Minor units (grosze) → major units (PLN) with 2-decimal precision. */
|
|
2
3
|
function toMajor(minor) {
|
|
3
4
|
return Math.round(minor) / 100;
|
|
@@ -18,6 +19,8 @@ function pick(addr, ...keys) {
|
|
|
18
19
|
export function buildFakturowniaInvoice(payload, opts = {}) {
|
|
19
20
|
const date = payload.paidAt.slice(0, 10);
|
|
20
21
|
const { buyer } = payload;
|
|
22
|
+
const isB2C = !buyer.nip && !buyer.companyName;
|
|
23
|
+
const names = isB2C ? splitFullName(buyer.name) : {};
|
|
21
24
|
return {
|
|
22
25
|
kind: opts.kind ?? 'vat',
|
|
23
26
|
status: 'paid',
|
|
@@ -28,6 +31,8 @@ export function buildFakturowniaInvoice(payload, opts = {}) {
|
|
|
28
31
|
buyer_name: buyer.companyName || buyer.name,
|
|
29
32
|
buyer_email: buyer.email,
|
|
30
33
|
...(buyer.nip ? { buyer_tax_no: buyer.nip } : {}),
|
|
34
|
+
...(names.firstName ? { buyer_first_name: names.firstName } : {}),
|
|
35
|
+
...(names.lastName ? { buyer_last_name: names.lastName } : {}),
|
|
31
36
|
...(pick(buyer.address, 'street') ? { buyer_street: pick(buyer.address, 'street') } : {}),
|
|
32
37
|
...(pick(buyer.address, 'city') ? { buyer_city: pick(buyer.address, 'city') } : {}),
|
|
33
38
|
...(pick(buyer.address, 'postCode', 'zip', 'postalCode')
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export const update = {
|
|
2
|
+
version: '0.36.1',
|
|
3
|
+
date: '2026-06-08',
|
|
4
|
+
description: 'Fakturownia adapter — fix B2C: gdy brak `buyer.nip` i `buyer.companyName`, payload zawiera `buyer_first_name` + `buyer_last_name` (rozdzielone przez `splitFullName` — spójnie z PayU/InPost). Bez tej zmiany Fakturownia API odrzuca fakturę dla osoby fizycznej z 422 `buyer_tax_no — nie może być puste`.',
|
|
5
|
+
features: [],
|
|
6
|
+
fixes: [
|
|
7
|
+
'`buildFakturowniaInvoice` — dla B2C (brak NIP i companyName) payload zawiera teraz `buyer_first_name` i `buyer_last_name` (rozdzielone z `buyer.name` przez `splitFullName` z adaptera PayU). B2B (z NIP lub companyName) zachowuje obecne zachowanie — bez first/last name. Dla `splitFullName("Madonna")` (1 słowo) → tylko `buyer_first_name`. Naprawia 422 z Fakturownia dla osób fizycznych.'
|
|
8
|
+
],
|
|
9
|
+
breakingChanges: []
|
|
10
|
+
};
|
package/dist/updates/index.js
CHANGED
|
@@ -67,6 +67,7 @@ import { update as update0340 } from './0.34.0/index.js';
|
|
|
67
67
|
import { update as update0341 } from './0.34.1/index.js';
|
|
68
68
|
import { update as update0350 } from './0.35.0/index.js';
|
|
69
69
|
import { update as update0360 } from './0.36.0/index.js';
|
|
70
|
+
import { update as update0361 } from './0.36.1/index.js';
|
|
70
71
|
export const updates = [
|
|
71
72
|
update0065,
|
|
72
73
|
update0066,
|
|
@@ -136,7 +137,8 @@ export const updates = [
|
|
|
136
137
|
update0340,
|
|
137
138
|
update0341,
|
|
138
139
|
update0350,
|
|
139
|
-
update0360
|
|
140
|
+
update0360,
|
|
141
|
+
update0361
|
|
140
142
|
];
|
|
141
143
|
export const getUpdatesFrom = (fromVersion) => {
|
|
142
144
|
const fromParts = fromVersion.split('.').map(Number);
|