File.io (Independent Publisher) (#1818)

* Revert "Merge branch 'microsoft:dev' into dev"

This reverts commit 096a7c3199, reversing
changes made to cb0948670f.

* Revert "Merge branch 'microsoft:dev' into dev"

This reverts commit cb0948670f, reversing
changes made to dc26e8a026.

* Revert "Revert "Merge branch 'microsoft:dev' into dev""

This reverts commit 01764d0a6d.

* Revert "Revert "Merge branch 'microsoft:dev' into dev""

This reverts commit a3f086ef0f.

* Add files via upload

* Revert "Add files via upload"

This reverts commit eeff7b7a02.

* Add files via upload

* Delete independent-publisher-connectors/FileIO directory

* Add files via upload
This commit is contained in:
Troy Taylor 2022-08-01 12:30:55 -04:00 коммит произвёл GitHub
Родитель 7603f2a3ab
Коммит 2d2ac228ac
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
3 изменённых файлов: 692 добавлений и 0 удалений

Просмотреть файл

@ -0,0 +1,644 @@
{
"swagger": "2.0",
"info": {
"title": "File.io",
"description": "Simply upload a file, share the link, and after it is downloaded, the file is completely deleted. For added security, set an expiration on the file and it is deleted within a certain amount of time, even if it was never downloaded.",
"version": "1.0",
"contact": {
"name": "Troy Taylor",
"url": "https://www.hitachisolutions.com",
"email": "ttaylor@hitachisolutions.com"
}
},
"host": "file.io",
"basePath": "/",
"schemes": [
"https"
],
"consumes": [
"multipart/form-data",
"application/json"
],
"produces": [
"application/json"
],
"paths": {
"/": {
"get": {
"responses": {
"200": {
"description": "default",
"schema": {
"type": "object",
"properties": {
"success": {
"type": "boolean",
"description": "Whether a success.",
"title": "Success"
},
"status": {
"type": "integer",
"format": "int32",
"description": "The status.",
"title": "Status"
},
"nodes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The identifier.",
"title": "ID"
},
"key": {
"type": "string",
"description": "The key.",
"title": "Key"
},
"path": {
"type": "string",
"description": "The path.",
"title": "Path"
},
"nodeType": {
"type": "string",
"description": "The node type.",
"title": "Node Type"
},
"name": {
"type": "string",
"description": "The name.",
"title": "Name"
},
"title": {
"type": "string",
"description": "The title.",
"title": "Title"
},
"description": {
"type": "string",
"description": "The description.",
"title": "Description"
},
"link": {
"type": "string",
"description": "The link.",
"title": "Link"
},
"private": {
"type": "boolean",
"description": "Whether private.",
"title": "Private"
},
"expires": {
"type": "string",
"description": "When expires.",
"title": "Expires"
},
"downloads": {
"type": "integer",
"format": "int32",
"description": "The number of downloads.",
"title": "Downloads"
},
"maxDownloads": {
"type": "integer",
"format": "int32",
"description": "The maximum number of downloads.",
"title": "Max Downloads"
},
"autoDelete": {
"type": "boolean",
"description": "Whether automatically deletes.",
"title": "Auto Delete"
},
"size": {
"type": "integer",
"format": "int32",
"description": "The size.",
"title": "Size"
},
"mimeType": {
"type": "string",
"description": "The MIME type.",
"title": "MIME Type"
},
"screeningStatus": {
"type": "string",
"description": "The screening status.",
"title": "Screening Status"
},
"created": {
"type": "string",
"description": "When created.",
"title": "Created"
},
"modified": {
"type": "string",
"description": "When modified.",
"title": "Modified"
}
}
},
"title": "Nodes"
},
"count": {
"type": "integer",
"format": "int32",
"description": "The count.",
"title": "Count"
},
"size": {
"type": "integer",
"format": "int32",
"description": "The size.",
"title": "Size"
},
"screeningStatus": {
"type": "string",
"description": "The screening status.",
"title": "Screening Status"
}
}
}
}
},
"summary": "Get list of files",
"description": "Retrieves a list of your files.",
"operationId": "FileList",
"parameters": [
{
"name": "search",
"in": "query",
"x-ms-summary": "Search",
"description": "The search term.",
"required": false,
"type": "string"
},
{
"name": "sort",
"in": "query",
"x-ms-summary": "Sort",
"description": "The sort by.",
"required": false,
"type": "string"
},
{
"name": "offset",
"in": "query",
"x-ms-summary": "Offset",
"description": "The offset.",
"required": false,
"type": "integer"
},
{
"name": "limit",
"in": "query",
"x-ms-summary": "Limit",
"description": "The limit.",
"required": false,
"type": "integer"
}
]
},
"post": {
"responses": {
"200": {
"description": "default",
"schema": {
"type": "object",
"properties": {
"success": {
"type": "boolean",
"description": "Whether a success.",
"title": "Success"
},
"status": {
"type": "integer",
"format": "int32",
"description": "The status.",
"title": "Status"
},
"id": {
"type": "string",
"description": "The identifier.",
"title": "ID"
},
"key": {
"type": "string",
"description": "The key.",
"title": "Key"
},
"path": {
"type": "string",
"description": "The path.",
"title": "Path"
},
"nodeType": {
"type": "string",
"description": "The node type.",
"title": "Node Type"
},
"name": {
"type": "string",
"description": "The name.",
"title": "Name"
},
"title": {
"type": "string",
"description": "The title.",
"title": "Title"
},
"description": {
"type": "string",
"description": "The description.",
"title": "Description"
},
"link": {
"type": "string",
"description": "The link.",
"title": "Link"
},
"private": {
"type": "boolean",
"description": "Whether private.",
"title": "Private"
},
"expires": {
"type": "string",
"description": "When expires.",
"title": "Expires"
},
"downloads": {
"type": "integer",
"format": "int32",
"description": "The number of downloads.",
"title": "Downloads"
},
"maxDownloads": {
"type": "integer",
"format": "int32",
"description": "The maximum number of downloads.",
"title": "Max Downloads"
},
"autoDelete": {
"type": "boolean",
"description": "Whether automatically deletes.",
"title": "Auto Delete"
},
"size": {
"type": "integer",
"format": "int32",
"description": "The size.",
"title": "Size"
},
"mimeType": {
"type": "string",
"description": "The MIME type.",
"title": "MIME Type"
},
"screeningStatus": {
"type": "string",
"description": "The screening status.",
"title": "Screening Status"
},
"created": {
"type": "string",
"description": "When created.",
"title": "Created"
},
"modified": {
"type": "string",
"description": "When modified.",
"title": "Modified"
}
}
}
}
},
"summary": "Upload a file",
"description": "Uploads a file and creates the file details.",
"operationId": "FileUpload",
"parameters": [
{
"name": "body",
"in": "body",
"required": false,
"schema": {
"type": "object",
"properties": {
"file": {
"type": "string",
"description": "The file.",
"title": "File"
},
"expires": {
"type": "string",
"description": "When expires.",
"title": "Expires"
},
"maxDownloads": {
"type": "integer",
"format": "int32",
"description": "The maximum number of downloads.",
"title": "Max Downloads"
},
"autoDelete": {
"type": "boolean",
"description": "Whether automatically deletes.",
"title": "Auto Delete"
}
}
}
}
]
}
},
"/{key}": {
"patch": {
"responses": {
"200": {
"description": "default",
"schema": {
"type": "object",
"properties": {
"success": {
"type": "boolean",
"description": "Whether a success.",
"title": "Success"
},
"status": {
"type": "integer",
"format": "int32",
"description": "The status.",
"title": "Status"
},
"id": {
"type": "string",
"description": "The identifier.",
"title": "ID"
},
"key": {
"type": "string",
"description": "The key.",
"title": "Key"
},
"name": {
"type": "string",
"description": "The name.",
"title": "Name"
},
"link": {
"type": "string",
"description": "The link.",
"title": "Link"
},
"expires": {
"type": "string",
"description": "When expires.",
"title": "Expires"
},
"expiry": {
"type": "string",
"description": "The .",
"title": "Expiry"
},
"downloads": {
"type": "integer",
"format": "int32",
"description": "The number of downloads.",
"title": "Downloads"
},
"maxDownloads": {
"type": "integer",
"format": "int32",
"description": "The maximum number of downloads.",
"title": "Max Downloads"
},
"autoDelete": {
"type": "boolean",
"description": "Whether automatically deletes.",
"title": "Auto Delete"
},
"size": {
"type": "integer",
"format": "int32",
"description": "The size.",
"title": "Size"
},
"mimeType": {
"type": "string",
"description": "The MIME type.",
"title": "MIME Type"
},
"created": {
"type": "string",
"description": "When created.",
"title": "Created"
},
"modified": {
"type": "string",
"description": "When modified.",
"title": "Modified"
}
}
}
}
},
"summary": "Update a file",
"description": "Updates a file by key. For any parameters not provided in request, existing values are retained.",
"operationId": "FileUpdate",
"parameters": [
{
"name": "key",
"in": "path",
"x-ms-summary": "Key",
"x-ms-url-encoding": "single",
"description": "The file key.",
"required": true,
"type": "string"
},
{
"name": "body",
"in": "body",
"required": false,
"schema": {
"type": "object",
"properties": {
"file": {
"type": "string",
"description": "The file.",
"title": "File"
},
"expires": {
"type": "string",
"description": "When expires.",
"title": "Expires"
},
"maxDownloads": {
"type": "integer",
"format": "int32",
"description": "The maximum number of downloads.",
"title": "Max Downloads"
},
"autoDelete": {
"type": "boolean",
"description": "Whether automatically deletes.",
"title": "Auto Delete"
}
}
}
}
]
},
"delete": {
"responses": {
"200": {
"description": "default",
"schema": {
"type": "object",
"properties": {
"success": {
"type": "boolean",
"description": "Whether a success.",
"title": "Success"
},
"status": {
"type": "integer",
"format": "int32",
"description": "The status.",
"title": "Status"
}
}
}
}
},
"summary": "Delete a file",
"description": "Deletes a file identified by key",
"operationId": "FileDelete",
"parameters": [
{
"name": "key",
"in": "path",
"x-ms-summary": "Key",
"x-ms-url-encoding": "single",
"description": "The file key.",
"required": true,
"type": "string"
}
]
}
},
"/me": {
"get": {
"responses": {
"200": {
"description": "default",
"schema": {
"type": "object",
"properties": {
"success": {
"type": "boolean",
"description": "Whether a success.",
"title": "Success"
},
"status": {
"type": "integer",
"format": "int32",
"description": "The status.",
"title": "Status"
},
"planId": {
"type": "integer",
"format": "int32",
"description": "The .",
"title": "Plan Id"
},
"maxUploadBytes": {
"type": "integer",
"format": "int32",
"description": "The .",
"title": "Max Upload Bytes"
},
"maxStorageBytes": {
"type": "integer",
"format": "int32",
"description": "The .",
"title": "Max Storage Bytes"
},
"usedStorageBytes": {
"type": "integer",
"format": "int32",
"description": "The .",
"title": "Used Storage Bytes"
},
"rateLimit": {
"type": "integer",
"format": "int32",
"description": "The .",
"title": "Rate Limit"
},
"customDomain": {
"type": "string",
"description": "The .",
"title": "Custom Domain"
},
"directDownload": {
"type": "string",
"description": "The .",
"title": "Direct Download"
},
"paymentCustomerId": {
"type": "string",
"description": "The .",
"title": "Payment Customer Id"
},
"paymentSubscriptionId": {
"type": "string",
"description": "The .",
"title": "Payment Subscription Id"
}
}
}
}
},
"summary": "Get plan and account",
"description": "Retrieves the plan and account details for the user.",
"operationId": "Me",
"parameters": []
}
}
},
"definitions": {},
"parameters": {},
"responses": {},
"securityDefinitions": {
"API Key": {
"type": "apiKey",
"in": "header",
"name": "Authorization"
}
},
"security": [
{
"API Key": []
}
],
"tags": [],
"x-ms-connector-metadata": [
{
"propertyName": "Website",
"propertyValue": "https://www.file.io/"
},
{
"propertyName": "Privacy policy",
"propertyValue": "https://www.file.io/privacy"
},
{
"propertyName": "Categories",
"propertyValue": "Data"
}
]
}

