From f1d30945c14dc30fd4e42eeb90f1382ad996e853 Mon Sep 17 00:00:00 2001 From: robin Date: Sun, 15 Oct 2023 10:49:18 +0000 Subject: [PATCH] backups --- api/collections/backups.yml | 95 +++++++++++++++++++++++ api/collections/democol/meta.yml | 5 ++ docs/md/projektkonfig/collections/meta.md | 11 ++- 3 files changed, 110 insertions(+), 1 deletion(-) create mode 100644 api/collections/backups.yml diff --git a/api/collections/backups.yml b/api/collections/backups.yml new file mode 100644 index 0000000..1876bef --- /dev/null +++ b/api/collections/backups.yml @@ -0,0 +1,95 @@ +name: backups +meta: + isBackupcollection: true + +permissions: + public: + methods: + get: false + post: false + put: false + delete: false + user: + methods: + get: true + post: false + put: false + delete: false + + # token als Zusatzsicherung gegen Spam, mehr siehe Hook + "token:${PUBLIC_TOKEN}": + methods: + get: false + post: true + put: false + delete: false + +hooks: + post: + create: + type: javascript + file: hooks/backups/post_create.js + +fields: + - name: collectionName + type: string + meta: + label: Collection Name + + - name: entryId + type: string + meta: + label: Entry ID + + - name: versionNr + type: number + meta: + label: Version Nr + + - name: manipulatedBy + type: string + meta: + label: Manipulated By + + - name: eventDescription + type: string + meta: + label: Event Description + widget: select + choices: + - id: create + name: Create + - id: update + name: Update + - id: delete + name: Delete + - id: recreate + name: Recreate + - id: activate + name: Activate + + - name: updateLogs + type: object[] + meta: + label: Veränderungen + + subFields: + - name: field + type: string + meta: + label: Feldname + + - name: previous + type: string + meta: + label: Vorheriger Wert + + - name: current + type: string + meta: + label: Aktueller Wert + + - name: entry + type: object + meta: + label: Entry diff --git a/api/collections/democol/meta.yml b/api/collections/democol/meta.yml index 06f33d9..c09ccc1 100644 --- a/api/collections/democol/meta.yml +++ b/api/collections/democol/meta.yml @@ -6,6 +6,11 @@ label: # Jede Kolletion kann ein eigenes Icon aus mdijs bekommen. muiIcon: web +# backup objekt +backup: + active: true # backup ist aktiviert + collectionName: backups # name der backups collection + # wenn keine fields gesetzt sind, werden alle Felder der Kollektion angezeigt quickEdit: enabled: true # Standardmäßig ist die Schnellbearbeitung aktiviert diff --git a/docs/md/projektkonfig/collections/meta.md b/docs/md/projektkonfig/collections/meta.md index c7993e9..fddfb9e 100644 --- a/docs/md/projektkonfig/collections/meta.md +++ b/docs/md/projektkonfig/collections/meta.md @@ -69,10 +69,19 @@ columns: Wird die `tablist` verwendet, ist sicher zu stellen, dass alle Felder in der Definition aufgenommen werden. Werden Felder nicht in die `tablist` aufgenommen, sind diese weiterhin in einer Gesamtliste unterhalb der Tabs und bringen das Layout durcheinander. -!!!include(../api/collections/democol/tablist.yml)!!! + backup: + active: true + collectionName: backups ## multiupload Der mutliupload kann bei jedem view type verwendet werden. Über $file kann man in eval auf das aktuelle file Objekt zugreifen. Hier ist eine Beispielscollection, welchen diesen verwendet. !!!include(../api/collections/medialib.yml)!!! + +## backups + +im meta Objekt einer collection können backups für diese collection konfiguriert werden. Die backups werden in der Datenbank gespeichert und können über das tibi-admin in der selben collection angewandt werden. Wird ein collectoneintrag gelöscht, kann man diesen über den gelöschte einträge checkbox wiederherstellen. +folgende collection ist ein beispiel für eine backup collection + +!!!include(../api/collections/backups.yml)!!!