@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.
Files changed (52) hide show
  1. package/README.md +17 -0
  2. package/dist/cjs/client/aufrufe.d.ts +21 -0
  3. package/dist/cjs/client/aufrufe.js +34 -0
  4. package/dist/cjs/client/cashregisters.d.ts +2 -2
  5. package/dist/cjs/client/index.d.ts +1 -0
  6. package/dist/cjs/client/index.js +3 -1
  7. package/dist/cjs/client/receipts.d.ts +12 -12
  8. package/dist/cjs/client/reports.d.ts +3 -3
  9. package/dist/cjs/client/status.d.ts +3 -3
  10. package/dist/cjs/index.d.ts +1 -1
  11. package/dist/cjs/index.js +3 -2
  12. package/dist/cjs/kasse/artikel.d.ts +3 -3
  13. package/dist/cjs/kasse/client.d.ts +4 -4
  14. package/dist/cjs/kasse/drucker.d.ts +4 -4
  15. package/dist/cjs/kasse/index.d.ts +1 -1
  16. package/dist/cjs/kasse/index.js +30 -1
  17. package/dist/cjs/kasse/settings.d.ts +82 -31
  18. package/dist/cjs/kasse/settings.js +65 -5
  19. package/dist/cjs/payments/hobex.d.ts +3 -3
  20. package/dist/cjs/payments/stripe.d.ts +3 -3
  21. package/dist/cjs/register/index.d.ts +1 -1
  22. package/dist/cjs/register/index.js +2 -1
  23. package/dist/cjs/register/pairing.d.ts +2 -0
  24. package/dist/cjs/register/pairing.js +6 -0
  25. package/dist/cjs/register/session.d.ts +3 -3
  26. package/dist/esm/client/aufrufe.d.ts +21 -0
  27. package/dist/esm/client/aufrufe.js +31 -0
  28. package/dist/esm/client/cashregisters.d.ts +2 -2
  29. package/dist/esm/client/index.d.ts +1 -0
  30. package/dist/esm/client/index.js +1 -0
  31. package/dist/esm/client/receipts.d.ts +12 -12
  32. package/dist/esm/client/reports.d.ts +3 -3
  33. package/dist/esm/client/status.d.ts +3 -3
  34. package/dist/esm/index.d.ts +1 -1
  35. package/dist/esm/index.js +1 -1
  36. package/dist/esm/kasse/artikel.d.ts +3 -3
  37. package/dist/esm/kasse/client.d.ts +4 -4
  38. package/dist/esm/kasse/drucker.d.ts +4 -4
  39. package/dist/esm/kasse/index.d.ts +1 -1
  40. package/dist/esm/kasse/index.js +3 -1
  41. package/dist/esm/kasse/settings.d.ts +82 -31
  42. package/dist/esm/kasse/settings.js +64 -4
  43. package/dist/esm/payments/hobex.d.ts +3 -3
  44. package/dist/esm/payments/stripe.d.ts +3 -3
  45. package/dist/esm/register/index.d.ts +1 -1
  46. package/dist/esm/register/index.js +1 -1
  47. package/dist/esm/register/pairing.d.ts +2 -0
  48. package/dist/esm/register/pairing.js +5 -0
  49. package/dist/esm/register/session.d.ts +3 -3
  50. package/fixtures/kasse-settings-standard.json +10 -9
  51. package/fixtures/oberflaeche.json +216 -0
  52. 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 { KasseneckTransport } from './transport.js';
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: KasseneckTransport): Promise<Cashregister[]>;
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';
@@ -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 { KasseneckTransport } from './transport.js';
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: KasseneckTransport, options: CreateReceiptOptions): Promise<Receipt>;
153
+ export declare function createReceipt(rufen: InternerTransport, options: CreateReceiptOptions): Promise<Receipt>;
154
154
  /** Normalbeleg (Verkauf) nach RKSV. */
