Skip to content
Merged
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

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package co.nilin.opex.api.core.inout

data class TerminalLocalizationCommand(
var id : Long?,
var description: String,
var description: String?=null,
var owner: String?=null,
var language: String,
)

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -215,26 +215,16 @@ interface WalletProxy {
suspend fun saveCurrencyLocalizations(
token: String,
currency: String,
request: CurrencyLocalizationRequest
currencyLocalizations: List<CurrencyLocalizationCommand>
): CurrencyLocalizationResponse

suspend fun updateCurrencyLocalization(
token: String,
request: CurrencyLocalizationCommand
): CurrencyLocalizationCommand

suspend fun deleteCurrencyLocalization(token: String, id: Long)
suspend fun getTerminalLocalizations(token: String, terminalUuid: String): TerminalLocalizationResponse
suspend fun saveTerminalLocalizations(
token: String,
terminalUuid: String,
request: TerminalLocalizationRequest
terminalLocalizations: List<TerminalLocalizationCommand>
): TerminalLocalizationResponse

suspend fun updateTerminalLocalization(
token: String,
request: TerminalLocalizationCommand
): TerminalLocalizationCommand

suspend fun deleteTerminalLocalization(token: String, id: Long)
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
package co.nilin.opex.api.ports.opex.controller

import co.nilin.opex.api.core.inout.*
import co.nilin.opex.api.core.inout.CurrencyLocalizationCommand
import co.nilin.opex.api.core.inout.CurrencyLocalizationResponse
import co.nilin.opex.api.core.inout.TerminalLocalizationCommand
import co.nilin.opex.api.core.inout.TerminalLocalizationResponse
import co.nilin.opex.api.core.spi.WalletProxy
import co.nilin.opex.api.ports.opex.util.jwtAuthentication
import co.nilin.opex.api.ports.opex.util.tokenValue
Expand All @@ -25,23 +28,15 @@ class LocalizationAdminController(
suspend fun saveCurrencyLocalizations(
@CurrentSecurityContext securityContext: SecurityContext,
@PathVariable("currency") currency: String,
@RequestBody request: CurrencyLocalizationRequest
@RequestBody currencyLocalizations: List<CurrencyLocalizationCommand>
): CurrencyLocalizationResponse {
return walletProxy.saveCurrencyLocalizations(
securityContext.jwtAuthentication().tokenValue(),
currency,
request
currencyLocalizations
)
}

@PutMapping("/currency/localization")
suspend fun updateCurrencyLocalization(
@CurrentSecurityContext securityContext: SecurityContext,
@RequestBody request: CurrencyLocalizationCommand
): CurrencyLocalizationCommand {
return walletProxy.updateCurrencyLocalization(securityContext.jwtAuthentication().tokenValue(), request)
}

@DeleteMapping("/currency/localization/{id}")
suspend fun deleteCurrencyLocalization(
@CurrentSecurityContext securityContext: SecurityContext,
Expand All @@ -62,23 +57,15 @@ class LocalizationAdminController(
suspend fun saveTerminalLocalizations(
@CurrentSecurityContext securityContext: SecurityContext,
@PathVariable("terminalUuid") terminalUuid: String,
@RequestBody request: TerminalLocalizationRequest
@RequestBody terminalLocalizations: List<TerminalLocalizationCommand>
): TerminalLocalizationResponse {
return walletProxy.saveTerminalLocalizations(
securityContext.jwtAuthentication().tokenValue(),
terminalUuid,
request
terminalLocalizations
)
}

@PutMapping("/terminal/localization")
suspend fun updateTerminalLocalization(
@CurrentSecurityContext securityContext: SecurityContext,
@RequestBody request: TerminalLocalizationCommand
): TerminalLocalizationCommand {
return walletProxy.updateTerminalLocalization(securityContext.jwtAuthentication().tokenValue(), request)
}

@DeleteMapping("/terminal/localization/{id}")
suspend fun deleteTerminalLocalization(
@CurrentSecurityContext securityContext: SecurityContext,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -819,34 +819,19 @@ class WalletProxyImpl(@Qualifier("generalWebClient") private val webClient: WebC
override suspend fun saveCurrencyLocalizations(
token: String,
currency: String,
request: CurrencyLocalizationRequest
currencyLocalizations: List<CurrencyLocalizationCommand>
): CurrencyLocalizationResponse {
return webClient.post()
.uri("$baseUrl/currency/${currency}/localization")
.accept(MediaType.APPLICATION_JSON)
.header(HttpHeaders.AUTHORIZATION, "Bearer $token")
.body(Mono.just(request))
.body(Mono.just(currencyLocalizations))
.retrieve()
.onStatus({ t -> t.isError }, { it.createException() })
.bodyToMono<CurrencyLocalizationResponse>()
.awaitFirstOrElse { throw OpexError.BadRequest.exception() }
}

override suspend fun updateCurrencyLocalization(
token: String,
request: CurrencyLocalizationCommand
): CurrencyLocalizationCommand {
return webClient.put()
.uri("$baseUrl/currency/localization")
.accept(MediaType.APPLICATION_JSON)
.header(HttpHeaders.AUTHORIZATION, "Bearer $token")
.body(Mono.just(request))
.retrieve()
.onStatus({ t -> t.isError }, { it.createException() })
.bodyToMono<CurrencyLocalizationCommand>()
.awaitFirstOrElse { throw OpexError.BadRequest.exception() }
}

override suspend fun deleteCurrencyLocalization(token: String, id: Long) {
webClient.delete()
.uri("$baseUrl/currency/localization/${id}")
Expand Down Expand Up @@ -876,34 +861,19 @@ class WalletProxyImpl(@Qualifier("generalWebClient") private val webClient: WebC
override suspend fun saveTerminalLocalizations(
token: String,
terminalUuid: String,
request: TerminalLocalizationRequest
terminalLocalizations: List<TerminalLocalizationCommand>
): TerminalLocalizationResponse {
return webClient.post()
.uri("$baseUrl/admin/deposit/terminal/${terminalUuid}/localization")
.accept(MediaType.APPLICATION_JSON)
.header(HttpHeaders.AUTHORIZATION, "Bearer $token")
.body(Mono.just(request))
.body(Mono.just(terminalLocalizations))
.retrieve()
.onStatus({ t -> t.isError }, { it.createException() })
.bodyToMono<TerminalLocalizationResponse>()
.awaitFirstOrElse { throw OpexError.BadRequest.exception() }
}

override suspend fun updateTerminalLocalization(
token: String,
request: TerminalLocalizationCommand
): TerminalLocalizationCommand {
return webClient.put()
.uri("$baseUrl/admin/deposit/terminal/localization")
.accept(MediaType.APPLICATION_JSON)
.header(HttpHeaders.AUTHORIZATION, "Bearer $token")
.body(Mono.just(request))
.retrieve()
.onStatus({ t -> t.isError }, { it.createException() })
.bodyToMono<TerminalLocalizationCommand>()
.awaitFirstOrElse { throw OpexError.BadRequest.exception() }
}

override suspend fun deleteTerminalLocalization(token: String, id: Long) {
webClient.delete()
.uri("$baseUrl/admin/deposit/terminal/localization/${id}")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -163,17 +163,12 @@ class CurrencyController(
@PostMapping("/{currency}/localization")
suspend fun saveCurrencyLocalizations(
@PathVariable("currency") currency: String,
@RequestBody request: CurrencyLocalizationRequest
@RequestBody currencyLocalizations: List<CurrencyLocalizationCommand>
): CurrencyLocalizationResponse {
val localizations = currencyService.saveCurrencyLocalizations(currency, request.currencyLocalizations)
val localizations = currencyService.saveCurrencyLocalizations(currency, currencyLocalizations)
return CurrencyLocalizationResponse(currency, localizations)
}

@PutMapping("/localization")
suspend fun updateCurrencyLocalization(@RequestBody request: CurrencyLocalizationCommand): CurrencyLocalizationCommand {
return currencyService.updateCurrencyLocalization(request)
}

@DeleteMapping("/localization/{id}")
suspend fun deleteCurrencyLocalization(@PathVariable("id") id: Long) {
currencyService.deleteCurrencyLocalization(id)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ package co.nilin.opex.wallet.app.controller

import co.nilin.opex.wallet.app.dto.AdminSearchDepositRequest
import co.nilin.opex.wallet.app.dto.ManualTransferRequest
import co.nilin.opex.wallet.app.dto.TerminalLocalizationRequest
import co.nilin.opex.wallet.app.dto.TerminalLocalizationResponse
import co.nilin.opex.wallet.app.service.DepositService
import co.nilin.opex.wallet.core.inout.DepositAdminResponse
Expand Down Expand Up @@ -145,9 +144,9 @@ class DepositAdminController(
@PostMapping("/terminal/{uuid}/localization")
suspend fun saveTerminalLocalization(
@PathVariable("uuid") terminalUuid: String,
@RequestBody body: TerminalLocalizationRequest
@RequestBody terminalLocalizations: List<TerminalLocalizationCommand>
): TerminalLocalizationResponse {
val terminalLocalizations = terminalManager.saveTerminalLocalizations(terminalUuid, body.terminalLocalizations)
val terminalLocalizations = terminalManager.saveTerminalLocalizations(terminalUuid, terminalLocalizations)
return TerminalLocalizationResponse(terminalUuid, terminalLocalizations)
}

Expand All @@ -165,12 +164,4 @@ class DepositAdminController(
) {
terminalManager.deleteTerminalLocalizations(id)
}

@PutMapping("/terminal/localization")
suspend fun updateTerminalLocalization(
@RequestBody body: TerminalLocalizationCommand
): TerminalLocalizationCommand {
return terminalManager.updateTerminalLocalization(body)
}

}

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -167,10 +167,6 @@ class CurrencyServiceV2(
return currencyServiceManager.saveCurrencyLocalizations(currency, request);
}

suspend fun updateCurrencyLocalization(request: CurrencyLocalizationCommand): CurrencyLocalizationCommand {
return currencyServiceManager.updateCurrencyLocalization(request)
}

suspend fun deleteCurrencyLocalization(id: Long) {
currencyServiceManager.deleteCurrencyLocalization(id)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@ package co.nilin.opex.wallet.core.inout

data class TerminalCommand(
var uuid: String?,
var owner: String,
var owner: String? = null,
var identifier: String,
var active: Boolean? = true,
var type: TransferMethod,
var metaData: String,
var description : String?,
var description : String? = null,
var displayOrder: Int? = null,

)
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package co.nilin.opex.wallet.core.inout

data class TerminalLocalizationCommand(
var id : Long?,
var description: String,
var description: String?=null,
var owner: String?=null,
var language: String,
)
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ interface CurrencyServiceManager {
localizations: List<CurrencyLocalizationCommand>
): List<CurrencyLocalizationCommand>

suspend fun updateCurrencyLocalization(request: CurrencyLocalizationCommand): CurrencyLocalizationCommand
suspend fun deleteCurrencyLocalization(id: Long)

}
Original file line number Diff line number Diff line change
Expand Up @@ -13,5 +13,4 @@ interface TerminalManager {
suspend fun saveTerminalLocalizations(terminalUuid : String , terminalLocalizations : List<TerminalLocalizationCommand>) : List<TerminalLocalizationCommand>
suspend fun fetchTerminalLocalizations(terminalUuid : String) : List<TerminalLocalizationCommand>
suspend fun deleteTerminalLocalizations(id : Long)
suspend fun updateTerminalLocalization(terminalLocalization : TerminalLocalizationCommand):TerminalLocalizationCommand
}
Original file line number Diff line number Diff line change
@@ -1,11 +1,39 @@
package co.nilin.opex.wallet.ports.postgres.dao

import co.nilin.opex.wallet.ports.postgres.model.CurrencyLocalizationModel
import org.springframework.data.r2dbc.repository.Modifying
import org.springframework.data.r2dbc.repository.Query
import org.springframework.data.repository.reactive.ReactiveCrudRepository
import org.springframework.stereotype.Repository
import reactor.core.publisher.Flux
import reactor.core.publisher.Mono

@Repository
interface CurrencyLocalizationsRepository : ReactiveCrudRepository<CurrencyLocalizationModel, Long> {
suspend fun findByCurrency(currency: String): Flux<CurrencyLocalizationModel>

@Modifying
@Query(
"""
INSERT INTO currency_localization (currency, name, title, alias, description, short_description, language)
VALUES (:currency, :name, :title, :alias, :description, :shortDescription, :language)
ON CONFLICT (currency, language)
DO UPDATE SET
name = :name,
title = :title,
alias = :alias,
description = :description,
short_description = :shortDescription
"""
)
fun upsert(
currency: String,
name: String?,
title: String?,
alias: String?,
description: String?,
shortDescription: String?,
language: String
): Mono<Void>

}
Original file line number Diff line number Diff line change
@@ -1,11 +1,32 @@
package co.nilin.opex.wallet.ports.postgres.dao

import co.nilin.opex.wallet.ports.postgres.model.TerminalLocalizationModel
import org.springframework.data.r2dbc.repository.Modifying
import org.springframework.data.r2dbc.repository.Query
import org.springframework.data.repository.reactive.ReactiveCrudRepository
import org.springframework.stereotype.Repository
import reactor.core.publisher.Flux
import reactor.core.publisher.Mono

@Repository
interface TerminalLocalizationsRepository : ReactiveCrudRepository<TerminalLocalizationModel, Long> {
suspend fun findByTerminalId(terminalId: Long): Flux<TerminalLocalizationModel>

@Modifying
@Query(
"""
INSERT INTO terminal_localization (terminal_id, description, owner, language)
VALUES (:terminalId, :description, :owner, :language)
ON CONFLICT (terminal_id, language)
DO UPDATE SET
description = :description,
owner = :owner
"""
)
fun upsert(
terminalId: Long,
description: String?,
owner: String?,
language: String
): Mono<Void>
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ interface TerminalRepository : ReactiveCrudRepository<TerminalModel, Long> {
"""
SELECT t.id,
t.uuid,
t.owner,
tl.owner,
t.identifier,
t.active,
t.type,
Expand All @@ -36,7 +36,7 @@ interface TerminalRepository : ReactiveCrudRepository<TerminalModel, Long> {
"""
SELECT t.id,
t.uuid,
t.owner,
tl.owner,
t.identifier,
t.active,
t.type,
Expand Down
Loading
Loading