feat: ajout de la fonctionnalité de conversion de fichiers CBR en CBZ, intégration d'un nouveau store pour gérer l'état de conversion, création de composants Vue pour l'upload de fichiers et le suivi de la progression, ainsi que la mise à jour de l'API pour gérer les conversions. Amélioration de la documentation API pour inclure les nouveaux endpoints et formats de fichiers supportés.
This commit is contained in:
parent
7a05934116
commit
d9e78b5229
@@ -205,6 +205,22 @@
|
||||
"_embedded"
|
||||
]
|
||||
}
|
||||
},
|
||||
"multipart/form-data": {
|
||||
"schema": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/components/schemas/ContentSource"
|
||||
}
|
||||
}
|
||||
},
|
||||
"application/x-cbz": {
|
||||
"schema": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/components/schemas/ContentSource"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -258,6 +274,16 @@
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/ContentSource.jsonhal"
|
||||
}
|
||||
},
|
||||
"multipart/form-data": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/ContentSource"
|
||||
}
|
||||
},
|
||||
"application/x-cbz": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/ContentSource"
|
||||
}
|
||||
}
|
||||
},
|
||||
"links": {}
|
||||
@@ -294,6 +320,16 @@
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/ContentSource.jsonhal"
|
||||
}
|
||||
},
|
||||
"multipart/form-data": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/ContentSource"
|
||||
}
|
||||
},
|
||||
"application/x-cbz": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/ContentSource"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": true
|
||||
@@ -331,6 +367,16 @@
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/ContentSource.jsonhal"
|
||||
}
|
||||
},
|
||||
"multipart/form-data": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/ContentSource"
|
||||
}
|
||||
},
|
||||
"application/x-cbz": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/ContentSource"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -374,6 +420,16 @@
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/ContentSource.jsonhal"
|
||||
}
|
||||
},
|
||||
"multipart/form-data": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/ContentSource"
|
||||
}
|
||||
},
|
||||
"application/x-cbz": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/ContentSource"
|
||||
}
|
||||
}
|
||||
},
|
||||
"links": {}
|
||||
@@ -410,6 +466,16 @@
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/ContentSource.jsonhal"
|
||||
}
|
||||
},
|
||||
"multipart/form-data": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/ContentSource"
|
||||
}
|
||||
},
|
||||
"application/x-cbz": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/ContentSource"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": true
|
||||
@@ -447,6 +513,16 @@
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/ContentSource.jsonhal"
|
||||
}
|
||||
},
|
||||
"multipart/form-data": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/ContentSource"
|
||||
}
|
||||
},
|
||||
"application/x-cbz": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/ContentSource"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -502,6 +578,16 @@
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/ContentSource.jsonhal"
|
||||
}
|
||||
},
|
||||
"multipart/form-data": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/ContentSource"
|
||||
}
|
||||
},
|
||||
"application/x-cbz": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/ContentSource"
|
||||
}
|
||||
}
|
||||
},
|
||||
"links": {}
|
||||
@@ -556,6 +642,16 @@
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/ContentSource.jsonhal"
|
||||
}
|
||||
},
|
||||
"multipart/form-data": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/ContentSource"
|
||||
}
|
||||
},
|
||||
"application/x-cbz": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/ContentSource"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": true
|
||||
@@ -564,6 +660,53 @@
|
||||
},
|
||||
"parameters": []
|
||||
},
|
||||
"/api/conversions/convert": {
|
||||
"post": {
|
||||
"operationId": "api_conversionsconvert_post",
|
||||
"tags": [
|
||||
"Conversion"
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "File converted successfully",
|
||||
"content": {
|
||||
"application/x-cbz": {
|
||||
"schema": {
|
||||
"type": "string",
|
||||
"format": "binary"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"summary": "Convert comic book file to CBZ",
|
||||
"description": "Converts a CBR or CBZ file to CBZ format and returns the converted file for download",
|
||||
"parameters": [],
|
||||
"requestBody": {
|
||||
"description": "",
|
||||
"content": {
|
||||
"multipart/form-data": {
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"file"
|
||||
],
|
||||
"properties": {
|
||||
"file": {
|
||||
"type": "string",
|
||||
"format": "binary",
|
||||
"description": "Comic book file to convert (CBR, CBZ, max 150MB)"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": false
|
||||
},
|
||||
"deprecated": false
|
||||
},
|
||||
"parameters": []
|
||||
},
|
||||
"/api/jobs": {
|
||||
"get": {
|
||||
"operationId": "api_jobs_get_collection",
|
||||
@@ -757,6 +900,22 @@
|
||||
"_embedded"
|
||||
]
|
||||
}
|
||||
},
|
||||
"multipart/form-data": {
|
||||
"schema": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/components/schemas/Job"
|
||||
}
|
||||
}
|
||||
},
|
||||
"application/x-cbz": {
|
||||
"schema": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/components/schemas/Job"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1056,6 +1215,12 @@
|
||||
},
|
||||
"application/hal+json": {
|
||||
"schema": {}
|
||||
},
|
||||
"multipart/form-data": {
|
||||
"schema": {}
|
||||
},
|
||||
"application/x-cbz": {
|
||||
"schema": {}
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -1114,6 +1279,16 @@
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/Mangadex.MangaSearchCollection.jsonhal"
|
||||
}
|
||||
},
|
||||
"multipart/form-data": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/Mangadex.MangaSearchCollection"
|
||||
}
|
||||
},
|
||||
"application/x-cbz": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/Mangadex.MangaSearchCollection"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -1336,6 +1511,22 @@
|
||||
"_embedded"
|
||||
]
|
||||
}
|
||||
},
|
||||
"multipart/form-data": {
|
||||
"schema": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/components/schemas/Manga.MangaCollection"
|
||||
}
|
||||
}
|
||||
},
|
||||
"application/x-cbz": {
|
||||
"schema": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/components/schemas/Manga.MangaCollection"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1392,6 +1583,16 @@
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/Manga.MangaDetail.jsonhal"
|
||||
}
|
||||
},
|
||||
"multipart/form-data": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/Manga.MangaDetail"
|
||||
}
|
||||
},
|
||||
"application/x-cbz": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/Manga.MangaDetail"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -1450,6 +1651,16 @@
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/Manga.MangaDetail.jsonhal"
|
||||
}
|
||||
},
|
||||
"multipart/form-data": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/Manga.MangaDetail"
|
||||
}
|
||||
},
|
||||
"application/x-cbz": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/Manga.MangaDetail"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -1508,6 +1719,16 @@
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/Manga.jsonhal"
|
||||
}
|
||||
},
|
||||
"multipart/form-data": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/Manga"
|
||||
}
|
||||
},
|
||||
"application/x-cbz": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/Manga"
|
||||
}
|
||||
}
|
||||
},
|
||||
"links": {}
|
||||
@@ -1544,6 +1765,16 @@
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/Manga.jsonhal"
|
||||
}
|
||||
},
|
||||
"multipart/form-data": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/Manga"
|
||||
}
|
||||
},
|
||||
"application/x-cbz": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/Manga"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": true
|
||||
@@ -1581,6 +1812,16 @@
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/Mangadex.jsonhal"
|
||||
}
|
||||
},
|
||||
"multipart/form-data": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/Mangadex"
|
||||
}
|
||||
},
|
||||
"application/x-cbz": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/Mangadex"
|
||||
}
|
||||
}
|
||||
},
|
||||
"links": {}
|
||||
@@ -1733,6 +1974,16 @@
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/Chapters.ChapterCollection.jsonhal"
|
||||
}
|
||||
},
|
||||
"multipart/form-data": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/Chapters.ChapterCollection"
|
||||
}
|
||||
},
|
||||
"application/x-cbz": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/Chapters.ChapterCollection"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -1840,6 +2091,16 @@
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/Manga.jsonhal"
|
||||
}
|
||||
},
|
||||
"multipart/form-data": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/Manga"
|
||||
}
|
||||
},
|
||||
"application/x-cbz": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/Manga"
|
||||
}
|
||||
}
|
||||
},
|
||||
"links": {}
|
||||
@@ -1894,6 +2155,16 @@
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/Manga.jsonhal"
|
||||
}
|
||||
},
|
||||
"multipart/form-data": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/Manga"
|
||||
}
|
||||
},
|
||||
"application/x-cbz": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/Manga"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": true
|
||||
@@ -2022,6 +2293,16 @@
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/Scraping.jsonhal"
|
||||
}
|
||||
},
|
||||
"multipart/form-data": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/Scraping"
|
||||
}
|
||||
},
|
||||
"application/x-cbz": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/Scraping"
|
||||
}
|
||||
}
|
||||
},
|
||||
"links": {}
|
||||
@@ -2101,6 +2382,12 @@
|
||||
},
|
||||
"application/hal+json": {
|
||||
"schema": {}
|
||||
},
|
||||
"multipart/form-data": {
|
||||
"schema": {}
|
||||
},
|
||||
"application/x-cbz": {
|
||||
"schema": {}
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -2461,6 +2748,16 @@
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/Scraping.jsonhal"
|
||||
}
|
||||
},
|
||||
"multipart/form-data": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/Scraping"
|
||||
}
|
||||
},
|
||||
"application/x-cbz": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/Scraping"
|
||||
}
|
||||
}
|
||||
},
|
||||
"links": {}
|
||||
@@ -2497,6 +2794,16 @@
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/Scraping.jsonhal"
|
||||
}
|
||||
},
|
||||
"multipart/form-data": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/Scraping"
|
||||
}
|
||||
},
|
||||
"application/x-cbz": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/Scraping"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": true
|
||||
@@ -3297,6 +3604,154 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"Conversion": {
|
||||
"type": "object",
|
||||
"description": "",
|
||||
"deprecated": false,
|
||||
"properties": {
|
||||
"file": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
],
|
||||
"format": "binary"
|
||||
},
|
||||
"fileName": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"fileContent": {},
|
||||
"filename": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"originalConvertedFilePath": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"Conversion.jsonhal": {
|
||||
"type": "object",
|
||||
"description": "",
|
||||
"deprecated": false,
|
||||
"properties": {
|
||||
"_links": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"self": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"href": {
|
||||
"type": "string",
|
||||
"format": "iri-reference"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"file": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
],
|
||||
"format": "binary"
|
||||
},
|
||||
"fileName": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"fileContent": {},
|
||||
"filename": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"originalConvertedFilePath": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"Conversion.jsonld": {
|
||||
"type": "object",
|
||||
"description": "",
|
||||
"deprecated": false,
|
||||
"properties": {
|
||||
"@context": {
|
||||
"readOnly": true,
|
||||
"oneOf": [
|
||||
{
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"@vocab": {
|
||||
"type": "string"
|
||||
},
|
||||
"hydra": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"http://www.w3.org/ns/hydra/core#"
|
||||
]
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"@vocab",
|
||||
"hydra"
|
||||
],
|
||||
"additionalProperties": true
|
||||
}
|
||||
]
|
||||
},
|
||||
"@id": {
|
||||
"readOnly": true,
|
||||
"type": "string"
|
||||
},
|
||||
"@type": {
|
||||
"readOnly": true,
|
||||
"type": "string"
|
||||
},
|
||||
"file": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
],
|
||||
"format": "binary"
|
||||
},
|
||||
"fileName": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"fileContent": {},
|
||||
"filename": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"originalConvertedFilePath": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"Job": {
|
||||
"type": "object",
|
||||
"description": "Liste des jobs",
|
||||
|
||||
Reference in New Issue
Block a user