{
    "@context": "https://xshl.org/schemas/1.1/definitions/macros.json",
    "title": "Upsert manifest",
    "name": "upsert-manifest",
    "version": "0.0.1",
    "description": "Loading file, validating received data, creating draft database record",
    "definitions": {
       "spot": "manifest",
       "url_schema": "https://xshl.org/schemas/1.1/definitions/manifest.json"
    },
    "pipeline": [
        "upsert:file@context/wget/url",
        "upsert:_@context/empty/file/daubs#rd:manifest.body@key",
        "upsert:_@context/empty/url#rd:manifest.target.@id@key",
        "upsert:_@context/empty/spot#rd:manifest.target.spot@key",
        "upsert:_@context/empty/file/name#rd:manifest.target.base@key",
        "upsert:_@context/empty/file/version#rd:manifest.target.entity@key",
        "delete:_@context#rd:file@key",
        "delete:_@context#rd:url@key",
        "delete:_@context#rd:spot@key",
        "build:result@context/empty/manifest#rd:data@container",
        "delete:_@context#rd:manifest@key",
        "upsert:schema@context/wget/url_schema",
        "build:result@context/empty/data/@value#schema:schema@validate",
        "upsert:result@draft#container:_@revision"
    ]
}