You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
193 lines
6.8 KiB
193 lines
6.8 KiB
{ |
|
"openapi": "3.1.0", |
|
"info": { |
|
"title": "dav", |
|
"version": "0.0.1", |
|
"description": "WebDAV endpoint", |
|
"license": { |
|
"name": "agpl", |
|
"identifier": "AGPL-3.0-only" |
|
} |
|
}, |
|
"components": { |
|
"securitySchemes": { |
|
"basic_auth": { |
|
"type": "http", |
|
"scheme": "basic" |
|
}, |
|
"bearer_auth": { |
|
"type": "http", |
|
"scheme": "bearer" |
|
} |
|
}, |
|
"schemas": { |
|
"Capabilities": { |
|
"type": "object", |
|
"required": [ |
|
"dav" |
|
], |
|
"properties": { |
|
"dav": { |
|
"type": "object", |
|
"required": [ |
|
"chunking" |
|
], |
|
"properties": { |
|
"chunking": { |
|
"type": "string" |
|
}, |
|
"bulkupload": { |
|
"type": "string" |
|
} |
|
} |
|
} |
|
} |
|
}, |
|
"OCSMeta": { |
|
"type": "object", |
|
"required": [ |
|
"status", |
|
"statuscode" |
|
], |
|
"properties": { |
|
"status": { |
|
"type": "string" |
|
}, |
|
"statuscode": { |
|
"type": "integer" |
|
}, |
|
"message": { |
|
"type": "string" |
|
}, |
|
"totalitems": { |
|
"type": "string" |
|
}, |
|
"itemsperpage": { |
|
"type": "string" |
|
} |
|
} |
|
} |
|
} |
|
}, |
|
"paths": { |
|
"/ocs/v2.php/apps/dav/api/v1/direct": { |
|
"post": { |
|
"operationId": "direct-get-url", |
|
"summary": "Get a direct link to a file", |
|
"tags": [ |
|
"direct" |
|
], |
|
"security": [ |
|
{ |
|
"bearer_auth": [] |
|
}, |
|
{ |
|
"basic_auth": [] |
|
} |
|
], |
|
"parameters": [ |
|
{ |
|
"name": "fileId", |
|
"in": "query", |
|
"description": "ID of the file", |
|
"required": true, |
|
"schema": { |
|
"type": "integer", |
|
"format": "int64" |
|
} |
|
}, |
|
{ |
|
"name": "expirationTime", |
|
"in": "query", |
|
"description": "Duration until the link expires", |
|
"schema": { |
|
"type": "integer", |
|
"format": "int64" |
|
} |
|
}, |
|
{ |
|
"name": "OCS-APIRequest", |
|
"in": "header", |
|
"description": "Required to be true for the API request to pass", |
|
"required": true, |
|
"schema": { |
|
"type": "boolean", |
|
"default": true |
|
} |
|
} |
|
], |
|
"responses": { |
|
"200": { |
|
"description": "Direct link returned", |
|
"content": { |
|
"application/json": { |
|
"schema": { |
|
"type": "object", |
|
"required": [ |
|
"ocs" |
|
], |
|
"properties": { |
|
"ocs": { |
|
"type": "object", |
|
"required": [ |
|
"meta", |
|
"data" |
|
], |
|
"properties": { |
|
"meta": { |
|
"$ref": "#/components/schemas/OCSMeta" |
|
}, |
|
"data": { |
|
"type": "object", |
|
"required": [ |
|
"url" |
|
], |
|
"properties": { |
|
"url": { |
|
"type": "string" |
|
} |
|
} |
|
} |
|
} |
|
} |
|
} |
|
} |
|
} |
|
} |
|
}, |
|
"404": { |
|
"description": "File not found", |
|
"content": { |
|
"text/plain": { |
|
"schema": { |
|
"type": "string" |
|
} |
|
} |
|
} |
|
}, |
|
"400": { |
|
"description": "Getting direct link is not possible", |
|
"content": { |
|
"text/plain": { |
|
"schema": { |
|
"type": "string" |
|
} |
|
} |
|
} |
|
}, |
|
"403": { |
|
"description": "Missing permissions to get direct link", |
|
"content": { |
|
"text/plain": { |
|
"schema": { |
|
"type": "string" |
|
} |
|
} |
|
} |
|
} |
|
} |
|
} |
|
} |
|
}, |
|
"tags": [] |
|
} |