getmango / Mango

Mango is a self-hosted manga server and web reader
https://getmango.app
MIT License
1.69k stars 120 forks source link

[Feature Request] API #77

Closed flying-sausages closed 3 years ago

flying-sausages commented 4 years ago

Is your feature request related to a problem? Please describe. I'd like to manage and view the library and the downloader in automation and through other frontends

Describe the solution you'd like A Restful API with CR(U?)D for the library management and for the downloader

Describe a small use-case for this feature request It would be nice to integrate the library into dashboards and library management systems like Readarr (Lidarr for for printed media).

Additional context This would somewhat force the MVC architecture which might prove useful for unit testing and code sanity later as well.

hkalexling commented 4 years ago

"APIs for library management" is quite broad. Can you give a few examples of the operations that the APIs should perform? We have a set of (undocumented) APIs already so it might not be too hard to do.

flying-sausages commented 4 years ago

So I'm thinking of Mango as the downloader, viewer and library system right now. It would be nice for a system like Readarr (see Sonarr) to be able to see which publications are present, and be able to trigger the download when new releases are available. Other than that, it would be nice to have an API to be able to integrate this into other manga reader applications, so that you can browse your library and download comics from there to your device. Also if I could make myself a cronjob to check the mango API, ge anything downloaded between now and the last time a crawl was done, and then make it do whatever I want (like convert to epub and add to calibre-web), it would be great. I could also make myself an application that would independently of mango check my RSS and have mango download the files for me through the API

hkalexling commented 3 years ago

Starting from v0.17.0, the API documentation will be available at /api. At this moment the endpoints do not comply with the RESTful conventions, so I will be making some big changes soon.

I am closing this now, and please feel free to open a new issue if you want to request a new endpoint.