* Consolidated all youtube-dl calls into one function
* Downloads can now be cancelled and better "paused"
* Removed node-youtube-dl dependency
* Added ability to manually check a subscription, and to cancel a subscription check
---------
Co-authored-by: Dedy Martadinata S <dedyms@proton.me>
Added ability to schedule tasks based on timestamp
Fixed mismatched types between frontend and openapi yaml
Simplified imports for several backend components
Removed tomp3 and tomp4 routes, replaced with /downloadFile
Simplified category->playlist conversion
Simplified playlist creation
Simplified file deletion
Playlist duration calculation is now done on the backend (categories uses this now too)
removeIDFromArchive moved from subscriptions->utils
Added plumbing to support type agnostic playlists
getSubscription can now accept a subscription name instead of just an ID
Added API call to delete a category
Categories can now have a custom path
Minor code cleanup