[DPP-619][Self-service error codes] Adopt error codes in ApiVersionService (#11303)

CHANGELOG_BEGIN
CHANGELOG_END
This commit is contained in:
pbatko-da 2021-10-20 16:38:22 +02:00 committed by GitHub
parent 5f5af30ce0
commit da27a1e812
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 14 additions and 6 deletions

View File

@ -151,7 +151,7 @@ private[daml] object ApiServices {
ApiTransactionService.create(ledgerId, transactionsService, metrics, errorsVersionsSwitcher)
val apiLedgerIdentityService =
ApiLedgerIdentityService.create(() => identityService.getLedgerId())
ApiLedgerIdentityService.create(() => identityService.getLedgerId(), errorsVersionsSwitcher)
val apiVersionService =
ApiVersionService.create()

View File

@ -3,7 +3,11 @@
package com.daml.platform.apiserver.services
import com.daml.error.{DamlContextualizedErrorLogger, ContextualizedErrorLogger}
import com.daml.error.{
ContextualizedErrorLogger,
DamlContextualizedErrorLogger,
ErrorCodesVersionSwitcher,
}
import com.daml.ledger.api.domain.LedgerId
import com.daml.ledger.api.v1.ledger_identity_service.LedgerIdentityServiceGrpc.{
LedgerIdentityService => GrpcLedgerIdentityService
@ -22,7 +26,8 @@ import scalaz.syntax.tag._
import scala.concurrent.{ExecutionContext, Future}
private[apiserver] final class ApiLedgerIdentityService private (
getLedgerId: () => Future[LedgerId]
getLedgerId: () => Future[LedgerId],
errorCodesVersionSwitcher: ErrorCodesVersionSwitcher,
)(implicit executionContext: ExecutionContext, loggingContext: LoggingContext)
extends GrpcLedgerIdentityService
with GrpcApiService {
@ -30,6 +35,8 @@ private[apiserver] final class ApiLedgerIdentityService private (
private implicit val contextualizedErrorLogger: ContextualizedErrorLogger =
new DamlContextualizedErrorLogger(logger, loggingContext, None)
private val errorFactories = ErrorFactories(errorCodesVersionSwitcher)
@volatile var closed = false
override def getLedgerIdentity(
@ -37,7 +44,7 @@ private[apiserver] final class ApiLedgerIdentityService private (
): Future[GetLedgerIdentityResponse] = {
logger.info(s"Received request for ledger identity: $request")
if (closed)
Future.failed(ErrorFactories.serviceNotRunning(None))
Future.failed(errorFactories.serviceNotRunning(None))
else
getLedgerId()
.map(ledgerId => GetLedgerIdentityResponse(ledgerId.unwrap))
@ -52,11 +59,12 @@ private[apiserver] final class ApiLedgerIdentityService private (
private[apiserver] object ApiLedgerIdentityService {
def create(
getLedgerId: () => Future[LedgerId]
getLedgerId: () => Future[LedgerId],
errorCodesVersionSwitcher: ErrorCodesVersionSwitcher,
)(implicit
executionContext: ExecutionContext,
loggingContext: LoggingContext,
): ApiLedgerIdentityService with BindableService = {
new ApiLedgerIdentityService(getLedgerId)
new ApiLedgerIdentityService(getLedgerId, errorCodesVersionSwitcher)
}
}