Asynchrone Jobs und Benachrichtigungen: Datenmodell, Endpunkte, Berechtigungen
Datenmodell von Hauptjobs und Benachrichtigungen, Start und Zeitbudget der NAV-Abfrage, die Glocken-Endpunkte, die Filterung je Benutzer und die Einstufung der Berechtigungsschlüssel.
Die Liste der asynchronen „Hauptjobs“ zeigt Fortschritt, Status und Warteschlangenzähler der NAV-Rechnungsabfragen; Glocke und Liste Benachrichtigungen sind zwei Sichten derselben Benachrichtigungstabelle. Der Hauptadministrator sieht alle Jobs, andere Benutzer ihre eigenen; Benachrichtigungen sind immer die eigenen.
Datenmodell
Die Tabellennamen tragen in der Datenbank das eigene Präfix der Installation.
| Tabelle | Rolle | Beziehung |
|---|---|---|
job | Hauptjob: Typ, Fortschritt, Status, Benutzer | Warteschlangeneinträge gehören zum Job |
cron_queue | Einträge des Jobs | Job-ID |
notification | Benachrichtigungen: Typ, gelesen, zugestellt, Quell-Link | user_id, Job-ID |
Endpunkte
| Endpunkt | Verhalten | Recht |
|---|---|---|
job.list, .progress, .cancel, .notificationspage | seitenweise Liste; Fortschrittskarte; Stopp (Datensatz und geladenes Ergebnis bleiben); Weiterleitung zu Benachrichtigungen mit filter_job_id | list |
job.delete | löscht die gewählten Jobs mit Eigen- bzw. Super-Filter | delete |
job.navquery | NAV-Abfrage aus dem Rechnungsfilter: Zeitfenster je Firma (nur aktiv, mit Steuernummer und NAV-Zugang), dann Anstoß des Workers im synchronen Budget (Einstellung job_sync_budget, Standard 8 s); fertig sofortige Antwort, sonst 202 Accepted | finance/invoice + navdata |
job.testquery | Diagnose-Testjob mit fester Firma und festem Zeitraum | finance/invoice + navdata |
job.notifications | nicht zugestellte Benachrichtigungen des Benutzers (höchstens 20) für Einblendungen, danach als zugestellt markiert | Anmeldung |
job.bell | Zahl ungelesener, 5 neueste, 10 nicht zugestellte (als zugestellt markiert) | Anmeldung |
job.bellread | alle eigenen Benachrichtigungen gelesen | Anmeldung |
notification.list, .markread, .markreadall | Filter: Typ, gelesen, Job; Ansehen markiert nicht als gelesen | list |
notification.delete | physisches Löschen gewählter eigener Benachrichtigungen | delete |
notification.deleteall | löscht alle eigenen, mit Anzahl | deleteall (BASE) |
Den Quell-Link erzeugt ein sicherer Link-Baustein.
Berechtigungen
system/job:listnicht eingestuft,deleteunddebugnicht in den Seeds.system/notification:listnicht eingestuft,deleteallBASE,deleteunddebugnicht in den Seeds.- Inhaltsbereich: Das Job-Modell filtert nach
user_idund Super; das Benachrichtigungsmodell bei jeder Aktion nach der eigenenuser_id.
Bekannte Einschränkungen
job.testquery läuft mit fester Firmen-ID und festem Zeitraum, nur zur Diagnose.