Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 0 additions & 3 deletions server/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,6 @@ plugins {
id 'org.springframework.boot' version "${springBootVersion}"
id 'io.spring.dependency-management' version "${springDependencyManagementVersion}"
}
group = 'ee.rsx.kata.bank'
version = '1.0.0-SNAPSHOT'

dependencies {
implementation project(':loans-api')
Expand All @@ -13,4 +11,3 @@ dependencies {
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testImplementation "com.tngtech.archunit:archunit-junit5:${archUnitVersion}"
}

14 changes: 0 additions & 14 deletions server/app/src/main/java/ee/rsx/kata/bank/app/Server.java

This file was deleted.

This file was deleted.

This file was deleted.

11 changes: 11 additions & 0 deletions server/app/src/main/kotlin/ee/rsx/kata/bank/app/Server.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package ee.rsx.kata.bank.app

import org.springframework.boot.autoconfigure.SpringBootApplication
import org.springframework.boot.runApplication

@SpringBootApplication(scanBasePackages = ["ee.rsx.kata.bank"])
open class Server

fun main(vararg args: String) {
runApplication<Server>(*args)
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
package ee.rsx.kata.bank.app.rest.loans.eligibility

import ee.rsx.kata.bank.loans.eligibility.CalculateLoanEligibility
import ee.rsx.kata.bank.loans.eligibility.LoanEligibilityRequestDTO
import ee.rsx.kata.bank.loans.eligibility.LoanEligibilityResultDTO
import ee.rsx.kata.bank.loans.eligibility.LoanEligibilityStatus.APPROVED
import ee.rsx.kata.bank.loans.eligibility.LoanEligibilityStatus.DENIED
import ee.rsx.kata.bank.loans.eligibility.LoanEligibilityStatus.INVALID
import org.springframework.http.HttpStatus.BAD_REQUEST
import org.springframework.http.HttpStatus.NOT_ACCEPTABLE
import org.springframework.http.HttpStatus.OK
import org.springframework.http.MediaType.APPLICATION_JSON
import org.springframework.http.ResponseEntity
import org.springframework.web.bind.annotation.PostMapping
import org.springframework.web.bind.annotation.RequestBody
import org.springframework.web.bind.annotation.RequestMapping
import org.springframework.web.bind.annotation.RestController

@RestController
@RequestMapping("/loans/eligibility")
class LoanEligibilityEndpoint(
private val calculateEligibility: CalculateLoanEligibility
) {

@PostMapping
fun calculateLoanEligibility(
@RequestBody request: LoanEligibilityRequestDTO
): ResponseEntity<LoanEligibilityResultDTO> =
with(calculateEligibility(request)) {
val httpStatus = when (result) {
APPROVED -> OK
INVALID -> BAD_REQUEST
DENIED -> NOT_ACCEPTABLE
}

ResponseEntity.status(httpStatus)
.contentType(APPLICATION_JSON)
.body(this)
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package ee.rsx.kata.bank.app.rest.loans.validation

import ee.rsx.kata.bank.loans.validation.limits.LoadValidationLimits
import ee.rsx.kata.bank.loans.validation.ssn.ValidateSocialSecurityNumber
import org.springframework.web.bind.annotation.GetMapping
import org.springframework.web.bind.annotation.RequestMapping
import org.springframework.web.bind.annotation.RequestParam
import org.springframework.web.bind.annotation.RestController

@RestController
@RequestMapping("/loans/validation")
class ValidationEndpoints(
private val loadLimits: LoadValidationLimits,
private val validateSocialSecurityNumber: ValidateSocialSecurityNumber
) {

@GetMapping(value = ["/limits"])
fun loadValidationLimits() = loadLimits()

@GetMapping(value = ["/ssn"])
fun validateSsn(@RequestParam("value") value: String) = validateSocialSecurityNumber(value)
}

This file was deleted.

Loading