From 7e8853a484599ac3d06d66b4db394a468082b1b6 Mon Sep 17 00:00:00 2001 From: Anton Subbotin Date: Mon, 24 Jun 2024 15:28:44 +0100 Subject: [PATCH 01/13] Remove all importMappings --- libs/rest/generated-rest-client/build.gradle | 128 +++++++++---------- 1 file changed, 64 insertions(+), 64 deletions(-) diff --git a/libs/rest/generated-rest-client/build.gradle b/libs/rest/generated-rest-client/build.gradle index 0fa874f22cd..fee834d2be9 100644 --- a/libs/rest/generated-rest-client/build.gradle +++ b/libs/rest/generated-rest-client/build.gradle @@ -23,70 +23,70 @@ openApiGenerate { ignoreFileOverride = "${project.projectDir}/.openapi-generator-ignore" packageName = 'net.corda.restclient.generated' skipValidateSpec = true - importMappings.set([ - 'ApprovalRuleInfo' : 'net.corda.membership.rest.v1.types.response.ApprovalRuleInfo', - 'ApprovalRuleRequestParams' : 'net.corda.membership.rest.v1.types.request.ApprovalRuleRequestParams', - 'AsyncOperationStatus' : 'net.corda.rest.asynchronous.v1.AsyncOperationStatus', - 'AsyncResponse' : 'net.corda.rest.asynchronous.v1.AsyncResponse', - 'BulkCreatePermissionsRequestType' : 'net.corda.libs.permissions.endpoints.v1.permission.types.BulkCreatePermissionsRequestType', - 'BulkCreatePermissionsResponseType' : 'net.corda.libs.permissions.endpoints.v1.permission.types.BulkCreatePermissionsResponseType', - 'ChangeOtherUserPasswordWrapperRequest' : 'net.corda.restclient.dto.ChangeOtherUserPasswordWrapperRequest', - 'ChangeVirtualNodeStateResponse' : 'net.corda.libs.virtualnode.endpoints.v1.types.ChangeVirtualNodeStateResponse', - 'ConfigSchemaVersion' : 'net.corda.libs.configuration.endpoints.v1.types.ConfigSchemaVersion', - 'CpiIdentifier' : 'net.corda.libs.cpiupload.endpoints.v1.CpiIdentifier', - 'CpiMetadata' : 'net.corda.libs.cpiupload.endpoints.v1.CpiMetadata', - 'CpiUploadResponse' : 'net.corda.libs.cpiupload.endpoints.v1.CpiUploadRestResource.CpiUploadResponse', - 'CpiUploadStatus' : 'net.corda.libs.cpiupload.endpoints.v1.CpiUploadRestResource.CpiUploadStatus', - 'CpkIdentifier' : 'net.corda.libs.cpiupload.endpoints.v1.CpkIdentifier', - 'CpkMetadata' : 'net.corda.libs.cpiupload.endpoints.v1.CpkMetadata', - 'CreatePermissionType' : 'net.corda.libs.permissions.endpoints.v1.permission.types.CreatePermissionType', - 'CreateRoleType' : 'net.corda.libs.permissions.endpoints.v1.role.types.CreateRoleType', - 'CreateUserType' : 'net.corda.libs.permissions.endpoints.v1.user.types.CreateUserType', - 'FlowResultResponse' : 'net.corda.flow.rest.v1.types.response.FlowResultResponse', - 'FlowStateErrorResponse' : 'net.corda.flow.rest.v1.types.response.FlowStateErrorResponse', - 'FlowStatusResponse' : 'net.corda.flow.rest.v1.types.response.FlowStatusResponse', - 'FlowStatusResponses' : 'net.corda.flow.rest.v1.types.response.FlowStatusResponses', - 'GenerateCsrWrapperRequest' : 'net.corda.restclient.dto.GenerateCsrWrapperRequest', - 'GetCPIsResponse' : 'net.corda.libs.cpiupload.endpoints.v1.GetCPIsResponse', - 'GetConfigResponse' : 'net.corda.libs.configuration.endpoints.v1.types.GetConfigResponse', - 'HoldingIdentity' : 'net.corda.libs.virtualnode.endpoints.v1.types.HoldingIdentity', - 'HostedIdentitySessionKeyAndCertificate': 'net.corda.membership.rest.v1.types.request.HostedIdentitySessionKeyAndCertificate', - 'HostedIdentitySetupRequest' : 'net.corda.membership.rest.v1.types.request.HostedIdentitySetupRequest', - 'HsmAssociationInfo' : 'net.corda.membership.rest.v1.types.response.HsmAssociationInfo', - 'JsonCreateVirtualNodeRequest' : 'net.corda.libs.virtualnode.endpoints.v1.types.CreateVirtualNodeRequestType.JsonCreateVirtualNodeRequest', - 'KeyMetaData' : 'net.corda.membership.rest.v1.types.response.KeyMetaData', - 'KeyPairIdentifier' : 'net.corda.membership.rest.v1.types.response.KeyPairIdentifier', - 'KeyRotationResponse' : 'net.corda.crypto.rest.response.KeyRotationResponse', - 'KeyRotationStatusResponse' : 'net.corda.crypto.rest.response.KeyRotationStatusResponse', - 'MemberInfoSubmitted' : 'net.corda.membership.rest.v1.types.response.MemberInfoSubmitted', - 'MemberRegistrationRequest' : 'net.corda.membership.rest.v1.types.request.MemberRegistrationRequest', - 'PermissionAssociationResponseType' : 'net.corda.libs.permissions.endpoints.v1.permission.types.PermissionAssociationResponseType', - 'PermissionResponseType' : 'net.corda.libs.permissions.endpoints.v1.permission.types.PermissionResponseType', - 'PermissionSummaryResponseType' : 'net.corda.libs.permissions.endpoints.v1.user.types.PermissionSummaryResponseType', - 'PreAuthToken' : 'net.corda.membership.rest.v1.types.response.PreAuthToken', - 'PreAuthTokenRequest' : 'net.corda.membership.rest.v1.types.request.PreAuthTokenRequest', - 'PropertyResponseType' : 'net.corda.libs.permissions.endpoints.v1.user.types.PropertyResponseType', - 'RegistrationRequestProgress' : 'net.corda.membership.rest.v1.types.response.RegistrationRequestProgress', - 'RestGroupParameters' : 'net.corda.membership.rest.v1.types.RestGroupParameters', - 'RestMemberInfo' : 'net.corda.membership.rest.v1.types.response.RestMemberInfo', - 'RestMemberInfoList' : 'net.corda.membership.rest.v1.types.response.RestMemberInfoList', - 'RestRegistrationRequestStatus' : 'net.corda.membership.rest.v1.types.response.RestRegistrationRequestStatus', - 'RoleAssociationResponseType' : 'net.corda.libs.permissions.endpoints.v1.role.types.RoleAssociationResponseType', - 'RoleResponseType' : 'net.corda.libs.permissions.endpoints.v1.role.types.RoleResponseType', - 'RotatedKeysStatus' : 'net.corda.crypto.rest.response.RotatedKeysStatus', - 'Route' : 'net.corda.libs.external.messaging.entities.Route', - 'RouteConfiguration' : 'net.corda.libs.virtualnode.endpoints.v1.types.external.messaging.RouteConfiguration', - 'Routes' : 'net.corda.libs.virtualnode.endpoints.v1.types.external.messaging.Routes', - 'StartFlowParameters' : 'net.corda.flow.rest.v1.types.request.StartFlowParameters', - 'StartableFlowsResponse' : 'net.corda.flow.rest.v1.types.response.StartableFlowsResponse', - 'SuspensionActivationParameters' : 'net.corda.membership.rest.v1.types.request.SuspensionActivationParameters', - 'UpdateConfigResponse' : 'net.corda.libs.configuration.endpoints.v1.types.UpdateConfigResponse', - 'UpdateVirtualNodeDbRequest' : 'net.corda.libs.virtualnode.endpoints.v1.types.UpdateVirtualNodeDbRequest', - 'UserPermissionSummaryResponseType' : 'net.corda.libs.permissions.endpoints.v1.user.types.UserPermissionSummaryResponseType', - 'UserResponseType' : 'net.corda.libs.permissions.endpoints.v1.user.types.UserResponseType', - 'VirtualNodeInfo' : 'net.corda.libs.virtualnode.endpoints.v1.types.VirtualNodeInfo', - 'VirtualNodes' : 'net.corda.libs.virtualnode.endpoints.v1.types.VirtualNodes' - ]) +// importMappings.set([ +// 'ApprovalRuleInfo' : 'net.corda.membership.rest.v1.types.response.ApprovalRuleInfo', +// 'ApprovalRuleRequestParams' : 'net.corda.membership.rest.v1.types.request.ApprovalRuleRequestParams', +// 'AsyncOperationStatus' : 'net.corda.rest.asynchronous.v1.AsyncOperationStatus', +// 'AsyncResponse' : 'net.corda.rest.asynchronous.v1.AsyncResponse', +// 'BulkCreatePermissionsRequestType' : 'net.corda.libs.permissions.endpoints.v1.permission.types.BulkCreatePermissionsRequestType', +// 'BulkCreatePermissionsResponseType' : 'net.corda.libs.permissions.endpoints.v1.permission.types.BulkCreatePermissionsResponseType', +// 'ChangeOtherUserPasswordWrapperRequest' : 'net.corda.restclient.dto.ChangeOtherUserPasswordWrapperRequest', +// 'ChangeVirtualNodeStateResponse' : 'net.corda.libs.virtualnode.endpoints.v1.types.ChangeVirtualNodeStateResponse', +// 'ConfigSchemaVersion' : 'net.corda.libs.configuration.endpoints.v1.types.ConfigSchemaVersion', +// 'CpiIdentifier' : 'net.corda.libs.cpiupload.endpoints.v1.CpiIdentifier', +// 'CpiMetadata' : 'net.corda.libs.cpiupload.endpoints.v1.CpiMetadata', +// 'CpiUploadResponse' : 'net.corda.libs.cpiupload.endpoints.v1.CpiUploadRestResource.CpiUploadResponse', +// 'CpiUploadStatus' : 'net.corda.libs.cpiupload.endpoints.v1.CpiUploadRestResource.CpiUploadStatus', +// 'CpkIdentifier' : 'net.corda.libs.cpiupload.endpoints.v1.CpkIdentifier', +// 'CpkMetadata' : 'net.corda.libs.cpiupload.endpoints.v1.CpkMetadata', +// 'CreatePermissionType' : 'net.corda.libs.permissions.endpoints.v1.permission.types.CreatePermissionType', +// 'CreateRoleType' : 'net.corda.libs.permissions.endpoints.v1.role.types.CreateRoleType', +// 'CreateUserType' : 'net.corda.libs.permissions.endpoints.v1.user.types.CreateUserType', +// 'FlowResultResponse' : 'net.corda.flow.rest.v1.types.response.FlowResultResponse', +// 'FlowStateErrorResponse' : 'net.corda.flow.rest.v1.types.response.FlowStateErrorResponse', +// 'FlowStatusResponse' : 'net.corda.flow.rest.v1.types.response.FlowStatusResponse', +// 'FlowStatusResponses' : 'net.corda.flow.rest.v1.types.response.FlowStatusResponses', +// 'GenerateCsrWrapperRequest' : 'net.corda.restclient.dto.GenerateCsrWrapperRequest', +// 'GetCPIsResponse' : 'net.corda.libs.cpiupload.endpoints.v1.GetCPIsResponse', +// 'GetConfigResponse' : 'net.corda.libs.configuration.endpoints.v1.types.GetConfigResponse', +// 'HoldingIdentity' : 'net.corda.libs.virtualnode.endpoints.v1.types.HoldingIdentity', +// 'HostedIdentitySessionKeyAndCertificate': 'net.corda.membership.rest.v1.types.request.HostedIdentitySessionKeyAndCertificate', +// 'HostedIdentitySetupRequest' : 'net.corda.membership.rest.v1.types.request.HostedIdentitySetupRequest', +// 'HsmAssociationInfo' : 'net.corda.membership.rest.v1.types.response.HsmAssociationInfo', +// 'JsonCreateVirtualNodeRequest' : 'net.corda.libs.virtualnode.endpoints.v1.types.CreateVirtualNodeRequestType.JsonCreateVirtualNodeRequest', +// 'KeyMetaData' : 'net.corda.membership.rest.v1.types.response.KeyMetaData', +// 'KeyPairIdentifier' : 'net.corda.membership.rest.v1.types.response.KeyPairIdentifier', +// 'KeyRotationResponse' : 'net.corda.crypto.rest.response.KeyRotationResponse', +// 'KeyRotationStatusResponse' : 'net.corda.crypto.rest.response.KeyRotationStatusResponse', +// 'MemberInfoSubmitted' : 'net.corda.membership.rest.v1.types.response.MemberInfoSubmitted', +// 'MemberRegistrationRequest' : 'net.corda.membership.rest.v1.types.request.MemberRegistrationRequest', +// 'PermissionAssociationResponseType' : 'net.corda.libs.permissions.endpoints.v1.permission.types.PermissionAssociationResponseType', +// 'PermissionResponseType' : 'net.corda.libs.permissions.endpoints.v1.permission.types.PermissionResponseType', +// 'PermissionSummaryResponseType' : 'net.corda.libs.permissions.endpoints.v1.user.types.PermissionSummaryResponseType', +// 'PreAuthToken' : 'net.corda.membership.rest.v1.types.response.PreAuthToken', +// 'PreAuthTokenRequest' : 'net.corda.membership.rest.v1.types.request.PreAuthTokenRequest', +// 'PropertyResponseType' : 'net.corda.libs.permissions.endpoints.v1.user.types.PropertyResponseType', +// 'RegistrationRequestProgress' : 'net.corda.membership.rest.v1.types.response.RegistrationRequestProgress', +// 'RestGroupParameters' : 'net.corda.membership.rest.v1.types.RestGroupParameters', +// 'RestMemberInfo' : 'net.corda.membership.rest.v1.types.response.RestMemberInfo', +// 'RestMemberInfoList' : 'net.corda.membership.rest.v1.types.response.RestMemberInfoList', +// 'RestRegistrationRequestStatus' : 'net.corda.membership.rest.v1.types.response.RestRegistrationRequestStatus', +// 'RoleAssociationResponseType' : 'net.corda.libs.permissions.endpoints.v1.role.types.RoleAssociationResponseType', +// 'RoleResponseType' : 'net.corda.libs.permissions.endpoints.v1.role.types.RoleResponseType', +// 'RotatedKeysStatus' : 'net.corda.crypto.rest.response.RotatedKeysStatus', +// 'Route' : 'net.corda.libs.external.messaging.entities.Route', +// 'RouteConfiguration' : 'net.corda.libs.virtualnode.endpoints.v1.types.external.messaging.RouteConfiguration', +// 'Routes' : 'net.corda.libs.virtualnode.endpoints.v1.types.external.messaging.Routes', +// 'StartFlowParameters' : 'net.corda.flow.rest.v1.types.request.StartFlowParameters', +// 'StartableFlowsResponse' : 'net.corda.flow.rest.v1.types.response.StartableFlowsResponse', +// 'SuspensionActivationParameters' : 'net.corda.membership.rest.v1.types.request.SuspensionActivationParameters', +// 'UpdateConfigResponse' : 'net.corda.libs.configuration.endpoints.v1.types.UpdateConfigResponse', +// 'UpdateVirtualNodeDbRequest' : 'net.corda.libs.virtualnode.endpoints.v1.types.UpdateVirtualNodeDbRequest', +// 'UserPermissionSummaryResponseType' : 'net.corda.libs.permissions.endpoints.v1.user.types.UserPermissionSummaryResponseType', +// 'UserResponseType' : 'net.corda.libs.permissions.endpoints.v1.user.types.UserResponseType', +// 'VirtualNodeInfo' : 'net.corda.libs.virtualnode.endpoints.v1.types.VirtualNodeInfo', +// 'VirtualNodes' : 'net.corda.libs.virtualnode.endpoints.v1.types.VirtualNodes' +// ]) configOptions.set([ 'serializationLibrary' : 'jackson' ]) From ac2601d48279ca00faa6a83aaad356274ea2d2fd Mon Sep 17 00:00:00 2001 From: Anton Subbotin Date: Mon, 24 Jun 2024 16:06:29 +0100 Subject: [PATCH 02/13] Update corda SDK src/main --- .../sdk/bootstrap/rbac/RoleAndPermissionsCreator.kt | 11 +++++------ .../kotlin/net/corda/sdk/config/ClusterConfig.kt | 4 ++-- .../net/corda/sdk/network/ClientCertificates.kt | 10 +++------- .../net/corda/sdk/network/GroupParametersLookup.kt | 2 +- .../src/main/kotlin/net/corda/sdk/network/Keys.kt | 2 +- .../kotlin/net/corda/sdk/network/MemberLookup.kt | 2 +- .../net/corda/sdk/network/MgmGeneratePreAuth.kt | 4 ++-- .../net/corda/sdk/network/RegistrationRequester.kt | 6 +++--- .../net/corda/sdk/network/RegistrationsLookup.kt | 6 +++--- .../main/kotlin/net/corda/sdk/network/VirtualNode.kt | 10 +++++----- .../kotlin/net/corda/sdk/packaging/CpiUploader.kt | 12 +++++++----- libs/rest/generated-rest-client/build.gradle | 6 +++--- .../corda/restclient/generated/TestKnownIssues.kt | 2 +- 13 files changed, 37 insertions(+), 40 deletions(-) diff --git a/libs/corda-sdk/src/main/kotlin/net/corda/sdk/bootstrap/rbac/RoleAndPermissionsCreator.kt b/libs/corda-sdk/src/main/kotlin/net/corda/sdk/bootstrap/rbac/RoleAndPermissionsCreator.kt index 9cac7cf4cce..b752eb9aec9 100644 --- a/libs/corda-sdk/src/main/kotlin/net/corda/sdk/bootstrap/rbac/RoleAndPermissionsCreator.kt +++ b/libs/corda-sdk/src/main/kotlin/net/corda/sdk/bootstrap/rbac/RoleAndPermissionsCreator.kt @@ -1,11 +1,10 @@ package net.corda.sdk.bootstrap.rbac -import net.corda.libs.permissions.endpoints.v1.permission.types.BulkCreatePermissionsRequestType -import net.corda.libs.permissions.endpoints.v1.permission.types.CreatePermissionType -import net.corda.libs.permissions.endpoints.v1.permission.types.PermissionType -import net.corda.libs.permissions.endpoints.v1.role.types.CreateRoleType -import net.corda.libs.permissions.endpoints.v1.role.types.RoleResponseType import net.corda.restclient.CordaRestClient +import net.corda.restclient.generated.models.BulkCreatePermissionsRequestType +import net.corda.restclient.generated.models.CreatePermissionType +import net.corda.restclient.generated.models.CreateRoleType +import net.corda.restclient.generated.models.RoleResponseType import net.corda.sdk.rest.RestClientUtils.executeWithRetry import org.slf4j.Logger import org.slf4j.LoggerFactory @@ -55,8 +54,8 @@ class RoleAndPermissionsCreator(val restClient: CordaRestClient) { val bulkRequest = BulkCreatePermissionsRequestType( permissionsToCreate.map { entry -> CreatePermissionType( - PermissionType.ALLOW, entry.permissionString, + CreatePermissionType.PermissionType.ALLOW, roleToCreate.groupVisibility, entry.vnodeShortHash ) diff --git a/libs/corda-sdk/src/main/kotlin/net/corda/sdk/config/ClusterConfig.kt b/libs/corda-sdk/src/main/kotlin/net/corda/sdk/config/ClusterConfig.kt index edb93c679a7..bb4d7bb48c0 100644 --- a/libs/corda-sdk/src/main/kotlin/net/corda/sdk/config/ClusterConfig.kt +++ b/libs/corda-sdk/src/main/kotlin/net/corda/sdk/config/ClusterConfig.kt @@ -1,13 +1,13 @@ package net.corda.sdk.config -import net.corda.libs.configuration.endpoints.v1.types.GetConfigResponse -import net.corda.libs.configuration.endpoints.v1.types.UpdateConfigResponse import net.corda.libs.configuration.exception.WrongConfigVersionException import net.corda.rest.ResponseCode import net.corda.restclient.CordaRestClient import net.corda.restclient.generated.infrastructure.ClientError import net.corda.restclient.generated.infrastructure.Success +import net.corda.restclient.generated.models.GetConfigResponse import net.corda.restclient.generated.models.UpdateConfigParameters +import net.corda.restclient.generated.models.UpdateConfigResponse import net.corda.schema.configuration.ConfigKeys.RootConfigKey import net.corda.sdk.rest.RestClientUtils.executeWithRetry import kotlin.time.Duration diff --git a/libs/corda-sdk/src/main/kotlin/net/corda/sdk/network/ClientCertificates.kt b/libs/corda-sdk/src/main/kotlin/net/corda/sdk/network/ClientCertificates.kt index 46b52066d97..a6d9d3a0a46 100644 --- a/libs/corda-sdk/src/main/kotlin/net/corda/sdk/network/ClientCertificates.kt +++ b/libs/corda-sdk/src/main/kotlin/net/corda/sdk/network/ClientCertificates.kt @@ -5,7 +5,7 @@ import net.corda.data.certificates.CertificateUsage import net.corda.membership.certificates.CertificateUsageUtils.publicName import net.corda.membership.rest.v1.types.response.KeyPairIdentifier import net.corda.restclient.CordaRestClient -import net.corda.restclient.dto.GenerateCsrWrapperRequest +import net.corda.restclient.generated.models.GenerateCsrWrapperRequest import net.corda.sdk.network.Keys.Companion.P2P_TLS_CERTIFICATE_ALIAS import net.corda.sdk.rest.RestClientUtils.executeWithRetry import net.corda.v5.base.types.MemberX500Name @@ -83,13 +83,9 @@ class ClientCertificates(val restClient: CordaRestClient) { val requestBody = GenerateCsrWrapperRequest( x500Name = subjectX500Name.toString(), contextMap = null, - subjectAlternativeNames = p2pHostNames.map { it.toString() } - ) - val csr = restClient.certificatesClient.postCertificateTenantidKeyid( - tenantid = "p2p", - keyid = tlsKey.id, - netCordaRestclientDtoGenerateCsrWrapperRequest = requestBody + subjectAlternativeNames = p2pHostNames.toList() ) + val csr = restClient.certificatesClient.postCertificateTenantidKeyid("p2p", tlsKey.id, requestBody) return csr.reader().use { reader -> PEMParser(reader).use { parser -> parser.readObject() diff --git a/libs/corda-sdk/src/main/kotlin/net/corda/sdk/network/GroupParametersLookup.kt b/libs/corda-sdk/src/main/kotlin/net/corda/sdk/network/GroupParametersLookup.kt index fe058d17d93..b49ef2766b8 100644 --- a/libs/corda-sdk/src/main/kotlin/net/corda/sdk/network/GroupParametersLookup.kt +++ b/libs/corda-sdk/src/main/kotlin/net/corda/sdk/network/GroupParametersLookup.kt @@ -1,8 +1,8 @@ package net.corda.sdk.network import net.corda.crypto.core.ShortHash -import net.corda.membership.rest.v1.types.RestGroupParameters import net.corda.restclient.CordaRestClient +import net.corda.restclient.generated.models.RestGroupParameters import net.corda.sdk.rest.RestClientUtils.executeWithRetry import kotlin.time.Duration import kotlin.time.Duration.Companion.seconds diff --git a/libs/corda-sdk/src/main/kotlin/net/corda/sdk/network/Keys.kt b/libs/corda-sdk/src/main/kotlin/net/corda/sdk/network/Keys.kt index c1fe7600df2..769fd5f482f 100644 --- a/libs/corda-sdk/src/main/kotlin/net/corda/sdk/network/Keys.kt +++ b/libs/corda-sdk/src/main/kotlin/net/corda/sdk/network/Keys.kt @@ -2,8 +2,8 @@ package net.corda.sdk.network import net.corda.crypto.core.CryptoConsts.Categories.KeyCategory import net.corda.crypto.core.ShortHash -import net.corda.membership.rest.v1.types.response.KeyPairIdentifier import net.corda.restclient.CordaRestClient +import net.corda.restclient.generated.models.KeyPairIdentifier import net.corda.sdk.rest.RestClientUtils.executeWithRetry import net.corda.v5.crypto.KeySchemeCodes.ECDSA_SECP256R1_CODE_NAME import kotlin.time.Duration diff --git a/libs/corda-sdk/src/main/kotlin/net/corda/sdk/network/MemberLookup.kt b/libs/corda-sdk/src/main/kotlin/net/corda/sdk/network/MemberLookup.kt index 431552b17ec..38a401e74cd 100644 --- a/libs/corda-sdk/src/main/kotlin/net/corda/sdk/network/MemberLookup.kt +++ b/libs/corda-sdk/src/main/kotlin/net/corda/sdk/network/MemberLookup.kt @@ -1,8 +1,8 @@ package net.corda.sdk.network import net.corda.crypto.core.ShortHash -import net.corda.membership.rest.v1.types.response.RestMemberInfoList import net.corda.restclient.CordaRestClient +import net.corda.restclient.generated.models.RestMemberInfoList import net.corda.sdk.rest.RestClientUtils.executeWithRetry import kotlin.time.Duration import kotlin.time.Duration.Companion.seconds diff --git a/libs/corda-sdk/src/main/kotlin/net/corda/sdk/network/MgmGeneratePreAuth.kt b/libs/corda-sdk/src/main/kotlin/net/corda/sdk/network/MgmGeneratePreAuth.kt index f1f153ccdb8..30dc100c85a 100644 --- a/libs/corda-sdk/src/main/kotlin/net/corda/sdk/network/MgmGeneratePreAuth.kt +++ b/libs/corda-sdk/src/main/kotlin/net/corda/sdk/network/MgmGeneratePreAuth.kt @@ -1,9 +1,9 @@ package net.corda.sdk.network import net.corda.crypto.core.ShortHash -import net.corda.membership.rest.v1.types.request.PreAuthTokenRequest -import net.corda.membership.rest.v1.types.response.PreAuthToken import net.corda.restclient.CordaRestClient +import net.corda.restclient.generated.models.PreAuthToken +import net.corda.restclient.generated.models.PreAuthTokenRequest class MgmGeneratePreAuth(val restClient: CordaRestClient) { diff --git a/libs/corda-sdk/src/main/kotlin/net/corda/sdk/network/RegistrationRequester.kt b/libs/corda-sdk/src/main/kotlin/net/corda/sdk/network/RegistrationRequester.kt index 4e1ec5e0b39..d7ea40c7af0 100644 --- a/libs/corda-sdk/src/main/kotlin/net/corda/sdk/network/RegistrationRequester.kt +++ b/libs/corda-sdk/src/main/kotlin/net/corda/sdk/network/RegistrationRequester.kt @@ -1,10 +1,10 @@ package net.corda.sdk.network import net.corda.crypto.core.ShortHash -import net.corda.membership.rest.v1.types.request.HostedIdentitySetupRequest -import net.corda.membership.rest.v1.types.request.MemberRegistrationRequest -import net.corda.membership.rest.v1.types.response.RegistrationRequestProgress import net.corda.restclient.CordaRestClient +import net.corda.restclient.generated.models.HostedIdentitySetupRequest +import net.corda.restclient.generated.models.MemberRegistrationRequest +import net.corda.restclient.generated.models.RegistrationRequestProgress import net.corda.sdk.rest.RestClientUtils.executeWithRetry import kotlin.time.Duration import kotlin.time.Duration.Companion.seconds diff --git a/libs/corda-sdk/src/main/kotlin/net/corda/sdk/network/RegistrationsLookup.kt b/libs/corda-sdk/src/main/kotlin/net/corda/sdk/network/RegistrationsLookup.kt index d8d8019519a..6e75427e2e2 100644 --- a/libs/corda-sdk/src/main/kotlin/net/corda/sdk/network/RegistrationsLookup.kt +++ b/libs/corda-sdk/src/main/kotlin/net/corda/sdk/network/RegistrationsLookup.kt @@ -1,10 +1,10 @@ package net.corda.sdk.network import net.corda.crypto.core.ShortHash -import net.corda.membership.rest.v1.types.request.MemberRegistrationRequest -import net.corda.membership.rest.v1.types.response.RegistrationStatus -import net.corda.membership.rest.v1.types.response.RestRegistrationRequestStatus import net.corda.restclient.CordaRestClient +import net.corda.restclient.generated.models.MemberRegistrationRequest +import net.corda.restclient.generated.models.RestRegistrationRequestStatus +import net.corda.restclient.generated.models.RestRegistrationRequestStatus.RegistrationStatus import net.corda.sdk.data.RequestId import net.corda.sdk.rest.RestClientUtils.executeWithRetry import kotlin.time.Duration diff --git a/libs/corda-sdk/src/main/kotlin/net/corda/sdk/network/VirtualNode.kt b/libs/corda-sdk/src/main/kotlin/net/corda/sdk/network/VirtualNode.kt index 56bccfa9507..dba84b15157 100644 --- a/libs/corda-sdk/src/main/kotlin/net/corda/sdk/network/VirtualNode.kt +++ b/libs/corda-sdk/src/main/kotlin/net/corda/sdk/network/VirtualNode.kt @@ -1,13 +1,13 @@ package net.corda.sdk.network import net.corda.crypto.core.ShortHash -import net.corda.libs.virtualnode.endpoints.v1.types.CreateVirtualNodeRequestType.JsonCreateVirtualNodeRequest -import net.corda.libs.virtualnode.endpoints.v1.types.VirtualNodes -import net.corda.rest.asynchronous.v1.AsyncResponse import net.corda.restclient.CordaRestClient +import net.corda.restclient.generated.models.AsyncResponse +import net.corda.restclient.generated.models.JsonCreateVirtualNodeRequest +import net.corda.restclient.generated.models.VirtualNodeInfo +import net.corda.restclient.generated.models.VirtualNodes import net.corda.sdk.rest.RestClientUtils.executeWithRetry import net.corda.v5.base.types.MemberX500Name -import net.corda.virtualnode.OperationalStatus import kotlin.time.Duration import kotlin.time.Duration.Companion.seconds @@ -38,7 +38,7 @@ class VirtualNode(val restClient: CordaRestClient) { operationName = "Wait for Virtual Node $holdingId to be active" ) { val response = restClient.virtualNodeClient.getVirtualnodeHoldingidentityshorthash(holdingId.value) - response.flowP2pOperationalStatus == OperationalStatus.ACTIVE + response.flowP2pOperationalStatus == VirtualNodeInfo.FlowP2pOperationalStatus.ACTIVE } } diff --git a/libs/corda-sdk/src/main/kotlin/net/corda/sdk/packaging/CpiUploader.kt b/libs/corda-sdk/src/main/kotlin/net/corda/sdk/packaging/CpiUploader.kt index 21a88804e5d..c9d3a1cbc34 100644 --- a/libs/corda-sdk/src/main/kotlin/net/corda/sdk/packaging/CpiUploader.kt +++ b/libs/corda-sdk/src/main/kotlin/net/corda/sdk/packaging/CpiUploader.kt @@ -1,8 +1,10 @@ package net.corda.sdk.packaging -import net.corda.libs.cpiupload.endpoints.v1.CpiUploadRestResource -import net.corda.libs.cpiupload.endpoints.v1.GetCPIsResponse +// import net.corda.libs.cpiupload.endpoints.v1.CpiUploadRestResource +// import net.corda.libs.cpiupload.endpoints.v1.GetCPIsResponse import net.corda.restclient.CordaRestClient +import net.corda.restclient.generated.models.CpiUploadResponse +import net.corda.restclient.generated.models.GetCPIsResponse import net.corda.sdk.data.Checksum import net.corda.sdk.data.RequestId import net.corda.sdk.rest.RestClientUtils.executeWithRetry @@ -19,7 +21,7 @@ class CpiUploader(val restClient: CordaRestClient) { */ fun uploadCPI( cpi: File, - ): CpiUploadRestResource.CpiUploadResponse { + ): CpiUploadResponse { return restClient.cpiClient.postCpi(cpi) } @@ -36,7 +38,7 @@ class CpiUploader(val restClient: CordaRestClient) { cpiName: String, cpiVersion: String, wait: Duration = 30.seconds - ): CpiUploadRestResource.CpiUploadResponse { + ): CpiUploadResponse { return if ( cpiPreviouslyUploaded( cpiName = cpiName, @@ -99,7 +101,7 @@ class CpiUploader(val restClient: CordaRestClient) { */ fun forceCpiUpload( cpiFile: File - ): CpiUploadRestResource.CpiUploadResponse { + ): CpiUploadResponse { return restClient.virtualNodeMaintenanceClient.postMaintenanceVirtualnodeForcecpiupload(cpiFile) } diff --git a/libs/rest/generated-rest-client/build.gradle b/libs/rest/generated-rest-client/build.gradle index fee834d2be9..e211cf8e099 100644 --- a/libs/rest/generated-rest-client/build.gradle +++ b/libs/rest/generated-rest-client/build.gradle @@ -23,7 +23,7 @@ openApiGenerate { ignoreFileOverride = "${project.projectDir}/.openapi-generator-ignore" packageName = 'net.corda.restclient.generated' skipValidateSpec = true -// importMappings.set([ + importMappings.set([ // 'ApprovalRuleInfo' : 'net.corda.membership.rest.v1.types.response.ApprovalRuleInfo', // 'ApprovalRuleRequestParams' : 'net.corda.membership.rest.v1.types.request.ApprovalRuleRequestParams', // 'AsyncOperationStatus' : 'net.corda.rest.asynchronous.v1.AsyncOperationStatus', @@ -57,7 +57,7 @@ openApiGenerate { // 'KeyMetaData' : 'net.corda.membership.rest.v1.types.response.KeyMetaData', // 'KeyPairIdentifier' : 'net.corda.membership.rest.v1.types.response.KeyPairIdentifier', // 'KeyRotationResponse' : 'net.corda.crypto.rest.response.KeyRotationResponse', -// 'KeyRotationStatusResponse' : 'net.corda.crypto.rest.response.KeyRotationStatusResponse', + 'KeyRotationStatusResponse' : 'net.corda.crypto.rest.response.KeyRotationStatusResponse', // 'MemberInfoSubmitted' : 'net.corda.membership.rest.v1.types.response.MemberInfoSubmitted', // 'MemberRegistrationRequest' : 'net.corda.membership.rest.v1.types.request.MemberRegistrationRequest', // 'PermissionAssociationResponseType' : 'net.corda.libs.permissions.endpoints.v1.permission.types.PermissionAssociationResponseType', @@ -86,7 +86,7 @@ openApiGenerate { // 'UserResponseType' : 'net.corda.libs.permissions.endpoints.v1.user.types.UserResponseType', // 'VirtualNodeInfo' : 'net.corda.libs.virtualnode.endpoints.v1.types.VirtualNodeInfo', // 'VirtualNodes' : 'net.corda.libs.virtualnode.endpoints.v1.types.VirtualNodes' -// ]) + ]) configOptions.set([ 'serializationLibrary' : 'jackson' ]) diff --git a/libs/rest/generated-rest-client/src/test/kotlin/net/corda/restclient/generated/TestKnownIssues.kt b/libs/rest/generated-rest-client/src/test/kotlin/net/corda/restclient/generated/TestKnownIssues.kt index 412bc4af321..d68cf55dc5b 100644 --- a/libs/rest/generated-rest-client/src/test/kotlin/net/corda/restclient/generated/TestKnownIssues.kt +++ b/libs/rest/generated-rest-client/src/test/kotlin/net/corda/restclient/generated/TestKnownIssues.kt @@ -2,8 +2,8 @@ package net.corda.restclient.generated import io.javalin.Javalin import net.corda.restclient.CordaRestClient -import net.corda.restclient.dto.GenerateCsrWrapperRequest import net.corda.restclient.generated.apis.CertificateApi +import net.corda.restclient.generated.models.GenerateCsrWrapperRequest import org.assertj.core.api.Assertions.assertThat import org.assertj.core.api.Assertions.assertThatCode import org.junit.jupiter.api.AfterAll From 1b41f05a59998da3c5d0665fbb8bde4d8bc28a07 Mon Sep 17 00:00:00 2001 From: Anton Subbotin Date: Mon, 24 Jun 2024 16:13:05 +0100 Subject: [PATCH 03/13] Update corda SDK src/test --- .../kotlin/net/corda/sdk/packaging/CpiUploader.kt | 2 -- .../net/corda/sdk/packaging/CpiUploaderTest.kt | 14 +++++++------- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/libs/corda-sdk/src/main/kotlin/net/corda/sdk/packaging/CpiUploader.kt b/libs/corda-sdk/src/main/kotlin/net/corda/sdk/packaging/CpiUploader.kt index c9d3a1cbc34..48d3abc2a32 100644 --- a/libs/corda-sdk/src/main/kotlin/net/corda/sdk/packaging/CpiUploader.kt +++ b/libs/corda-sdk/src/main/kotlin/net/corda/sdk/packaging/CpiUploader.kt @@ -1,7 +1,5 @@ package net.corda.sdk.packaging -// import net.corda.libs.cpiupload.endpoints.v1.CpiUploadRestResource -// import net.corda.libs.cpiupload.endpoints.v1.GetCPIsResponse import net.corda.restclient.CordaRestClient import net.corda.restclient.generated.models.CpiUploadResponse import net.corda.restclient.generated.models.GetCPIsResponse diff --git a/libs/corda-sdk/src/test/kotlin/net/corda/sdk/packaging/CpiUploaderTest.kt b/libs/corda-sdk/src/test/kotlin/net/corda/sdk/packaging/CpiUploaderTest.kt index 35a9a873a72..e8a052a6273 100644 --- a/libs/corda-sdk/src/test/kotlin/net/corda/sdk/packaging/CpiUploaderTest.kt +++ b/libs/corda-sdk/src/test/kotlin/net/corda/sdk/packaging/CpiUploaderTest.kt @@ -1,10 +1,10 @@ package net.corda.sdk.packaging -import net.corda.libs.cpiupload.endpoints.v1.CpiIdentifier -import net.corda.libs.cpiupload.endpoints.v1.CpiMetadata -import net.corda.libs.cpiupload.endpoints.v1.GetCPIsResponse import net.corda.restclient.CordaRestClient import net.corda.restclient.generated.apis.CPIApi +import net.corda.restclient.generated.models.CpiIdentifier +import net.corda.restclient.generated.models.CpiMetadata +import net.corda.restclient.generated.models.GetCPIsResponse import net.corda.sdk.data.Checksum import org.assertj.core.api.Assertions.assertThat import org.junit.jupiter.api.Test @@ -29,7 +29,7 @@ class CpiUploaderTest { cpiFileFullChecksum = "", cpks = emptyList(), groupPolicy = "", - timestamp = Instant.now() + timestamp = Instant.now().toString() ) ) ) @@ -71,7 +71,7 @@ class CpiUploaderTest { cpiFileFullChecksum = "", cpks = emptyList(), groupPolicy = "", - timestamp = Instant.now() + timestamp = Instant.now().toString() ) ) ) @@ -99,7 +99,7 @@ class CpiUploaderTest { cpiFileFullChecksum = "", cpks = emptyList(), groupPolicy = "", - timestamp = Instant.now() + timestamp = Instant.now().toString() ) ) ) @@ -126,7 +126,7 @@ class CpiUploaderTest { cpiFileFullChecksum = "", cpks = emptyList(), groupPolicy = "", - timestamp = Instant.now() + timestamp = Instant.now().toString() ) ) ) From 12a20ede3df023cdad9e5567a07847d80c6fe23c Mon Sep 17 00:00:00 2001 From: Anton Subbotin Date: Mon, 24 Jun 2024 16:24:08 +0100 Subject: [PATCH 04/13] Update Corda Runtime Gradle Plugin src/main --- .../corda/sdk/network/ClientCertificates.kt | 3 ++- .../corda/sdk/network/RegistrationRequest.kt | 6 ++++-- .../gradle/plugin/cordapp/CordappTasksImpl.kt | 6 +++--- .../gradle/plugin/network/NetworkTasksImpl.kt | 4 ++-- .../corda/gradle/plugin/network/VNodeHelper.kt | 18 +++++++++--------- 5 files changed, 20 insertions(+), 17 deletions(-) diff --git a/libs/corda-sdk/src/main/kotlin/net/corda/sdk/network/ClientCertificates.kt b/libs/corda-sdk/src/main/kotlin/net/corda/sdk/network/ClientCertificates.kt index a6d9d3a0a46..769181e9aca 100644 --- a/libs/corda-sdk/src/main/kotlin/net/corda/sdk/network/ClientCertificates.kt +++ b/libs/corda-sdk/src/main/kotlin/net/corda/sdk/network/ClientCertificates.kt @@ -3,9 +3,10 @@ package net.corda.sdk.network import net.corda.crypto.core.ShortHash import net.corda.data.certificates.CertificateUsage import net.corda.membership.certificates.CertificateUsageUtils.publicName -import net.corda.membership.rest.v1.types.response.KeyPairIdentifier +//import net.corda.membership.rest.v1.types.response.KeyPairIdentifier import net.corda.restclient.CordaRestClient import net.corda.restclient.generated.models.GenerateCsrWrapperRequest +import net.corda.restclient.generated.models.KeyPairIdentifier import net.corda.sdk.network.Keys.Companion.P2P_TLS_CERTIFICATE_ALIAS import net.corda.sdk.rest.RestClientUtils.executeWithRetry import net.corda.v5.base.types.MemberX500Name diff --git a/libs/corda-sdk/src/main/kotlin/net/corda/sdk/network/RegistrationRequest.kt b/libs/corda-sdk/src/main/kotlin/net/corda/sdk/network/RegistrationRequest.kt index ff5bfe5f153..669a0299849 100644 --- a/libs/corda-sdk/src/main/kotlin/net/corda/sdk/network/RegistrationRequest.kt +++ b/libs/corda-sdk/src/main/kotlin/net/corda/sdk/network/RegistrationRequest.kt @@ -1,8 +1,10 @@ package net.corda.sdk.network import net.corda.membership.lib.MemberInfoExtension -import net.corda.membership.rest.v1.types.request.MemberRegistrationRequest -import net.corda.membership.rest.v1.types.response.KeyPairIdentifier +import net.corda.restclient.generated.models.KeyPairIdentifier +import net.corda.restclient.generated.models.MemberRegistrationRequest +//import net.corda.membership.rest.v1.types.request.MemberRegistrationRequest +//import net.corda.membership.rest.v1.types.response.KeyPairIdentifier import net.corda.v5.crypto.KeySchemeCodes.ECDSA_SECP256R1_CODE_NAME class RegistrationRequest { diff --git a/tools/corda-runtime-gradle-plugin/src/main/kotlin/net/corda/gradle/plugin/cordapp/CordappTasksImpl.kt b/tools/corda-runtime-gradle-plugin/src/main/kotlin/net/corda/gradle/plugin/cordapp/CordappTasksImpl.kt index 5cab3004084..43bbbc2809b 100644 --- a/tools/corda-runtime-gradle-plugin/src/main/kotlin/net/corda/gradle/plugin/cordapp/CordappTasksImpl.kt +++ b/tools/corda-runtime-gradle-plugin/src/main/kotlin/net/corda/gradle/plugin/cordapp/CordappTasksImpl.kt @@ -9,8 +9,8 @@ import net.corda.gradle.plugin.dtos.GroupPolicyDTO import net.corda.gradle.plugin.exception.CordaRuntimeGradlePluginException import net.corda.gradle.plugin.network.NetworkTasksImpl import net.corda.gradle.plugin.network.VNodeHelper -import net.corda.membership.rest.v1.types.request.HostedIdentitySessionKeyAndCertificate -import net.corda.membership.rest.v1.types.request.HostedIdentitySetupRequest +import net.corda.restclient.generated.models.HostedIdentitySessionKeyAndCertificate +import net.corda.restclient.generated.models.HostedIdentitySetupRequest import net.corda.sdk.network.ClientCertificates import net.corda.sdk.network.ExportGroupPolicyFromMgm import net.corda.sdk.network.Keys.Companion.P2P_TLS_CERTIFICATE_ALIAS @@ -270,4 +270,4 @@ class CordappTasksImpl(var pc: ProjectContext) { PrintHelper.writeGroupPolicyToFile(groupPolicyFile, ObjectMapper().readTree(groupPolicyResponse)) pc.logger.quiet("Group policy file created at $groupPolicyFile") } -} \ No newline at end of file +} diff --git a/tools/corda-runtime-gradle-plugin/src/main/kotlin/net/corda/gradle/plugin/network/NetworkTasksImpl.kt b/tools/corda-runtime-gradle-plugin/src/main/kotlin/net/corda/gradle/plugin/network/NetworkTasksImpl.kt index ab02937d044..fc3082f4bbf 100644 --- a/tools/corda-runtime-gradle-plugin/src/main/kotlin/net/corda/gradle/plugin/network/NetworkTasksImpl.kt +++ b/tools/corda-runtime-gradle-plugin/src/main/kotlin/net/corda/gradle/plugin/network/NetworkTasksImpl.kt @@ -4,7 +4,7 @@ import net.corda.crypto.core.ShortHash import net.corda.gradle.plugin.configuration.ProjectContext import net.corda.gradle.plugin.dtos.VNode import net.corda.gradle.plugin.exception.CordaRuntimeGradlePluginException -import net.corda.membership.rest.v1.types.response.RegistrationRequestProgress +import net.corda.restclient.generated.models.RegistrationRequestProgress import net.corda.sdk.data.RequestId import net.corda.sdk.network.RegistrationsLookup import net.corda.sdk.network.VirtualNode @@ -114,4 +114,4 @@ class NetworkTasksImpl(var pc: ProjectContext) { pc.logger.quiet("VNode $x500Name with shortHash $shortHash registered.") } } -} \ No newline at end of file +} diff --git a/tools/corda-runtime-gradle-plugin/src/main/kotlin/net/corda/gradle/plugin/network/VNodeHelper.kt b/tools/corda-runtime-gradle-plugin/src/main/kotlin/net/corda/gradle/plugin/network/VNodeHelper.kt index 8c4cb2628b3..0ad5d03a480 100644 --- a/tools/corda-runtime-gradle-plugin/src/main/kotlin/net/corda/gradle/plugin/network/VNodeHelper.kt +++ b/tools/corda-runtime-gradle-plugin/src/main/kotlin/net/corda/gradle/plugin/network/VNodeHelper.kt @@ -12,17 +12,17 @@ import net.corda.crypto.test.certificates.generation.toFactoryDefinitions import net.corda.crypto.test.certificates.generation.toPem import net.corda.gradle.plugin.dtos.VNode import net.corda.gradle.plugin.exception.CordaRuntimeGradlePluginException -import net.corda.libs.configuration.endpoints.v1.types.ConfigSchemaVersion -import net.corda.libs.virtualnode.endpoints.v1.types.CreateVirtualNodeRequestType -import net.corda.libs.virtualnode.endpoints.v1.types.VirtualNodeInfo import net.corda.membership.lib.MemberInfoExtension -import net.corda.membership.rest.v1.types.request.HostedIdentitySessionKeyAndCertificate -import net.corda.membership.rest.v1.types.request.HostedIdentitySetupRequest -import net.corda.membership.rest.v1.types.request.MemberRegistrationRequest -import net.corda.membership.rest.v1.types.response.KeyPairIdentifier -import net.corda.membership.rest.v1.types.response.RegistrationRequestProgress import net.corda.restclient.CordaRestClient +import net.corda.restclient.generated.models.ConfigSchemaVersion +import net.corda.restclient.generated.models.HostedIdentitySessionKeyAndCertificate +import net.corda.restclient.generated.models.HostedIdentitySetupRequest +import net.corda.restclient.generated.models.JsonCreateVirtualNodeRequest +import net.corda.restclient.generated.models.KeyPairIdentifier +import net.corda.restclient.generated.models.MemberRegistrationRequest +import net.corda.restclient.generated.models.RegistrationRequestProgress import net.corda.restclient.generated.models.UpdateConfigParameters +import net.corda.restclient.generated.models.VirtualNodeInfo import net.corda.schema.configuration.ConfigKeys import net.corda.sdk.config.ClusterConfig import net.corda.sdk.data.Checksum @@ -67,7 +67,7 @@ class VNodeHelper { throw CordaRuntimeGradlePluginException("CPI $cpiCheckSum not uploaded.") } - val request = CreateVirtualNodeRequestType.JsonCreateVirtualNodeRequest( + val request = JsonCreateVirtualNodeRequest( x500Name = vNode.x500Name!!, cpiFileChecksum = cpiCheckSum.value, vaultDdlConnection = null, From 7cbdb622077e797308aa20980cd3a96672c083b6 Mon Sep 17 00:00:00 2001 From: Anton Subbotin Date: Mon, 24 Jun 2024 16:33:23 +0100 Subject: [PATCH 05/13] Update tools --- .../plugin/initialRbac/commands/RoleCreationUtils.kt | 2 +- .../net/corda/cli/plugins/network/BaseOnboard.kt | 12 ++++++------ .../corda/cli/plugins/network/GetRegistrations.kt | 2 +- .../cli/plugins/network/GroupParametersLookup.kt | 2 +- .../net/corda/cli/plugins/network/MemberLookup.kt | 2 +- .../corda/cli/plugins/network/OnboardMemberTest.kt | 2 +- 6 files changed, 11 insertions(+), 11 deletions(-) diff --git a/tools/plugins/initial-rbac/src/main/kotlin/net/corda/cli/plugin/initialRbac/commands/RoleCreationUtils.kt b/tools/plugins/initial-rbac/src/main/kotlin/net/corda/cli/plugin/initialRbac/commands/RoleCreationUtils.kt index 061bd6dd633..37d8ecb3dfa 100644 --- a/tools/plugins/initial-rbac/src/main/kotlin/net/corda/cli/plugin/initialRbac/commands/RoleCreationUtils.kt +++ b/tools/plugins/initial-rbac/src/main/kotlin/net/corda/cli/plugin/initialRbac/commands/RoleCreationUtils.kt @@ -1,8 +1,8 @@ package net.corda.cli.plugin.initialRbac.commands import net.corda.cli.plugins.common.RestCommand -import net.corda.libs.permissions.endpoints.v1.role.types.CreateRoleType import net.corda.restclient.CordaRestClient +import net.corda.restclient.generated.models.CreateRoleType import net.corda.sdk.bootstrap.rbac.PermissionTemplate import net.corda.sdk.bootstrap.rbac.RoleAndPermissionsCreator import org.slf4j.Logger diff --git a/tools/plugins/network/src/main/kotlin/net/corda/cli/plugins/network/BaseOnboard.kt b/tools/plugins/network/src/main/kotlin/net/corda/cli/plugins/network/BaseOnboard.kt index 83e0bce7612..6190f2f5a08 100644 --- a/tools/plugins/network/src/main/kotlin/net/corda/cli/plugins/network/BaseOnboard.kt +++ b/tools/plugins/network/src/main/kotlin/net/corda/cli/plugins/network/BaseOnboard.kt @@ -12,13 +12,13 @@ import net.corda.crypto.test.certificates.generation.CertificateAuthorityFactory import net.corda.crypto.test.certificates.generation.toFactoryDefinitions import net.corda.crypto.test.certificates.generation.toPem import net.corda.data.certificates.CertificateUsage -import net.corda.libs.configuration.endpoints.v1.types.ConfigSchemaVersion -import net.corda.libs.virtualnode.endpoints.v1.types.CreateVirtualNodeRequestType.JsonCreateVirtualNodeRequest -import net.corda.membership.rest.v1.types.request.HostedIdentitySessionKeyAndCertificate -import net.corda.membership.rest.v1.types.request.HostedIdentitySetupRequest -import net.corda.membership.rest.v1.types.request.MemberRegistrationRequest -import net.corda.membership.rest.v1.types.response.KeyPairIdentifier import net.corda.restclient.CordaRestClient +import net.corda.restclient.generated.models.ConfigSchemaVersion +import net.corda.restclient.generated.models.HostedIdentitySessionKeyAndCertificate +import net.corda.restclient.generated.models.HostedIdentitySetupRequest +import net.corda.restclient.generated.models.JsonCreateVirtualNodeRequest +import net.corda.restclient.generated.models.KeyPairIdentifier +import net.corda.restclient.generated.models.MemberRegistrationRequest import net.corda.restclient.generated.models.UpdateConfigParameters import net.corda.schema.configuration.ConfigKeys.RootConfigKey import net.corda.sdk.config.ClusterConfig diff --git a/tools/plugins/network/src/main/kotlin/net/corda/cli/plugins/network/GetRegistrations.kt b/tools/plugins/network/src/main/kotlin/net/corda/cli/plugins/network/GetRegistrations.kt index ea54fee7894..f8d503610ee 100644 --- a/tools/plugins/network/src/main/kotlin/net/corda/cli/plugins/network/GetRegistrations.kt +++ b/tools/plugins/network/src/main/kotlin/net/corda/cli/plugins/network/GetRegistrations.kt @@ -10,8 +10,8 @@ import net.corda.cli.plugins.typeconverter.RequestIdConverter import net.corda.cli.plugins.typeconverter.ShortHashConverter import net.corda.cli.plugins.typeconverter.X500NameConverter import net.corda.crypto.core.ShortHash -import net.corda.membership.rest.v1.types.response.RestRegistrationRequestStatus import net.corda.restclient.CordaRestClient +import net.corda.restclient.generated.models.RestRegistrationRequestStatus import net.corda.sdk.data.RequestId import net.corda.sdk.network.RegistrationsLookup import net.corda.v5.base.types.MemberX500Name diff --git a/tools/plugins/network/src/main/kotlin/net/corda/cli/plugins/network/GroupParametersLookup.kt b/tools/plugins/network/src/main/kotlin/net/corda/cli/plugins/network/GroupParametersLookup.kt index a477dba48d9..7f433cec674 100644 --- a/tools/plugins/network/src/main/kotlin/net/corda/cli/plugins/network/GroupParametersLookup.kt +++ b/tools/plugins/network/src/main/kotlin/net/corda/cli/plugins/network/GroupParametersLookup.kt @@ -9,8 +9,8 @@ import net.corda.cli.plugins.network.utils.PrintUtils.verifyAndPrintError import net.corda.cli.plugins.typeconverter.ShortHashConverter import net.corda.cli.plugins.typeconverter.X500NameConverter import net.corda.crypto.core.ShortHash -import net.corda.membership.rest.v1.types.RestGroupParameters import net.corda.restclient.CordaRestClient +import net.corda.restclient.generated.models.RestGroupParameters import net.corda.sdk.network.GroupParametersLookup import net.corda.v5.base.types.MemberX500Name import picocli.CommandLine diff --git a/tools/plugins/network/src/main/kotlin/net/corda/cli/plugins/network/MemberLookup.kt b/tools/plugins/network/src/main/kotlin/net/corda/cli/plugins/network/MemberLookup.kt index 27b5cceb107..d0b378df4ea 100644 --- a/tools/plugins/network/src/main/kotlin/net/corda/cli/plugins/network/MemberLookup.kt +++ b/tools/plugins/network/src/main/kotlin/net/corda/cli/plugins/network/MemberLookup.kt @@ -9,8 +9,8 @@ import net.corda.cli.plugins.network.utils.PrintUtils.verifyAndPrintError import net.corda.cli.plugins.typeconverter.ShortHashConverter import net.corda.cli.plugins.typeconverter.X500NameConverter import net.corda.crypto.core.ShortHash -import net.corda.membership.rest.v1.types.response.RestMemberInfo import net.corda.restclient.CordaRestClient +import net.corda.restclient.generated.models.RestMemberInfo import net.corda.sdk.network.MemberLookup import net.corda.v5.base.types.MemberX500Name import picocli.CommandLine diff --git a/tools/plugins/network/src/pluginSmokeTest/kotlin/net/corda/cli/plugins/network/OnboardMemberTest.kt b/tools/plugins/network/src/pluginSmokeTest/kotlin/net/corda/cli/plugins/network/OnboardMemberTest.kt index 1f6c200ef8a..23a157187d5 100644 --- a/tools/plugins/network/src/pluginSmokeTest/kotlin/net/corda/cli/plugins/network/OnboardMemberTest.kt +++ b/tools/plugins/network/src/pluginSmokeTest/kotlin/net/corda/cli/plugins/network/OnboardMemberTest.kt @@ -4,8 +4,8 @@ import net.corda.cli.plugins.network.utils.HoldingIdentityUtils import net.corda.cli.plugins.network.utils.inferCpiName import net.corda.e2etest.utilities.DEFAULT_CLUSTER import net.corda.membership.lib.MemberInfoExtension -import net.corda.membership.rest.v1.types.request.PreAuthTokenRequest import net.corda.restclient.CordaRestClient +import net.corda.restclient.generated.models.PreAuthTokenRequest import net.corda.sdk.network.MgmGeneratePreAuth import net.corda.sdk.packaging.CpiUploader import net.corda.v5.base.types.MemberX500Name From 5445afed80da01faf67dcbfa213be086c7f443d3 Mon Sep 17 00:00:00 2001 From: Anton Subbotin Date: Mon, 24 Jun 2024 17:10:08 +0100 Subject: [PATCH 06/13] Fix detekt --- .../src/main/kotlin/net/corda/sdk/network/ClientCertificates.kt | 1 - .../main/kotlin/net/corda/sdk/network/RegistrationRequest.kt | 2 -- 2 files changed, 3 deletions(-) diff --git a/libs/corda-sdk/src/main/kotlin/net/corda/sdk/network/ClientCertificates.kt b/libs/corda-sdk/src/main/kotlin/net/corda/sdk/network/ClientCertificates.kt index 769181e9aca..d15790718b7 100644 --- a/libs/corda-sdk/src/main/kotlin/net/corda/sdk/network/ClientCertificates.kt +++ b/libs/corda-sdk/src/main/kotlin/net/corda/sdk/network/ClientCertificates.kt @@ -3,7 +3,6 @@ package net.corda.sdk.network import net.corda.crypto.core.ShortHash import net.corda.data.certificates.CertificateUsage import net.corda.membership.certificates.CertificateUsageUtils.publicName -//import net.corda.membership.rest.v1.types.response.KeyPairIdentifier import net.corda.restclient.CordaRestClient import net.corda.restclient.generated.models.GenerateCsrWrapperRequest import net.corda.restclient.generated.models.KeyPairIdentifier diff --git a/libs/corda-sdk/src/main/kotlin/net/corda/sdk/network/RegistrationRequest.kt b/libs/corda-sdk/src/main/kotlin/net/corda/sdk/network/RegistrationRequest.kt index 669a0299849..28850163a3e 100644 --- a/libs/corda-sdk/src/main/kotlin/net/corda/sdk/network/RegistrationRequest.kt +++ b/libs/corda-sdk/src/main/kotlin/net/corda/sdk/network/RegistrationRequest.kt @@ -3,8 +3,6 @@ package net.corda.sdk.network import net.corda.membership.lib.MemberInfoExtension import net.corda.restclient.generated.models.KeyPairIdentifier import net.corda.restclient.generated.models.MemberRegistrationRequest -//import net.corda.membership.rest.v1.types.request.MemberRegistrationRequest -//import net.corda.membership.rest.v1.types.response.KeyPairIdentifier import net.corda.v5.crypto.KeySchemeCodes.ECDSA_SECP256R1_CODE_NAME class RegistrationRequest { From c23eb31516cc88acc430625cb8331ad3f6574833 Mon Sep 17 00:00:00 2001 From: Anton Subbotin Date: Mon, 24 Jun 2024 17:24:11 +0100 Subject: [PATCH 07/13] Remove all mappings, update ignore file --- .../.openapi-generator-ignore | 5 -- libs/rest/generated-rest-client/build.gradle | 64 ------------------- 2 files changed, 69 deletions(-) diff --git a/libs/rest/generated-rest-client/.openapi-generator-ignore b/libs/rest/generated-rest-client/.openapi-generator-ignore index c8a96352ed4..4e1855dab7f 100644 --- a/libs/rest/generated-rest-client/.openapi-generator-ignore +++ b/libs/rest/generated-rest-client/.openapi-generator-ignore @@ -29,8 +29,3 @@ **/gradlew.bat **/README.md **/settings.gradle - -**/FlowResultResponseJson.kt -**/KeyRotationStatusResponseRotatedKeyStatusInner.kt -**/net.corda*.kt -**/StartFlowParametersRequestBody.kt \ No newline at end of file diff --git a/libs/rest/generated-rest-client/build.gradle b/libs/rest/generated-rest-client/build.gradle index e211cf8e099..bb616caa858 100644 --- a/libs/rest/generated-rest-client/build.gradle +++ b/libs/rest/generated-rest-client/build.gradle @@ -23,70 +23,6 @@ openApiGenerate { ignoreFileOverride = "${project.projectDir}/.openapi-generator-ignore" packageName = 'net.corda.restclient.generated' skipValidateSpec = true - importMappings.set([ -// 'ApprovalRuleInfo' : 'net.corda.membership.rest.v1.types.response.ApprovalRuleInfo', -// 'ApprovalRuleRequestParams' : 'net.corda.membership.rest.v1.types.request.ApprovalRuleRequestParams', -// 'AsyncOperationStatus' : 'net.corda.rest.asynchronous.v1.AsyncOperationStatus', -// 'AsyncResponse' : 'net.corda.rest.asynchronous.v1.AsyncResponse', -// 'BulkCreatePermissionsRequestType' : 'net.corda.libs.permissions.endpoints.v1.permission.types.BulkCreatePermissionsRequestType', -// 'BulkCreatePermissionsResponseType' : 'net.corda.libs.permissions.endpoints.v1.permission.types.BulkCreatePermissionsResponseType', -// 'ChangeOtherUserPasswordWrapperRequest' : 'net.corda.restclient.dto.ChangeOtherUserPasswordWrapperRequest', -// 'ChangeVirtualNodeStateResponse' : 'net.corda.libs.virtualnode.endpoints.v1.types.ChangeVirtualNodeStateResponse', -// 'ConfigSchemaVersion' : 'net.corda.libs.configuration.endpoints.v1.types.ConfigSchemaVersion', -// 'CpiIdentifier' : 'net.corda.libs.cpiupload.endpoints.v1.CpiIdentifier', -// 'CpiMetadata' : 'net.corda.libs.cpiupload.endpoints.v1.CpiMetadata', -// 'CpiUploadResponse' : 'net.corda.libs.cpiupload.endpoints.v1.CpiUploadRestResource.CpiUploadResponse', -// 'CpiUploadStatus' : 'net.corda.libs.cpiupload.endpoints.v1.CpiUploadRestResource.CpiUploadStatus', -// 'CpkIdentifier' : 'net.corda.libs.cpiupload.endpoints.v1.CpkIdentifier', -// 'CpkMetadata' : 'net.corda.libs.cpiupload.endpoints.v1.CpkMetadata', -// 'CreatePermissionType' : 'net.corda.libs.permissions.endpoints.v1.permission.types.CreatePermissionType', -// 'CreateRoleType' : 'net.corda.libs.permissions.endpoints.v1.role.types.CreateRoleType', -// 'CreateUserType' : 'net.corda.libs.permissions.endpoints.v1.user.types.CreateUserType', -// 'FlowResultResponse' : 'net.corda.flow.rest.v1.types.response.FlowResultResponse', -// 'FlowStateErrorResponse' : 'net.corda.flow.rest.v1.types.response.FlowStateErrorResponse', -// 'FlowStatusResponse' : 'net.corda.flow.rest.v1.types.response.FlowStatusResponse', -// 'FlowStatusResponses' : 'net.corda.flow.rest.v1.types.response.FlowStatusResponses', -// 'GenerateCsrWrapperRequest' : 'net.corda.restclient.dto.GenerateCsrWrapperRequest', -// 'GetCPIsResponse' : 'net.corda.libs.cpiupload.endpoints.v1.GetCPIsResponse', -// 'GetConfigResponse' : 'net.corda.libs.configuration.endpoints.v1.types.GetConfigResponse', -// 'HoldingIdentity' : 'net.corda.libs.virtualnode.endpoints.v1.types.HoldingIdentity', -// 'HostedIdentitySessionKeyAndCertificate': 'net.corda.membership.rest.v1.types.request.HostedIdentitySessionKeyAndCertificate', -// 'HostedIdentitySetupRequest' : 'net.corda.membership.rest.v1.types.request.HostedIdentitySetupRequest', -// 'HsmAssociationInfo' : 'net.corda.membership.rest.v1.types.response.HsmAssociationInfo', -// 'JsonCreateVirtualNodeRequest' : 'net.corda.libs.virtualnode.endpoints.v1.types.CreateVirtualNodeRequestType.JsonCreateVirtualNodeRequest', -// 'KeyMetaData' : 'net.corda.membership.rest.v1.types.response.KeyMetaData', -// 'KeyPairIdentifier' : 'net.corda.membership.rest.v1.types.response.KeyPairIdentifier', -// 'KeyRotationResponse' : 'net.corda.crypto.rest.response.KeyRotationResponse', - 'KeyRotationStatusResponse' : 'net.corda.crypto.rest.response.KeyRotationStatusResponse', -// 'MemberInfoSubmitted' : 'net.corda.membership.rest.v1.types.response.MemberInfoSubmitted', -// 'MemberRegistrationRequest' : 'net.corda.membership.rest.v1.types.request.MemberRegistrationRequest', -// 'PermissionAssociationResponseType' : 'net.corda.libs.permissions.endpoints.v1.permission.types.PermissionAssociationResponseType', -// 'PermissionResponseType' : 'net.corda.libs.permissions.endpoints.v1.permission.types.PermissionResponseType', -// 'PermissionSummaryResponseType' : 'net.corda.libs.permissions.endpoints.v1.user.types.PermissionSummaryResponseType', -// 'PreAuthToken' : 'net.corda.membership.rest.v1.types.response.PreAuthToken', -// 'PreAuthTokenRequest' : 'net.corda.membership.rest.v1.types.request.PreAuthTokenRequest', -// 'PropertyResponseType' : 'net.corda.libs.permissions.endpoints.v1.user.types.PropertyResponseType', -// 'RegistrationRequestProgress' : 'net.corda.membership.rest.v1.types.response.RegistrationRequestProgress', -// 'RestGroupParameters' : 'net.corda.membership.rest.v1.types.RestGroupParameters', -// 'RestMemberInfo' : 'net.corda.membership.rest.v1.types.response.RestMemberInfo', -// 'RestMemberInfoList' : 'net.corda.membership.rest.v1.types.response.RestMemberInfoList', -// 'RestRegistrationRequestStatus' : 'net.corda.membership.rest.v1.types.response.RestRegistrationRequestStatus', -// 'RoleAssociationResponseType' : 'net.corda.libs.permissions.endpoints.v1.role.types.RoleAssociationResponseType', -// 'RoleResponseType' : 'net.corda.libs.permissions.endpoints.v1.role.types.RoleResponseType', -// 'RotatedKeysStatus' : 'net.corda.crypto.rest.response.RotatedKeysStatus', -// 'Route' : 'net.corda.libs.external.messaging.entities.Route', -// 'RouteConfiguration' : 'net.corda.libs.virtualnode.endpoints.v1.types.external.messaging.RouteConfiguration', -// 'Routes' : 'net.corda.libs.virtualnode.endpoints.v1.types.external.messaging.Routes', -// 'StartFlowParameters' : 'net.corda.flow.rest.v1.types.request.StartFlowParameters', -// 'StartableFlowsResponse' : 'net.corda.flow.rest.v1.types.response.StartableFlowsResponse', -// 'SuspensionActivationParameters' : 'net.corda.membership.rest.v1.types.request.SuspensionActivationParameters', -// 'UpdateConfigResponse' : 'net.corda.libs.configuration.endpoints.v1.types.UpdateConfigResponse', -// 'UpdateVirtualNodeDbRequest' : 'net.corda.libs.virtualnode.endpoints.v1.types.UpdateVirtualNodeDbRequest', -// 'UserPermissionSummaryResponseType' : 'net.corda.libs.permissions.endpoints.v1.user.types.UserPermissionSummaryResponseType', -// 'UserResponseType' : 'net.corda.libs.permissions.endpoints.v1.user.types.UserResponseType', -// 'VirtualNodeInfo' : 'net.corda.libs.virtualnode.endpoints.v1.types.VirtualNodeInfo', -// 'VirtualNodes' : 'net.corda.libs.virtualnode.endpoints.v1.types.VirtualNodes' - ]) configOptions.set([ 'serializationLibrary' : 'jackson' ]) From fa66053e6e968a508fe950b2c1e492ee403348ed Mon Sep 17 00:00:00 2001 From: Anton Subbotin Date: Mon, 24 Jun 2024 17:29:24 +0100 Subject: [PATCH 08/13] Delete unused DTOs and update readme --- libs/rest/generated-rest-client/README.md | 4 ---- .../ChangeOtherUserPasswordWrapperRequest.kt | 19 ---------------- .../dto/GenerateCsrWrapperRequest.kt | 22 ------------------- 3 files changed, 45 deletions(-) delete mode 100644 libs/rest/generated-rest-client/src/main/kotlin/net/corda/restclient/dto/ChangeOtherUserPasswordWrapperRequest.kt delete mode 100644 libs/rest/generated-rest-client/src/main/kotlin/net/corda/restclient/dto/GenerateCsrWrapperRequest.kt diff --git a/libs/rest/generated-rest-client/README.md b/libs/rest/generated-rest-client/README.md index e4dfd30a223..d73f6b762a9 100644 --- a/libs/rest/generated-rest-client/README.md +++ b/libs/rest/generated-rest-client/README.md @@ -21,7 +21,3 @@ The `applyWorkarounds` task should have taken care of this, but may have become The CertificateApi has a known limitation where we are unable to send a list of files. The spec allows for a list of files to be sent, and you can achieve this via Swagger and cURL, but the generated client does not support this. The workaround is to send the files one at a time. If you provide a list of files, only the first file will be sent. - -## DTO - -There are a small number of data classes which don't already exist in the codebase, but are listed in the spec. We will need to maintain those. diff --git a/libs/rest/generated-rest-client/src/main/kotlin/net/corda/restclient/dto/ChangeOtherUserPasswordWrapperRequest.kt b/libs/rest/generated-rest-client/src/main/kotlin/net/corda/restclient/dto/ChangeOtherUserPasswordWrapperRequest.kt deleted file mode 100644 index d2a76f23fd9..00000000000 --- a/libs/rest/generated-rest-client/src/main/kotlin/net/corda/restclient/dto/ChangeOtherUserPasswordWrapperRequest.kt +++ /dev/null @@ -1,19 +0,0 @@ -package net.corda.restclient.dto - -/** - * ChangeOtherUserPasswordWrapperRequest - * - * @param password The new password to apply. - * @param username Username for the password change. - */ - - -data class ChangeOtherUserPasswordWrapperRequest ( - - /* The new password to apply. */ - val password: String, - - /* Username for the password change. */ - val username: String - -) \ No newline at end of file diff --git a/libs/rest/generated-rest-client/src/main/kotlin/net/corda/restclient/dto/GenerateCsrWrapperRequest.kt b/libs/rest/generated-rest-client/src/main/kotlin/net/corda/restclient/dto/GenerateCsrWrapperRequest.kt deleted file mode 100644 index 106f879182f..00000000000 --- a/libs/rest/generated-rest-client/src/main/kotlin/net/corda/restclient/dto/GenerateCsrWrapperRequest.kt +++ /dev/null @@ -1,22 +0,0 @@ -package net.corda.restclient.dto - -/** - * GenerateCsrWrapperRequest - * - * @param x500Name The X.500 name that will be the subject associated with the request - * @param contextMap Used to add additional attributes to the CSR; for example, signature spec - * @param subjectAlternativeNames - */ - - -data class GenerateCsrWrapperRequest ( - - /* The X.500 name that will be the subject associated with the request */ - val x500Name: String, - - /* Used to add additional attributes to the CSR; for example, signature spec */ - val contextMap: Map? = null, - - val subjectAlternativeNames: List? = null - -) \ No newline at end of file From a901e53b81f8c6e29abada41e4f71248dca438a9 Mon Sep 17 00:00:00 2001 From: Anton Subbotin Date: Mon, 24 Jun 2024 17:46:56 +0100 Subject: [PATCH 09/13] Add todos re: Instant type --- libs/rest/generated-rest-client/build.gradle | 1 + .../kotlin/net/corda/restclient/generated/TestKnownIssues.kt | 1 + 2 files changed, 2 insertions(+) diff --git a/libs/rest/generated-rest-client/build.gradle b/libs/rest/generated-rest-client/build.gradle index bb616caa858..2c55b685d65 100644 --- a/libs/rest/generated-rest-client/build.gradle +++ b/libs/rest/generated-rest-client/build.gradle @@ -32,6 +32,7 @@ dependencies { implementation libs.kotlin.stdlib implementation libs.jackson.dataformat.yaml implementation libs.jackson.databind + // TODO with all generated models, Instant type isn't used anymore - do we need to have jsr310 dependency? implementation libs.jackson.datatype.jsr310 implementation libs.jackson.module.kotlin implementation libs.okHttp diff --git a/libs/rest/generated-rest-client/src/test/kotlin/net/corda/restclient/generated/TestKnownIssues.kt b/libs/rest/generated-rest-client/src/test/kotlin/net/corda/restclient/generated/TestKnownIssues.kt index d68cf55dc5b..c58231ae88c 100644 --- a/libs/rest/generated-rest-client/src/test/kotlin/net/corda/restclient/generated/TestKnownIssues.kt +++ b/libs/rest/generated-rest-client/src/test/kotlin/net/corda/restclient/generated/TestKnownIssues.kt @@ -226,6 +226,7 @@ class TestKnownIssues { } } + // TODO with all generated models, Instant type isn't used anymore - do we need to test this? /** * Test that the dependency on `libs.jackson.datatype.jsr310` is consumed correctly * by the generated client and propagated to the using code, including Corda CLI, From 4ac5d97d996a15880f6389351c34b49b1eb95252 Mon Sep 17 00:00:00 2001 From: Anton Subbotin Date: Tue, 25 Jun 2024 10:06:44 +0100 Subject: [PATCH 10/13] Remove jsr310 dependency --- libs/rest/generated-rest-client/build.gradle | 2 -- 1 file changed, 2 deletions(-) diff --git a/libs/rest/generated-rest-client/build.gradle b/libs/rest/generated-rest-client/build.gradle index 2c55b685d65..940c014f9ff 100644 --- a/libs/rest/generated-rest-client/build.gradle +++ b/libs/rest/generated-rest-client/build.gradle @@ -32,8 +32,6 @@ dependencies { implementation libs.kotlin.stdlib implementation libs.jackson.dataformat.yaml implementation libs.jackson.databind - // TODO with all generated models, Instant type isn't used anymore - do we need to have jsr310 dependency? - implementation libs.jackson.datatype.jsr310 implementation libs.jackson.module.kotlin implementation libs.okHttp implementation project(':components:crypto:crypto-rest') From d5cbfbcf8db86a90b284fc308d0de30f20779d7e Mon Sep 17 00:00:00 2001 From: Anton Subbotin Date: Tue, 25 Jun 2024 11:21:54 +0100 Subject: [PATCH 11/13] Delete Instant workaround test --- .../restclient/generated/TestKnownIssues.kt | 22 ------------------- 1 file changed, 22 deletions(-) diff --git a/libs/rest/generated-rest-client/src/test/kotlin/net/corda/restclient/generated/TestKnownIssues.kt b/libs/rest/generated-rest-client/src/test/kotlin/net/corda/restclient/generated/TestKnownIssues.kt index c58231ae88c..485031c686c 100644 --- a/libs/rest/generated-rest-client/src/test/kotlin/net/corda/restclient/generated/TestKnownIssues.kt +++ b/libs/rest/generated-rest-client/src/test/kotlin/net/corda/restclient/generated/TestKnownIssues.kt @@ -225,26 +225,4 @@ class TestKnownIssues { assertThat(response).isEqualTo(greeting) } } - - // TODO with all generated models, Instant type isn't used anymore - do we need to test this? - /** - * Test that the dependency on `libs.jackson.datatype.jsr310` is consumed correctly - * by the generated client and propagated to the using code, including Corda CLI, - * enabling the correct deserialization of the `Instant` type. - * See details: https://r3-cev.atlassian.net/browse/ES-2396 - */ - @Test - fun testGetRole() { - val response = """ - [{"id":"62badb8b-1836-4a89-901a-fd6b65906a67","version":0,"updateTimestamp":"2024-05-17T08:33:07.602Z","roleName":"Default System Admin","groupVisibility":null,"permissions":[{"id":"4b3477d9-b812-4ae5-bcb1-5537c7a373d5","createdTimestamp":"2024-05-17T08:33:07.692Z"}]}] - """.trimIndent() - app.get("api/v5_3/role") { ctx -> - ctx.header("Content-Type", "application/json") - ctx.result(response) - } - val client = CordaRestClient.createHttpClient(baseUrl = localhost) - val roles = client.rbacRoleClient.getRole() - assertThat(roles).isNotEmpty - assertThat(roles.first().updateTimestamp).isNotNull - } } From e7b80621f9ead0f0b82013bc7bd3718532fb3628 Mon Sep 17 00:00:00 2001 From: Anton Subbotin Date: Tue, 25 Jun 2024 15:23:47 +0100 Subject: [PATCH 12/13] Further remove project gradle dependencies --- libs/rest/generated-rest-client/build.gradle | 12 ----- .../net/corda/restclient/CordaRestClient.kt | 47 +++++++++---------- 2 files changed, 23 insertions(+), 36 deletions(-) diff --git a/libs/rest/generated-rest-client/build.gradle b/libs/rest/generated-rest-client/build.gradle index 940c014f9ff..c77f416a232 100644 --- a/libs/rest/generated-rest-client/build.gradle +++ b/libs/rest/generated-rest-client/build.gradle @@ -34,18 +34,6 @@ dependencies { implementation libs.jackson.databind implementation libs.jackson.module.kotlin implementation libs.okHttp - implementation project(':components:crypto:crypto-rest') - implementation project(':components:flow:flow-rest-resource-service') - implementation project(':components:membership:membership-rest') - implementation project(':libs:configuration:configuration-endpoints') - implementation project(':libs:external-messaging') - implementation project(':libs:permissions:permission-endpoint') - implementation project(':libs:rest:rest') - implementation project(':libs:virtual-node:virtual-node-endpoints') - implementation project(':libs:virtual-node:virtual-node-info') - implementation "net.corda:corda-avro-schema:$cordaApiVersion" - - testImplementation libs.javalin } // Pick up the generated code so we can use it in src/main & src/test diff --git a/libs/rest/generated-rest-client/src/main/kotlin/net/corda/restclient/CordaRestClient.kt b/libs/rest/generated-rest-client/src/main/kotlin/net/corda/restclient/CordaRestClient.kt index ae000ba46b4..906f4691172 100644 --- a/libs/rest/generated-rest-client/src/main/kotlin/net/corda/restclient/CordaRestClient.kt +++ b/libs/rest/generated-rest-client/src/main/kotlin/net/corda/restclient/CordaRestClient.kt @@ -1,6 +1,5 @@ package net.corda.restclient -import net.corda.rest.annotations.RestApiVersion import net.corda.restclient.generated.apis.CPIApi import net.corda.restclient.generated.apis.CertificateApi import net.corda.restclient.generated.apis.ConfigurationApi @@ -56,7 +55,7 @@ class CordaRestClient( ) { companion object { - private val API_VERSION = "/api/${RestApiVersion.C5_3.versionPath}" + private val defaultBasePath = HelloRestApi.defaultBasePath /** * Create an instance of CordaRestClient with the given baseUrl, username and password. @@ -118,7 +117,7 @@ class CordaRestClient( virtualNodeMaintenanceClient: VirtualNodeMaintenanceApi? = null ): CordaRestClient { - val urlWithCordaApiVersion = baseUrl.toString() + API_VERSION + val urlWithDefaultBasePath = baseUrl.toString() + defaultBasePath val builder = ApiClient.apply { this.username = username @@ -136,27 +135,27 @@ class CordaRestClient( val client = builder.build() return CordaRestClient( - baseUrl = urlWithCordaApiVersion, + baseUrl = urlWithDefaultBasePath, httpClient = client, - certificatesClient = certificatesClient ?: CertificateApi(urlWithCordaApiVersion, client), - configurationClient = configurationClient ?: ConfigurationApi(urlWithCordaApiVersion, client), - cpiClient = cpiClient ?: CPIApi(urlWithCordaApiVersion, client), - flowInfoClient = flowInfoClient ?: FlowInfoApi(urlWithCordaApiVersion, client), - flowManagementClient = flowManagementClient ?: FlowManagementApi(urlWithCordaApiVersion, client), - helloRestClient = helloRestClient ?: HelloRestApi(urlWithCordaApiVersion, client), - hsmClient = hsmClient ?: HSMApi(urlWithCordaApiVersion, client), - keyManagementClient = keyManagementClient ?: KeyManagementApi(urlWithCordaApiVersion, client), - keyRotationClient = keyRotationClient ?: KeyRotationApi(urlWithCordaApiVersion, client), - memberLookupClient = memberLookupClient ?: MemberLookupApi(urlWithCordaApiVersion, client), - memberRegistrationClient = memberRegistrationClient ?: MemberRegistrationApi(urlWithCordaApiVersion, client), - mgmAdminClient = mgmAdminClient ?: MGMAdminApi(urlWithCordaApiVersion, client), - mgmClient = mgmClient ?: MGMApi(urlWithCordaApiVersion, client), - networkClient = networkClient ?: NetworkApi(urlWithCordaApiVersion, client), - rbacPermissionClient = rbacPermissionClient ?: RBACPermissionApi(urlWithCordaApiVersion, client), - rbacRoleClient = rbacRoleClient ?: RBACRoleApi(urlWithCordaApiVersion, client), - rbacUserClient = rbacUserClient ?: RBACUserApi(urlWithCordaApiVersion, client), - virtualNodeClient = virtualNodeClient ?: VirtualNodeApi(urlWithCordaApiVersion, client), - virtualNodeMaintenanceClient = virtualNodeMaintenanceClient ?: VirtualNodeMaintenanceApi(urlWithCordaApiVersion, client) + certificatesClient = certificatesClient ?: CertificateApi(urlWithDefaultBasePath, client), + configurationClient = configurationClient ?: ConfigurationApi(urlWithDefaultBasePath, client), + cpiClient = cpiClient ?: CPIApi(urlWithDefaultBasePath, client), + flowInfoClient = flowInfoClient ?: FlowInfoApi(urlWithDefaultBasePath, client), + flowManagementClient = flowManagementClient ?: FlowManagementApi(urlWithDefaultBasePath, client), + helloRestClient = helloRestClient ?: HelloRestApi(urlWithDefaultBasePath, client), + hsmClient = hsmClient ?: HSMApi(urlWithDefaultBasePath, client), + keyManagementClient = keyManagementClient ?: KeyManagementApi(urlWithDefaultBasePath, client), + keyRotationClient = keyRotationClient ?: KeyRotationApi(urlWithDefaultBasePath, client), + memberLookupClient = memberLookupClient ?: MemberLookupApi(urlWithDefaultBasePath, client), + memberRegistrationClient = memberRegistrationClient ?: MemberRegistrationApi(urlWithDefaultBasePath, client), + mgmAdminClient = mgmAdminClient ?: MGMAdminApi(urlWithDefaultBasePath, client), + mgmClient = mgmClient ?: MGMApi(urlWithDefaultBasePath, client), + networkClient = networkClient ?: NetworkApi(urlWithDefaultBasePath, client), + rbacPermissionClient = rbacPermissionClient ?: RBACPermissionApi(urlWithDefaultBasePath, client), + rbacRoleClient = rbacRoleClient ?: RBACRoleApi(urlWithDefaultBasePath, client), + rbacUserClient = rbacUserClient ?: RBACUserApi(urlWithDefaultBasePath, client), + virtualNodeClient = virtualNodeClient ?: VirtualNodeApi(urlWithDefaultBasePath, client), + virtualNodeMaintenanceClient = virtualNodeMaintenanceClient ?: VirtualNodeMaintenanceApi(urlWithDefaultBasePath, client) ) } @@ -175,4 +174,4 @@ class CordaRestClient( } ) } -} \ No newline at end of file +} From 9363a84d2e7d58727307222fa43d54917dcffb67 Mon Sep 17 00:00:00 2001 From: Anton Subbotin Date: Tue, 25 Jun 2024 15:35:18 +0100 Subject: [PATCH 13/13] Revert test javalin dependency --- libs/rest/generated-rest-client/build.gradle | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libs/rest/generated-rest-client/build.gradle b/libs/rest/generated-rest-client/build.gradle index c77f416a232..c4c2501c8ea 100644 --- a/libs/rest/generated-rest-client/build.gradle +++ b/libs/rest/generated-rest-client/build.gradle @@ -34,6 +34,8 @@ dependencies { implementation libs.jackson.databind implementation libs.jackson.module.kotlin implementation libs.okHttp + + testImplementation libs.javalin } // Pick up the generated code so we can use it in src/main & src/test