Parsing EpisodeActions from String can lead to problems if the String is changed by only a little bits.
Additionally, the gpodder api describes the upload as Array.
Uploading EpisodeActions as String is still possible.
EpisodeAction/create now can deal with multiple EpisodeActions inside a single EpisodeAction string, they will be processed one after another.
For this EpisodeActionReader->fromString() now returns an array of EpisodeActions.
EpisodeActionReader created (or appended to) file actionreader.log in Nextcloud base folder (with index.php & occ). This concluded in a Nextcloud warning about "additional files in Nextcloud folder" in the self-check feature.
persist and list with database
create episodeAction list reponse (with mocked timestamp, started and total)
create episodeActions with received values
update existing episodeActions by unique episode link
receive and store subscription changes
deal with multiple subscription changes in single request
split database into subdirectories
only return subscription changes younger then passed parameter since
parse passed timestamp
parse passed timestamp for episode_actions listing
only return list of urls for subscription changes
align list endpoint naming schema
store userId with episode actions and subscriptions
return json object on application root route