From eccdd73908e8333b75290cf1cf6d51c9cba49a72 Mon Sep 17 00:00:00 2001 From: Azalea <22280294+hykilpikonna@users.noreply.github.com> Date: Thu, 22 Feb 2024 22:45:24 -0500 Subject: [PATCH] [+] Backend card linking --- .../icu/samnyan/aqua/sega/general/service/CardService.kt | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/main/java/icu/samnyan/aqua/sega/general/service/CardService.kt b/src/main/java/icu/samnyan/aqua/sega/general/service/CardService.kt index 46457fd4..fc5e2cf4 100644 --- a/src/main/java/icu/samnyan/aqua/sega/general/service/CardService.kt +++ b/src/main/java/icu/samnyan/aqua/sega/general/service/CardService.kt @@ -33,10 +33,17 @@ class CardService(val cardRepo: CardRepository) /** * Find a card by its access code + * + * If the card is linked to a user, return the user's ghost card instead + * * @param accessCode String represent of an access code * @return Optional of a Card */ - fun getCardByAccessCode(accessCode: String?): Optional = cardRepo.findByLuid(accessCode) + fun getCardByAccessCode(accessCode: String?): Optional = Optional.ofNullable( + cardRepo.findByLuid(accessCode).getOrNull()?.let { + it.aquaUser?.ghostCard ?: it + } + ) /** * Register a new card with access code