Update dependencies

Fix for koin 3.0
This commit is contained in:
2021-04-16 14:53:27 +02:00
parent cb9bd0c14b
commit 59c050d14d
21 changed files with 252 additions and 223 deletions

View File

@@ -6,18 +6,10 @@ import fr.dcproject.application.http.HttpErrorBadRequest.InvalidParam
import io.ktor.features.DataConversion
import io.ktor.http.HttpStatusCode
import io.ktor.util.KtorExperimentalAPI
import org.koin.core.context.GlobalContext
import org.koin.core.parameter.ParametersDefinition
import org.koin.core.qualifier.Qualifier
import java.util.UUID
private typealias ConverterDeclaration = DataConversion.Configuration.() -> Unit
private inline fun <reified T> DataConversion.Configuration.get(
qualifier: Qualifier? = null,
noinline parameters: ParametersDefinition? = null
): T = GlobalContext.get().koin.rootScope.get(qualifier, parameters)
@KtorExperimentalAPI
val converters: ConverterDeclaration = {
convert<UUID> {

View File

@@ -17,13 +17,13 @@ private val citizenAttributeKey = AttributeKey<CitizenEntity>("CitizenContext")
val ApplicationCall.citizen: CitizenEntity
get() = attributes.computeIfAbsent(citizenAttributeKey) {
val user = authentication.principal<UserI>() ?: throw ForbiddenException("No User Connected")
GlobalContext.get().koin.get<CitizenRepository>().findByUser(user)
GlobalContext.get().get<CitizenRepository>().findByUser(user)
?: throw ForbiddenException("Citizen not found for this user id \"${user.id}\"")
}
val ApplicationCall.citizenOrNull: CitizenEntity?
get() = authentication.principal<UserI>()?.let {
GlobalContext.get().koin.get<CitizenRepository>().findByUser(it)
GlobalContext.get().get<CitizenRepository>().findByUser(it)
}
val ApplicationCall.isAuth: Boolean

View File

@@ -7,7 +7,7 @@ import org.koin.core.context.GlobalContext
/**
* Produce a token for this combination of User and Account
*/
fun UserI.makeToken(): String = GlobalContext.get().koin.get<JwtConfig>().run {
fun UserI.makeToken(): String = GlobalContext.get().get<JwtConfig>().run {
JWT.create()
.withSubject("Authentication")
.withIssuer(issuer)

View File

@@ -20,13 +20,12 @@ import io.ktor.locations.Location
import io.ktor.locations.put
import io.ktor.response.respond
import io.ktor.routing.Route
import org.koin.core.KoinComponent
import java.util.UUID
@KtorExperimentalLocationsAPI
object EditWorkgroup {
@Location("/workgroups/{workgroupId}")
class PutWorkgroupRequest(val workgroupId: UUID) : KoinComponent {
class PutWorkgroupRequest(val workgroupId: UUID) {
class Input(
val name: String?,
val description: String?,

View File

@@ -17,13 +17,12 @@ import io.ktor.locations.Location
import io.ktor.locations.post
import io.ktor.response.respond
import io.ktor.routing.Route
import org.koin.core.KoinComponent
import java.util.UUID
@KtorExperimentalLocationsAPI
object AddMemberToWorkgroup {
@Location("/workgroups/{workgroupId}/members")
class WorkgroupsMembersRequest(val workgroupId: UUID) : KoinComponent {
class WorkgroupsMembersRequest(val workgroupId: UUID) {
class Input : MutableList<Input.Member> by mutableListOf() {
class Member(val citizen: CitizenRef, roles: List<String> = emptyList()) {
val roles: List<WorkgroupWithMembersI.Member.Role> = roles.map {

View File

@@ -17,14 +17,13 @@ import io.ktor.locations.Location
import io.ktor.locations.delete
import io.ktor.response.respond
import io.ktor.routing.Route
import org.koin.core.KoinComponent
import java.util.UUID
import fr.dcproject.component.workgroup.routes.members.DeleteMembersOfWorkgroup.WorkgroupsMembersRequest.Input as Input
@KtorExperimentalLocationsAPI
object DeleteMembersOfWorkgroup {
@Location("/workgroups/{workgroupId}/members")
class WorkgroupsMembersRequest(val workgroupId: UUID) : KoinComponent {
class WorkgroupsMembersRequest(val workgroupId: UUID) {
class Input : MutableList<Input.Member> by mutableListOf() {
class Member(val citizen: CitizenRef)
}

View File

@@ -17,13 +17,12 @@ import io.ktor.locations.Location
import io.ktor.locations.put
import io.ktor.response.respond
import io.ktor.routing.Route
import org.koin.core.KoinComponent
import java.util.UUID
@KtorExperimentalLocationsAPI
object UpdateMemberOfWorkgroup {
@Location("/workgroups/{workgroupId}/members")
class WorkgroupsMembersRequest(val workgroupId: UUID) : KoinComponent {
class WorkgroupsMembersRequest(val workgroupId: UUID) {
class Input : MutableList<Input.Item> by mutableListOf() {
class Item(val citizen: CitizenRef, roles: List<String> = emptyList()) {
val roles: List<WorkgroupWithMembersI.Member.Role> = roles.map {