Benedikt Kaiser
03/23/2023, 2:48 PMBenedikt Kaiser
03/23/2023, 2:49 PMopenapi: 3.0.2
info:
title: *****************
version: 1.0.0
servers:
- url: *******************
paths:
/login:
post:
summary: User Login
description: Logs in a user and returns a token.
requestBody:
description: User credentials for login
content:
application/json:
schema:
$ref: '#/components/schemas/UserCredentials'
responses:
'200':
$ref: '#/components/responses/AuthSuccessful'
'401':
$ref: '#/components/responses/InvalidCredentials'
Benedikt Kaiser
03/23/2023, 2:49 PMCasey Brooks
03/23/2023, 3:16 PMThomas Urbanitsch
03/23/2023, 3:31 PMPaul Holze
05/03/2023, 8:48 PMval setupConfig: (HttpClientConfig<*>) -> Unit = { config -> clientConfig(config) }
val auth = AuthApi(
baseUrl = "<http://localhost:8005>",
httpClientConfig = setupConfig,
// httpClientEngine = null,
jsonSerializer = kotlinx.serialization.json.Json
)
public fun login(username: String, password: String) : String? {
var error: String? = null
runBlocking {
try {
auth.apiAuthLoginPost(LoginUserDTO(username, password))
} catch (e: Exception) {
error = e.message
}
}
return error
}
private fun clientConfig(config: HttpClientConfig<*>) {
config.install(makeClient())
config.defaultRequest { headers.appendIfNameAbsent(HttpHeaders.ContentType, "application/json") }
}
private fun makeClient(): HttpClient {
return HttpClient {
install(ContentNegotiation) {
json(Json {
prettyPrint = true
isLenient = true
ignoreUnknownKeys = true
})
}
}
}