Skip to content

Commit cf5f96f

Browse files
committed
Moved transaction account code check to service layer, updated regex inc consumer config
1 parent 326e25e commit cf5f96f

File tree

7 files changed

+13
-12
lines changed

7 files changed

+13
-12
lines changed

src/main/kotlin/uk/gov/justice/digital/hmpps/hmppsintegrationapi/controllers/v1/TransactionsController.kt

-4
Original file line numberDiff line numberDiff line change
@@ -86,10 +86,6 @@ class TransactionsController(
8686
endDate = toDate
8787
}
8888

89-
if (accountCode !in listOf("spends", "savings", "cash")) {
90-
throw ValidationException("Account code must either be 'spends', 'savings', or 'cash'")
91-
}
92-
9389
val response = getTransactionsForPersonService.execute(hmppsId, prisonId, accountCode, startDate, endDate, filters)
9490

9591
if (response.hasError(UpstreamApiError.Type.ENTITY_NOT_FOUND)) {

src/main/kotlin/uk/gov/justice/digital/hmpps/hmppsintegrationapi/services/GetTransactionsForPersonService.kt

+5
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package uk.gov.justice.digital.hmpps.hmppsintegrationapi.services
22

3+
import jakarta.validation.ValidationException
34
import org.springframework.beans.factory.annotation.Autowired
45
import org.springframework.stereotype.Service
56
import uk.gov.justice.digital.hmpps.hmppsintegrationapi.gateways.NomisGateway
@@ -31,6 +32,10 @@ class GetTransactionsForPersonService(
3132
)
3233
}
3334

35+
if (accountCode !in listOf("spends", "savings", "cash")) {
36+
throw ValidationException("Account code must either be 'spends', 'savings', or 'cash'")
37+
}
38+
3439
val personResponse = getPersonService.getNomisNumber(hmppsId = hmppsId)
3540

3641
if (personResponse == null) {

src/main/resources/application-dev.yml

+3-3
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ authorisation:
130130
- "/v1/prison/prisoners"
131131
- "/v1/prison/.*/prisoners/.*/balances$"
132132
- "/v1/prison/.*/prisoners/.*/balances/[^/]*$"
133-
- "/v1/prison/.*/prisoners/.*/transactions/.*"
133+
- "/v1/prison/.*/prisoners/.*/transactions/[^/]*$"
134134
filters:
135135
kilco:
136136
include:
@@ -140,7 +140,7 @@ authorisation:
140140
- "/v1/prison/prisoners/[^/]*$"
141141
- "/v1/prison/.*/prisoners/.*/balances$"
142142
- "/v1/prison/.*/prisoners/.*/balances/[^/]*$"
143-
- "/v1/prison/.*/prisoners/.*/transactions/.*"
143+
- "/v1/prison/.*/prisoners/.*/transactions/[^/]*$"
144144
filters:
145145
meganexus:
146146
include:
@@ -158,7 +158,7 @@ authorisation:
158158
- "/v1/prison/prisoners"
159159
- "/v1/prison/.*/prisoners/.*/balances$"
160160
- "/v1/prison/.*/prisoners/.*/balances/[^/]*$"
161-
- "/v1/prison/.*/prisoners/.*/transactions/.*"
161+
- "/v1/prison/.*/prisoners/.*/transactions/[^/]*$"
162162
filters:
163163
serco:
164164
include:

src/main/resources/application-integration-test.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ authorisation:
8585
- "/v1/prison/prisoners/[^/]*$"
8686
- "/v1/prison/prisoners"
8787
- "/v1/prison/.*/prisoners/.*/balances$"
88-
- "/v1/prison/.*/prisoners/.*/transactions/.*"
88+
- "/v1/prison/.*/prisoners/.*/transactions/[^/]*$"
8989
- "/v1/prison/.*/prisoners/.*/balances/[^/]*$"
9090
filters:
9191
config-test:
@@ -99,7 +99,7 @@ authorisation:
9999
limited-prisons:
100100
include:
101101
- "/v1/prison/prisoners/[^/]*$"
102-
- "/v1/prison/.*/prisoners/.*/transactions/.*"
102+
- "/v1/prison/.*/prisoners/.*/transactions/[^/]*$"
103103
filters:
104104
prisons:
105105
- ABC

src/main/resources/application-local-docker.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ authorisation:
5959
- "/v1/prison/prisoners/[^/]*$"
6060
- "/v1/prison/prisoners"
6161
- "/v1/prison/.*/prisoners/.*/balances$"
62-
- "/v1/prison/.*/prisoners/.*/transactions/.*"
62+
- "/v1/prison/.*/prisoners/.*/transactions/[^/]*$"
6363
filters:
6464
config-test:
6565
include:

src/main/resources/application-local.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ authorisation:
6666
- "/v1/prison/prisoners/[^/]*$"
6767
- "/v1/prison/prisoners"
6868
- "/v1/prison/.*/prisoners/.*/balances$"
69-
- "/v1/prison/.*/prisoners/.*/transactions/.*"
69+
- "/v1/prison/.*/prisoners/.*/transactions/[^/]*$"
7070
filters:
7171
config-test:
7272
include:

src/main/resources/application-test.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -87,8 +87,8 @@ authorisation:
8787
- "/v1/prison/prisoners/[^/]*$"
8888
- "/v1/prison/prisoners"
8989
- "/v1/prison/.*/prisoners/.*/balances$"
90-
- "/v1/prison/.*/prisoners/.*/transactions/.*"
9190
- "/v1/prison/.*/prisoners/.*/balances/[^/]*$"
91+
- "/v1/prison/.*/prisoners/.*/transactions/[^/]*$"
9292
config-test:
9393
include:
9494
- "/v1/config/authorisation"

0 commit comments

Comments
 (0)