@kreiseck/kasseneck-api 0.6.9 → 0.6.45
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/README.md +21 -0
- package/dist/cjs/client/aufrufe.d.ts +21 -0
- package/dist/cjs/client/aufrufe.js +34 -0
- package/dist/cjs/client/cashregisters.d.ts +2 -2
- package/dist/cjs/client/index.d.ts +2 -1
- package/dist/cjs/client/index.js +3 -1
- package/dist/cjs/client/receipts.d.ts +31 -12
- package/dist/cjs/client/receipts.js +51 -0
- package/dist/cjs/client/reports.d.ts +3 -3
- package/dist/cjs/client/status.d.ts +3 -3
- package/dist/cjs/index.d.ts +2 -2
- package/dist/cjs/index.js +4 -2
- package/dist/cjs/kasse/artikel.d.ts +3 -3
- package/dist/cjs/kasse/client.d.ts +4 -4
- package/dist/cjs/kasse/drucker.d.ts +4 -4
- package/dist/cjs/kasse/index.d.ts +1 -1
- package/dist/cjs/kasse/index.js +30 -1
- package/dist/cjs/kasse/settings.d.ts +113 -26
- package/dist/cjs/kasse/settings.js +91 -9
- package/dist/cjs/models/index.d.ts +1 -1
- package/dist/cjs/models/index.js +3 -1
- package/dist/cjs/models/receipt-item.d.ts +41 -0
- package/dist/cjs/models/receipt-item.js +41 -1
- package/dist/cjs/models/receipt.d.ts +7 -0
- package/dist/cjs/models/receipt.js +2 -0
- package/dist/cjs/payments/hobex.d.ts +3 -3
- package/dist/cjs/payments/stripe.d.ts +3 -3
- package/dist/cjs/printing/escpos.js +7 -0
- package/dist/cjs/react/index.js +11 -1
- package/dist/cjs/receipt/discount.js +1 -1
- package/dist/cjs/receipt/layout-escpos.js +9 -4
- package/dist/cjs/receipt/layout.d.ts +6 -3
- package/dist/cjs/receipt/layout.js +166 -14
- package/dist/cjs/register/index.d.ts +1 -1
- package/dist/cjs/register/index.js +2 -1
- package/dist/cjs/register/pairing.d.ts +17 -0
- package/dist/cjs/register/pairing.js +28 -3
- package/dist/cjs/register/session.d.ts +3 -3
- package/dist/esm/client/aufrufe.d.ts +21 -0
- package/dist/esm/client/aufrufe.js +31 -0
- package/dist/esm/client/cashregisters.d.ts +2 -2
- package/dist/esm/client/index.d.ts +2 -1
- package/dist/esm/client/index.js +1 -0
- package/dist/esm/client/receipts.d.ts +31 -12
- package/dist/esm/client/receipts.js +51 -0
- package/dist/esm/client/reports.d.ts +3 -3
- package/dist/esm/client/status.d.ts +3 -3
- package/dist/esm/index.d.ts +2 -2
- package/dist/esm/index.js +2 -2
- package/dist/esm/kasse/artikel.d.ts +3 -3
- package/dist/esm/kasse/client.d.ts +4 -4
- package/dist/esm/kasse/drucker.d.ts +4 -4
- package/dist/esm/kasse/index.d.ts +1 -1
- package/dist/esm/kasse/index.js +3 -1
- package/dist/esm/kasse/settings.d.ts +113 -26
- package/dist/esm/kasse/settings.js +90 -8
- package/dist/esm/models/index.d.ts +1 -1
- package/dist/esm/models/index.js +1 -1
- package/dist/esm/models/receipt-item.d.ts +41 -0
- package/dist/esm/models/receipt-item.js +39 -1
- package/dist/esm/models/receipt.d.ts +7 -0
- package/dist/esm/models/receipt.js +2 -0
- package/dist/esm/payments/hobex.d.ts +3 -3
- package/dist/esm/payments/stripe.d.ts +3 -3
- package/dist/esm/printing/escpos.js +7 -0
- package/dist/esm/react/index.js +11 -1
- package/dist/esm/receipt/discount.js +1 -1
- package/dist/esm/receipt/layout-escpos.js +9 -4
- package/dist/esm/receipt/layout.d.ts +6 -3
- package/dist/esm/receipt/layout.js +167 -15
- package/dist/esm/register/index.d.ts +1 -1
- package/dist/esm/register/index.js +1 -1
- package/dist/esm/register/pairing.d.ts +17 -0
- package/dist/esm/register/pairing.js +27 -3
- package/dist/esm/register/session.d.ts +3 -3
- package/fixtures/belege/rabatt-chef-trinkgeld.json +89 -0
- package/fixtures/belege/rabatt-einfach.json +50 -0
- package/fixtures/belege/rabatt-trinkgeld.json +75 -0
- package/fixtures/belege/rabatt-wertgutschein.json +70 -0
- package/fixtures/belege/rabattzeilen.json +5 -3
- package/fixtures/belege/storno-rabatt.json +68 -0
- package/fixtures/erwartet/rabatt-chef-trinkgeld.grid32.txt +31 -0
- package/fixtures/erwartet/rabatt-chef-trinkgeld.grid48.txt +30 -0
- package/fixtures/erwartet/rabatt-chef-trinkgeld.lines.json +317 -0
- package/fixtures/erwartet/rabatt-einfach.grid32.txt +26 -0
- package/fixtures/erwartet/rabatt-einfach.grid48.txt +25 -0
- package/fixtures/erwartet/rabatt-einfach.lines.json +250 -0
- package/fixtures/erwartet/rabatt-trinkgeld.grid32.txt +31 -0
- package/fixtures/erwartet/rabatt-trinkgeld.grid48.txt +30 -0
- package/fixtures/erwartet/rabatt-trinkgeld.lines.json +336 -0
- package/fixtures/erwartet/rabatt-wertgutschein.grid32.txt +32 -0
- package/fixtures/erwartet/rabatt-wertgutschein.grid48.txt +31 -0
- package/fixtures/erwartet/rabatt-wertgutschein.lines.json +330 -0
- package/fixtures/erwartet/rabattzeilen.grid32.txt +4 -2
- package/fixtures/erwartet/rabattzeilen.grid48.txt +4 -2
- package/fixtures/erwartet/rabattzeilen.lines.json +18 -8
- package/fixtures/erwartet/storno-rabatt.grid32.txt +34 -0
- package/fixtures/erwartet/storno-rabatt.grid48.txt +32 -0
- package/fixtures/erwartet/storno-rabatt.lines.json +317 -0
- package/fixtures/kasse-settings-standard.json +44 -5
- package/fixtures/manifest.json +34 -4
- package/fixtures/oberflaeche.json +216 -0
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -118,6 +118,10 @@ const { receipt, company } = await api.sellReceiptWithCompany({
|
|
|
118
118
|
{ name: 'Café Latte', quantity: 2, vat: VatRate.vat20, priceCents: 390 },
|
|
119
119
|
{ name: 'Marmeladeweckerl', quantity: 1, vat: VatRate.vat10, priceCents: 250 },
|
|
120
120
|
],
|
|
121
|
+
// Trinkgeld in Cent (optional): das Backend bucht daraus eine signierte
|
|
122
|
+
// Position „Trinkgeld“ — Mitarbeiter 0 % als Durchläufer, Inhaber als Umsatz.
|
|
123
|
+
// Als Objekt mit eigener Zahlart/Empfängern: { cents, paymentMethod, recipients }.
|
|
124
|
+
tip: 100,
|
|
121
125
|
});
|
|
122
126
|
|
|
123
127
|
// Layout bauen (reines Datenmodell: Zeilen, Ausrichtung, Spalten, QR-Code) …
|
|
@@ -201,6 +205,23 @@ Die drei Zeitzonen sind kein Übereifer: Zeitfehler sind auf einer Wiener
|
|
|
201
205
|
Maschine zufällig richtig. Belegzeiten werden konsequent als **Wiener
|
|
202
206
|
Wanduhrzeit** gedeutet (`parseServerTimeStamp`), nie über `new Date(text)`.
|
|
203
207
|
|
|
208
|
+
## Vertragsdateien für die Zwillinge
|
|
209
|
+
|
|
210
|
+
Dieses Paket ist die Quelle für das Dart-Paket `kasseneck_api` und den
|
|
211
|
+
Backend-Validator `kasse-settings-core.js`. Zwei Dateien in `fixtures/` reisen
|
|
212
|
+
im Tarball mit und sagen in Maschinenform, worauf sich alle drei geeinigt haben:
|
|
213
|
+
|
|
214
|
+
| Datei | Inhalt |
|
|
215
|
+
|---|---|
|
|
216
|
+
| `kasse-settings-standard.json` | Feldnamen und Standardwerte der Kassen-Einstellungen |
|
|
217
|
+
| `oberflaeche.json` | Aufrufnamen, Enum-Werte, Rechte-Schlüssel, Tasten-Aktionen |
|
|
218
|
+
|
|
219
|
+
Beide werden erzeugt (`npm run fixtures:kasse`, `npm run fixtures:oberflaeche`)
|
|
220
|
+
und nie von Hand geändert; die CI prüft nach jedem Lauf, dass sie zum Code passen.
|
|
221
|
+
|
|
222
|
+
`oberflaeche.json` trägt die Paketversion. **Nach jedem `npm version` müssen deshalb beide
|
|
223
|
+
Dateien neu erzeugt und mitcommittet werden**, sonst wird die CI rot.
|
|
224
|
+
|
|
204
225
|
## Lizenz
|
|
205
226
|
|
|
206
227
|
Apache-2.0 — siehe `LICENSE` und `NOTICE`.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Die Namen der Backend-Functions, die dieses Paket aufruft — als Daten, nicht
|
|
3
|
+
* als Zeichenketten im Code verstreut. Zwei Gruende:
|
|
4
|
+
*
|
|
5
|
+
* 1. Der Vertrag (`fixtures/oberflaeche.json`) gibt die Liste aus, damit die
|
|
6
|
+
* Zwillinge pruefen koennen, ob sie denselben Aufruf kennen.
|
|
7
|
+
* 2. Die paketinternen Module nehmen [InternerTransport] statt
|
|
8
|
+
* [KasseneckTransport] entgegen; ein Tippfehler im Aufrufnamen ist damit ein
|
|
9
|
+
* Compilerfehler statt eines 404 beim Kunden.
|
|
10
|
+
*
|
|
11
|
+
* **Die oeffentliche Schnittstelle bleibt offen.** `KasseneckTransport` nimmt
|
|
12
|
+
* weiterhin jeden `string`: wer einen Aufruf braucht, den dieses Paket nicht
|
|
13
|
+
* umhuellt, muss ihn weiterhin absetzen koennen.
|
|
14
|
+
*/
|
|
15
|
+
import type { TransportBodyFields } from './transport.js';
|
|
16
|
+
export declare const AUFRUFE: readonly ["cancelReceipt", "createPaymentLinkStripe", "createPrintJob", "createReceipt", "downloadDailyReport", "downloadReport", "endRegisterSession", "financeWebService", "generateFullReceiptId", "getFirstReceiptDate", "getKasseSettings", "getPrintJob", "getReceipt", "hobexPayApi", "hobexRefundApi", "listMyArticleGroups", "listMyArticles", "listMyCashregisters", "listMyPrinters", "listMyReceipts", "listRegisterUsersForDevice", "pairRegisterDevice", "registerPinLogin", "registerUserLogin", "renewRegisterSession", "setMyKasseSettings", "setMyRegisterDeviceSettings", "stripeCaptureIntent", "unpairRegisterDevice"];
|
|
17
|
+
export type Aufruf = typeof AUFRUFE[number];
|
|
18
|
+
/** Wie [KasseneckTransport], nur mit bekanntem Aufrufnamen. Nicht exportiert nach aussen. */
|
|
19
|
+
export type InternerTransport = <T = unknown>(functionName: Aufruf, params?: Record<string, unknown>, extraBodyFields?: TransportBodyFields, secretParams?: readonly string[]) => Promise<T>;
|
|
20
|
+
/** Wie [KasseneckBinaryTransport], nur mit bekanntem Aufrufnamen. */
|
|
21
|
+
export type InternerBinaerTransport = (functionName: Aufruf, params?: Record<string, unknown>) => Promise<Uint8Array>;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AUFRUFE = void 0;
|
|
4
|
+
exports.AUFRUFE = [
|
|
5
|
+
'cancelReceipt',
|
|
6
|
+
'createPaymentLinkStripe',
|
|
7
|
+
'createPrintJob',
|
|
8
|
+
'createReceipt',
|
|
9
|
+
'downloadDailyReport',
|
|
10
|
+
'downloadReport',
|
|
11
|
+
'endRegisterSession',
|
|
12
|
+
'financeWebService',
|
|
13
|
+
'generateFullReceiptId',
|
|
14
|
+
'getFirstReceiptDate',
|
|
15
|
+
'getKasseSettings',
|
|
16
|
+
'getPrintJob',
|
|
17
|
+
'getReceipt',
|
|
18
|
+
'hobexPayApi',
|
|
19
|
+
'hobexRefundApi',
|
|
20
|
+
'listMyArticleGroups',
|
|
21
|
+
'listMyArticles',
|
|
22
|
+
'listMyCashregisters',
|
|
23
|
+
'listMyPrinters',
|
|
24
|
+
'listMyReceipts',
|
|
25
|
+
'listRegisterUsersForDevice',
|
|
26
|
+
'pairRegisterDevice',
|
|
27
|
+
'registerPinLogin',
|
|
28
|
+
'registerUserLogin',
|
|
29
|
+
'renewRegisterSession',
|
|
30
|
+
'setMyKasseSettings',
|
|
31
|
+
'setMyRegisterDeviceSettings',
|
|
32
|
+
'stripeCaptureIntent',
|
|
33
|
+
'unpairRegisterDevice',
|
|
34
|
+
];
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type Cashregister } from '../models/index.js';
|
|
2
|
-
import type {
|
|
2
|
+
import type { InternerTransport } from './aufrufe.js';
|
|
3
3
|
/**
|
|
4
4
|
* Kassen-Endpunkte.
|
|
5
5
|
*
|
|
@@ -18,4 +18,4 @@ import type { KasseneckTransport } from './transport.js';
|
|
|
18
18
|
*
|
|
19
19
|
* Ohne diesen Aufruf kann eine Browser-Kasse ihre Kasse nicht auswaehlen.
|
|
20
20
|
*/
|
|
21
|
-
export declare function listMyCashregisters(rufen:
|
|
21
|
+
export declare function listMyCashregisters(rufen: InternerTransport): Promise<Cashregister[]>;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
export { type AuthCredentials, type KasseneckAuth, type ApiKeyAuthOptions, type RegisterUserAuthOptions, apiKeyAuth, registerUserAuth, } from './auth.js';
|
|
2
2
|
export { DEFAULT_BASE_URL, DEFAULT_TIMEOUT_MS, type HttpResponseLike, type HttpRequestInit, type FetchLike, type TransportOptions, type TransportBodyFields, type KasseneckTransport, type KasseneckBinaryTransport, createTransport, createBinaryTransport, } from './transport.js';
|
|
3
|
+
export { AUFRUFE, type Aufruf, } from './aufrufe.js';
|
|
3
4
|
export { KasseneckApiError, KasseneckAuthError, KasseneckHttpError, KasseneckNetworkError, KasseneckValidationError, type ValidationScope, type KasseneckError, type HttpFailureReason, type CauseDigest, isKasseneckApiError, isKasseneckAuthError, isKasseneckHttpError, isKasseneckNetworkError, isKasseneckValidationError, } from './errors.js';
|
|
4
|
-
export { type ReceiptCommonOptions, type SellReceiptOptions, type CancelReceiptOptions, type CreateCancelReceiptOptions, type ReceiptWithCompany, sellReceipt, sellReceiptWithCompany, cancelReceipt, type CancelReceiptResult, createCancelReceipt, zeroReceipt, getReceipt, getReceiptWithCompany, generateFullReceiptId, getFirstReceiptDate, listMyReceipts, type ListMyReceiptsOptions, type ReceiptList, type ReceiptListStats, checkVoucherCombinationError, } from './receipts.js';
|
|
5
|
+
export { type ReceiptCommonOptions, type SellReceiptOptions, type TipOptions, type TipRecipientShare, type CancelReceiptOptions, type CreateCancelReceiptOptions, type ReceiptWithCompany, sellReceipt, sellReceiptWithCompany, cancelReceipt, type CancelReceiptResult, createCancelReceipt, zeroReceipt, getReceipt, getReceiptWithCompany, generateFullReceiptId, getFirstReceiptDate, listMyReceipts, type ListMyReceiptsOptions, type ReceiptList, type ReceiptListStats, checkVoucherCombinationError, } from './receipts.js';
|
|
5
6
|
export { listMyCashregisters } from './cashregisters.js';
|
|
6
7
|
export { downloadDailyReport, downloadMonthlyReport } from './reports.js';
|
|
7
8
|
export { type CashboxStatus, type SignatureStatus, getCashboxStatus, getSignatureStatus, } from './status.js';
|
package/dist/cjs/client/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createKasseneckApi = exports.getSignatureStatus = exports.getCashboxStatus = exports.downloadMonthlyReport = exports.downloadDailyReport = exports.listMyCashregisters = exports.checkVoucherCombinationError = exports.listMyReceipts = exports.getFirstReceiptDate = exports.generateFullReceiptId = exports.getReceiptWithCompany = exports.getReceipt = exports.zeroReceipt = exports.createCancelReceipt = exports.cancelReceipt = exports.sellReceiptWithCompany = exports.sellReceipt = exports.isKasseneckValidationError = exports.isKasseneckNetworkError = exports.isKasseneckHttpError = exports.isKasseneckAuthError = exports.isKasseneckApiError = exports.KasseneckValidationError = exports.KasseneckNetworkError = exports.KasseneckHttpError = exports.KasseneckAuthError = exports.KasseneckApiError = exports.createBinaryTransport = exports.createTransport = exports.DEFAULT_TIMEOUT_MS = exports.DEFAULT_BASE_URL = exports.registerUserAuth = exports.apiKeyAuth = void 0;
|
|
3
|
+
exports.createKasseneckApi = exports.getSignatureStatus = exports.getCashboxStatus = exports.downloadMonthlyReport = exports.downloadDailyReport = exports.listMyCashregisters = exports.checkVoucherCombinationError = exports.listMyReceipts = exports.getFirstReceiptDate = exports.generateFullReceiptId = exports.getReceiptWithCompany = exports.getReceipt = exports.zeroReceipt = exports.createCancelReceipt = exports.cancelReceipt = exports.sellReceiptWithCompany = exports.sellReceipt = exports.isKasseneckValidationError = exports.isKasseneckNetworkError = exports.isKasseneckHttpError = exports.isKasseneckAuthError = exports.isKasseneckApiError = exports.KasseneckValidationError = exports.KasseneckNetworkError = exports.KasseneckHttpError = exports.KasseneckAuthError = exports.KasseneckApiError = exports.AUFRUFE = exports.createBinaryTransport = exports.createTransport = exports.DEFAULT_TIMEOUT_MS = exports.DEFAULT_BASE_URL = exports.registerUserAuth = exports.apiKeyAuth = void 0;
|
|
4
4
|
var auth_js_1 = require("./auth.js");
|
|
5
5
|
Object.defineProperty(exports, "apiKeyAuth", { enumerable: true, get: function () { return auth_js_1.apiKeyAuth; } });
|
|
6
6
|
Object.defineProperty(exports, "registerUserAuth", { enumerable: true, get: function () { return auth_js_1.registerUserAuth; } });
|
|
@@ -9,6 +9,8 @@ Object.defineProperty(exports, "DEFAULT_BASE_URL", { enumerable: true, get: func
|
|
|
9
9
|
Object.defineProperty(exports, "DEFAULT_TIMEOUT_MS", { enumerable: true, get: function () { return transport_js_1.DEFAULT_TIMEOUT_MS; } });
|
|
10
10
|
Object.defineProperty(exports, "createTransport", { enumerable: true, get: function () { return transport_js_1.createTransport; } });
|
|
11
11
|
Object.defineProperty(exports, "createBinaryTransport", { enumerable: true, get: function () { return transport_js_1.createBinaryTransport; } });
|
|
12
|
+
var aufrufe_js_1 = require("./aufrufe.js");
|
|
13
|
+
Object.defineProperty(exports, "AUFRUFE", { enumerable: true, get: function () { return aufrufe_js_1.AUFRUFE; } });
|
|
12
14
|
var errors_js_1 = require("./errors.js");
|
|
13
15
|
Object.defineProperty(exports, "KasseneckApiError", { enumerable: true, get: function () { return errors_js_1.KasseneckApiError; } });
|
|
14
16
|
Object.defineProperty(exports, "KasseneckAuthError", { enumerable: true, get: function () { return errors_js_1.KasseneckAuthError; } });
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ReceiptType, type ReceiptTypeKey, KeckPaymentMethod, type KeckPaymentMethodKey, CreditCardProvider } from '../enums/index.js';
|
|
2
2
|
import { type Receipt, type ReceiptCompany, type ReceiptItem, type Voucher, type ReceiptSummary, type ReportMonth, type CancellationItem, type CancellationOf, type CancellationReason } from '../models/index.js';
|
|
3
|
-
import type {
|
|
3
|
+
import type { InternerTransport } from './aufrufe.js';
|
|
4
4
|
import type { Pruefangaben, ReceiptLayout } from '../receipt/layout.js';
|
|
5
5
|
/**
|
|
6
6
|
* Beleg-Endpunkte — Zwilling der Beleg-Aufrufe in
|
|
@@ -39,6 +39,25 @@ export interface ReceiptCommonOptions {
|
|
|
39
39
|
customProjectId?: string;
|
|
40
40
|
/** Rohdaten der Kartenzahlung (Terminal-/Anbieterantwort). */
|
|
41
41
|
cardPaymentData?: Record<string, unknown>;
|
|
42
|
+
/**
|
|
43
|
+
* Trinkgeld in Cent — als Zahl (an den angemeldeten Kassen-Benutzer, Zahlart
|
|
44
|
+
* des Belegs) oder als [TipOptions]. Das Backend bucht daraus signierte
|
|
45
|
+
* Positionen `kind:'tip'` (Mitarbeiter 0 % als Durchlaeufer, Inhaber
|
|
46
|
+
* anteilig je Steuersatz). Nur auf `standard` und `training`.
|
|
47
|
+
*/
|
|
48
|
+
tip?: number | TipOptions;
|
|
49
|
+
}
|
|
50
|
+
/** Trinkgeld mit eigener Zahlart und/oder Empfaengern (Kassen-Benutzer-IDs, Summe = cents). */
|
|
51
|
+
export interface TipOptions {
|
|
52
|
+
cents: number;
|
|
53
|
+
/** Zahlart des Trinkgelds; ohne Angabe gilt die des Belegs. */
|
|
54
|
+
paymentMethod?: KeckPaymentMethod | KeckPaymentMethodKey;
|
|
55
|
+
/** Empfaenger; ohne Angabe der angemeldete Kassen-Benutzer. Summe der cents = cents. */
|
|
56
|
+
recipients?: TipRecipientShare[];
|
|
57
|
+
}
|
|
58
|
+
export interface TipRecipientShare {
|
|
59
|
+
registerUserId: string;
|
|
60
|
+
cents: number;
|
|
42
61
|
}
|
|
43
62
|
/** Belegtyp und Inhalt — die vollstaendige Eingabe von [createReceipt]. */
|
|
44
63
|
export interface CreateReceiptOptions extends ReceiptCommonOptions {
|
|
@@ -131,29 +150,29 @@ export interface ReceiptWithCompany {
|
|
|
131
150
|
* Bewusst **nicht** Teil der Paketoberflaeche: der Belegtyp gehoert nicht in
|
|
132
151
|
* die Hand des Aufrufers, sondern zu einem der benannten Aufrufe darunter.
|
|
133
152
|
*/
|
|
134
|
-
export declare function createReceipt(rufen:
|
|
153
|
+
export declare function createReceipt(rufen: InternerTransport, options: CreateReceiptOptions): Promise<Receipt>;
|
|
135
154
|
/** Normalbeleg (Verkauf) nach RKSV. */
|
|
136
|
-
export declare function sellReceipt(rufen:
|
|
155
|
+
export declare function sellReceipt(rufen: InternerTransport, options: SellReceiptOptions): Promise<Receipt>;
|
|
137
156
|
/**
|
|
138
157
|
* Normalbeleg wie [sellReceipt], liefert zusaetzlich die Firmen-/Druckdaten
|
|
139
158
|
* aus derselben Antwort — alles, was ein Belegdruck braucht, in einem Aufruf.
|
|
140
159
|
*/
|
|
141
|
-
export declare function sellReceiptWithCompany(rufen:
|
|
160
|
+
export declare function sellReceiptWithCompany(rufen: InternerTransport, options: SellReceiptOptions): Promise<ReceiptWithCompany>;
|
|
142
161
|
/**
|
|
143
162
|
* Storno-Beleg zu einem bestehenden Beleg — voll oder in Teilen. Prueft die
|
|
144
163
|
* Eingabe, bevor etwas hinausgeht; der Server haelt die Restmengen und die
|
|
145
164
|
* Reichweite des Rechts (eigene/alle) und antwortet mit dem fertigen,
|
|
146
165
|
* signierten Storno-Beleg. Gutscheine des Originals wandern nicht mit.
|
|
147
166
|
*/
|
|
148
|
-
export declare function cancelReceipt(rufen:
|
|
167
|
+
export declare function cancelReceipt(rufen: InternerTransport, options: CancelReceiptOptions): Promise<CancelReceiptResult>;
|
|
149
168
|
/**
|
|
150
169
|
* Stornobeleg aus frei uebergebenen Positionen — fuer den Fall, dass der
|
|
151
170
|
* Originalbeleg nicht als Objekt vorliegt. Die Positionen gehen **unveraendert**
|
|
152
171
|
* hinaus; das Vorzeichen setzt der Aufrufer.
|
|
153
172
|
*/
|
|
154
|
-
export declare function createCancelReceipt(rufen:
|
|
173
|
+
export declare function createCancelReceipt(rufen: InternerTransport, options: CreateCancelReceiptOptions): Promise<Receipt>;
|
|
155
174
|
/** Nullbeleg (RKSV-Pruefbeleg) — ohne Positionen und ohne Zahlungsart. */
|
|
156
|
-
export declare function zeroReceipt(rufen:
|
|
175
|
+
export declare function zeroReceipt(rufen: InternerTransport): Promise<Receipt>;
|
|
157
176
|
/** Belegliste einer Kasse samt der Kennzahlen, die dieselbe Antwort mitliefert. */
|
|
158
177
|
export interface ReceiptList {
|
|
159
178
|
/** Letzte Belege, neueste zuerst (Backend: nach `counter` absteigend). */
|
|
@@ -212,21 +231,21 @@ export interface ListMyReceiptsOptions {
|
|
|
212
231
|
* (der Endpunkt laeuft mit `checkCashRegister: false`), ein Kassen-Benutzer
|
|
213
232
|
* bekommt also nur die ihm zugewiesenen Kassen.
|
|
214
233
|
*/
|
|
215
|
-
export declare function listMyReceipts(rufen:
|
|
234
|
+
export declare function listMyReceipts(rufen: InternerTransport, options: ListMyReceiptsOptions): Promise<ReceiptList>;
|
|
216
235
|
/** Einzelnen Beleg der angemeldeten Kasse holen. */
|
|
217
|
-
export declare function getReceipt(rufen:
|
|
236
|
+
export declare function getReceipt(rufen: InternerTransport, receiptId: string): Promise<Receipt>;
|
|
218
237
|
/**
|
|
219
238
|
* Wie [getReceipt], liefert zusaetzlich die Firmen-/Druckdaten aus derselben
|
|
220
239
|
* Antwort (Firma, Anschrift, Steuernummer, UID, Fusszeilen, Logo-Adresse,
|
|
221
240
|
* Kleinunternehmer-Kennzeichen) — die Angaben, die ein Beleg im Kopf und Fuss
|
|
222
241
|
* traegt (siehe models/receipt-company.ts).
|
|
223
242
|
*/
|
|
224
|
-
export declare function getReceiptWithCompany(rufen:
|
|
243
|
+
export declare function getReceiptWithCompany(rufen: InternerTransport, receiptId: string): Promise<ReceiptWithCompany>;
|
|
225
244
|
/**
|
|
226
245
|
* Verschluesselte Volltext-Belegnummer erzeugen — der Bezeichner, unter dem der
|
|
227
246
|
* Beleg oeffentlich abrufbar ist (Beleg-Download, Pruefportal).
|
|
228
247
|
*/
|
|
229
|
-
export declare function generateFullReceiptId(rufen:
|
|
248
|
+
export declare function generateFullReceiptId(rufen: InternerTransport, receiptId: string): Promise<string>;
|
|
230
249
|
/**
|
|
231
250
|
* Berichtsmonat des allerersten Belegs dieser Kasse — die untere Grenze aller
|
|
232
251
|
* Monatsberichte.
|
|
@@ -235,7 +254,7 @@ export declare function generateFullReceiptId(rufen: KasseneckTransport, receipt
|
|
|
235
254
|
* fuehrt kein `allowRegisterUser`, das Backend weist die Browser-Kasse hier ab
|
|
236
255
|
* (siehe Modulkommentar oben). Mit `apiKeyAuth` ist er offen.
|
|
237
256
|
*/
|
|
238
|
-
export declare function getFirstReceiptDate(rufen:
|
|
257
|
+
export declare function getFirstReceiptDate(rufen: InternerTransport): Promise<ReportMonth>;
|
|
239
258
|
/**
|
|
240
259
|
* Prueft die Gutschein-Kombination eines Belegs und liefert den ersten
|
|
241
260
|
* Regelverstoss als Text (oder `null`) — Zwilling von
|
|
@@ -87,6 +87,12 @@ function createReceiptParams(options) {
|
|
|
87
87
|
}
|
|
88
88
|
}
|
|
89
89
|
}
|
|
90
|
+
if (options.tip != null) {
|
|
91
|
+
if (typ.value !== index_js_1.ReceiptType.standard.value && typ.value !== index_js_1.ReceiptType.training.value) {
|
|
92
|
+
throw eingabefehler(`Trinkgeld ist nur bei receiptType standard oder training moeglich, nicht bei "${typ.value}".`);
|
|
93
|
+
}
|
|
94
|
+
params['tip'] = gepruefterTip(options.tip);
|
|
95
|
+
}
|
|
90
96
|
if (options.customProjectId != null) {
|
|
91
97
|
params['customProjectId'] = options.customProjectId;
|
|
92
98
|
}
|
|
@@ -372,6 +378,51 @@ function alsNutzlast(werte, wandeln) {
|
|
|
372
378
|
throw eingabefehler(ursache instanceof Error ? ursache.message : 'Ungueltige Nutzlast uebergeben.');
|
|
373
379
|
}
|
|
374
380
|
}
|
|
381
|
+
/** Positive ganze Cent? */
|
|
382
|
+
function istCentBetrag(wert) {
|
|
383
|
+
return typeof wert === 'number' && Number.isInteger(wert) && wert > 0;
|
|
384
|
+
}
|
|
385
|
+
/**
|
|
386
|
+
* Trinkgeld pruefen und in die Nutzlast-Form bringen (Zahl bleibt Zahl; das
|
|
387
|
+
* Objekt geht mit geprueftem Zahlart-Wert und Empfaengern hinaus). Dieselben
|
|
388
|
+
* Regeln wie das Backend (tip-core.normalizeTip) — nur frueher.
|
|
389
|
+
*/
|
|
390
|
+
function gepruefterTip(tip) {
|
|
391
|
+
if (typeof tip === 'number') {
|
|
392
|
+
if (!istCentBetrag(tip))
|
|
393
|
+
throw eingabefehler('Trinkgeld: Betrag muss eine ganze Zahl in Cent > 0 sein.');
|
|
394
|
+
return tip;
|
|
395
|
+
}
|
|
396
|
+
if (tip == null || typeof tip !== 'object' || !istCentBetrag(tip.cents)) {
|
|
397
|
+
throw eingabefehler('Trinkgeld: Betrag muss eine ganze Zahl in Cent > 0 sein.');
|
|
398
|
+
}
|
|
399
|
+
const nutzlast = { cents: tip.cents };
|
|
400
|
+
if (tip.paymentMethod != null)
|
|
401
|
+
nutzlast['paymentMethod'] = gepruefteZahlungsart(tip.paymentMethod);
|
|
402
|
+
if (tip.recipients != null) {
|
|
403
|
+
if (!Array.isArray(tip.recipients) || tip.recipients.length === 0) {
|
|
404
|
+
throw eingabefehler('Trinkgeld: recipients darf nicht leer sein.');
|
|
405
|
+
}
|
|
406
|
+
let summe = 0;
|
|
407
|
+
const gesehen = new Set();
|
|
408
|
+
for (const r of tip.recipients) {
|
|
409
|
+
if (r == null || typeof r.registerUserId !== 'string' || r.registerUserId === '') {
|
|
410
|
+
throw eingabefehler('Trinkgeld: recipients[].registerUserId fehlt.');
|
|
411
|
+
}
|
|
412
|
+
if (!istCentBetrag(r.cents))
|
|
413
|
+
throw eingabefehler('Trinkgeld: recipients[].cents muss eine ganze Zahl > 0 sein.');
|
|
414
|
+
if (gesehen.has(r.registerUserId))
|
|
415
|
+
throw eingabefehler(`Trinkgeld: Kassen-Benutzer ${r.registerUserId} doppelt.`);
|
|
416
|
+
gesehen.add(r.registerUserId);
|
|
417
|
+
summe += r.cents;
|
|
418
|
+
}
|
|
419
|
+
if (summe !== tip.cents) {
|
|
420
|
+
throw eingabefehler(`Trinkgeld: Summe der Empfaenger (${summe}) entspricht nicht dem Betrag (${tip.cents}).`);
|
|
421
|
+
}
|
|
422
|
+
nutzlast['recipients'] = tip.recipients.map((r) => ({ registerUserId: r.registerUserId, cents: r.cents }));
|
|
423
|
+
}
|
|
424
|
+
return nutzlast;
|
|
425
|
+
}
|
|
375
426
|
/** Zahlungsart des Aufrufers pruefen — unbekannt wirft, bevor etwas rausgeht. */
|
|
376
427
|
function gepruefteZahlungsart(wert) {
|
|
377
428
|
if (typeof wert === 'object') {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ReportMonth } from '../models/index.js';
|
|
2
|
-
import type {
|
|
2
|
+
import type { InternerBinaerTransport } from './aufrufe.js';
|
|
3
3
|
/**
|
|
4
4
|
* Bericht-Downloads — Zwilling von `downloadDailyReport`/`downloadMonthlyReport`
|
|
5
5
|
* in kasseneck_api/lib/kasseneck_api.dart (Zeilen 113-128).
|
|
@@ -29,7 +29,7 @@ import type { KasseneckBinaryTransport } from './transport.js';
|
|
|
29
29
|
* Vortags holen (das Dart-Vorbild nimmt hier die Geraetezeit, was auf einer
|
|
30
30
|
* oesterreichischen Kasse zufaellig stimmt).
|
|
31
31
|
*/
|
|
32
|
-
export declare function downloadDailyReport(rufen:
|
|
32
|
+
export declare function downloadDailyReport(rufen: InternerBinaerTransport, date: Date): Promise<Uint8Array>;
|
|
33
33
|
/**
|
|
34
34
|
* Monatsbericht als PDF.
|
|
35
35
|
*
|
|
@@ -40,4 +40,4 @@ export declare function downloadDailyReport(rufen: KasseneckBinaryTransport, dat
|
|
|
40
40
|
* `month` geht als **Zahl 1-12** raus (im Flutter-Paket `reportMonth.month.id`,
|
|
41
41
|
* wo `KeckMonth.january.id === 1` ist) — kein Name, kein nullbasierter Index.
|
|
42
42
|
*/
|
|
43
|
-
export declare function downloadMonthlyReport(rufen:
|
|
43
|
+
export declare function downloadMonthlyReport(rufen: InternerBinaerTransport, reportMonth: ReportMonth): Promise<Uint8Array>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { InternerTransport } from './aufrufe.js';
|
|
2
2
|
/**
|
|
3
3
|
* Betriebsstatus von Kasse und Signatureinheit bei FinanzOnline — Zwilling von
|
|
4
4
|
* `getCashboxStatus`/`getSignatureStatus` in
|
|
@@ -31,7 +31,7 @@ export type CashboxStatus = 'AKTIVIERT' | 'REGISTRIERT' | 'IN_BETRIEB' | 'AUSFAL
|
|
|
31
31
|
*/
|
|
32
32
|
export type SignatureStatus = CashboxStatus | 'NOT_REGISTERED';
|
|
33
33
|
/** Betriebsstatus der Kasse bei FinanzOnline. */
|
|
34
|
-
export declare function getCashboxStatus(rufen:
|
|
34
|
+
export declare function getCashboxStatus(rufen: InternerTransport): Promise<CashboxStatus>;
|
|
35
35
|
/**
|
|
36
36
|
* Status der Signatureinheit mit der Zertifikatsseriennummer [zertifikatNrHex]
|
|
37
37
|
* (hexadezimal, z. B. `6F0404F0`).
|
|
@@ -40,4 +40,4 @@ export declare function getCashboxStatus(rufen: KasseneckTransport): Promise<Cas
|
|
|
40
40
|
* heisst "nicht registriert" und schlaegt jedes Statusfeld, das daneben stehen
|
|
41
41
|
* mag. Andersherum meldete eine nie registrierte Karte am Ende "in Betrieb".
|
|
42
42
|
*/
|
|
43
|
-
export declare function getSignatureStatus(rufen:
|
|
43
|
+
export declare function getSignatureStatus(rufen: InternerTransport, zertifikatNrHex: string): Promise<SignatureStatus>;
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { ReceiptType, type ReceiptTypeKey, VatRate, type VatRateKey, KeckPaymentMethod, type KeckPaymentMethodKey, CreditCardProvider, type CreditCardProviderKey, VoucherType, type VoucherTypeKey, VoucherAction, type VoucherActionKey, StripeLinkMode, type StripeLinkModeKey, } from './enums/index.js';
|
|
2
|
-
export { type ReceiptItem, type ReceiptItemPayload, type ReceiptItemPayloadRead, toReceiptItemPayload, fromReceiptItemPayload, receiptItemTotalCents, receiptItemIsValid, negateReceiptItem, type Voucher, type VoucherPayload, toVoucherPayload, fromVoucherPayload, voucherIsValid, type Receipt, type ReceiptPayload, type ReceiptPayloadRead, toReceiptPayload, fromReceiptPayload, receiptSubSumCents, receiptSumCents, type CancellationOf, type CancellationItem, type Cancellation, type CancellationReason, CANCELLATION_REASONS, CANCELLATION_RESERVATION_MS, isCancellationReason, remainingQuantities, type ReceiptCompany, type ReceiptCompanyPayload, fromReceiptCompanyPayload, receiptCompanyTaxInfo, type Cashregister, type CashregisterOnboarding, type CashregisterPayload, type CashregisterOnboardingPayload, fromCashregisterPayload, type ReceiptSummary, type ReceiptSummaryPayload, fromReceiptSummaryPayload, type ZeroKind, ZERO_KINDS, istZeroKind, type ReportMonth, reportMonthFromDate, previousReportMonth, nextReportMonth, reportMonthKey, reportMonthReadable, type StripeUrlSession, type StripeUrlSessionPayload, toStripeUrlSessionPayload, fromStripeUrlSessionPayload, type HobexReceipt, type HobexReceiptPayload, toHobexReceiptPayload, fromHobexReceiptPayload, hobexReceiptToCardPaymentData, hobexReceiptNeedsSignature, } from './models/index.js';
|
|
3
|
-
export { type AuthCredentials, type KasseneckAuth, type ApiKeyAuthOptions, type RegisterUserAuthOptions, apiKeyAuth, registerUserAuth, DEFAULT_BASE_URL, DEFAULT_TIMEOUT_MS, type HttpResponseLike, type HttpRequestInit, type FetchLike, type TransportOptions, type TransportBodyFields, type KasseneckTransport, type KasseneckBinaryTransport, createTransport, createBinaryTransport, KasseneckApiError, KasseneckAuthError, KasseneckHttpError, KasseneckNetworkError, KasseneckValidationError, type ValidationScope, type KasseneckError, type HttpFailureReason, type CauseDigest, isKasseneckApiError, isKasseneckAuthError, isKasseneckHttpError, isKasseneckNetworkError, isKasseneckValidationError, type ReceiptCommonOptions, type SellReceiptOptions, type CancelReceiptOptions, type CancelReceiptResult, type CreateCancelReceiptOptions, type ReceiptWithCompany, sellReceipt, sellReceiptWithCompany, cancelReceipt, createCancelReceipt, zeroReceipt, getReceipt, getReceiptWithCompany, generateFullReceiptId, getFirstReceiptDate, listMyReceipts, type ListMyReceiptsOptions, type ReceiptList, type ReceiptListStats, listMyCashregisters, checkVoucherCombinationError, downloadDailyReport, downloadMonthlyReport, type CashboxStatus, type SignatureStatus, getCashboxStatus, getSignatureStatus, type KasseneckApi, createKasseneckApi, } from './client/index.js';
|
|
2
|
+
export { type ReceiptItem, type ReceiptItemPayload, type ReceiptItemPayloadRead, toReceiptItemPayload, fromReceiptItemPayload, receiptItemTotalCents, receiptItemIsValid, negateReceiptItem, type TipRecipient, isTipItem, type Voucher, type VoucherPayload, toVoucherPayload, fromVoucherPayload, voucherIsValid, type Receipt, type ReceiptPayload, type ReceiptPayloadRead, toReceiptPayload, fromReceiptPayload, receiptSubSumCents, receiptSumCents, type CancellationOf, type CancellationItem, type Cancellation, type CancellationReason, CANCELLATION_REASONS, CANCELLATION_RESERVATION_MS, isCancellationReason, remainingQuantities, type ReceiptCompany, type ReceiptCompanyPayload, fromReceiptCompanyPayload, receiptCompanyTaxInfo, type Cashregister, type CashregisterOnboarding, type CashregisterPayload, type CashregisterOnboardingPayload, fromCashregisterPayload, type ReceiptSummary, type ReceiptSummaryPayload, fromReceiptSummaryPayload, type ZeroKind, ZERO_KINDS, istZeroKind, type ReportMonth, reportMonthFromDate, previousReportMonth, nextReportMonth, reportMonthKey, reportMonthReadable, type StripeUrlSession, type StripeUrlSessionPayload, toStripeUrlSessionPayload, fromStripeUrlSessionPayload, type HobexReceipt, type HobexReceiptPayload, toHobexReceiptPayload, fromHobexReceiptPayload, hobexReceiptToCardPaymentData, hobexReceiptNeedsSignature, } from './models/index.js';
|
|
3
|
+
export { type AuthCredentials, type KasseneckAuth, type ApiKeyAuthOptions, type RegisterUserAuthOptions, apiKeyAuth, registerUserAuth, DEFAULT_BASE_URL, DEFAULT_TIMEOUT_MS, type HttpResponseLike, type HttpRequestInit, type FetchLike, type TransportOptions, type TransportBodyFields, type KasseneckTransport, type KasseneckBinaryTransport, AUFRUFE, type Aufruf, createTransport, createBinaryTransport, KasseneckApiError, KasseneckAuthError, KasseneckHttpError, KasseneckNetworkError, KasseneckValidationError, type ValidationScope, type KasseneckError, type HttpFailureReason, type CauseDigest, isKasseneckApiError, isKasseneckAuthError, isKasseneckHttpError, isKasseneckNetworkError, isKasseneckValidationError, type ReceiptCommonOptions, type SellReceiptOptions, type TipOptions, type TipRecipientShare, type CancelReceiptOptions, type CancelReceiptResult, type CreateCancelReceiptOptions, type ReceiptWithCompany, sellReceipt, sellReceiptWithCompany, cancelReceipt, createCancelReceipt, zeroReceipt, getReceipt, getReceiptWithCompany, generateFullReceiptId, getFirstReceiptDate, listMyReceipts, type ListMyReceiptsOptions, type ReceiptList, type ReceiptListStats, listMyCashregisters, checkVoucherCombinationError, downloadDailyReport, downloadMonthlyReport, type CashboxStatus, type SignatureStatus, getCashboxStatus, getSignatureStatus, type KasseneckApi, createKasseneckApi, } from './client/index.js';
|
|
4
4
|
export { parseServerTimeStamp, toViennaWallClock, type ViennaWallClock } from './vienna-time.js';
|
|
5
5
|
export { type KasseSettingsBetrieb, type KasseSettingsGeraet, type KasseSettings, type ArticleGroup, type KasseArtikel, KASSE_BETRIEB_STANDARD, KASSE_GERAET_STANDARD, mergeKasseSettings, fromArticleGroupPayload, fromKasseArtikelPayload, listMyArticleGroups, listMyArticles, getKasseSettings, setMyKasseSettings, setMyRegisterDeviceSettings, verteileRabatt, cancelScopeOf, receiptsScopeOf, } from './kasse/index.js';
|
package/dist/cjs/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
exports.receiptsScopeOf = exports.cancelScopeOf = exports.verteileRabatt = exports.setMyRegisterDeviceSettings = exports.setMyKasseSettings = exports.getKasseSettings = exports.listMyArticles = exports.listMyArticleGroups = exports.fromKasseArtikelPayload = exports.fromArticleGroupPayload = exports.mergeKasseSettings = exports.KASSE_GERAET_STANDARD = exports.KASSE_BETRIEB_STANDARD = exports.toViennaWallClock = exports.parseServerTimeStamp = exports.createKasseneckApi = exports.getSignatureStatus = exports.getCashboxStatus = exports.downloadMonthlyReport = exports.downloadDailyReport = exports.checkVoucherCombinationError = exports.listMyCashregisters = exports.listMyReceipts = exports.getFirstReceiptDate = exports.generateFullReceiptId = exports.getReceiptWithCompany = exports.getReceipt = exports.zeroReceipt = exports.createCancelReceipt = exports.cancelReceipt = exports.sellReceiptWithCompany = exports.sellReceipt = exports.isKasseneckValidationError = exports.isKasseneckNetworkError = exports.isKasseneckHttpError = exports.isKasseneckAuthError = exports.isKasseneckApiError = exports.KasseneckValidationError = void 0;
|
|
3
|
+
exports.KasseneckAuthError = exports.KasseneckApiError = exports.createBinaryTransport = exports.createTransport = exports.AUFRUFE = exports.DEFAULT_TIMEOUT_MS = exports.DEFAULT_BASE_URL = exports.registerUserAuth = exports.apiKeyAuth = exports.hobexReceiptNeedsSignature = exports.hobexReceiptToCardPaymentData = exports.fromHobexReceiptPayload = exports.toHobexReceiptPayload = exports.fromStripeUrlSessionPayload = exports.toStripeUrlSessionPayload = exports.reportMonthReadable = exports.reportMonthKey = exports.nextReportMonth = exports.previousReportMonth = exports.reportMonthFromDate = exports.istZeroKind = exports.ZERO_KINDS = exports.fromReceiptSummaryPayload = exports.fromCashregisterPayload = exports.receiptCompanyTaxInfo = exports.fromReceiptCompanyPayload = exports.remainingQuantities = exports.isCancellationReason = exports.CANCELLATION_RESERVATION_MS = exports.CANCELLATION_REASONS = exports.receiptSumCents = exports.receiptSubSumCents = exports.fromReceiptPayload = exports.toReceiptPayload = exports.voucherIsValid = exports.fromVoucherPayload = exports.toVoucherPayload = exports.isTipItem = exports.negateReceiptItem = exports.receiptItemIsValid = exports.receiptItemTotalCents = exports.fromReceiptItemPayload = exports.toReceiptItemPayload = exports.StripeLinkMode = exports.VoucherAction = exports.VoucherType = exports.CreditCardProvider = exports.KeckPaymentMethod = exports.VatRate = exports.ReceiptType = void 0;
|
|
4
|
+
exports.receiptsScopeOf = exports.cancelScopeOf = exports.verteileRabatt = exports.setMyRegisterDeviceSettings = exports.setMyKasseSettings = exports.getKasseSettings = exports.listMyArticles = exports.listMyArticleGroups = exports.fromKasseArtikelPayload = exports.fromArticleGroupPayload = exports.mergeKasseSettings = exports.KASSE_GERAET_STANDARD = exports.KASSE_BETRIEB_STANDARD = exports.toViennaWallClock = exports.parseServerTimeStamp = exports.createKasseneckApi = exports.getSignatureStatus = exports.getCashboxStatus = exports.downloadMonthlyReport = exports.downloadDailyReport = exports.checkVoucherCombinationError = exports.listMyCashregisters = exports.listMyReceipts = exports.getFirstReceiptDate = exports.generateFullReceiptId = exports.getReceiptWithCompany = exports.getReceipt = exports.zeroReceipt = exports.createCancelReceipt = exports.cancelReceipt = exports.sellReceiptWithCompany = exports.sellReceipt = exports.isKasseneckValidationError = exports.isKasseneckNetworkError = exports.isKasseneckHttpError = exports.isKasseneckAuthError = exports.isKasseneckApiError = exports.KasseneckValidationError = exports.KasseneckNetworkError = exports.KasseneckHttpError = void 0;
|
|
5
5
|
var index_js_1 = require("./enums/index.js");
|
|
6
6
|
Object.defineProperty(exports, "ReceiptType", { enumerable: true, get: function () { return index_js_1.ReceiptType; } });
|
|
7
7
|
Object.defineProperty(exports, "VatRate", { enumerable: true, get: function () { return index_js_1.VatRate; } });
|
|
@@ -16,6 +16,7 @@ Object.defineProperty(exports, "fromReceiptItemPayload", { enumerable: true, get
|
|
|
16
16
|
Object.defineProperty(exports, "receiptItemTotalCents", { enumerable: true, get: function () { return index_js_2.receiptItemTotalCents; } });
|
|
17
17
|
Object.defineProperty(exports, "receiptItemIsValid", { enumerable: true, get: function () { return index_js_2.receiptItemIsValid; } });
|
|
18
18
|
Object.defineProperty(exports, "negateReceiptItem", { enumerable: true, get: function () { return index_js_2.negateReceiptItem; } });
|
|
19
|
+
Object.defineProperty(exports, "isTipItem", { enumerable: true, get: function () { return index_js_2.isTipItem; } });
|
|
19
20
|
Object.defineProperty(exports, "toVoucherPayload", { enumerable: true, get: function () { return index_js_2.toVoucherPayload; } });
|
|
20
21
|
Object.defineProperty(exports, "fromVoucherPayload", { enumerable: true, get: function () { return index_js_2.fromVoucherPayload; } });
|
|
21
22
|
Object.defineProperty(exports, "voucherIsValid", { enumerable: true, get: function () { return index_js_2.voucherIsValid; } });
|
|
@@ -49,6 +50,7 @@ Object.defineProperty(exports, "apiKeyAuth", { enumerable: true, get: function (
|
|
|
49
50
|
Object.defineProperty(exports, "registerUserAuth", { enumerable: true, get: function () { return index_js_3.registerUserAuth; } });
|
|
50
51
|
Object.defineProperty(exports, "DEFAULT_BASE_URL", { enumerable: true, get: function () { return index_js_3.DEFAULT_BASE_URL; } });
|
|
51
52
|
Object.defineProperty(exports, "DEFAULT_TIMEOUT_MS", { enumerable: true, get: function () { return index_js_3.DEFAULT_TIMEOUT_MS; } });
|
|
53
|
+
Object.defineProperty(exports, "AUFRUFE", { enumerable: true, get: function () { return index_js_3.AUFRUFE; } });
|
|
52
54
|
Object.defineProperty(exports, "createTransport", { enumerable: true, get: function () { return index_js_3.createTransport; } });
|
|
53
55
|
Object.defineProperty(exports, "createBinaryTransport", { enumerable: true, get: function () { return index_js_3.createBinaryTransport; } });
|
|
54
56
|
Object.defineProperty(exports, "KasseneckApiError", { enumerable: true, get: function () { return index_js_3.KasseneckApiError; } });
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { InternerTransport } from '../client/aufrufe.js';
|
|
2
2
|
/**
|
|
3
3
|
* Artikelgruppen (Kategorien der Kachel-Kasse) und Artikel in der Form, die
|
|
4
4
|
* die Kacheln brauchen — Backend: `article-endpoints.js`
|
|
@@ -79,5 +79,5 @@ export interface KasseArtikelPayload {
|
|
|
79
79
|
maxMenge?: number | null;
|
|
80
80
|
}
|
|
81
81
|
export declare function fromKasseArtikelPayload(p: KasseArtikelPayload): KasseArtikel;
|
|
82
|
-
export declare function listMyArticleGroups(rufen:
|
|
83
|
-
export declare function listMyArticles(rufen:
|
|
82
|
+
export declare function listMyArticleGroups(rufen: InternerTransport): Promise<ArticleGroup[]>;
|
|
83
|
+
export declare function listMyArticles(rufen: InternerTransport): Promise<KasseArtikel[]>;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { InternerTransport } from '../client/aufrufe.js';
|
|
2
2
|
import { type KasseSettings, type KasseSettingsBetrieb, type KasseSettingsGeraet } from './settings.js';
|
|
3
3
|
/** Einstellungen lesen — Standard + gespeichert (Backend: `getKasseSettings`). */
|
|
4
|
-
export declare function getKasseSettings(rufen:
|
|
4
|
+
export declare function getKasseSettings(rufen: InternerTransport, options?: {
|
|
5
5
|
deviceId?: string;
|
|
6
6
|
}): Promise<KasseSettings>;
|
|
7
7
|
/** Betriebsweite Einstellungen schreiben (Recht `layout`); liefert den gemischten Stand. */
|
|
8
|
-
export declare function setMyKasseSettings(rufen:
|
|
8
|
+
export declare function setMyKasseSettings(rufen: InternerTransport, betrieb: Partial<KasseSettingsBetrieb>): Promise<KasseSettingsBetrieb>;
|
|
9
9
|
/** Geraete-Einstellungen schreiben (Recht `layout`); liefert den gemischten Stand. */
|
|
10
|
-
export declare function setMyRegisterDeviceSettings(rufen:
|
|
10
|
+
export declare function setMyRegisterDeviceSettings(rufen: InternerTransport, deviceId: string, geraet: Partial<KasseSettingsGeraet>): Promise<KasseSettingsGeraet>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { InternerTransport } from '../client/aufrufe.js';
|
|
2
2
|
import type { ReceiptLayout } from '../receipt/layout.js';
|
|
3
3
|
/**
|
|
4
4
|
* Netzwerk-Bondrucker ueber Epson "Server Direct Print": das Backend fuehrt
|
|
@@ -39,7 +39,7 @@ export interface DruckJob {
|
|
|
39
39
|
zeit?: number;
|
|
40
40
|
} | null;
|
|
41
41
|
}
|
|
42
|
-
export declare function listMyPrinters(rufen:
|
|
42
|
+
export declare function listMyPrinters(rufen: InternerTransport): Promise<NetzDrucker[]>;
|
|
43
43
|
export interface CreatePrintJobOptions {
|
|
44
44
|
druckerId: string;
|
|
45
45
|
layout: ReceiptLayout;
|
|
@@ -47,8 +47,8 @@ export interface CreatePrintJobOptions {
|
|
|
47
47
|
titel?: string;
|
|
48
48
|
quelle?: string;
|
|
49
49
|
}
|
|
50
|
-
export declare function createPrintJob(rufen:
|
|
51
|
-
export declare function getPrintJob(rufen:
|
|
50
|
+
export declare function createPrintJob(rufen: InternerTransport, o: CreatePrintJobOptions): Promise<DruckJob>;
|
|
51
|
+
export declare function getPrintJob(rufen: InternerTransport, o: {
|
|
52
52
|
druckerId: string;
|
|
53
53
|
jobId: string;
|
|
54
54
|
}): Promise<DruckJob>;
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Rabattverteilung. Die Aufrufe heissen 1:1 wie die Backend-Functions
|
|
4
4
|
* (die Rewrites-Waechter der Web-App leiten daraus ab).
|
|
5
5
|
*/
|
|
6
|
-
export { type KasseStil, type KasseSchrift, type KasseWasserzeichen, type KasseMenge, type KasseTgModus, type KasseKassierenModus, type KasseKartenanbieter, KARTENANBIETER, type KasseBelegAusgabe, type KasseTastenAktion, type KasseTastenkarte, KASSE_TASTEN_AKTIONEN, KASSE_TASTEN_STANDARD, type KasseLayout, type KasseKatpos, type KasseHoehe, type KasseDruckerArt, type KassePapier, type KasseZeichensatz, type KasseSchnitt, type KasseLadeAuto, type Schalterkarte, type KasseSettingsBetrieb, type KasseSettingsGeraet, type KasseSettings, KASSE_BETRIEB_STANDARD, KASSE_GERAET_STANDARD, mergeKasseSettings, } from './settings.js';
|
|
6
|
+
export { type KasseStil, type KasseSchrift, type KasseWasserzeichen, type KasseMenge, type KasseTgModus, type KasseKassierenModus, type KasseKartenanbieter, KARTENANBIETER, type KasseBelegAusgabe, type KasseTastenAktion, type KasseTastenkarte, KASSE_TASTEN_AKTIONEN, KASSE_TASTEN_STANDARD, type KasseLayout, type KasseKatpos, type KasseHoehe, type KasseDruckerArt, type KasseTerminalVia, type KasseTerminalArt, type KassePapier, type KasseZeichensatz, type KasseSchnitt, type KasseLadeAuto, type KasseLogoGroesse, type KasseSchriftEinst, type KasseKachelstil, type KasseAutoAbMin, type KasseRabatt, type KasseWzSeite, type KasseWzStaerke, type KasseLogoSkala, type KasseWzSkala, type KasseFertigSekunden, type Schalterkarte, type KasseSettingsBetrieb, type KasseSettingsGeraet, type KasseSettings, KASSE_BETRIEB_STANDARD, KASSE_GERAET_STANDARD, mergeKasseSettings, STIL, SCHRIFT, WASSERZEICHEN, MENGE, TG_MODUS, KASSIEREN_MODUS, BELEG_AUSGABE, LAYOUT, KATPOS, HOEHE, DRUCKER_ART, TERMINAL_VIA, TERMINAL_ART, PAPIER, ZEICHENSATZ, SCHNITT, LADE_AUTO, TASTEN_AKTIONEN, LOGO_GROESSE, SCHRIFT_EINST, KACHELSTIL, AUTO_AB_MIN, RABATT, WZ_SEITE, WZ_STAERKE, LOGO_SKALA, WZ_SKALA, FERTIG_SEKUNDEN, } from './settings.js';
|
|
7
7
|
export { type ArticleGroup, type ArticleGroupPayload, fromArticleGroupPayload, type KasseArtikel, type KasseArtikelPayload, fromKasseArtikelPayload, listMyArticleGroups, listMyArticles, type Mengenregel, type MengenVorgabe, mengenregelFuerEinheit, mengenVorgabe, mengeErlaubt, } from './artikel.js';
|
|
8
8
|
export { getKasseSettings, setMyKasseSettings, setMyRegisterDeviceSettings } from './client.js';
|
|
9
9
|
export { verteileRabatt } from '../receipt/discount.js';
|
package/dist/cjs/kasse/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getPrintJob = exports.createPrintJob = exports.listMyPrinters = exports.receiptsScopeOf = exports.cancelScopeOf = exports.verteileRabatt = exports.setMyRegisterDeviceSettings = exports.setMyKasseSettings = exports.getKasseSettings = exports.mengeErlaubt = exports.mengenVorgabe = exports.mengenregelFuerEinheit = exports.listMyArticles = exports.listMyArticleGroups = exports.fromKasseArtikelPayload = exports.fromArticleGroupPayload = exports.mergeKasseSettings = exports.KASSE_GERAET_STANDARD = exports.KASSE_BETRIEB_STANDARD = exports.KASSE_TASTEN_STANDARD = exports.KASSE_TASTEN_AKTIONEN = exports.KARTENANBIETER = void 0;
|
|
3
|
+
exports.getPrintJob = exports.createPrintJob = exports.listMyPrinters = exports.receiptsScopeOf = exports.cancelScopeOf = exports.verteileRabatt = exports.setMyRegisterDeviceSettings = exports.setMyKasseSettings = exports.getKasseSettings = exports.mengeErlaubt = exports.mengenVorgabe = exports.mengenregelFuerEinheit = exports.listMyArticles = exports.listMyArticleGroups = exports.fromKasseArtikelPayload = exports.fromArticleGroupPayload = exports.FERTIG_SEKUNDEN = exports.WZ_SKALA = exports.LOGO_SKALA = exports.WZ_STAERKE = exports.WZ_SEITE = exports.RABATT = exports.AUTO_AB_MIN = exports.KACHELSTIL = exports.SCHRIFT_EINST = exports.LOGO_GROESSE = exports.TASTEN_AKTIONEN = exports.LADE_AUTO = exports.SCHNITT = exports.ZEICHENSATZ = exports.PAPIER = exports.TERMINAL_ART = exports.TERMINAL_VIA = exports.DRUCKER_ART = exports.HOEHE = exports.KATPOS = exports.LAYOUT = exports.BELEG_AUSGABE = exports.KASSIEREN_MODUS = exports.TG_MODUS = exports.MENGE = exports.WASSERZEICHEN = exports.SCHRIFT = exports.STIL = exports.mergeKasseSettings = exports.KASSE_GERAET_STANDARD = exports.KASSE_BETRIEB_STANDARD = exports.KASSE_TASTEN_STANDARD = exports.KASSE_TASTEN_AKTIONEN = exports.KARTENANBIETER = void 0;
|
|
4
4
|
/**
|
|
5
5
|
* Kachel-Kasse: Einstellungen, Artikelgruppen/Artikel fuer Kacheln,
|
|
6
6
|
* Rabattverteilung. Die Aufrufe heissen 1:1 wie die Backend-Functions
|
|
@@ -13,6 +13,35 @@ Object.defineProperty(exports, "KASSE_TASTEN_STANDARD", { enumerable: true, get:
|
|
|
13
13
|
Object.defineProperty(exports, "KASSE_BETRIEB_STANDARD", { enumerable: true, get: function () { return settings_js_1.KASSE_BETRIEB_STANDARD; } });
|
|
14
14
|
Object.defineProperty(exports, "KASSE_GERAET_STANDARD", { enumerable: true, get: function () { return settings_js_1.KASSE_GERAET_STANDARD; } });
|
|
15
15
|
Object.defineProperty(exports, "mergeKasseSettings", { enumerable: true, get: function () { return settings_js_1.mergeKasseSettings; } });
|
|
16
|
+
// Die Enums als Laufzeitlisten — dieselben Werte, die die Typen oben tragen.
|
|
17
|
+
Object.defineProperty(exports, "STIL", { enumerable: true, get: function () { return settings_js_1.STIL; } });
|
|
18
|
+
Object.defineProperty(exports, "SCHRIFT", { enumerable: true, get: function () { return settings_js_1.SCHRIFT; } });
|
|
19
|
+
Object.defineProperty(exports, "WASSERZEICHEN", { enumerable: true, get: function () { return settings_js_1.WASSERZEICHEN; } });
|
|
20
|
+
Object.defineProperty(exports, "MENGE", { enumerable: true, get: function () { return settings_js_1.MENGE; } });
|
|
21
|
+
Object.defineProperty(exports, "TG_MODUS", { enumerable: true, get: function () { return settings_js_1.TG_MODUS; } });
|
|
22
|
+
Object.defineProperty(exports, "KASSIEREN_MODUS", { enumerable: true, get: function () { return settings_js_1.KASSIEREN_MODUS; } });
|
|
23
|
+
Object.defineProperty(exports, "BELEG_AUSGABE", { enumerable: true, get: function () { return settings_js_1.BELEG_AUSGABE; } });
|
|
24
|
+
Object.defineProperty(exports, "LAYOUT", { enumerable: true, get: function () { return settings_js_1.LAYOUT; } });
|
|
25
|
+
Object.defineProperty(exports, "KATPOS", { enumerable: true, get: function () { return settings_js_1.KATPOS; } });
|
|
26
|
+
Object.defineProperty(exports, "HOEHE", { enumerable: true, get: function () { return settings_js_1.HOEHE; } });
|
|
27
|
+
Object.defineProperty(exports, "DRUCKER_ART", { enumerable: true, get: function () { return settings_js_1.DRUCKER_ART; } });
|
|
28
|
+
Object.defineProperty(exports, "TERMINAL_VIA", { enumerable: true, get: function () { return settings_js_1.TERMINAL_VIA; } });
|
|
29
|
+
Object.defineProperty(exports, "TERMINAL_ART", { enumerable: true, get: function () { return settings_js_1.TERMINAL_ART; } });
|
|
30
|
+
Object.defineProperty(exports, "PAPIER", { enumerable: true, get: function () { return settings_js_1.PAPIER; } });
|
|
31
|
+
Object.defineProperty(exports, "ZEICHENSATZ", { enumerable: true, get: function () { return settings_js_1.ZEICHENSATZ; } });
|
|
32
|
+
Object.defineProperty(exports, "SCHNITT", { enumerable: true, get: function () { return settings_js_1.SCHNITT; } });
|
|
33
|
+
Object.defineProperty(exports, "LADE_AUTO", { enumerable: true, get: function () { return settings_js_1.LADE_AUTO; } });
|
|
34
|
+
Object.defineProperty(exports, "TASTEN_AKTIONEN", { enumerable: true, get: function () { return settings_js_1.TASTEN_AKTIONEN; } });
|
|
35
|
+
Object.defineProperty(exports, "LOGO_GROESSE", { enumerable: true, get: function () { return settings_js_1.LOGO_GROESSE; } });
|
|
36
|
+
Object.defineProperty(exports, "SCHRIFT_EINST", { enumerable: true, get: function () { return settings_js_1.SCHRIFT_EINST; } });
|
|
37
|
+
Object.defineProperty(exports, "KACHELSTIL", { enumerable: true, get: function () { return settings_js_1.KACHELSTIL; } });
|
|
38
|
+
Object.defineProperty(exports, "AUTO_AB_MIN", { enumerable: true, get: function () { return settings_js_1.AUTO_AB_MIN; } });
|
|
39
|
+
Object.defineProperty(exports, "RABATT", { enumerable: true, get: function () { return settings_js_1.RABATT; } });
|
|
40
|
+
Object.defineProperty(exports, "WZ_SEITE", { enumerable: true, get: function () { return settings_js_1.WZ_SEITE; } });
|
|
41
|
+
Object.defineProperty(exports, "WZ_STAERKE", { enumerable: true, get: function () { return settings_js_1.WZ_STAERKE; } });
|
|
42
|
+
Object.defineProperty(exports, "LOGO_SKALA", { enumerable: true, get: function () { return settings_js_1.LOGO_SKALA; } });
|
|
43
|
+
Object.defineProperty(exports, "WZ_SKALA", { enumerable: true, get: function () { return settings_js_1.WZ_SKALA; } });
|
|
44
|
+
Object.defineProperty(exports, "FERTIG_SEKUNDEN", { enumerable: true, get: function () { return settings_js_1.FERTIG_SEKUNDEN; } });
|
|
16
45
|
var artikel_js_1 = require("./artikel.js");
|
|
17
46
|
Object.defineProperty(exports, "fromArticleGroupPayload", { enumerable: true, get: function () { return artikel_js_1.fromArticleGroupPayload; } });
|
|
18
47
|
Object.defineProperty(exports, "fromKasseArtikelPayload", { enumerable: true, get: function () { return artikel_js_1.fromKasseArtikelPayload; } });
|