Commit Graph

90 Commits

Author SHA1 Message Date
Linus Kardell
cd7ec988f2 Fix getId() on null in deleteConflictingEpisodeAction
Previously, it would take the guid and try to search for that in the
episode URL column, which may not find a match (or possibly even find
the wrong match).

testDoNotFailToUpdateEpisodeActionByGuidIfThereIsAnotherWithTheSameValueForEpisodeUrl
didn't catch this issue because it used the same value for episode and
guid when updating at line 84, so fix that as well. And for good
measure, give the save actions different position values, so the asserts
actually check that the saves have succeeded and they found the right
episode.
2024-01-12 20:43:01 +01:00
thrillfall
e8bdb3d345 this exception will not be thrown anymore 2023-02-24 20:54:19 +01:00
thrillfall
bf8fee14e3 delete conflicting episode action if current episode actions updates to same episode url 2023-02-24 20:48:53 +01:00
thrillfall
a1893061ce fix #109 search for episode action by guid only (retry with episode url if nothing found) thus avoid multiple results 2023-02-24 17:11:59 +01:00
Patrizio Bekerle
4a787fd100 Make result nullable, because null can be returned 2023-02-24 12:28:21 +01:00
JonOfUs
9242def504 Add separate migration so that all systems have the same schema after hotfix 2022-11-11 12:42:18 +01:00
JonOfUs
60b51e8c96 Fix broken migration, lead to errors with too large db keys 2022-11-11 12:42:18 +01:00
Jonathan Flueren
003781a8c4 Add doc to override function 2022-11-08 21:11:51 +01:00
Jonathan Flueren
33c5a28250 Define return value of overriding jsonSerialize()
Threw DEPRECATED warnings on php8.x systems
2022-11-08 21:11:51 +01:00
JonOfUs
3c2f229b76 Add migration + test for long podcast feed URLs 2022-11-08 20:51:38 +01:00
kalle (jag)
3a84b2506b Apply suggestions from code review
Co-authored-by: Jonathan Flueren <11487762+JonOfUs@users.noreply.github.com>
2022-10-28 09:50:44 +02:00
Kalle Fagerberg
5a52efea07 Removed trailing comma in __construct params 2022-10-28 09:50:44 +02:00
Kalle Fagerberg
62675a52a7 Removed unnecessary userId=null checks 2022-10-28 09:50:44 +02:00
Kalle Fagerberg
a5d5278956 Removed unused code & check for userId==null 2022-10-28 09:50:44 +02:00
Kalle Fagerberg
4138250370 Added JsonSerializable on ActionCounts as well 2022-10-28 09:50:44 +02:00
Kalle Fagerberg
a5a69fa3f7 Added image proxying/caching 2022-10-28 09:50:44 +02:00
Kalle Fagerberg
4771a52b63 Extracted PodcastData to its own endpoint 2022-10-28 09:50:44 +02:00
Kalle Fagerberg
403ead674d Changed to implement JsonSerializable 2022-10-28 09:50:44 +02:00
Kalle Fagerberg
2b82e9e9c9 Added PodcastData parsing/toArray tests 2022-10-28 09:50:44 +02:00
Kalle Fagerberg
aaadcf17b6 Extracted fromArray into new function 2022-10-28 09:50:44 +02:00
Kalle Fagerberg
6b0550f14b Refactored code out to Core ns and data classes 2022-10-28 09:50:44 +02:00
Kalle Fagerberg
0e661a439f Removed unused namespaces 2022-10-28 09:50:44 +02:00
Kalle Fagerberg
4886afd8d6 Changed defaultSubscriptionData to static 2022-10-28 09:50:44 +02:00
Kalle Fagerberg
71e8faf8cd Smallfix errors 2022-10-28 09:50:44 +02:00
Kalle Fagerberg
33dd043dcb Added fetched podcast data 2022-10-28 09:50:44 +02:00
Kalle Fagerberg
226054a634 Moved personal metrics to API endpoint 2022-10-28 09:50:44 +02:00
Kalle Fagerberg
b9f982cb92 Initial test version 2022-10-28 09:50:44 +02:00
Jonathan Flueren
2ce7911856 Simplify null value check 2022-05-25 23:57:42 +02:00
Jonathan Flueren
0d6492e99d Set default since timestamp to 0 2022-05-25 23:57:42 +02:00
Jonathan Flueren
2521efa34d Don't crash on unauthenticated api call 2022-05-04 19:23:31 +02:00
thrillfall
e119d41c86 do not add subscriptions that have no url (i.e. antennapod local folder subscriptions) 2021-12-09 20:55:05 +01:00
thrillfall
a9e29e269c remove redundant phpdoc 2021-11-03 13:51:48 +01:00
thrillfall
239b7773c2 abort updates once it fails 2021-11-03 13:51:48 +01:00
Matthias Gutjahr
bac196e0b5 Throw exception if client sends invalid request data 2021-11-03 13:51:26 +01:00
Matthias Gutjahr
056b12a667 Add check for EpisodeAction properties
- also add type hints and phpdocs
- add additional unit tests
- set integer types in EpisodeActionEntity
- correctly call static methods
- improve exception handling in EpisodeActionSaver
- remove unused method EpisodeActionWriter::purge()
2021-11-03 13:51:26 +01:00
Matthias Gutjahr
b41a57d3a5 Add phpdoc @method tags for setters 2021-11-03 13:51:26 +01:00
Matthias Gutjahr
93bfcecf15 Revert removal of UniqueConstraintViolationException 2021-11-03 13:51:26 +01:00
Matthias Gutjahr
1a3e385387 Remove redundant docblock 2021-11-03 13:51:26 +01:00
Matthias Gutjahr
7cc459a46d Add @method docblock tags for magic methods 2021-11-03 13:51:26 +01:00
Matthias Gutjahr
1d2056e025 Add check for EpisodeAction properties
- also add type hints and phpdocs
- add additional unit tests
- set integer types in EpisodeActionEntity
- correctly call static methods
- improve exception handling in EpisodeActionSaver
- remove unused method EpisodeActionWriter::purge()
2021-11-03 13:51:26 +01:00
Jonathan Flueren
52b6d8e8a2 Add timestamp to subscription change response 2021-10-17 19:48:13 +02:00
thrillfall
76ee383ea4 remove unused VersionController 2021-10-13 22:54:15 +02:00
Jonathan Flueren
dae9f2a9ec Change return value of migration to number of affected rows 2021-10-13 22:32:06 +02:00
Jonathan Flueren
6dd54198f6 Store epoch to correct entry, fix uninitialized variable 2021-10-13 22:32:06 +02:00
Jonathan Flueren
77571feb40 Update tests to new upload format 2021-10-06 19:40:52 +02:00
Jonathan Flueren
c6ee19a929 Ensure uppercase action in EpisodeAction upload
Background: action is lowercase in gpodder api description - gpoddersync always worked with uppercase action.
2021-10-06 19:40:52 +02:00
Jonathan Flueren
d131b59348 Align episode upload format to gpodder-api
'started', 'position' and 'total' are optional and 'timestamp' is in 'Y-m-d\TH:i:s' format
2021-10-06 19:40:52 +02:00
Jonathan Flueren
3534c43976 Adjust expected DateTime format to gpodder - UTC ISO 8601 2021-10-06 19:40:52 +02:00
Jonathan Flueren
795a9253d2 Adjust EpisodeAction upload to gpodder api, remove String upload
Remove 3rd dimension of POST data by directly accessing request data - a simple EpisodeActions array has to be posted now. This way the api is closer to gpodder.
Additionally, removed EpisodeAction upload as String, so it's now incompatible with older versions
2021-10-06 19:40:52 +02:00
Jonathan Flueren
7813339a95 Allow EpisodeAction upload as array
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.
2021-10-06 19:40:52 +02:00