Add Endpoint POST /v2/Manga/internalId/moveFolder #167
This commit is contained in:
parent
8887cea718
commit
2e1f633f40
@ -30,6 +30,7 @@ public partial class Server : GlobalBase, IDisposable
|
|||||||
new ("GET", @"/v2/Manga/([-A-Za-z0-9]*={0,3})/Chapters", GetV2MangaInternalIdChapters),
|
new ("GET", @"/v2/Manga/([-A-Za-z0-9]*={0,3})/Chapters", GetV2MangaInternalIdChapters),
|
||||||
new ("GET", @"/v2/Manga/([-A-Za-z0-9]*={0,3})/Chapters/Latest", GetV2MangaInternalIdChaptersLatest),
|
new ("GET", @"/v2/Manga/([-A-Za-z0-9]*={0,3})/Chapters/Latest", GetV2MangaInternalIdChaptersLatest),
|
||||||
new ("POST", @"/v2/Manga/([-A-Za-z0-9]*={0,3})/ignoreChaptersBelow", PostV2MangaInternalIdIgnoreChaptersBelow),
|
new ("POST", @"/v2/Manga/([-A-Za-z0-9]*={0,3})/ignoreChaptersBelow", PostV2MangaInternalIdIgnoreChaptersBelow),
|
||||||
|
new ("POST", @"/v2/Manga/([-A-Za-z0-9]*={0,3})/moveFolder", PostV2MangaInternalIdMoveFolder),
|
||||||
new ("GET", @"/v2/Jobs", GetV2Jobs),
|
new ("GET", @"/v2/Jobs", GetV2Jobs),
|
||||||
new ("GET", @"/v2/Jobs/Running", GetV2JobsRunning),
|
new ("GET", @"/v2/Jobs/Running", GetV2JobsRunning),
|
||||||
new ("GET", @"/v2/Jobs/Waiting", GetV2JobsWaiting),
|
new ("GET", @"/v2/Jobs/Waiting", GetV2JobsWaiting),
|
||||||
|
@ -92,4 +92,17 @@ public partial class Server
|
|||||||
}else
|
}else
|
||||||
return new ValueTuple<HttpStatusCode, object?>(HttpStatusCode.InternalServerError, "Parameter 'startChapter' missing, or failed to parse.");
|
return new ValueTuple<HttpStatusCode, object?>(HttpStatusCode.InternalServerError, "Parameter 'startChapter' missing, or failed to parse.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private ValueTuple<HttpStatusCode, object?> PostV2MangaInternalIdMoveFolder(GroupCollection groups, Dictionary<string, string> requestParameters)
|
||||||
|
{
|
||||||
|
|
||||||
|
if(groups.Count < 1 ||
|
||||||
|
!_parent.TryGetPublicationById(groups[1].Value, out Manga? manga) ||
|
||||||
|
manga is null)
|
||||||
|
return new ValueTuple<HttpStatusCode, object?>(HttpStatusCode.NotFound, $"Manga with ID '{groups[1].Value} could not be found.'");
|
||||||
|
if(!requestParameters.TryGetValue("location", out string? newFolder))
|
||||||
|
return new ValueTuple<HttpStatusCode, object?>(HttpStatusCode.BadRequest, "Parameter 'location' missing.");
|
||||||
|
manga.Value.MovePublicationFolder(settings.downloadLocation, newFolder);
|
||||||
|
return new ValueTuple<HttpStatusCode, object?>(HttpStatusCode.OK, null);
|
||||||
|
}
|
||||||
}
|
}
|
@ -219,6 +219,31 @@ Returns the latest Chapter of the specified Manga.
|
|||||||
| 500 | Parsing Error |
|
| 500 | Parsing Error |
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
|
### <sub>![POST](https://img.shields.io/badge/POST-00f)</sub> `/v2/Manga/<internalId>/moveFolder`
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>Request</summary>
|
||||||
|
|
||||||
|
`internalId` is returned in the response of
|
||||||
|
* [GET /v2/Manga](#-v2manga)
|
||||||
|
* [GET /v2/Connector/*ConnectorName*/GetManga](#-v2connectorconnectornamegetmanga)
|
||||||
|
* [GET /v2/Job/*jobId*](#-v2jobjobid)
|
||||||
|
|
||||||
|
| Parameter | Value |
|
||||||
|
|-----------|-------------------------------------|
|
||||||
|
| location | New location (relative to root dir) |
|
||||||
|
|
||||||
|
</details>
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>Returns</summary>
|
||||||
|
|
||||||
|
| StatusCode | Meaning |
|
||||||
|
|------------|--------------------------------------------|
|
||||||
|
| 400 | Parameter missing |
|
||||||
|
| 404 | Manga with `internalId` could not be found |
|
||||||
|
</details>
|
||||||
|
|
||||||
## Jobs <sup>[^top](#top)</sup>
|
## Jobs <sup>[^top](#top)</sup>
|
||||||
|
|
||||||
### <sub>![GET](https://img.shields.io/badge/GET-0f0)</sub> `/v2/Jobs`
|
### <sub>![GET](https://img.shields.io/badge/GET-0f0)</sub> `/v2/Jobs`
|
||||||
|
Loading…
Reference in New Issue
Block a user