Return 202 when auth needs org
All checks were successful
build-and-deploy / build-deploy (push) Successful in 29s

This commit is contained in:
androidlover5842
2026-01-26 22:00:09 +05:30
parent 721580ffd7
commit 63c7479c9f

View File

@@ -17,6 +17,7 @@ import org.springframework.web.bind.annotation.RequestMapping
import org.springframework.web.bind.annotation.RestController import org.springframework.web.bind.annotation.RestController
import org.springframework.web.server.ResponseStatusException import org.springframework.web.server.ResponseStatusException
import org.springframework.http.HttpStatus import org.springframework.http.HttpStatus
import org.springframework.http.ResponseEntity
import java.util.UUID import java.util.UUID
@RestController @RestController
@@ -33,19 +34,19 @@ class Auth(
fun verify( fun verify(
@AuthenticationPrincipal principal: MyPrincipal?, @AuthenticationPrincipal principal: MyPrincipal?,
request: HttpServletRequest request: HttpServletRequest
): AuthResponse { ): ResponseEntity<AuthResponse> {
logger.info("Auth verify hit, principalPresent={}", principal != null) logger.info("Auth verify hit, principalPresent={}", principal != null)
val resolved = principal?.let { ResolveResult(it, null) } ?: resolvePrincipalFromHeader(request) val resolved = principal?.let { ResolveResult(it, null) } ?: resolvePrincipalFromHeader(request)
return resolved.toResponse() return resolved.toResponseEntity()
} }
@GetMapping("/me") @GetMapping("/me")
fun me( fun me(
@AuthenticationPrincipal principal: MyPrincipal?, @AuthenticationPrincipal principal: MyPrincipal?,
request: HttpServletRequest request: HttpServletRequest
): AuthResponse { ): ResponseEntity<AuthResponse> {
val resolved = principal?.let { ResolveResult(it, null) } ?: resolvePrincipalFromHeader(request) val resolved = principal?.let { ResolveResult(it, null) } ?: resolvePrincipalFromHeader(request)
return resolved.toResponse() return resolved.toResponseEntity()
} }
private fun buildAuthResponse(principal: MyPrincipal): AuthResponse { private fun buildAuthResponse(principal: MyPrincipal): AuthResponse {
@@ -141,11 +142,12 @@ class Auth(
) )
} }
private fun ResolveResult.toResponse(): AuthResponse { private fun ResolveResult.toResponseEntity(): ResponseEntity<AuthResponse> {
return if (principal == null) { return if (principal == null) {
AuthResponse(status = "NEEDS_ORG", pendingUserId = pendingUserId) ResponseEntity.status(HttpStatus.ACCEPTED)
.body(AuthResponse(status = "NEEDS_ORG", pendingUserId = pendingUserId))
} else { } else {
buildAuthResponse(principal) ResponseEntity.ok(buildAuthResponse(principal))
} }
} }
} }