[O] Check username

This commit is contained in:
Azalea
2024-03-20 22:43:03 -04:00
parent e799b48877
commit f728b6ab1b
3 changed files with 15 additions and 40 deletions

View File

@@ -4,6 +4,7 @@ import com.fasterxml.jackson.core.JsonProcessingException
import ext.invoke
import ext.mapApply
import ext.minus
import icu.samnyan.aqua.net.games.USERNAME_CHARS
import icu.samnyan.aqua.sega.general.BaseHandler
import icu.samnyan.aqua.sega.general.service.CardService
import icu.samnyan.aqua.sega.maimai2.handler.UploadUserPlaylogHandler.Companion.playBacklog
@@ -45,6 +46,10 @@ class UpsertUserAllHandler(
id = userData?.id ?: 0
card = userData?.card ?: cardService.getCardByExtId(userId).orElseThrow()
isNetMember = 1
// Verify user name
if (userName.isBlank() || userName.length > 8 || !userName.all { it in USERNAME_CHARS })
400 - "Invalid username"
})
// Check playlog backlog
@@ -55,7 +60,7 @@ class UpsertUserAllHandler(
// Set users
req.run { listOf(userExtend, userOption, userCharacterList, userMapList, userLoginBonusList, userItemList,
userMusicDetailList, userCourseList, userFriendSeasonRankingList, userFavoriteList) }
.forEach { it?.forEach { it?.user = u } }
.flatten().forEach { it?.user = u }
req.userExtend?.getOrNull(0)?.let {
repos.userExtend.save(it.apply { id = repos.userExtend.findSingleByUser(u)()?.id ?: 0 })

View File

@@ -1,34 +0,0 @@
package icu.samnyan.aqua.sega.maimai2.handler;
import com.fasterxml.jackson.core.JsonProcessingException;
import icu.samnyan.aqua.sega.chunithm.model.response.CodeResp;
import icu.samnyan.aqua.sega.general.BaseHandler;
import icu.samnyan.aqua.sega.util.jackson.BasicMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import java.util.Map;
/**
* @author samnyan (privateamusement@protonmail.com)
*/
@Component("Maimai2UserLogoutHandler")
public class UserLogoutHandler implements BaseHandler {
private static final Logger logger = LoggerFactory.getLogger(UserLogoutHandler.class);
private final BasicMapper mapper;
public UserLogoutHandler(BasicMapper mapper) {
this.mapper = mapper;
}
@Override
public String handle(Map<String, Object> request) throws JsonProcessingException {
String json = mapper.write(new CodeResp(1));
logger.info("Response: " + json);
return json;
}
}