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