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
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