diff --git a/independent-publisher-connectors/Diffchecker/apiDefinition.swagger.json b/independent-publisher-connectors/Diffchecker/apiDefinition.swagger.json new file mode 100644 index 0000000000..b5d11e9299 --- /dev/null +++ b/independent-publisher-connectors/Diffchecker/apiDefinition.swagger.json @@ -0,0 +1,314 @@ +{ + "swagger": "2.0", + "info": { + "title": "Diffchecker", + "description": "Diffchecker will compare your inputs to find the difference between two text files, images, PDFs and many other.", + "version": "1.0", + "contact": { + "name": "Fördős András", + "email": "fordosa90+ipc_diffcheck@gmail.com" + } + }, + "host": "api.diffchecker.com", + "basePath": "/", + "schemes": [ + "https" + ], + "consumes": [], + "produces": [], + "paths": { + "/public/text": { + "post": { + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "object", + "properties": { + "rows": { + "type": "array", + "items": { + "type": "object", + "properties": { + "end": { + "type": "boolean", + "description": "Is it the end?", + "title": "End" + }, + "left": { + "type": "object", + "properties": { + "chunks": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "Value of difference.", + "title": "Value" + }, + "type": { + "type": "string", + "description": "Type of difference, for example 'equal' or 'remove'.", + "title": "Type" + } + } + }, + "description": "Array of chunks.", + "title": "Chunks" + }, + "line": { + "type": "integer", + "format": "int64", + "description": "Line number, containing the difference.", + "title": "Line" + } + }, + "description": "Left text.", + "title": "Left" + }, + "right": { + "type": "object", + "properties": { + "chunks": { + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "Value of the difference.", + "title": "Value" + }, + "type": { + "type": "string", + "description": "Type of the difference, for example 'equal' or 'remove'.", + "title": "Type" + } + } + }, + "description": "Array of chunks.", + "title": "Chunks" + }, + "line": { + "type": "integer", + "format": "int64", + "description": "Line number containing the difference.", + "title": "Line" + } + }, + "description": "Right text.", + "title": "Right" + }, + "insideChanged": { + "type": "boolean", + "description": "Is inside changed?", + "title": "Inside changed" + }, + "start": { + "type": "boolean", + "description": "Is it the start?", + "title": "Start" + } + } + }, + "description": "Array of differences identified.", + "title": "Rows" + }, + "added": { + "type": "integer", + "format": "int64", + "description": "Added number of differences.", + "title": "Added" + }, + "removed": { + "type": "integer", + "format": "int64", + "description": "Removed number of differences.", + "title": "Removed" + } + } + } + } + }, + "summary": "Check text", + "description": "Diffchecker will compare text to find the difference between two text files.", + "operationId": "CheckText", + "parameters": [ + { + "name": "output_type", + "in": "query", + "required": true, + "type": "string", + "default": "json", + "x-ms-summary": "Output type", + "description": "Specifies the type of output you receive in the response body.", + "x-ms-visibility": "internal", + "enum": [ + "json", + "html", + "html_json" + ] + }, + { + "name": "diff_level", + "in": "query", + "required": false, + "type": "string", + "default": "word", + "x-ms-summary": "Diff level", + "description": "Specifies whether you want to diff by word or by character.", + "enum": [ + "character", + "word" + ] + }, + { + "name": "Content-Type", + "in": "header", + "required": true, + "type": "string", + "default": "application/json", + "x-ms-visibility": "internal" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "left": { + "type": "string", + "description": "Left text you want to diff.", + "title": "Left" + }, + "right": { + "type": "string", + "description": "Right text you want to diff.", + "title": "Right" + } + }, + "required": [ + "left", + "right" + ] + } + } + ] + } + }, + "/public/image": { + "post": { + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "object", + "properties": { + "dataUrl": { + "type": "string", + "description": "URL prefixed with the data: scheme, containing the result of the comparison.", + "title": "Data URL" + } + } + } + } + }, + "summary": "Check image", + "description": "Find the difference between pictures or other images!", + "operationId": "CheckImage", + "parameters": [ + { + "name": "input_type", + "in": "query", + "required": true, + "type": "string", + "default": "json", + "description": "Specifies the request content-type. Value must be one of 'json' or 'form'.", + "x-ms-summary": "Input type", + "x-ms-visibility": "internal", + "enum": [ + "json", + "form" + ] + }, + { + "name": "output_type", + "in": "query", + "required": true, + "type": "string", + "default": "json", + "x-ms-summary": "Output type", + "description": "Specifies the type of output you receive in the response body.", + "x-ms-visibility": "internal", + "enum": [ + "json", + "png" + ] + }, + { + "name": "Content-Type", + "in": "header", + "required": true, + "type": "string", + "default": "application/json", + "x-ms-summary": "Content type", + "x-ms-visibility": "internal" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "left_image": { + "type": "string", + "description": "String containing data url (prefixed data:) of left image you want to diff (link).", + "title": "Left image" + }, + "right_image": { + "type": "string", + "description": "String containing data url (prefixed data:) of right image you want to diff (link).", + "title": "Right image" + } + }, + "required": [ + "left_image", + "right_image" + ] + } + } + ] + } + } + }, + "definitions": {}, + "parameters": {}, + "responses": {}, + "securityDefinitions": { + "api_key": { + "type": "apiKey", + "in": "header", + "name": "X-Api-Key" + } + }, + "security": [], + "tags": [], + "x-ms-connector-metadata": [ + { + "propertyName": "Website", + "propertyValue": "https://www.diffchecker.com/" + }, + { + "propertyName": "Privacy policy", + "propertyValue": "https://www.diffchecker.com/privacy-policy/" + }, + { + "propertyName": "Categories", + "propertyValue": "Data" + } + ] +} \ No newline at end of file diff --git a/independent-publisher-connectors/Diffchecker/apiProperties.json b/independent-publisher-connectors/Diffchecker/apiProperties.json new file mode 100644 index 0000000000..9b15f5a3c9 --- /dev/null +++ b/independent-publisher-connectors/Diffchecker/apiProperties.json @@ -0,0 +1,47 @@ +{ + "properties": { + "connectionParameters": { + "api_key": { + "type": "securestring", + "uiDefinition": { + "displayName": "API Key", + "description": "(optional) Pass your API Key, to access your paid tier.", + "tooltip": "Provide your API Key", + "constraints": { + "tabIndex": 2, + "clearText": false, + "required": "false" + } + } + }, + "emailaddress": { + "type": "securestring", + "uiDefinition": { + "displayName": "Email", + "description": "Pass your email, without having a Diffchecker account to access free tier.", + "tooltip": "Provide your email", + "constraints": { + "tabIndex": 2, + "clearText": false, + "required": "false" + } + } + } + }, + "iconBrandColor": "#da3b01", + "capabilities": [], + "policyTemplateInstances": [ + { + "templateId": "setqueryparameter", + "title": "Emailaddress", + "parameters": { + "x-ms-apimTemplateParameter.name": "email", + "x-ms-apimTemplateParameter.value": "@connectionParameters('emailaddress')", + "x-ms-apimTemplateParameter.existsAction": "override" + } + } + ], + "publisher": "Fördős András", + "stackOwner": "Checker Software Inc." + } +} \ No newline at end of file diff --git a/independent-publisher-connectors/Diffchecker/readme.md b/independent-publisher-connectors/Diffchecker/readme.md new file mode 100644 index 0000000000..1a097ab962 --- /dev/null +++ b/independent-publisher-connectors/Diffchecker/readme.md @@ -0,0 +1,31 @@ +# Diffchecker + +Diffchecker will compare your inputs to find the difference between two text files, images, PDFs and many other. + +## Publisher: Fördős András + +## Prerequisites + +There are no generic pre-requisites to this service as it is generally free, however there is a subscription tier available too with extended benefits to it. + +You do need to identify yourself with an email address (does not need to be an actual user of the service). + +## Obtain credentials (optional) + +Follow the [Sign Up](https://www.diffchecker.com/pricing/) link to register for one of the subscription tiers, and obtain an API key. + +When both an email and an API Key is used as connection parameter, the API Key is considered by the service. + +## Supported Operations + +### Check text +Diffchecker will compare text to find the difference between two text files. + +### Check image +Find differences between pictures or other images! + +## Known Issues and Limitations + +There are currently no known issues with the connector itself, however bear in mind, that it only supports a subset of the operations and data points, that the underlying service provides. Let's connect, if you need additional features! + +The underlying service itself has some limitations based on your subscription or usage: [https://www.diffchecker.com/pricing/](https://www.diffchecker.com/pricing/)