Просмотреть файл

@ -0,0 +1,23 @@
{
"properties": {
"connectionParameters": {
"api_key": {
"type": "securestring",
"uiDefinition": {
"displayName": "API Key (in the form Bearer API_Key)",
"description": "The API Key (in the form Bearer API_Key) for this api",
"tooltip": "Provide your API Key (in the form Bearer API_Key)",
"constraints": {
"tabIndex": 2,
"clearText": false,
"required": "true"
}
}
}
},
"iconBrandColor": "#da3b01",
"capabilities": [],
"publisher": "Troy Taylor",
"stackOwner": "Mr. Cowboy LLC"
}
}

Просмотреть файл

@ -0,0 +1,25 @@
# File.io
Simply upload a file, share the link, and after it is downloaded, the file is completely deleted. For added security, set an expiration on the file and it is deleted within a certain amount of time, even if it was never downloaded.
## Publisher: Troy Taylor, Hitachi Solutions
## Prerequisites
You must sign up for an account with [file.io](https://www.file.io/signup).
## Obtaining Credentials
In your account settings, find the API Keys tab and create a new API key.
## Supported Operations
### Get list of files
Retrieves a list of your files.
### Upload a file
Uploads a file and creates the file details.
### Update a file
Updates a file by key. For any parameters not provided in request, existing values are retained.
### Delete a file
Deletes a file identified by key
### Get plan and account
Retrieves the plan and account details for the user.
## Known Issues and Limitations
There are no known issues at this time.