mirror of
https://github.com/shlinkio/shlink.git
synced 2024-11-23 13:23:33 +03:00
Merge pull request #1836 from acelaya-forks/feature/oas-3.1
Feature/oas 3.1
This commit is contained in:
commit
3ea83f5cc3
10 changed files with 23 additions and 38 deletions
|
@ -18,6 +18,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com), and this
|
||||||
For example, if you did not enable RabbitMQ real-time updates, instead of triggering a job that ends immediately, the job will not even be enqueued.
|
For example, if you did not enable RabbitMQ real-time updates, instead of triggering a job that ends immediately, the job will not even be enqueued.
|
||||||
|
|
||||||
* [#1835](https://github.com/shlinkio/shlink/issues/1835) Docker image is now built only when a release is tagged, and new tags are included, for minor and major versions.
|
* [#1835](https://github.com/shlinkio/shlink/issues/1835) Docker image is now built only when a release is tagged, and new tags are included, for minor and major versions.
|
||||||
|
* [#1055](https://github.com/shlinkio/shlink/issues/1055) Update OAS definition to v3.1.
|
||||||
|
|
||||||
### Deprecated
|
### Deprecated
|
||||||
* [#1783](https://github.com/shlinkio/shlink/issues/1783) Deprecated support for openswoole. RoadRunner is the best replacement, with the same capabilities, but much easier and convenient to install and manage.
|
* [#1783](https://github.com/shlinkio/shlink/issues/1783) Deprecated support for openswoole. RoadRunner is the best replacement, with the same capabilities, but much easier and convenient to install and manage.
|
||||||
|
|
|
@ -63,7 +63,7 @@
|
||||||
"symfony/string": "^6.2"
|
"symfony/string": "^6.2"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"cebe/php-openapi": "^1.7",
|
"devizzent/cebe-php-openapi": "^1.0.1",
|
||||||
"devster/ubench": "^2.1",
|
"devster/ubench": "^2.1",
|
||||||
"infection/infection": "^0.27",
|
"infection/infection": "^0.27",
|
||||||
"openswoole/ide-helper": "~22.0.0",
|
"openswoole/ide-helper": "~22.0.0",
|
||||||
|
|
|
@ -3,18 +3,15 @@
|
||||||
"properties": {
|
"properties": {
|
||||||
"android": {
|
"android": {
|
||||||
"description": "The long URL to redirect to when the short URL is visited from a device running Android",
|
"description": "The long URL to redirect to when the short URL is visited from a device running Android",
|
||||||
"type": "string",
|
"type": ["string"]
|
||||||
"nullable": false
|
|
||||||
},
|
},
|
||||||
"ios": {
|
"ios": {
|
||||||
"description": "The long URL to redirect to when the short URL is visited from a device running iOS",
|
"description": "The long URL to redirect to when the short URL is visited from a device running iOS",
|
||||||
"type": "string",
|
"type": ["string"]
|
||||||
"nullable": false
|
|
||||||
},
|
},
|
||||||
"desktop": {
|
"desktop": {
|
||||||
"description": "The long URL to redirect to when the short URL is visited from a desktop browser",
|
"description": "The long URL to redirect to when the short URL is visited from a desktop browser",
|
||||||
"type": "string",
|
"type": ["string"]
|
||||||
"nullable": false
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,13 +5,13 @@
|
||||||
}],
|
}],
|
||||||
"properties": {
|
"properties": {
|
||||||
"android": {
|
"android": {
|
||||||
"nullable": true
|
"type": ["null"]
|
||||||
},
|
},
|
||||||
"ios": {
|
"ios": {
|
||||||
"nullable": true
|
"type": ["null"]
|
||||||
},
|
},
|
||||||
"desktop": {
|
"desktop": {
|
||||||
"nullable": true
|
"type": ["null"]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,18 +2,15 @@
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"baseUrlRedirect": {
|
"baseUrlRedirect": {
|
||||||
"type": "string",
|
"type": ["string", "null"],
|
||||||
"nullable": true,
|
|
||||||
"description": "URL to redirect to when a user hits the domain's base URL"
|
"description": "URL to redirect to when a user hits the domain's base URL"
|
||||||
},
|
},
|
||||||
"regular404Redirect": {
|
"regular404Redirect": {
|
||||||
"type": "string",
|
"type": ["string", "null"],
|
||||||
"nullable": true,
|
|
||||||
"description": "URL to redirect to when a user hits a not found URL other than an invalid short URL"
|
"description": "URL to redirect to when a user hits a not found URL other than an invalid short URL"
|
||||||
},
|
},
|
||||||
"invalidShortUrlRedirect": {
|
"invalidShortUrlRedirect": {
|
||||||
"type": "string",
|
"type": ["string", "null"],
|
||||||
"nullable": true,
|
|
||||||
"description": "URL to redirect to when a user hits an invalid short URL"
|
"description": "URL to redirect to when a user hits an invalid short URL"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,8 +6,7 @@
|
||||||
}],
|
}],
|
||||||
"properties": {
|
"properties": {
|
||||||
"visitedUrl": {
|
"visitedUrl": {
|
||||||
"type": "string",
|
"type": ["string", "null"],
|
||||||
"nullable": true,
|
|
||||||
"description": "The originally visited URL that triggered the tracking of this visit"
|
"description": "The originally visited URL that triggered the tracking of this visit"
|
||||||
},
|
},
|
||||||
"type": {
|
"type": {
|
||||||
|
|
|
@ -55,13 +55,11 @@
|
||||||
"$ref": "./ShortUrlMeta.json"
|
"$ref": "./ShortUrlMeta.json"
|
||||||
},
|
},
|
||||||
"domain": {
|
"domain": {
|
||||||
"type": "string",
|
"type": ["string", "null"],
|
||||||
"nullable": true,
|
|
||||||
"description": "The domain in which the short URL was created. Null if it belongs to default domain."
|
"description": "The domain in which the short URL was created. Null if it belongs to default domain."
|
||||||
},
|
},
|
||||||
"title": {
|
"title": {
|
||||||
"type": "string",
|
"type": ["string", "null"],
|
||||||
"nullable": true,
|
|
||||||
"description": "A descriptive title of the short URL."
|
"description": "A descriptive title of the short URL."
|
||||||
},
|
},
|
||||||
"crawlable": {
|
"crawlable": {
|
||||||
|
|
|
@ -10,18 +10,15 @@
|
||||||
},
|
},
|
||||||
"validSince": {
|
"validSince": {
|
||||||
"description": "The date (in ISO-8601 format) from which this short code will be valid",
|
"description": "The date (in ISO-8601 format) from which this short code will be valid",
|
||||||
"type": "string",
|
"type": ["string", "null"]
|
||||||
"nullable": true
|
|
||||||
},
|
},
|
||||||
"validUntil": {
|
"validUntil": {
|
||||||
"description": "The date (in ISO-8601 format) until which this short code will be valid",
|
"description": "The date (in ISO-8601 format) until which this short code will be valid",
|
||||||
"type": "string",
|
"type": ["string", "null"]
|
||||||
"nullable": true
|
|
||||||
},
|
},
|
||||||
"maxVisits": {
|
"maxVisits": {
|
||||||
"description": "The maximum number of allowed visits for this short code",
|
"description": "The maximum number of allowed visits for this short code",
|
||||||
"type": "number",
|
"type": ["number", "null"]
|
||||||
"nullable": true
|
|
||||||
},
|
},
|
||||||
"validateUrl": {
|
"validateUrl": {
|
||||||
"deprecated": true,
|
"deprecated": true,
|
||||||
|
@ -36,9 +33,8 @@
|
||||||
"description": "The list of tags to set to the short URL."
|
"description": "The list of tags to set to the short URL."
|
||||||
},
|
},
|
||||||
"title": {
|
"title": {
|
||||||
"type": "string",
|
"type": ["string", "null"],
|
||||||
"description": "A descriptive title of the short URL.",
|
"description": "A descriptive title of the short URL."
|
||||||
"nullable": true
|
|
||||||
},
|
},
|
||||||
"crawlable": {
|
"crawlable": {
|
||||||
"type": "boolean",
|
"type": "boolean",
|
||||||
|
|
|
@ -4,18 +4,15 @@
|
||||||
"properties": {
|
"properties": {
|
||||||
"validSince": {
|
"validSince": {
|
||||||
"description": "The date (in ISO-8601 format) from which this short code will be valid",
|
"description": "The date (in ISO-8601 format) from which this short code will be valid",
|
||||||
"type": "string",
|
"type": ["string", "null"]
|
||||||
"nullable": true
|
|
||||||
},
|
},
|
||||||
"validUntil": {
|
"validUntil": {
|
||||||
"description": "The date (in ISO-8601 format) until which this short code will be valid",
|
"description": "The date (in ISO-8601 format) until which this short code will be valid",
|
||||||
"type": "string",
|
"type": ["string", "null"]
|
||||||
"nullable": true
|
|
||||||
},
|
},
|
||||||
"maxVisits": {
|
"maxVisits": {
|
||||||
"description": "The maximum number of allowed visits for this short code",
|
"description": "The maximum number of allowed visits for this short code",
|
||||||
"type": "number",
|
"type": ["number", "null"]
|
||||||
"nullable": true
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
"openapi": "3.0.3",
|
"openapi": "3.1.0",
|
||||||
"info": {
|
"info": {
|
||||||
"title": "Shlink",
|
"title": "Shlink",
|
||||||
"description": "Shlink, the self-hosted URL shortener",
|
"description": "Shlink, the self-hosted URL shortener",
|
||||||
|
|
Loading…
Reference in a new issue