Commit Graph

90 Commits

Author SHA1 Message Date
Jonathan Flueren 896943ae67 Adjust RepairStep name to other RepairSteps in Nextcloud
All of them begin uppercase
2021-10-06 17:41:38 +02:00
Jonathan Flueren d1513883d7 Use correct SQL syntax in repair step
One space was missing
2021-10-06 17:41:38 +02:00
thrillfall 1243a7144a since we dont know from which version the update is being executed we always fix timestamps 2021-10-06 14:53:13 +02:00
thrillfall 414ad1a024 do not show internal id in response 2021-10-06 14:08:33 +02:00
thrillfall 499d11d209 query episode actions by unix timestamp (instead of datetime object) 2021-10-06 14:06:45 +02:00
thrillfall 9271a5063e ensure dbal return types for mysql and sqlite database 2021-10-06 14:06:45 +02:00
thrillfall 871257ede2 make sure we always return int for episode_action.started 2021-10-06 14:06:45 +02:00
thrillfall ac1acf079b provide episode_action timestamps as UTC in api response 2021-10-06 14:06:45 +02:00
thrillfall aa024e55f8 add new timestamp database field. add migration step to convert timestamps to unix epoch 2021-10-06 14:06:45 +02:00
thrillfall fdc6a0db6d drop redundant phpdoc 2021-08-29 13:14:40 +02:00
thrillfall efa9280b91 we actively fix the guid so it is not asserting but ensuring 2021-08-29 13:14:40 +02:00
thrillfall ff4798f6da do not null EpisodeAction.guid when processing request without guid 2021-08-29 13:14:40 +02:00
thrillfall 3a3038711f make retrievel episode actions without guid more explanatory 2021-08-29 13:14:40 +02:00
thrillfall 352802ca69 update existing episode actions with guid 2021-08-29 13:14:40 +02:00
thrillfall 850dfd5eb4 add guid to episode action and make it findable by it 2021-08-29 13:14:40 +02:00
thrillfall ba0d4f4357 parse optional guid from EpisodeAction request 2021-08-29 13:14:40 +02:00
thrillfall 20a647906a do not pass same data twice 2021-08-27 12:51:29 +02:00
Jonathan Flueren e6637a0201 Use foreach for episode action strings, update variable names 2021-08-24 22:31:24 +02:00
Jonathan Flueren cd17ad5079 Increase code quality, use explode instead of strpos/substr
Makes code phpdoc conform and changes to a better readable EpisodeActions parsing.
2021-08-24 22:31:24 +02:00
Jonathan Flueren 48b78669e6 Enable processing of multiple EpisodeActions
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.
2021-08-24 22:31:24 +02:00
thrillfall 0f6ab73cf2 narrow catch to nextcloud dbal exceptions 2021-08-22 23:23:02 +02:00
thrillfall 029c010e2f adapt table column length limit to episode actions like DOWNLOAD 2021-08-22 23:19:38 +02:00
thrillfall ebe4757b5e drop phpdoc 2021-08-22 22:57:33 +02:00
thrillfall a29aa2ccd5 extract parsing and storing episode action to separate class 2021-08-22 22:45:34 +02:00
thrillfall 83c18ad623 narrow catch to nextcloud dbal exceptions 2021-08-22 21:59:45 +02:00
thrillfall 57f0691b4c nextcloud < v22.0 throws UniqueConstraintViolationException. This can be reverted after v21 reaches end of support 2021-08-21 20:20:24 +02:00
thrillfall ab155ca94a fix inspection warnings 2021-08-17 19:41:54 +02:00
Jonathan Flueren 20920c5d84 Stop creating unnecessary log file in Nextcloud base folder
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.
2021-08-16 14:20:21 +02:00
Jonathan Flueren 9ac7758e87 Correct empty timestamp check in createDateTimeFromTimestamp
createDateTimeFromTimestamp interpreted 0 as timestamp as a mistake while 0 is a valid timestamp.
The fix checks if timestamp is null (not defined/initialized), so that 0 is treated as a correct timestamp.
2021-08-12 15:27:58 +02:00
Jonathan Flueren e438ae94dd Revert change of timestamp format
Reverting the change of format of the timestamp that gets saved into episode_action table.
Reason: The 'T' was in there so that the timestamp format is like AntennaPod's timestamp format.
2021-07-24 20:11:42 +02:00
Jonathan Flueren 5a46233e46 Update EpisodeActionController.php
Use UTC timestamp for episode actions instead of the timezone used by the AntennaPod app.
Correct conversion should be assured because the AntennaPod timestamp includes a timezone identifier (T).

Also slightly change the output format for the DateTime-timestamp to equal other timestamp formats.
2021-07-24 19:06:14 +02:00
thrillfall ad3b9c107d convert timestamp from episode action request to format also mysql can process 2021-07-22 23:44:45 +02:00
thrillfall 324aecd7b8 make subscription changes endpoint comply with gpodder.net api 2021-07-13 21:36:34 +02:00
thrillfall b09210655e unique key violation exception is thrown as \Exception thus we need to check the reason 2021-07-11 22:52:30 +02:00
thrillfall 932fb8cd46 allow null/false value for boolean field 2021-07-08 19:29:40 +02:00
thrillfall 4af08367fc remove redundant unique modifier since we already have unique index on that column 2021-07-08 12:37:55 +02:00
thrillfall 6a39f2d814 use correct table name in models 2021-07-06 21:47:06 +02:00
thrillfall a810fcc8bc shorten to long table names 2021-07-06 14:23:25 +02:00
thrillfall 92342f6d13 fixup! parse EpisodeAction message from AntennaPod 2021-07-05 10:22:29 +02:00
thrillfall 72bf365285 parse EpisodeAction message from AntennaPod
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
2021-06-27 13:24:17 +02:00