155
- export declare function sellReceipt(rufen: KasseneckTransport, options: SellReceiptOptions): Promise<Receipt>;
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: KasseneckTransport, options: SellReceiptOptions): Promise<ReceiptWithCompany>;
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: KasseneckTransport, options: CancelReceiptOptions): Promise<CancelReceiptResult>;
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: KasseneckTransport, options: CreateCancelReceiptOptions): Promise<Receipt>;
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: KasseneckTransport): Promise<Receipt>;
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: KasseneckTransport, options: ListMyReceiptsOptions): Promise<ReceiptList>;
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: KasseneckTransport, receiptId: string): Promise<Receipt>;
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: KasseneckTransport, receiptId: string): Promise<ReceiptWithCompany>;
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: KasseneckTransport, receiptId: string): Promise<string>;
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: KasseneckTransport): Promise<ReportMonth>;
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 { KasseneckBinaryTransport } from './transport.js';
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: KasseneckBinaryTransport, date: Date): Promise<Uint8Array>;
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: KasseneckBinaryTransport, reportMonth: ReportMonth): Promise<Uint8Array>;
43
+ export declare function downloadMonthlyReport(rufen: InternerBinaerTransport, reportMonth: ReportMonth): Promise<Uint8Array>;
@@ -1,4 +1,4 @@
1
- import type { KasseneckTransport } from './transport.js';
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: KasseneckTransport): Promise<CashboxStatus>;
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: KasseneckTransport, zertifikatNrHex: string): Promise<SignatureStatus>;
43
+ export declare function getSignatureStatus(rufen: InternerTransport, zertifikatNrHex: string): Promise<SignatureStatus>;
@@ -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.KasseneckHttpError = exports.KasseneckAuthError = exports.KasseneckApiError = exports.createBinaryTransport = exports.createTransport = 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 = 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 { KasseneckTransport } from '../client/transport.js';
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: KasseneckTransport): Promise<ArticleGroup[]>;
83
- export declare function listMyArticles(rufen: KasseneckTransport): Promise<KasseArtikel[]>;
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 { KasseneckTransport } from '../client/transport.js';
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: KasseneckTransport, options?: {
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: KasseneckTransport, betrieb: Partial<KasseSettingsBetrieb>): Promise<KasseSettingsBetrieb>;
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: KasseneckTransport, deviceId: string, geraet: Partial<KasseSettingsGeraet>): Promise<KasseSettingsGeraet>;
10
+ export declare function setMyRegisterDeviceSettings(rufen: InternerTransport, deviceId: string, geraet: Partial<KasseSettingsGeraet>): Promise<KasseSettingsGeraet>;
@@ -1,4 +1,4 @@
1
- import type { KasseneckTransport } from '../client/transport.js';
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: KasseneckTransport): Promise<NetzDrucker[]>;
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: KasseneckTransport, o: CreatePrintJobOptions): Promise<DruckJob>;
51
- export declare function getPrintJob(rufen: KasseneckTransport, o: {
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';
@@ -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 type KasseStil = 'klar' | 'warm' | 'nacht' | 'kontrast';
11
- export type KasseSchrift = 'S' | 'M' | 'L' | 'XL';
12
- export type KasseWasserzeichen = 'aus' | 'anmeldung' | 'ueberall';
13
- export type KasseMenge = 'aus' | 'x' | 'kg';
14
- export type KasseTgModus = 'betrag' | 'gesamt' | 'beides';
15
- export type KasseKassierenModus = 'seite' | 'panel';
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 type KasseKartenanbieter = 'keiner' | 'extern' | 'hobex' | 'mypos' | 'stripe';
18
- export declare const KARTENANBIETER: readonly KasseKartenanbieter[];
19
- export type KasseBelegAusgabe = 'qr' | 'druck' | 'mail' | 'sms' | 'fragen';
20
- export type KasseLayout = 'rechts' | 'links' | 'vollbild';
21
- export type KasseKatpos = 'oben' | 'links';
22
- export type KasseHoehe = 'S' | 'M' | 'L';
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 type KasseDruckerArt = 'sdp' | 'netz' | 'bt' | 'usb' | 'connect';
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 type KasseTerminalVia = 'direkt' | 'connect';
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 type KasseTerminalArt = 'keins' | 'hps';
32
- export type KassePapier = 'mm58' | 'mm80';
33
- export type KasseZeichensatz = 'CP1252' | 'CP437';
34
- export type KasseSchnitt = 'partial' | 'full' | 'none';
35
- export type KasseLadeAuto = 'bar' | 'immer' | 'nie';
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: 'S' | 'M' | 'L';
88
+ logoGroesse: KasseLogoGroesse;
42
89
  wasserzeichen: KasseWasserzeichen;
43
90
  farbe: string;
44
91
  stil: KasseStil;
45
92
  schrift: KasseSchrift;
46
- schriftEinst: 'S' | 'M' | 'L';
47
- kachelstil: 'streifen' | 'voll';
93
+ schriftEinst: KasseSchriftEinst;
94
+ kachelstil: KasseKachelstil;
48
95
  uhr: boolean;
49
96
  sperrbild: boolean;
50
97
  foto: boolean;
51
- autoAbMin: 0 | 1 | 5 | 15 | 30;
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: 'aus' | 'an';
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: 'links' | 'mitte' | 'rechts';
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: 3 | 6 | 10 | 16;
121
+ wzStaerke: KasseWzStaerke;
75
122
  /** Groesse des Bild-Logos am BELEG (Ansicht, PDF, Kopfzeile). */
76
- logoSkala: 'S' | 'M' | 'L' | 'XL';
123
+ logoSkala: KasseLogoSkala;
77
124
  /** Groesse des Wasserzeichens — getrennt vom Beleg-Logo. */
78
- wzSkala: 'S' | 'M' | 'L' | 'XL';
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: 0 | 3 | 5 | 10 | 15 | 30 | 60;
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 type KasseTastenAktion = 'kassieren' | 'abschliessen' | 'abbrechen' | 'frei' | 'bar' | 'karte' | 'passend' | 'belege' | 'letzteZurueck' | 'einstellungen' | 'abmelden' | 'trinkgeld' | 'vollbild' | 'gegebenLeeren' | 'korbLeeren';
102
- export declare const KASSE_TASTEN_AKTIONEN: readonly KasseTastenAktion[];
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`. */