scitran/core

View on GitHub
swagger/schemas/definitions/file.json

Summary

Maintainability
Test Coverage
{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "definitions":{
        "name":           { "type": "string" },
        "file-type":      { "type": "string" },
        "mimetype":       { "type": "string" },
        "modality":       { "type": "string" },
        "measurements": {
          "items": { "type": "string"},
          "type": "array",
          "uniqueItems": true
        },
        "tags": {
          "items": { "type": "string"},
          "type": "array",
          "uniqueItems": true
        },
        "via": {
          "type":"object",
          "properties":{
              "id":{"type":"string"},
              "method":{"type":"string"},
              "type":{"type":"string"},
              "name":{"type":"string"}
          }
        },
        "file-origin":{
            "type":"object",
            "properties":{
                "id":     {"type":"string"},
                "method": {"type":"string"},
                "type":   {"type":"string"},
                "name":   {"type":"string"},
                "via":    {"$ref":"#/definitions/via"}
            },
            "additionalProperties":false
        },
        "hash":{
          "type":"string", 
          "minLength":106,
          "maxLength":106
        },
        "size":{"type":"integer"},
        "file-entry": {
          "type": "object",
          "properties": {
            "name":           {"$ref":"#/definitions/name"},
            "type":           {"$ref":"#/definitions/file-type"},
            "mimetype":       {"$ref":"#/definitions/mimetype"},
            "modality":       {
                "oneOf":[
                    {"$ref":"#/definitions/modality"},
                    {"type":"null"}
                ]
            },
            "measurements": {"$ref":"#/definitions/measurements"},
            "tags":        {"$ref":"#/definitions/tags"},
            "info":        {"$ref":"common.json#/definitions/info"},
            "origin":      {"$ref":"#/definitions/file-origin"},
            "hash":        {"$ref":"#/definitions/hash"},
            "created":     {"$ref":"created-modified.json#/definitions/created"},
            "modified":    {"$ref":"created-modified.json#/definitions/modified"},
            "size":        {"$ref":"#/definitions/size"},
            "info_exists": {"type": "boolean"}
          },
          "additionalProperties": false,
          "x-sdk-model": "file-entry"
        },
        "file-input":{
            "type": "object",
            "properties": {
              "name":           {"$ref":"#/definitions/name"},
              "type":           {"$ref":"#/definitions/file-type"},
              "mimetype":       {"$ref":"#/definitions/mimetype"},
              "modality":       {"$ref":"#/definitions/modality"},
              "measurements":   {"$ref":"#/definitions/measurements"},
              "tags":           {"$ref":"#/definitions/tags"},
              "info":           {"$ref":"common.json#/definitions/info"}
          },
          "additionalProperties": false,
          "x-sdk-model": "file-entry"
        },
        "file-update":{
            "type": "object",
            "properties": {
              "type":           {"$ref":"#/definitions/file-type"},
              "modality":       {"$ref":"#/definitions/modality"},
              "measurements":   {"$ref":"#/definitions/measurements"}
          },
          "additionalProperties": false,
          "x-sdk-model": "file-entry"
        },
        "file-output":{
          "type": "object",
          "allOf": [{"$ref":"#/definitions/file-entry"}],
          "required":["modified", "size"],
          "x-sdk-model": "file-entry"
        },
        "file-reference": {
          "type": "object",
          "properties": {
            "type": {"$ref":"container.json#/definitions/container-type"},
            "id": {"$ref":"container.json#/definitions/_id"},
            "name": {"$ref":"#/definitions/name"}
          },
          "required": [ "type", "id", "name" ],
          "additionalProperties":false,
          "description": "A reference to an individual file in a container, by type, id and name"
        }    
    }
}