diff options
author | Iván Ávalos <avalos@disroot.org> | 2021-12-03 21:49:03 -0600 |
---|---|---|
committer | Iván Ávalos <avalos@disroot.org> | 2021-12-03 21:49:03 -0600 |
commit | 33bab0553bceaa174b11b3fb7a9ba9d4de63526a (patch) | |
tree | c308bb5b7ccb310cd57de815c93a7c200537d759 /shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/client/infrastructure/ApiInfrastructureResponse.kt | |
parent | c7039b6b0f6ab0f99fefecac07196ada6da2221a (diff) | |
download | etbsa-trackermap-mobile-33bab0553bceaa174b11b3fb7a9ba9d4de63526a.tar.gz etbsa-trackermap-mobile-33bab0553bceaa174b11b3fb7a9ba9d4de63526a.tar.bz2 etbsa-trackermap-mobile-33bab0553bceaa174b11b3fb7a9ba9d4de63526a.zip |
Added Swagger auto-generated API client (no Ktor yet)
Diffstat (limited to 'shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/client/infrastructure/ApiInfrastructureResponse.kt')
-rw-r--r-- | shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/client/infrastructure/ApiInfrastructureResponse.kt | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/client/infrastructure/ApiInfrastructureResponse.kt b/shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/client/infrastructure/ApiInfrastructureResponse.kt new file mode 100644 index 0000000..bc0b4fb --- /dev/null +++ b/shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/client/infrastructure/ApiInfrastructureResponse.kt @@ -0,0 +1,40 @@ +package mx.trackermap.TrackerMap.client.infrastructure + +enum class ResponseType { + Success, Informational, Redirection, ClientError, ServerError +} + +abstract class ApiInfrastructureResponse<T>(val responseType: ResponseType) { + abstract val statusCode: Int + abstract val headers: Map<String, List<String>> +} + +class Success<T>( + val data: T, + override val statusCode: Int = -1, + override val headers: Map<String, List<String>> = mapOf() +) : ApiInfrastructureResponse<T>(ResponseType.Success) + +class Informational<T>( + val statusText: String, + override val statusCode: Int = -1, + override val headers: Map<String, List<String>> = mapOf() +) : ApiInfrastructureResponse<T>(ResponseType.Informational) + +class Redirection<T>( + override val statusCode: Int = -1, + override val headers: Map<String, List<String>> = mapOf() +) : ApiInfrastructureResponse<T>(ResponseType.Redirection) + +class ClientError<T>( + val body: Any? = null, + override val statusCode: Int = -1, + override val headers: Map<String, List<String>> = mapOf() +) : ApiInfrastructureResponse<T>(ResponseType.ClientError) + +class ServerError<T>( + val message: String? = null, + val body: Any? = null, + override val statusCode: Int = -1, + override val headers: Map<String, List<String>> +) : ApiInfrastructureResponse<T>(ResponseType.ServerError)
\ No newline at end of file |