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