This commit is contained in:
@@ -9,6 +9,7 @@ import de.tsschulz.tt_tagebuch.shared.api.models.MemberSetBody
|
||||
import de.tsschulz.tt_tagebuch.shared.api.models.MemberTransferRunBody
|
||||
import io.ktor.client.call.body
|
||||
import io.ktor.client.request.forms.formData
|
||||
import io.ktor.client.request.delete
|
||||
import io.ktor.client.request.get
|
||||
import io.ktor.client.request.parameter
|
||||
import io.ktor.client.request.post
|
||||
@@ -18,8 +19,16 @@ import io.ktor.http.Headers
|
||||
import io.ktor.http.HttpHeaders
|
||||
import io.ktor.http.contentType
|
||||
import io.ktor.client.request.forms.MultiPartFormDataContent
|
||||
import kotlinx.serialization.Serializable
|
||||
import kotlinx.serialization.json.JsonObject
|
||||
|
||||
@Serializable
|
||||
data class MemberNoteMutationBody(
|
||||
val clubId: Int,
|
||||
val memberId: Int? = null,
|
||||
val content: String? = null,
|
||||
)
|
||||
|
||||
class MembersApi(
|
||||
private val client: AuthedHttpClient,
|
||||
) {
|
||||
@@ -58,6 +67,32 @@ class MembersApi(
|
||||
return client.http.post("/api/clubmembers/quick-update-member-form/$clubId/$memberId").body()
|
||||
}
|
||||
|
||||
suspend fun quickDeactivateMember(clubId: Int, memberId: Int): MemberQuickMutationResponse {
|
||||
return client.http.post("/api/clubmembers/quick-deactivate/$clubId/$memberId").body()
|
||||
}
|
||||
|
||||
suspend fun requestClickTtRegistration(clubId: Int, memberId: Int): MemberQuickMutationResponse {
|
||||
return client.http.post("/api/clubmembers/clicktt-registration/$clubId/$memberId").body()
|
||||
}
|
||||
|
||||
suspend fun listMemberNotes(clubId: Int, memberId: Int): List<de.tsschulz.tt_tagebuch.shared.api.models.DiaryMemberNoteDto> {
|
||||
return client.http.get("/api/member-notes/$memberId") {
|
||||
parameter("clubId", clubId)
|
||||
}.body()
|
||||
}
|
||||
|
||||
suspend fun addMemberNote(clubId: Int, memberId: Int, content: String): List<de.tsschulz.tt_tagebuch.shared.api.models.DiaryMemberNoteDto> {
|
||||
return client.http.post("/api/member-notes") {
|
||||
setBody(MemberNoteMutationBody(clubId = clubId, memberId = memberId, content = content))
|
||||
}.body()
|
||||
}
|
||||
|
||||
suspend fun deleteMemberNote(clubId: Int, noteId: Int): List<de.tsschulz.tt_tagebuch.shared.api.models.DiaryMemberNoteDto> {
|
||||
return client.http.delete("/api/member-notes/$noteId") {
|
||||
setBody(MemberNoteMutationBody(clubId = clubId))
|
||||
}.body()
|
||||
}
|
||||
|
||||
suspend fun transferMembers(clubId: Int, body: MemberTransferRunBody): JsonObject {
|
||||
return client.http.post("/api/clubmembers/transfer/$clubId") {
|
||||
setBody(body)
|
||||
|
||||
@@ -21,6 +21,7 @@ data class Member(
|
||||
val testMembership: Boolean? = null,
|
||||
val picsInInternetAllowed: Boolean? = null,
|
||||
val memberFormHandedOver: Boolean? = null,
|
||||
val clickTtApplicationSubmitted: Boolean? = null,
|
||||
val adultReleaseApproved: Boolean? = null,
|
||||
val adultReserveApproved: Boolean? = null,
|
||||
val lastTraining: String? = null,
|
||||
|
||||
@@ -77,6 +77,21 @@ class MembersManager(
|
||||
suspend fun quickUpdateMemberFormHandedOver(clubId: Int, memberId: Int): MemberQuickMutationResponse =
|
||||
membersApi.quickUpdateMemberFormHandedOver(clubId, memberId)
|
||||
|
||||
suspend fun quickDeactivateMember(clubId: Int, memberId: Int): MemberQuickMutationResponse =
|
||||
membersApi.quickDeactivateMember(clubId, memberId)
|
||||
|
||||
suspend fun requestClickTtRegistration(clubId: Int, memberId: Int): MemberQuickMutationResponse =
|
||||
membersApi.requestClickTtRegistration(clubId, memberId)
|
||||
|
||||
suspend fun listMemberNotes(clubId: Int, memberId: Int): List<de.tsschulz.tt_tagebuch.shared.api.models.DiaryMemberNoteDto> =
|
||||
membersApi.listMemberNotes(clubId, memberId)
|
||||
|
||||
suspend fun addMemberNote(clubId: Int, memberId: Int, content: String): List<de.tsschulz.tt_tagebuch.shared.api.models.DiaryMemberNoteDto> =
|
||||
membersApi.addMemberNote(clubId, memberId, content)
|
||||
|
||||
suspend fun deleteMemberNote(clubId: Int, noteId: Int): List<de.tsschulz.tt_tagebuch.shared.api.models.DiaryMemberNoteDto> =
|
||||
membersApi.deleteMemberNote(clubId, noteId)
|
||||
|
||||
suspend fun transferMembers(clubId: Int, body: MemberTransferRunBody): JsonObject =
|
||||
membersApi.transferMembers(clubId, body)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user