Commit Graph

127 Commits

Author SHA1 Message Date
Niels van Velzen
f52cd11802 Always use version references in dependency catalog 2021-10-17 11:01:00 +02:00
Niels van Velzen
b5af0ace91
Use testutils in all modules (#328) 2021-10-06 22:39:13 +02:00
Niels van Velzen
bb14bf6d19
Add Api instances to ApiClient as extension properties (#324)
* Add Api interface as super for all Api classes

* Update generated sources

* Make ApiClient abstract and add getOrCreateApi function

* Add ApiClient.webSocket extension

* Add ApiClientExtensionsBuilder

* Update generated sources

* Update api usages to new syntax

* Fix package names

* Add api suffix back
2021-09-20 21:49:30 +02:00
Niels van Velzen
bb2984339b Use ApiClient instead of KtorClient in generated API's 2021-08-28 13:32:02 +02:00
Niels van Velzen
392cd682d3 Use extension functions for HTTP methods in ApiClient 2021-08-28 13:32:02 +02:00
Niels van Velzen
977266df23
Rename main to commonMain (#311) 2021-08-22 14:51:06 +02:00
Niels van Velzen
828b2771e6 Update openapi-generator README 2021-08-22 13:32:02 +02:00
Niels van Velzen
a6f3d1f6ce Use kotlin-logging in openapi-generator 2021-08-22 13:32:02 +02:00
Niels van Velzen
6e3508e808 Add verify function to openapi-generator 2021-08-22 13:32:02 +02:00
Niels van Velzen
87e76dcffa Use dependency catalog for plugins 2021-08-19 15:33:37 +02:00
Niels van Velzen
fda164f50b Replace generator dependencies only used for types with hardcoded types 2021-08-12 14:20:12 +02:00
Niels van Velzen
826398445c Add typealias for LocalDateTime 2021-08-12 14:20:12 +02:00
Niels van Velzen
0869193525 Add typealias for UUID 2021-08-12 14:20:11 +02:00
Niels van Velzen
bcf544ec88 Move all generator types to constants 2021-08-12 13:59:28 +02:00
Max Rumpf
72acbf5c62
Merge pull request #293 from nielsvanvelzen/member-type
Correctly set member names in OperationBuilder
2021-07-10 20:04:33 +02:00
Niels van Velzen
fda39e653c
Add ParameterValidation framework with initial IntRangeValidation (#292)
Allows for client-side checking of values based on the metadata available in the OpenAPI specification.
2021-07-10 19:17:01 +02:00
Niels van Velzen
d199db9e37 Correctly set member names in OperationBuilder
Use %M instead of %N so the imports are properly created
2021-07-09 20:59:48 +02:00
Niels van Velzen
b2823091ef Use collection type for operation parameters 2021-07-08 23:06:22 +02:00
Niels van Velzen
9a07563833
Fix non self closing <see> and <seealso> elements in descriptions (#283) 2021-06-23 09:54:46 +02:00
Niels van Velzen
78b1917756 Fix warnings in openapi-generator build.gradle.kts 2021-06-20 10:53:36 +02:00
Niels van Velzen
e60d141b01 Fix DefaultUserIdHook with .toString() calls 2021-06-20 10:53:21 +02:00
Niels van Velzen
e3a8c5250a fix toLowerCase() -> lowercase() 2021-06-20 10:52:58 +02:00
Niels van Velzen
e76795ac0b Fix nullability in ImageMapsHook 2021-06-20 09:59:23 +02:00
Niels van Velzen
6e51df861c Add description builder to modify property and class kdoc
Replaces HTML with markdown syntax and fixes line breaks
2021-06-14 16:05:25 +02:00
Niels van Velzen
2886c5c521
Fix bad line endings used (#274) 2021-06-13 11:21:57 +02:00
Niels van Velzen
80399c48b9 Add DefaultUserIdHook to default user id to a value stored in the HttpClient 2021-06-13 11:07:17 +02:00
Niels van Velzen
efdc6252e3 Add API_CLIENT_PARAMETER_NAME constant 2021-06-13 11:07:17 +02:00
Niels van Velzen
f2f46ef83d
Add DefaultValueHook for setting default operation parameter values (#270) 2021-06-12 15:10:33 +02:00
Niels van Velzen
d043706066 Add serialName property to generated enums and return it from toString function 2021-05-21 23:36:13 +02:00
Niels van Velzen
128ceace54 Set nullability for query parameters based on the required attribute instead 2021-05-07 22:23:15 +02:00
Niels van Velzen
b72ecc6fd3
Update Kotlin to version 1.5.0 (#240) 2021-05-05 11:00:04 +00:00
Niels van Velzen
7e653fd04c Sort generated operations alphabetically 2021-05-05 12:51:59 +02:00
Niels van Velzen
55ea8811c9
Fix, suppress or modify all Detekt linter issues (#231) 2021-04-18 17:47:03 +02:00
Niels van Velzen
8416776dbd Use centralized dependency versions for all project dependencies 2021-04-10 11:29:35 +02:00
Niels van Velzen
2faaf00124 Use an actual const for generated constants 2021-03-25 17:34:12 +01:00
Niels van Velzen
8767bb5ccd Remove serverVersion from generated constants 2021-03-25 17:20:09 +01:00
Niels van Velzen
45daed9f0c Rename "org.jellyfin.apiclient" package to "org.jellyfin.sdk" 2021-03-19 19:27:04 +01:00
Niels van Velzen
852d19eae5 Use OperationBuilder as parent class in OperationUrlBuilder and remove duplicate code
Fixes a different implementation for the buildParameter function.
2021-03-03 17:30:01 +01:00
Max Rumpf
b8f0c78235
Merge pull request #172 from nielsvanvelzen/openapi-composition
Support OpenAPI composition
2021-02-28 18:19:42 +01:00
Niels van Velzen
1fde808880 Fix bad import 2021-02-24 17:21:17 +01:00
Niels van Velzen
aabff75c31 Generate apiVersion and serverVersion constants 2021-02-20 15:42:59 +01:00
Max Rumpf
0cefeeade8
Merge pull request #173 from nielsvanvelzen/nullable-post-body
Support nullable POST bodies
2021-01-25 22:54:03 +01:00
Niels van Velzen
50268dfa01 Support nullable post bodies 2021-01-24 22:56:55 +01:00
Niels van Velzen
f7f495cf87 Remove NullableReferencesHook
It is not necessary anymore since we now receive proper nullability in the OpenAPI document
2021-01-24 22:17:01 +01:00
Niels van Velzen
661a9cae39 Support anyOf and allOf with single item in schema to support nullability for references 2021-01-24 22:16:16 +01:00
Niels van Velzen
ed2178dc6b Add ServiceNameHook to README 2021-01-24 14:12:58 +01:00
Niels van Velzen
33f9a7520f Add PlayStateServiceNameHook 2021-01-24 14:04:34 +01:00
Niels van Velzen
90402704b0 Add hook to modify service names and allow operations in multiple services 2021-01-24 14:01:42 +01:00
Niels van Velzen
a48c7f8be9 Change behavior for deprecated parameters in API operations to generate a secondary function
The @Deprecated annotation is not supported by Kotlin (although IntelliJ worked fine with it!). The new behavior will generate one function with the deprecated members removed and another one with them added. The latter will have a "Deprecated" suffix in the name and a @Deprecated annotation on the function.
2021-01-24 10:27:40 +01:00
Niels van Velzen
cafa588d7f Fix detection of binary types in OpenApiTypebuilder
Now requires Jellyfin 10.7-rc2 >= to build
2021-01-01 12:30:12 +01:00
Niels van Velzen
280ce75590
Set default value for requireAuthentication (#155)
* Set the default value of requireAuthentication based on the security requirements

* Improve requireAuthentication code readability
2020-12-08 20:26:48 +01:00
Niels van Velzen
758eb01205 Support adding credentials to API URLs 2020-12-02 21:59:16 +01:00
Niels van Velzen
8bd9e113e8
Add download and update tasks for OpenAPI spec (#149)
* Add download and update tasks for OpenAPI spec

Uses repo.jellyfin.org to retrieve stable/unstable specs
2020-11-22 16:35:48 +01:00
Bill Thornton
efea92156e
Merge pull request #144 from nielsvanvelzen/additional-path-warnings
Add warning for path-parameters not specified in the operation path
2020-11-16 21:35:14 -05:00
Niels van Velzen
c1b11d31b9
Support font files as binary content in OpenAPI generator (#148) 2020-11-15 19:27:19 +01:00
Niels van Velzen
fd49c34748 Add warning for path-parameters not specified in the operation path 2020-11-15 13:18:17 +01:00
Niels van Velzen
0078d96aad
Update Kotlinpoet to 1.7.2 (#138) 2020-10-31 13:05:17 +01:00
Niels van Velzen
4cea53d0cd Add default values to API operations
Supports strings, integers and booleans set in the OpenAPI spec and adds empty list or empty map for collections.
2020-10-23 15:52:45 +02:00
Niels van Velzen
4df6ca9d5c Use coroutine based ByteReadChannel instead of synchronous InputStream 2020-10-10 12:15:35 +02:00
Niels van Velzen
d86cafd5e6 Use stable version for kotlinx.serialization 2020-10-09 13:50:36 +02:00
Niels van Velzen
c17cc458c0 Add "jellyfin-" prefix to Gradle modules and rename "library" to "core" 2020-10-07 21:00:04 +02:00
Bill Thornton
ffc7b3a462
Merge pull request #116 from nielsvanvelzen/kasechange
Use kasechange in openapi-generator
2020-10-05 14:20:37 -04:00
Niels van Velzen
ebdf5ef024 Remove TextCaseTests 2020-10-04 17:25:15 +02:00
Niels van Velzen
e75c5e3c23 Fix all markdown linter issues 2020-10-03 21:55:59 +02:00
Niels van Velzen
7599ce989c Replace TextCase class with kasechange library 2020-10-02 21:24:21 +02:00
Niels van Velzen
484d13a370 Add new SyncPlayGroupUpdateHook hook 2020-10-01 18:51:44 +02:00
Niels van Velzen
01d7c8f3bf Rename "body" parameter to "requestBody" 2020-09-26 22:29:08 +02:00
Niels van Velzen
a7519d50c4 Disable line-wrap after return statements. Fixes compile-error in ImageApi 2020-09-26 15:44:25 +02:00
Niels van Velzen
74b63f82ef Add OperationUrlHook to generator 2020-09-26 15:29:41 +02:00
Niels van Velzen
6a1d32c04d Add NullableReferencesHook 2020-09-20 16:53:12 +02:00
Niels van Velzen
ec17710607 Pass the OpenApiTypeBuilder instance to hooks
This allows hooks that use the default build functions
2020-09-20 16:52:28 +02:00
Niels van Velzen
3ccf5037de Add SerialName to enum constants 2020-09-17 20:26:40 +02:00
Niels van Velzen
132e2cafaa Add kotlinx.serialization 2020-09-13 13:03:01 +02:00
Niels van Velzen
7cad490d76 Change generated models package to org.jellyfin.apiclient.model.api 2020-09-11 17:08:06 +02:00
Niels van Velzen
2f5b8f13ca Use buildSrc in new modules 2020-09-09 20:23:15 +02:00
Niels van Velzen
37c6ddc07b Improve CLI argument reading 2020-09-07 11:00:49 +02:00
Niels van Velzen
8c5694bb50 Add openapi-generator module 2020-09-06 13:48:50 +02:00