[M] Move packages

pull/23/head
Azalea 2024-03-19 21:02:24 -04:00
parent 3c6d6ff702
commit faf1945933
5 changed files with 166 additions and 161 deletions

View File

@ -22,9 +22,12 @@ import java.nio.file.Path
import java.time.LocalDate import java.time.LocalDate
import java.time.LocalDateTime import java.time.LocalDateTime
import java.time.format.DateTimeFormatter import java.time.format.DateTimeFormatter
import kotlin.reflect.KCallable
import kotlin.reflect.KClass import kotlin.reflect.KClass
import kotlin.reflect.KMutableProperty1 import kotlin.reflect.KMutableProperty1
import kotlin.reflect.full.isSubclassOf
import kotlin.reflect.full.memberProperties import kotlin.reflect.full.memberProperties
import kotlin.reflect.jvm.jvmErasure
typealias RP = RequestParam typealias RP = RequestParam
typealias RB = RequestBody typealias RB = RequestBody
@ -50,6 +53,7 @@ fun <T : Any> KClass<T>.vars() = memberProperties.mapNotNull { it as? KMutablePr
fun <T : Any> KClass<T>.varsMap() = vars().associateBy { it.name } fun <T : Any> KClass<T>.varsMap() = vars().associateBy { it.name }
fun <T : Any> KClass<T>.getters() = java.methods.filter { it.name.startsWith("get") } fun <T : Any> KClass<T>.getters() = java.methods.filter { it.name.startsWith("get") }
fun <T : Any> KClass<T>.gettersMap() = getters().associateBy { it.name.removePrefix("get").decapitalize() } fun <T : Any> KClass<T>.gettersMap() = getters().associateBy { it.name.removePrefix("get").decapitalize() }
infix fun KCallable<*>.returns(type: KClass<*>) = returnType.jvmErasure.isSubclassOf(type)
@Suppress("UNCHECKED_CAST") @Suppress("UNCHECKED_CAST")
fun <C, T: Any> KMutableProperty1<C, T>.setCast(obj: C, value: String) = set(obj, when (returnType.classifier) { fun <C, T: Any> KMutableProperty1<C, T>.setCast(obj: C, value: String) = set(obj, when (returnType.classifier) {
String::class -> value String::class -> value

View File

@ -1,10 +1,11 @@
package icu.samnyan.aqua.net.games package icu.samnyan.aqua.net.games.chu3
import ext.API import ext.API
import ext.RP import ext.RP
import ext.Str import ext.Str
import ext.minus import ext.minus
import icu.samnyan.aqua.net.db.AquaUserServices import icu.samnyan.aqua.net.db.AquaUserServices
import icu.samnyan.aqua.net.games.*
import icu.samnyan.aqua.net.utils.* import icu.samnyan.aqua.net.utils.*
import icu.samnyan.aqua.sega.chusan.model.* import icu.samnyan.aqua.sega.chusan.model.*
import icu.samnyan.aqua.sega.chusan.model.userdata.UserData import icu.samnyan.aqua.sega.chusan.model.userdata.UserData

View File

@ -1,11 +1,9 @@
package icu.samnyan.aqua.net.games package icu.samnyan.aqua.net.games.mai2
import ext.API import ext.*
import ext.RP
import ext.Str
import ext.minus
import icu.samnyan.aqua.api.model.resp.sega.maimai2.external.Maimai2DataExport import icu.samnyan.aqua.api.model.resp.sega.maimai2.external.Maimai2DataExport
import icu.samnyan.aqua.net.db.AquaUserServices import icu.samnyan.aqua.net.db.AquaUserServices
import icu.samnyan.aqua.net.games.*
import icu.samnyan.aqua.net.utils.* import icu.samnyan.aqua.net.utils.*
import icu.samnyan.aqua.sega.maimai2.model.* import icu.samnyan.aqua.sega.maimai2.model.*
import icu.samnyan.aqua.sega.maimai2.model.userdata.UserDetail import icu.samnyan.aqua.sega.maimai2.model.userdata.UserDetail
@ -13,8 +11,6 @@ import org.springframework.web.bind.annotation.RestController
import java.lang.reflect.Field import java.lang.reflect.Field
import java.util.* import java.util.*
import kotlin.reflect.full.declaredMembers import kotlin.reflect.full.declaredMembers
import kotlin.reflect.full.isSubclassOf
import kotlin.reflect.jvm.jvmErasure
@RestController @RestController
@API("api/v2/game/mai2") @API("api/v2/game/mai2")
@ -54,7 +50,7 @@ class Maimai2(
var exportFields: Map<Field, UserLinked<*>> = listOf(*Maimai2DataExport::class.java.declaredFields) var exportFields: Map<Field, UserLinked<*>> = listOf(*Maimai2DataExport::class.java.declaredFields)
.filter { it.name !in arrayOf("gameId", "userData") } .filter { it.name !in arrayOf("gameId", "userData") }
.associateWith { Mai2Repos::class.declaredMembers .associateWith { Mai2Repos::class.declaredMembers
.filter { f -> f.returnType.jvmErasure.isSubclassOf(UserLinked::class) } .filter { f -> f returns UserLinked::class }
.firstOrNull { f -> f.name == it.name || f.name == it.name.replace("List", "") } .firstOrNull { f -> f.name == it.name || f.name == it.name.replace("List", "") }
?.call(repos) as UserLinked<*>? ?: error("No matching field found for ${it.name}") ?.call(repos) as UserLinked<*>? ?: error("No matching field found for ${it.name}")
} }

View File

@ -1,8 +1,12 @@
package icu.samnyan.aqua.net.games package icu.samnyan.aqua.net.games.ongeki
import ext.API import ext.API
import ext.minus import ext.minus
import icu.samnyan.aqua.net.db.AquaUserServices import icu.samnyan.aqua.net.db.AquaUserServices
import icu.samnyan.aqua.net.games.GameApiController
import icu.samnyan.aqua.net.games.TrendLog
import icu.samnyan.aqua.net.games.USERNAME_CHARS
import icu.samnyan.aqua.net.games.findTrend
import icu.samnyan.aqua.net.utils.* import icu.samnyan.aqua.net.utils.*
import icu.samnyan.aqua.sega.ongeki.dao.userdata.UserDataRepository import icu.samnyan.aqua.sega.ongeki.dao.userdata.UserDataRepository
import icu.samnyan.aqua.sega.ongeki.dao.userdata.UserGeneralDataRepository import icu.samnyan.aqua.sega.ongeki.dao.userdata.UserGeneralDataRepository

View File

@ -1,6 +1,6 @@
package icu.samnyan.aqua.sega.maimai2.handler.impl package icu.samnyan.aqua.sega.maimai2.handler.impl
import icu.samnyan.aqua.net.games.Maimai2 import icu.samnyan.aqua.net.games.mai2.Maimai2
import icu.samnyan.aqua.sega.general.dao.CardRepository import icu.samnyan.aqua.sega.general.dao.CardRepository
import icu.samnyan.aqua.sega.maimai2.handler.BaseHandler import icu.samnyan.aqua.sega.maimai2.handler.BaseHandler
import icu.samnyan.aqua.sega.maimai2.model.Mai2Repos import icu.samnyan.aqua.sega.maimai2.model.Mai2Repos