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.

TabelleRolleBeziehung
jobHauptjob: Typ, Fortschritt, Status, BenutzerWarteschlangeneinträge gehören zum Job
cron_queueEinträge des JobsJob-ID
notificationBenachrichtigungen: Typ, gelesen, zugestellt, Quell-Linkuser_id, Job-ID

Endpunkte

EndpunktVerhaltenRecht
job.list, .progress, .cancel, .notificationspageseitenweise Liste; Fortschrittskarte; Stopp (Datensatz und geladenes Ergebnis bleiben); Weiterleitung zu Benachrichtigungen mit filter_job_idlist
job.deletelöscht die gewählten Jobs mit Eigen- bzw. Super-Filterdelete
job.navqueryNAV-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 Acceptedfinance/invoice + navdata
job.testqueryDiagnose-Testjob mit fester Firma und festem Zeitraumfinance/invoice + navdata
job.notificationsnicht zugestellte Benachrichtigungen des Benutzers (höchstens 20) für Einblendungen, danach als zugestellt markiertAnmeldung
job.bellZahl ungelesener, 5 neueste, 10 nicht zugestellte (als zugestellt markiert)Anmeldung
job.bellreadalle eigenen Benachrichtigungen gelesenAnmeldung
notification.list, .markread, .markreadallFilter: Typ, gelesen, Job; Ansehen markiert nicht als gelesenlist
notification.deletephysisches Löschen gewählter eigener Benachrichtigungendelete
notification.deletealllöscht alle eigenen, mit Anzahldeleteall (BASE)

Den Quell-Link erzeugt ein sicherer Link-Baustein.

Berechtigungen

  • system/job: list nicht eingestuft, delete und debug nicht in den Seeds.
  • system/notification: list nicht eingestuft, deleteall BASE, delete und debug nicht in den Seeds.
  • Inhaltsbereich: Das Job-Modell filtert nach user_id und Super; das Benachrichtigungsmodell bei jeder Aktion nach der eigenen user_id.

Bekannte Einschränkungen

job.testquery läuft mit fester Firmen-ID und festem Zeitraum, nur zur Diagnose.