@kreiseck/kasseneck-api 0.6.45 → 0.6.46
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/client/aufrufe.d.ts +1 -1
- package/dist/cjs/client/aufrufe.js +1 -0
- package/dist/cjs/kasse/index.d.ts +1 -0
- package/dist/cjs/kasse/index.js +3 -0
- package/dist/cjs/kasse/trinkgeld.d.ts +10 -0
- package/dist/cjs/kasse/trinkgeld.js +27 -0
- package/dist/cjs/register/pairing.d.ts +8 -1
- package/dist/cjs/register/pairing.js +8 -1
- package/dist/esm/client/aufrufe.d.ts +1 -1
- package/dist/esm/client/aufrufe.js +1 -0
- package/dist/esm/kasse/index.d.ts +1 -0
- package/dist/esm/kasse/index.js +1 -0
- package/dist/esm/kasse/trinkgeld.d.ts +10 -0
- package/dist/esm/kasse/trinkgeld.js +24 -0
- package/dist/esm/register/pairing.d.ts +8 -1
- package/dist/esm/register/pairing.js +8 -1
- package/fixtures/oberflaeche.json +2 -1
- package/package.json +1 -1
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* umhuellt, muss ihn weiterhin absetzen koennen.
|
|
14
14
|
*/
|
|
15
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"];
|
|
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", "listMyTipRecipients", "listRegisterUsersForDevice", "pairRegisterDevice", "registerPinLogin", "registerUserLogin", "renewRegisterSession", "setMyKasseSettings", "setMyRegisterDeviceSettings", "stripeCaptureIntent", "unpairRegisterDevice"];
|
|
17
17
|
export type Aufruf = typeof AUFRUFE[number];
|
|
18
18
|
/** Wie [KasseneckTransport], nur mit bekanntem Aufrufnamen. Nicht exportiert nach aussen. */
|
|
19
19
|
export type InternerTransport = <T = unknown>(functionName: Aufruf, params?: Record<string, unknown>, extraBodyFields?: TransportBodyFields, secretParams?: readonly string[]) => Promise<T>;
|
|
@@ -9,3 +9,4 @@ export { getKasseSettings, setMyKasseSettings, setMyRegisterDeviceSettings } fro
|
|
|
9
9
|
export { verteileRabatt } from '../receipt/discount.js';
|
|
10
10
|
export { cancelScopeOf, receiptsScopeOf, type RegisterScope, type RegisterUserPerms } from '../register/pairing.js';
|
|
11
11
|
export { type NetzDrucker, type DruckJob, type DruckJobStatus, type CreatePrintJobOptions, listMyPrinters, createPrintJob, getPrintJob } from './drucker.js';
|
|
12
|
+
export { listMyTipRecipients } from './trinkgeld.js';
|
package/dist/cjs/kasse/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
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
|
+
exports.listMyTipRecipients = void 0;
|
|
4
5
|
/**
|
|
5
6
|
* Kachel-Kasse: Einstellungen, Artikelgruppen/Artikel fuer Kacheln,
|
|
6
7
|
* Rabattverteilung. Die Aufrufe heissen 1:1 wie die Backend-Functions
|
|
@@ -65,3 +66,5 @@ var drucker_js_1 = require("./drucker.js");
|
|
|
65
66
|
Object.defineProperty(exports, "listMyPrinters", { enumerable: true, get: function () { return drucker_js_1.listMyPrinters; } });
|
|
66
67
|
Object.defineProperty(exports, "createPrintJob", { enumerable: true, get: function () { return drucker_js_1.createPrintJob; } });
|
|
67
68
|
Object.defineProperty(exports, "getPrintJob", { enumerable: true, get: function () { return drucker_js_1.getPrintJob; } });
|
|
69
|
+
var trinkgeld_js_1 = require("./trinkgeld.js");
|
|
70
|
+
Object.defineProperty(exports, "listMyTipRecipients", { enumerable: true, get: function () { return trinkgeld_js_1.listMyTipRecipients; } });
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { InternerTransport } from '../client/aufrufe.js';
|
|
2
|
+
import type { TipRecipient } from '../models/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* Die Personen, denen dieser Aufrufer Trinkgeld zuweisen kann.
|
|
5
|
+
*
|
|
6
|
+
* Es ist **dieselbe Menge**, die `createReceipt` akzeptiert — wer hier steht,
|
|
7
|
+
* wird beim Verkauf nicht zurueckgewiesen. Ist ein Kassen-Benutzer ohne das
|
|
8
|
+
* Recht `tipAssign` angemeldet, steht nur er selbst darin.
|
|
9
|
+
*/
|
|
10
|
+
export declare function listMyTipRecipients(rufen: InternerTransport): Promise<TipRecipient[]>;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.listMyTipRecipients = listMyTipRecipients;
|
|
4
|
+
const errors_js_1 = require("../client/errors.js");
|
|
5
|
+
/**
|
|
6
|
+
* Die Personen, denen dieser Aufrufer Trinkgeld zuweisen kann.
|
|
7
|
+
*
|
|
8
|
+
* Es ist **dieselbe Menge**, die `createReceipt` akzeptiert — wer hier steht,
|
|
9
|
+
* wird beim Verkauf nicht zurueckgewiesen. Ist ein Kassen-Benutzer ohne das
|
|
10
|
+
* Recht `tipAssign` angemeldet, steht nur er selbst darin.
|
|
11
|
+
*/
|
|
12
|
+
async function listMyTipRecipients(rufen) {
|
|
13
|
+
const daten = await rufen('listMyTipRecipients');
|
|
14
|
+
const roh = daten?.recipients;
|
|
15
|
+
if (!Array.isArray(roh)) {
|
|
16
|
+
// Keine Liste ist etwas anderes als eine leere Liste: „noch niemand
|
|
17
|
+
// angelegt" darf nicht aussehen wie „Antwort kaputt".
|
|
18
|
+
throw new errors_js_1.KasseneckValidationError('listMyTipRecipients', 'Antwort enthaelt keine Liste (data.recipients fehlt)', 'response');
|
|
19
|
+
}
|
|
20
|
+
return roh.map((e) => {
|
|
21
|
+
const d = (e ?? {});
|
|
22
|
+
// Dieselbe Gestalt wie der Empfaenger am Beleg-Item — `TipRecipient` aus
|
|
23
|
+
// src/models/receipt-item.ts. Kein neuer Typ: „wer kann Trinkgeld
|
|
24
|
+
// bekommen" und „wer hat es bekommen" sind dieselbe Sache.
|
|
25
|
+
return { registerUserId: String(d.registerUserId ?? ''), name: String(d.name ?? ''), owner: d.owner === true };
|
|
26
|
+
});
|
|
27
|
+
}
|
|
@@ -159,7 +159,14 @@ export interface RegisterUserPerms {
|
|
|
159
159
|
tipAssign?: boolean;
|
|
160
160
|
[weiteresRecht: string]: boolean | RegisterScope | undefined;
|
|
161
161
|
}
|
|
162
|
-
/**
|
|
162
|
+
/**
|
|
163
|
+
* Alle Rechte-Schluessel, die dieses Paket kennt — die Zwillinge pruefen
|
|
164
|
+
* dagegen, und ueber `fixtures/oberflaeche.json` steht die Liste im Vertrag.
|
|
165
|
+
*
|
|
166
|
+
* `satisfies` schliesst die eine Richtung: ein Name, den [RegisterUserPerms]
|
|
167
|
+
* nicht fuehrt (Tippfehler, umbenanntes Recht), kommt hier nicht durch.
|
|
168
|
+
* Die Gegenrichtung schliesst [_RechteVollstaendig] direkt darunter.
|
|
169
|
+
*/
|
|
163
170
|
export declare const REGISTER_PERMS: readonly ["sell", "cancel", "articles", "layout", "reports", "takeover", "cancelScope", "receiptsScope", "drawer", "discount", "tipAssign"];
|
|
164
171
|
/** Reichweite lesen, mit der Migration des Backends (register-auth.js). */
|
|
165
172
|
export declare function cancelScopeOf(perms: RegisterUserPerms | null | undefined): RegisterScope;
|
|
@@ -48,7 +48,14 @@ const settings_js_1 = require("../kasse/settings.js");
|
|
|
48
48
|
* es auch halten.
|
|
49
49
|
*/
|
|
50
50
|
const ohneAnmeldung = () => ({ headers: {}, params: {} });
|
|
51
|
-
/**
|
|
51
|
+
/**
|
|
52
|
+
* Alle Rechte-Schluessel, die dieses Paket kennt — die Zwillinge pruefen
|
|
53
|
+
* dagegen, und ueber `fixtures/oberflaeche.json` steht die Liste im Vertrag.
|
|
54
|
+
*
|
|
55
|
+
* `satisfies` schliesst die eine Richtung: ein Name, den [RegisterUserPerms]
|
|
56
|
+
* nicht fuehrt (Tippfehler, umbenanntes Recht), kommt hier nicht durch.
|
|
57
|
+
* Die Gegenrichtung schliesst [_RechteVollstaendig] direkt darunter.
|
|
58
|
+
*/
|
|
52
59
|
exports.REGISTER_PERMS = [
|
|
53
60
|
'sell', 'cancel', 'articles', 'layout', 'reports', 'takeover',
|
|
54
61
|
'cancelScope', 'receiptsScope', 'drawer', 'discount', 'tipAssign',
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* umhuellt, muss ihn weiterhin absetzen koennen.
|
|
14
14
|
*/
|
|
15
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"];
|
|
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", "listMyTipRecipients", "listRegisterUsersForDevice", "pairRegisterDevice", "registerPinLogin", "registerUserLogin", "renewRegisterSession", "setMyKasseSettings", "setMyRegisterDeviceSettings", "stripeCaptureIntent", "unpairRegisterDevice"];
|
|
17
17
|
export type Aufruf = typeof AUFRUFE[number];
|
|
18
18
|
/** Wie [KasseneckTransport], nur mit bekanntem Aufrufnamen. Nicht exportiert nach aussen. */
|
|
19
19
|
export type InternerTransport = <T = unknown>(functionName: Aufruf, params?: Record<string, unknown>, extraBodyFields?: TransportBodyFields, secretParams?: readonly string[]) => Promise<T>;
|
|
@@ -9,3 +9,4 @@ export { getKasseSettings, setMyKasseSettings, setMyRegisterDeviceSettings } fro
|
|
|
9
9
|
export { verteileRabatt } from '../receipt/discount.js';
|
|
10
10
|
export { cancelScopeOf, receiptsScopeOf, type RegisterScope, type RegisterUserPerms } from '../register/pairing.js';
|
|
11
11
|
export { type NetzDrucker, type DruckJob, type DruckJobStatus, type CreatePrintJobOptions, listMyPrinters, createPrintJob, getPrintJob } from './drucker.js';
|
|
12
|
+
export { listMyTipRecipients } from './trinkgeld.js';
|
package/dist/esm/kasse/index.js
CHANGED
|
@@ -13,3 +13,4 @@ export { verteileRabatt } from '../receipt/discount.js';
|
|
|
13
13
|
// Register-Unterpfad: dessen Exportnamen sind 1:1 Function-Namen (Rewrites).
|
|
14
14
|
export { cancelScopeOf, receiptsScopeOf } from '../register/pairing.js';
|
|
15
15
|
export { listMyPrinters, createPrintJob, getPrintJob } from './drucker.js';
|
|
16
|
+
export { listMyTipRecipients } from './trinkgeld.js';
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { InternerTransport } from '../client/aufrufe.js';
|
|
2
|
+
import type { TipRecipient } from '../models/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* Die Personen, denen dieser Aufrufer Trinkgeld zuweisen kann.
|
|
5
|
+
*
|
|
6
|
+
* Es ist **dieselbe Menge**, die `createReceipt` akzeptiert — wer hier steht,
|
|
7
|
+
* wird beim Verkauf nicht zurueckgewiesen. Ist ein Kassen-Benutzer ohne das
|
|
8
|
+
* Recht `tipAssign` angemeldet, steht nur er selbst darin.
|
|
9
|
+
*/
|
|
10
|
+
export declare function listMyTipRecipients(rufen: InternerTransport): Promise<TipRecipient[]>;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { KasseneckValidationError } from '../client/errors.js';
|
|
2
|
+
/**
|
|
3
|
+
* Die Personen, denen dieser Aufrufer Trinkgeld zuweisen kann.
|
|
4
|
+
*
|
|
5
|
+
* Es ist **dieselbe Menge**, die `createReceipt` akzeptiert — wer hier steht,
|
|
6
|
+
* wird beim Verkauf nicht zurueckgewiesen. Ist ein Kassen-Benutzer ohne das
|
|
7
|
+
* Recht `tipAssign` angemeldet, steht nur er selbst darin.
|
|
8
|
+
*/
|
|
9
|
+
export async function listMyTipRecipients(rufen) {
|
|
10
|
+
const daten = await rufen('listMyTipRecipients');
|
|
11
|
+
const roh = daten?.recipients;
|
|
12
|
+
if (!Array.isArray(roh)) {
|
|
13
|
+
// Keine Liste ist etwas anderes als eine leere Liste: „noch niemand
|
|
14
|
+
// angelegt" darf nicht aussehen wie „Antwort kaputt".
|
|
15
|
+
throw new KasseneckValidationError('listMyTipRecipients', 'Antwort enthaelt keine Liste (data.recipients fehlt)', 'response');
|
|
16
|
+
}
|
|
17
|
+
return roh.map((e) => {
|
|
18
|
+
const d = (e ?? {});
|
|
19
|
+
// Dieselbe Gestalt wie der Empfaenger am Beleg-Item — `TipRecipient` aus
|
|
20
|
+
// src/models/receipt-item.ts. Kein neuer Typ: „wer kann Trinkgeld
|
|
21
|
+
// bekommen" und „wer hat es bekommen" sind dieselbe Sache.
|
|
22
|
+
return { registerUserId: String(d.registerUserId ?? ''), name: String(d.name ?? ''), owner: d.owner === true };
|
|
23
|
+
});
|
|
24
|
+
}
|
|
@@ -159,7 +159,14 @@ export interface RegisterUserPerms {
|
|
|
159
159
|
tipAssign?: boolean;
|
|
160
160
|
[weiteresRecht: string]: boolean | RegisterScope | undefined;
|
|
161
161
|
}
|
|
162
|
-
/**
|
|
162
|
+
/**
|
|
163
|
+
* Alle Rechte-Schluessel, die dieses Paket kennt — die Zwillinge pruefen
|
|
164
|
+
* dagegen, und ueber `fixtures/oberflaeche.json` steht die Liste im Vertrag.
|
|
165
|
+
*
|
|
166
|
+
* `satisfies` schliesst die eine Richtung: ein Name, den [RegisterUserPerms]
|
|
167
|
+
* nicht fuehrt (Tippfehler, umbenanntes Recht), kommt hier nicht durch.
|
|
168
|
+
* Die Gegenrichtung schliesst [_RechteVollstaendig] direkt darunter.
|
|
169
|
+
*/
|
|
163
170
|
export declare const REGISTER_PERMS: readonly ["sell", "cancel", "articles", "layout", "reports", "takeover", "cancelScope", "receiptsScope", "drawer", "discount", "tipAssign"];
|
|
164
171
|
/** Reichweite lesen, mit der Migration des Backends (register-auth.js). */
|
|
165
172
|
export declare function cancelScopeOf(perms: RegisterUserPerms | null | undefined): RegisterScope;
|
|
@@ -38,7 +38,14 @@ import { KASSE_BETRIEB_STANDARD, KASSE_GERAET_STANDARD, mergeKasseSettings, } fr
|
|
|
38
38
|
* es auch halten.
|
|
39
39
|
*/
|
|
40
40
|
const ohneAnmeldung = () => ({ headers: {}, params: {} });
|
|
41
|
-
/**
|
|
41
|
+
/**
|
|
42
|
+
* Alle Rechte-Schluessel, die dieses Paket kennt — die Zwillinge pruefen
|
|
43
|
+
* dagegen, und ueber `fixtures/oberflaeche.json` steht die Liste im Vertrag.
|
|
44
|
+
*
|
|
45
|
+
* `satisfies` schliesst die eine Richtung: ein Name, den [RegisterUserPerms]
|
|
46
|
+
* nicht fuehrt (Tippfehler, umbenanntes Recht), kommt hier nicht durch.
|
|
47
|
+
* Die Gegenrichtung schliesst [_RechteVollstaendig] direkt darunter.
|
|
48
|
+
*/
|
|
42
49
|
export const REGISTER_PERMS = [
|
|
43
50
|
'sell', 'cancel', 'articles', 'layout', 'reports', 'takeover',
|
|
44
51
|
'cancelScope', 'receiptsScope', 'drawer', 'discount', 'tipAssign',
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.6.
|
|
2
|
+
"version": "0.6.46",
|
|
3
3
|
"aufrufe": [
|
|
4
4
|
"cancelReceipt",
|
|
5
5
|
"createPaymentLinkStripe",
|
|
@@ -21,6 +21,7 @@
|
|
|
21
21
|
"listMyCashregisters",
|
|
22
22
|
"listMyPrinters",
|
|
23
23
|
"listMyReceipts",
|
|
24
|
+
"listMyTipRecipients",
|
|
24
25
|
"listRegisterUsersForDevice",
|
|
25
26
|
"pairRegisterDevice",
|
|
26
27
|
"registerPinLogin",
|