bfile/filed/docs/file_api.swagger.yml

102 lines
3.0 KiB
YAML
Raw Normal View History

2023-10-07 15:51:18 +02:00
openapi: 3.0.3
info:
title: blek! File (fileD) File API
description: |-
This document describes the API of the File API of blek! File fileD.
This API has optional api key authorization, which should be located in the env file.
version: 0.0.1
servers:
- url: http://localhost
description: Local staging environment
2023-10-08 07:01:48 +02:00
tags:
- name: File API
description: API for interacting with files
2023-10-07 15:51:18 +02:00
paths:
2023-10-08 07:01:48 +02:00
/api/files/get_all:
2023-10-07 15:51:18 +02:00
get:
summary: Get all files
description: |-
Get all files available.
2023-10-08 07:01:48 +02:00
Returns an array of file objects with all data
tags:
- File API
2023-10-07 15:51:18 +02:00
security:
- apikey: [ key ]
responses:
200:
2023-10-08 07:01:48 +02:00
description: An array of file objects
2023-10-07 15:51:18 +02:00
content:
application/json:
schema:
type: array
items:
2023-10-08 07:01:48 +02:00
$ref: '#/components/schemas/File'
example:
- path: /opt/useruploads/417e1ec1a0e82aac809da7e5aa309e03bf47eaa96ab2e335f5bb739d062d835b04ccebb89214bd5a54879527789a81ae4e9deab813e4212c757b36d08fa8165a
size: 10
name: null
mime: text/plain
delete_at: '1984-01-01T00:00:00.000Z'
sha512: 417e1ec1a0e82aac809da7e5aa309e03bf47eaa96ab2e335f5bb739d062d835b04ccebb89214bd5a54879527789a81ae4e9deab813e4212c757b36d08fa8165a
/api/files/delete:
2023-10-07 15:51:18 +02:00
post:
summary: Delete a file
description: |-
Deletes a file thats been uploaded.
It will work if one of the two conditions are met:
1. The requester's IP is the same as the uploader IP
2. The request is authorized with an API key
2023-10-08 07:01:48 +02:00
tags:
- File API
2023-10-07 15:51:18 +02:00
security:
- apikey: [ key ]
responses:
200:
description: |-
The file has been deleted
Returns an empty object for future extension
content:
application/json:
schema:
type: object
example: {}
components:
schemas:
File:
type: object
properties:
path:
type: string
description: Path to the file in fileD's filesystem
example: 1
size:
type: integer
description: Size of the file in bytes
example: 10
name:
type: string
description: (optional) Name of the file
example: null
mime:
type: string
description: MIME type of the file
example: text/plain
delete_at:
type: string
description: TimeDate when the file will be deleted
example: '1984-01-01T00:00:00.000Z'
sha512:
type: string
example: 417e1ec1a0e82aac809da7e5aa309e03bf47eaa96ab2e335f5bb739d062d835b04ccebb89214bd5a54879527789a81ae4e9deab813e4212c757b36d08fa8165a
securitySchemes:
apikey:
type: http
scheme: bearer
description: Optional authorization, as defined in the instance-specific config file