@kreiseck/kasseneck-api 0.6.44 → 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 +17 -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 +1 -0
- package/dist/cjs/client/index.js +3 -1
- package/dist/cjs/client/receipts.d.ts +12 -12
- package/dist/cjs/client/reports.d.ts +3 -3
- package/dist/cjs/client/status.d.ts +3 -3
- package/dist/cjs/index.d.ts +1 -1
- package/dist/cjs/index.js +3 -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 +82 -31
- package/dist/cjs/kasse/settings.js +65 -5
- package/dist/cjs/payments/hobex.d.ts +3 -3
- package/dist/cjs/payments/stripe.d.ts +3 -3
- package/dist/cjs/register/index.d.ts +1 -1
- package/dist/cjs/register/index.js +2 -1
- package/dist/cjs/register/pairing.d.ts +2 -0
- package/dist/cjs/register/pairing.js +6 -0
- 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 +1 -0
- package/dist/esm/client/index.js +1 -0
- package/dist/esm/client/receipts.d.ts +12 -12
- package/dist/esm/client/reports.d.ts +3 -3
- package/dist/esm/client/status.d.ts +3 -3
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.js +1 -1
- 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 +82 -31
- package/dist/esm/kasse/settings.js +64 -4
- package/dist/esm/payments/hobex.d.ts +3 -3
- package/dist/esm/payments/stripe.d.ts +3 -3
- package/dist/esm/register/index.d.ts +1 -1
- package/dist/esm/register/index.js +1 -1
- package/dist/esm/register/pairing.d.ts +2 -0
- package/dist/esm/register/pairing.js +5 -0
- package/dist/esm/register/session.d.ts +3 -3
- package/fixtures/kasse-settings-standard.json +10 -9
- package/fixtures/oberflaeche.json +216 -0
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -205,6 +205,23 @@ Die drei Zeitzonen sind kein Übereifer: Zeitfehler sind auf einer Wiener
|
|
|
205
205
|
Maschine zufällig richtig. Belegzeiten werden konsequent als **Wiener
|
|
206
206
|
Wanduhrzeit** gedeutet (`parseServerTimeStamp`), nie über `new Date(text)`.
|
|
207
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
|
+
|
|
208
225
|
## Lizenz
|
|
209
226
|
|
|
210
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,5 +1,6 @@
|
|
|
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
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';
|
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
|
|
@@ -150,29 +150,29 @@ export interface ReceiptWithCompany {
|
|
|
150
150
|
* Bewusst **nicht** Teil der Paketoberflaeche: der Belegtyp gehoert nicht in
|
|
151
151
|
* die Hand des Aufrufers, sondern zu einem der benannten Aufrufe darunter.
|
|
152
152
|
*/
|
|
153
|
-
export declare function createReceipt(rufen:
|
|
153
|
+
export declare function createReceipt(rufen: InternerTransport, options: CreateReceiptOptions): Promise<Receipt>;
|
|
154
154
|
/** Normalbeleg (Verkauf) nach RKSV. */
|
|
155
|
-
export declare function sellReceipt(rufen:
|
|
155
|
+
export declare function sellReceipt(rufen: InternerTransport, options: SellReceiptOptions): Promise<Receipt>;
|
|
156
156
|
/**
|
|
157
157
|
* Normalbeleg wie [sellReceipt], liefert zusaetzlich die Firmen-/Druckdaten
|
|
158
158
|
* aus derselben Antwort — alles, was ein Belegdruck braucht, in einem Aufruf.
|
|
159
159
|
*/
|
|
160
|
-
export declare function sellReceiptWithCompany(rufen:
|
|
160
|
+
export declare function sellReceiptWithCompany(rufen: InternerTransport, options: SellReceiptOptions): Promise<ReceiptWithCompany>;
|
|
161
161
|
/**
|
|
162
162
|
* Storno-Beleg zu einem bestehenden Beleg — voll oder in Teilen. Prueft die
|
|
163
163
|
* Eingabe, bevor etwas hinausgeht; der Server haelt die Restmengen und die
|
|
164
164
|
* Reichweite des Rechts (eigene/alle) und antwortet mit dem fertigen,
|
|
165
165
|
* signierten Storno-Beleg. Gutscheine des Originals wandern nicht mit.
|
|
166
166
|
*/
|
|
167
|
-
export declare function cancelReceipt(rufen:
|
|
167
|
+
export declare function cancelReceipt(rufen: InternerTransport, options: CancelReceiptOptions): Promise<CancelReceiptResult>;
|
|
168
168
|
/**
|
|
169
169
|
* Stornobeleg aus frei uebergebenen Positionen — fuer den Fall, dass der
|
|
170
170
|
* Originalbeleg nicht als Objekt vorliegt. Die Positionen gehen **unveraendert**
|
|
171
171
|
* hinaus; das Vorzeichen setzt der Aufrufer.
|
|
172
172
|
*/
|
|
173
|
-
export declare function createCancelReceipt(rufen:
|
|
173
|
+
export declare function createCancelReceipt(rufen: InternerTransport, options: CreateCancelReceiptOptions): Promise<Receipt>;
|
|
174
174
|
/** Nullbeleg (RKSV-Pruefbeleg) — ohne Positionen und ohne Zahlungsart. */
|
|
175
|
-
export declare function zeroReceipt(rufen:
|
|
175
|
+
export declare function zeroReceipt(rufen: InternerTransport): Promise<Receipt>;
|
|
176
176
|
/** Belegliste einer Kasse samt der Kennzahlen, die dieselbe Antwort mitliefert. */
|
|
177
177
|
export interface ReceiptList {
|
|
178
178
|
/** Letzte Belege, neueste zuerst (Backend: nach `counter` absteigend). */
|
|
@@ -231,21 +231,21 @@ export interface ListMyReceiptsOptions {
|
|
|
231
231
|
* (der Endpunkt laeuft mit `checkCashRegister: false`), ein Kassen-Benutzer
|
|
232
232
|
* bekommt also nur die ihm zugewiesenen Kassen.
|
|
233
233
|
*/
|
|
234
|
-
export declare function listMyReceipts(rufen:
|
|
234
|
+
export declare function listMyReceipts(rufen: InternerTransport, options: ListMyReceiptsOptions): Promise<ReceiptList>;
|
|
235
235
|
/** Einzelnen Beleg der angemeldeten Kasse holen. */
|
|
236
|
-
export declare function getReceipt(rufen:
|
|
236
|
+
export declare function getReceipt(rufen: InternerTransport, receiptId: string): Promise<Receipt>;
|
|
237
237
|
/**
|
|
238
238
|
* Wie [getReceipt], liefert zusaetzlich die Firmen-/Druckdaten aus derselben
|
|
239
239
|
* Antwort (Firma, Anschrift, Steuernummer, UID, Fusszeilen, Logo-Adresse,
|
|
240
240
|
* Kleinunternehmer-Kennzeichen) — die Angaben, die ein Beleg im Kopf und Fuss
|
|
241
241
|
* traegt (siehe models/receipt-company.ts).
|
|
242
242
|
*/
|
|
243
|
-
export declare function getReceiptWithCompany(rufen:
|
|
243
|
+
export declare function getReceiptWithCompany(rufen: InternerTransport, receiptId: string): Promise<ReceiptWithCompany>;
|
|
244
244
|
/**
|
|
245
245
|
* Verschluesselte Volltext-Belegnummer erzeugen — der Bezeichner, unter dem der
|
|
246
246
|
* Beleg oeffentlich abrufbar ist (Beleg-Download, Pruefportal).
|
|
247
247
|
*/
|
|
248
|
-
export declare function generateFullReceiptId(rufen:
|
|
248
|
+
export declare function generateFullReceiptId(rufen: InternerTransport, receiptId: string): Promise<string>;
|
|
249
249
|
/**
|
|
250
250
|
* Berichtsmonat des allerersten Belegs dieser Kasse — die untere Grenze aller
|
|
251
251
|
* Monatsberichte.
|
|
@@ -254,7 +254,7 @@ export declare function generateFullReceiptId(rufen: KasseneckTransport, receipt
|
|
|
254
254
|
* fuehrt kein `allowRegisterUser`, das Backend weist die Browser-Kasse hier ab
|
|
255
255
|
* (siehe Modulkommentar oben). Mit `apiKeyAuth` ist er offen.
|
|
256
256
|
*/
|
|
257
|
-
export declare function getFirstReceiptDate(rufen:
|
|
257
|
+
export declare function getFirstReceiptDate(rufen: InternerTransport): Promise<ReportMonth>;
|
|
258
258
|
/**
|
|
259
259
|
* Prueft die Gutschein-Kombination eines Belegs und liefert den ersten
|
|
260
260
|
* Regelverstoss als Text (oder `null`) — Zwilling von
|
|
@@ -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
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, 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';
|
|
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 = exports.KasseneckNetworkError = 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; } });
|
|
@@ -50,6 +50,7 @@ Object.defineProperty(exports, "apiKeyAuth", { enumerable: true, get: function (
|
|
|
50
50
|
Object.defineProperty(exports, "registerUserAuth", { enumerable: true, get: function () { return index_js_3.registerUserAuth; } });
|
|
51
51
|
Object.defineProperty(exports, "DEFAULT_BASE_URL", { enumerable: true, get: function () { return index_js_3.DEFAULT_BASE_URL; } });
|
|
52
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; } });
|
|
53
54
|
Object.defineProperty(exports, "createTransport", { enumerable: true, get: function () { return index_js_3.createTransport; } });
|
|
54
55
|
Object.defineProperty(exports, "createBinaryTransport", { enumerable: true, get: function () { return index_js_3.createBinaryTransport; } });
|
|
55
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; } });
|
|
@@ -7,48 +7,95 @@
|
|
|
7
7
|
* Backend; ein Test in beiden Repos haelt sie deckungsgleich. Trinkgeld ist
|
|
8
8
|
* bewusst AUS, bis die Buchung geklaert ist (Spec kachel-kasse § 9).
|
|
9
9
|
*/
|
|
10
|
-
export
|
|
11
|
-
export type
|
|
12
|
-
export
|
|
13
|
-
export type
|
|
14
|
-
export
|
|
15
|
-
export type
|
|
10
|
+
export declare const STIL: readonly ["klar", "warm", "nacht", "kontrast"];
|
|
11
|
+
export type KasseStil = typeof STIL[number];
|
|
12
|
+
export declare const SCHRIFT: readonly ["S", "M", "L", "XL"];
|
|
13
|
+
export type KasseSchrift = typeof SCHRIFT[number];
|
|
14
|
+
export declare const WASSERZEICHEN: readonly ["aus", "anmeldung", "ueberall"];
|
|
15
|
+
export type KasseWasserzeichen = typeof WASSERZEICHEN[number];
|
|
16
|
+
export declare const MENGE: readonly ["aus", "x", "kg"];
|
|
17
|
+
export type KasseMenge = typeof MENGE[number];
|
|
18
|
+
export declare const TG_MODUS: readonly ["betrag", "gesamt", "beides"];
|
|
19
|
+
export type KasseTgModus = typeof TG_MODUS[number];
|
|
20
|
+
export declare const KASSIEREN_MODUS: readonly ["seite", "panel"];
|
|
21
|
+
export type KasseKassierenModus = typeof KASSIEREN_MODUS[number];
|
|
16
22
|
/** Kartenanbieter: Karte gibt es erst mit eingerichtetem Anbieter; 'extern' = eigenes Terminal ohne Anbindung. */
|
|
17
|
-
export
|
|
18
|
-
export
|
|
19
|
-
export
|
|
20
|
-
export type
|
|
21
|
-
export
|
|
22
|
-
export type
|
|
23
|
+
export declare const KARTENANBIETER: readonly ["keiner", "extern", "gptom", "hobex", "mypos", "stripe"];
|
|
24
|
+
export type KasseKartenanbieter = typeof KARTENANBIETER[number];
|
|
25
|
+
export declare const BELEG_AUSGABE: readonly ["qr", "druck", "mail", "sms", "fragen"];
|
|
26
|
+
export type KasseBelegAusgabe = typeof BELEG_AUSGABE[number];
|
|
27
|
+
export declare const LAYOUT: readonly ["rechts", "links", "vollbild"];
|
|
28
|
+
export type KasseLayout = typeof LAYOUT[number];
|
|
29
|
+
export declare const KATPOS: readonly ["oben", "links"];
|
|
30
|
+
export type KasseKatpos = typeof KATPOS[number];
|
|
31
|
+
export declare const HOEHE: readonly ["S", "M", "L"];
|
|
32
|
+
export type KasseHoehe = typeof HOEHE[number];
|
|
23
33
|
/**
|
|
24
34
|
* `sdp` = Netzwerk ueber Epson Server Direct Print (der Drucker holt Jobs vom Backend, jeder Browser druckt).
|
|
25
35
|
* `connect` = Kasseneck Connect (lokaler Agent auf dem Kassen-Rechner druckt fuer die Browser-Kasse).
|
|
26
36
|
*/
|
|
27
|
-
export
|
|
37
|
+
export declare const DRUCKER_ART: readonly ["sdp", "netz", "bt", "usb", "connect"];
|
|
38
|
+
export type KasseDruckerArt = typeof DRUCKER_ART[number];
|
|
28
39
|
/** Terminal-Ansprache: direkt per IP (wie bisher) oder ueber Kasseneck Connect (Agent leitet weiter). */
|
|
29
|
-
export
|
|
40
|
+
export declare const TERMINAL_VIA: readonly ["direkt", "connect"];
|
|
41
|
+
export type KasseTerminalVia = typeof TERMINAL_VIA[number];
|
|
30
42
|
/** Art des Kartenterminals an dieser Kasse: keines oder Hobex HPS (JSON-REST am Geraet). */
|
|
31
|
-
export
|
|
32
|
-
export type
|
|
33
|
-
export
|
|
34
|
-
export type
|
|
35
|
-
export
|
|
43
|
+
export declare const TERMINAL_ART: readonly ["keins", "hps"];
|
|
44
|
+
export type KasseTerminalArt = typeof TERMINAL_ART[number];
|
|
45
|
+
export declare const PAPIER: readonly ["mm58", "mm80"];
|
|
46
|
+
export type KassePapier = typeof PAPIER[number];
|
|
47
|
+
export declare const ZEICHENSATZ: readonly ["CP1252", "CP437"];
|
|
48
|
+
export type KasseZeichensatz = typeof ZEICHENSATZ[number];
|
|
49
|
+
export declare const SCHNITT: readonly ["partial", "full", "none"];
|
|
50
|
+
export type KasseSchnitt = typeof SCHNITT[number];
|
|
51
|
+
export declare const LADE_AUTO: readonly ["bar", "immer", "nie"];
|
|
52
|
+
export type KasseLadeAuto = typeof LADE_AUTO[number];
|
|
53
|
+
/** Groesse des Kuerzel-Logos in der Kopfzeile der Kasse. */
|
|
54
|
+
export declare const LOGO_GROESSE: readonly ["S", "M", "L"];
|
|
55
|
+
export type KasseLogoGroesse = typeof LOGO_GROESSE[number];
|
|
56
|
+
/** Schriftgroesse in den Chef-Einstellungen — getrennt von der Schrift der Kasse. */
|
|
57
|
+
export declare const SCHRIFT_EINST: readonly ["S", "M", "L"];
|
|
58
|
+
export type KasseSchriftEinst = typeof SCHRIFT_EINST[number];
|
|
59
|
+
/** Kachel-Optik: farbiger Streifen am Rand oder ganz gefuellte Kachel. */
|
|
60
|
+
export declare const KACHELSTIL: readonly ["streifen", "voll"];
|
|
61
|
+
export type KasseKachelstil = typeof KACHELSTIL[number];
|
|
62
|
+
/** Automatisches Abmelden nach Minuten Ruhe; 0 = nie. */
|
|
63
|
+
export declare const AUTO_AB_MIN: readonly [0, 1, 5, 15, 30];
|
|
64
|
+
export type KasseAutoAbMin = typeof AUTO_AB_MIN[number];
|
|
65
|
+
/** Rabatt am Beleg erlaubt. */
|
|
66
|
+
export declare const RABATT: readonly ["aus", "an"];
|
|
67
|
+
export type KasseRabatt = typeof RABATT[number];
|
|
68
|
+
/** Seite des Wasserzeichens — ALT, abgeloest von wzPos. */
|
|
69
|
+
export declare const WZ_SEITE: readonly ["links", "mitte", "rechts"];
|
|
70
|
+
export type KasseWzSeite = typeof WZ_SEITE[number];
|
|
71
|
+
/** Deckkraft des Wasserzeichens in Prozent — bewusst Stufen, kein Schieberegler. */
|
|
72
|
+
export declare const WZ_STAERKE: readonly [3, 6, 10, 16];
|
|
73
|
+
export type KasseWzStaerke = typeof WZ_STAERKE[number];
|
|
74
|
+
/** Groesse des Bild-Logos am Beleg. */
|
|
75
|
+
export declare const LOGO_SKALA: readonly ["S", "M", "L", "XL"];
|
|
76
|
+
export type KasseLogoSkala = typeof LOGO_SKALA[number];
|
|
77
|
+
/** Groesse des Wasserzeichens — getrennt vom Beleg-Logo. */
|
|
78
|
+
export declare const WZ_SKALA: readonly ["S", "M", "L", "XL"];
|
|
79
|
+
export type KasseWzSkala = typeof WZ_SKALA[number];
|
|
80
|
+
/** Wie lange die Fertig-Seite stehen bleibt, in Sekunden; 0 = bis zum Tippen. */
|
|
81
|
+
export declare const FERTIG_SEKUNDEN: readonly [0, 3, 5, 10, 15, 30, 60];
|
|
82
|
+
export type KasseFertigSekunden = typeof FERTIG_SEKUNDEN[number];
|
|
36
83
|
/** Schalter-Landkarte: Steuersaetze / Trinkgeldstufen (Schluessel = Wert als Text). */
|
|
37
84
|
export type Schalterkarte = Record<string, boolean>;
|
|
38
85
|
export interface KasseSettingsBetrieb {
|
|
39
86
|
logoText: string;
|
|
40
87
|
logoAn: boolean;
|
|
41
|
-
logoGroesse:
|
|
88
|
+
logoGroesse: KasseLogoGroesse;
|
|
42
89
|
wasserzeichen: KasseWasserzeichen;
|
|
43
90
|
farbe: string;
|
|
44
91
|
stil: KasseStil;
|
|
45
92
|
schrift: KasseSchrift;
|
|
46
|
-
schriftEinst:
|
|
47
|
-
kachelstil:
|
|
93
|
+
schriftEinst: KasseSchriftEinst;
|
|
94
|
+
kachelstil: KasseKachelstil;
|
|
48
95
|
uhr: boolean;
|
|
49
96
|
sperrbild: boolean;
|
|
50
97
|
foto: boolean;
|
|
51
|
-
autoAbMin:
|
|
98
|
+
autoAbMin: KasseAutoAbMin;
|
|
52
99
|
abNachVerkauf: boolean;
|
|
53
100
|
/** Schnelles Entsperren mit gemerkter PIN (lokal, Server-Login laeuft nach); aus = streng, jeder Login wartet. */
|
|
54
101
|
schnellLogin: boolean;
|
|
@@ -61,21 +108,21 @@ export interface KasseSettingsBetrieb {
|
|
|
61
108
|
menge: KasseMenge;
|
|
62
109
|
notiz: boolean;
|
|
63
110
|
suche: boolean;
|
|
64
|
-
rabatt:
|
|
111
|
+
rabatt: KasseRabatt;
|
|
65
112
|
/** Bild-Logo (Download-URL aus dem Kasse-Upload); '' = Kuerzel verwenden. */
|
|
66
113
|
logoBild: string;
|
|
67
114
|
/** Seite des Wasserzeichens — ALT: abgeloest von wzPos, bleibt fuers Mischen alter Staende. */
|
|
68
|
-
wzSeite:
|
|
115
|
+
wzSeite: KasseWzSeite;
|
|
69
116
|
/** Horizontale Lage der Wasserzeichen-MITTE in Prozent (-25 bis 125 — darf ueber den Rand hinaus). */
|
|
70
117
|
wzPos: number;
|
|
71
118
|
/** Vertikale Lage der Wasserzeichen-Mitte in Prozent (-25 bis 125). */
|
|
72
119
|
wzPosV: number;
|
|
73
120
|
/** Deckkraft des Wasserzeichens in Prozent — bewusst Stufen, kein Schieberegler. */
|
|
74
|
-
wzStaerke:
|
|
121
|
+
wzStaerke: KasseWzStaerke;
|
|
75
122
|
/** Groesse des Bild-Logos am BELEG (Ansicht, PDF, Kopfzeile). */
|
|
76
|
-
logoSkala:
|
|
123
|
+
logoSkala: KasseLogoSkala;
|
|
77
124
|
/** Groesse des Wasserzeichens — getrennt vom Beleg-Logo. */
|
|
78
|
-
wzSkala:
|
|
125
|
+
wzSkala: KasseWzSkala;
|
|
79
126
|
zahlBar: boolean;
|
|
80
127
|
zahlKarte: boolean;
|
|
81
128
|
kartenanbieter: KasseKartenanbieter;
|
|
@@ -91,15 +138,17 @@ export interface KasseSettingsBetrieb {
|
|
|
91
138
|
/** Rabatt-Chips in Prozent — dieselben Regeln wie tgChips, vom Chef einstellbar. */
|
|
92
139
|
rabattChips: number[];
|
|
93
140
|
belegAusgabe: KasseBelegAusgabe;
|
|
94
|
-
fertigSekunden:
|
|
141
|
+
fertigSekunden: KasseFertigSekunden;
|
|
95
142
|
/** Glas-Optik: Kacheln und Korb leicht durchscheinend (Wasserzeichen schimmert). */
|
|
96
143
|
glas: boolean;
|
|
97
144
|
/** Hilfetexte in den Chef-Einstellungen anzeigen. */
|
|
98
145
|
hinweise: boolean;
|
|
99
146
|
}
|
|
100
147
|
/** Aktionen der Kasse, die eine Taste bekommen koennen. */
|
|
101
|
-
export
|
|
102
|
-
export
|
|
148
|
+
export declare const KASSE_TASTEN_AKTIONEN: readonly ["kassieren", "abschliessen", "abbrechen", "frei", "bar", "karte", "passend", "belege", "letzteZurueck", "einstellungen", "abmelden", "trinkgeld", "vollbild", "gegebenLeeren", "korbLeeren"];
|
|
149
|
+
export type KasseTastenAktion = typeof KASSE_TASTEN_AKTIONEN[number];
|
|
150
|
+
/** Kurzer Name, damit alle Enum-Listen gleich heissen; der alte bleibt gueltig. */
|
|
151
|
+
export declare const TASTEN_AKTIONEN: readonly ["kassieren", "abschliessen", "abbrechen", "frei", "bar", "karte", "passend", "belege", "letzteZurueck", "einstellungen", "abmelden", "trinkgeld", "vollbild", "gegebenLeeren", "korbLeeren"];
|
|
103
152
|
/** Tastenkarte: Aktion -> Tasten (`Mod+F`, `Enter`, `Escape`, `F5` ...; `Mod` = ⌘ auf dem Mac, Strg sonst). */
|
|
104
153
|
export type KasseTastenkarte = Record<KasseTastenAktion, string[]>;
|
|
105
154
|
export declare const KASSE_TASTEN_STANDARD: Readonly<KasseTastenkarte>;
|
|
@@ -116,6 +165,8 @@ export interface KasseSettingsGeraet {
|
|
|
116
165
|
druckerIp: string;
|
|
117
166
|
druckerPort: number;
|
|
118
167
|
druckerBt: string;
|
|
168
|
+
/** Klartextname des gemerkten Druckers; sonst stuende dort eine nackte Bluetooth-Adresse. */
|
|
169
|
+
druckerName: string;
|
|
119
170
|
/** Kennung des Netzwerk-Druckers (Server Direct Print) aus `listMyPrinters`; '' = keiner gewaehlt. */
|
|
120
171
|
druckerId: string;
|
|
121
172
|
/** ePOS Device-ID bei `druckerArt 'netz'` (Epson direkt per IP), Vorgabe `local_printer`. */
|