Skip to content
Merged
Show file tree
Hide file tree
Changes from 35 commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
b4638ae
WIP
rGregnanin Mar 25, 2025
6246ab3
fix
rGregnanin Mar 25, 2025
78cd814
fix
rGregnanin Mar 25, 2025
d02eb36
deleted useless test
rGregnanin Mar 25, 2025
04beab9
Merge branch 'develop' into PIN-5572_chenge_descriptorVersion_from_st…
rGregnanin Mar 25, 2025
3b751c8
refactor
rGregnanin Mar 27, 2025
fcace8b
fix
rGregnanin Mar 28, 2025
b7fe069
Merge branch 'develop' into PIN-5572_chenge_descriptorVersion_from_st…
rGregnanin Mar 28, 2025
e85e23c
fixed as suggested
rGregnanin Mar 31, 2025
65a508a
Merge branch 'develop' into PIN-5572_chenge_descriptorVersion_from_st…
rGregnanin Mar 31, 2025
4d83bc3
Merge branch 'develop' into PIN-5572_chenge_descriptorVersion_from_st…
rGregnanin May 16, 2025
ff9a134
fix merge
rGregnanin May 16, 2025
fa82425
fix test
rGregnanin May 16, 2025
145acd6
Merge branch 'develop' into PIN-5572_chenge_descriptorVersion_from_st…
rGregnanin May 19, 2025
343dde2
updated type
rGregnanin May 19, 2025
dc83c9e
Merge branch 'develop' into PIN-5572_chenge_descriptorVersion_from_st…
rGregnanin May 19, 2025
b7e84f5
fix
rGregnanin May 19, 2025
4b0a146
Merge branch 'PIN-5572_chenge_descriptorVersion_from_string_to_number…
rGregnanin May 19, 2025
5ebd589
updated type pt2
rGregnanin May 19, 2025
f412dd5
Merge branch 'develop' into PIN-5572_chenge_descriptorVersion_from_st…
rGregnanin May 19, 2025
80c8333
fix
rGregnanin May 19, 2025
f89dce2
Merge branch 'develop' into PIN-5572_chenge_descriptorVersion_from_st…
rGregnanin May 19, 2025
e66cbd8
Merge branch 'develop' into PIN-5572_chenge_descriptorVersion_from_st…
rGregnanin May 29, 2025
0c35e7b
fix tests
rGregnanin May 29, 2025
23c767c
Merge branch 'develop' into PIN-5572_chenge_descriptorVersion_from_st…
rGregnanin May 29, 2025
35a5907
deleted useless version in test
rGregnanin May 29, 2025
2453cb5
Merge branch 'develop' into PIN-5572_chenge_descriptorVersion_from_st…
rGregnanin May 29, 2025
9fb52e4
Merge branch 'develop' into PIN-5572_chenge_descriptorVersion_from_st…
rGregnanin May 30, 2025
9e98a9d
Merge branch 'develop' into PIN-5572_chenge_descriptorVersion_from_st…
rGregnanin May 30, 2025
3d2844e
Merge branch 'develop' into PIN-5572_chenge_descriptorVersion_from_st…
rGregnanin Jun 4, 2025
11365ee
Merge branch 'develop' into PIN-5572_chenge_descriptorVersion_from_st…
rGregnanin Jun 5, 2025
7b08699
fix check
rGregnanin Jun 6, 2025
45b506c
Merge branch 'develop' into PIN-5572_chenge_descriptorVersion_from_st…
rGregnanin Jul 9, 2025
34bd25c
fix merge
rGregnanin Jul 9, 2025
1612a9e
Merge branch 'develop' into PIN-5572_chenge_descriptorVersion_from_st…
rGregnanin Jul 10, 2025
8c1f084
Merge branch 'develop' into PIN-5572_chenge_descriptorVersion_from_st…
rGregnanin Jul 10, 2025
22163ab
fix as suggested
rGregnanin Jul 10, 2025
4e8c149
Merge branch 'develop' into PIN-5572_chenge_descriptorVersion_from_st…
rGregnanin Jul 10, 2025
725abfb
revert in m2mGateway
rGregnanin Jul 10, 2025
a865708
fix check
rGregnanin Jul 10, 2025
c08b491
Merge branch 'develop' into PIN-5572_chenge_descriptorVersion_from_st…
rGregnanin Jul 11, 2025
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
2 changes: 1 addition & 1 deletion docker/readmodel-db/catalog.sql
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ CREATE TABLE IF NOT EXISTS readmodel_catalog.eservice_descriptor (
id UUID,
eservice_id UUID NOT NULL REFERENCES readmodel_catalog.eservice (id) ON DELETE CASCADE,
metadata_version INTEGER NOT NULL,
version VARCHAR NOT NULL,
version INTEGER NOT NULL,
description VARCHAR,
state VARCHAR NOT NULL,
audience VARCHAR ARRAY NOT NULL,
Expand Down
42 changes: 15 additions & 27 deletions packages/agreement-process/src/model/domain/errors.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,22 +26,21 @@ export const errorCodes = {
agreementAlreadyExists: "0010",
noNewerDescriptor: "0011",
publishedDescriptorNotFound: "0012",
unexpectedVersionFormat: "0013",
descriptorNotFound: "0014",
stampNotFound: "0015",
documentNotFound: "0017",
documentsChangeNotAllowed: "0018",
tenantNotFound: "0020",
notLatestEServiceDescriptor: "0021",
attributeNotFound: "0022",
invalidAttributeStructure: "0023",
consumerWithNotValidEmail: "0024",
agreementDocumentAlreadyExists: "0025",
delegationNotFound: "0026",
tenantIsNotTheConsumer: "0027",
tenantIsNotTheDelegateConsumer: "0028",
tenantIsNotTheProducer: "0029",
tenantIsNotTheDelegateProducer: "0030",
descriptorNotFound: "0013",
stampNotFound: "0014",
documentNotFound: "0015",
documentsChangeNotAllowed: "0016",
tenantNotFound: "0017",
notLatestEServiceDescriptor: "0018",
attributeNotFound: "0019",
invalidAttributeStructure: "0020",
consumerWithNotValidEmail: "0021",
agreementDocumentAlreadyExists: "0022",
delegationNotFound: "0023",
tenantIsNotTheConsumer: "0024",
tenantIsNotTheDelegateConsumer: "0025",
tenantIsNotTheProducer: "0026",
tenantIsNotTheDelegateProducer: "0027",
};

export type ErrorCodes = keyof typeof errorCodes;
Expand Down Expand Up @@ -242,17 +241,6 @@ export function publishedDescriptorNotFound(
});
}

export function unexpectedVersionFormat(
eserviceId: EServiceId,
descriptorId: DescriptorId
): ApiError<ErrorCodes> {
return new ApiError({
detail: `Version in not an Int for descriptor ${descriptorId} of EService ${eserviceId}`,
code: "unexpectedVersionFormat",
title: "Unexpected version format",
});
}

export function noNewerDescriptor(
eserviceId: EServiceId,
descriptorId: DescriptorId
Expand Down
2 changes: 1 addition & 1 deletion packages/agreement-process/src/model/domain/models.ts
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ export type AgreementContractPDFPayload = {
eserviceId: EServiceId;
eserviceName: string;
descriptorId: DescriptorId;
descriptorVersion: string;
descriptorVersion: number;
producerName: string;
producerIpaCode: string | undefined;
consumerName: string;
Expand Down
17 changes: 1 addition & 16 deletions packages/agreement-process/src/services/agreementService.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
import { z } from "zod";
import {
AppContext,
CreateEvent,
Expand Down Expand Up @@ -58,7 +57,6 @@ import {
tenantIsNotTheDelegateConsumer,
publishedDescriptorNotFound,
tenantNotFound,
unexpectedVersionFormat,
} from "../model/domain/errors.js";
import {
ActiveDelegations,
Expand Down Expand Up @@ -716,26 +714,13 @@ export function agreementServiceBuilder(
if (newDescriptor === undefined) {
throw publishedDescriptorNotFound(eservice.id);
}
const latestDescriptorVersion = z
.preprocess((x) => Number(x), z.number())
.safeParse(newDescriptor.version);
if (!latestDescriptorVersion.success) {
throw unexpectedVersionFormat(eservice.id, newDescriptor.id);
}

const currentDescriptor = retrieveDescriptor(
agreementToBeUpgraded.data.descriptorId,
eservice
);

const currentVersion = z
.preprocess((x) => Number(x), z.number())
.safeParse(currentDescriptor.version);
if (!currentVersion.success) {
throw unexpectedVersionFormat(eservice.id, currentDescriptor.id);
}

if (latestDescriptorVersion.data <= currentVersion.data) {
if (newDescriptor.version <= currentDescriptor.version) {
throw noNewerDescriptor(eservice.id, currentDescriptor.id);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ describe("Agreeement states flows", () => {
[[validDeclaredEserviceAttribute]]
// No verified attributes required in V1
),
version: "1",
version: 1,
agreementApprovalPolicy: "Automatic",
};

Expand Down Expand Up @@ -162,7 +162,7 @@ describe("Agreeement states flows", () => {
const descriptorV2: Descriptor = {
...descriptorV1,
id: generateId(),
version: "2",
version: 2,
attributes: {
certified: descriptorV1.attributes.certified,
declared: descriptorV1.attributes.declared,
Expand Down Expand Up @@ -308,7 +308,7 @@ describe("Agreeement states flows", () => {
[[validDeclaredEserviceAttribute]]
// No verified attributes required in V1
),
version: "1",
version: 1,
agreementApprovalPolicy: "Automatic",
};

Expand Down Expand Up @@ -372,7 +372,7 @@ describe("Agreeement states flows", () => {
const descriptorV2: Descriptor = {
...descriptorV1,
id: generateId(),
version: "2",
version: 2,
attributes: {
certified: descriptorV1.attributes.certified,
declared: descriptorV1.attributes.declared,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -349,13 +349,13 @@ describe("create agreement", () => {
const descriptor0: Descriptor = getMockDescriptorPublished();
const descriptor1: Descriptor = {
...getMockDescriptorPublished(),
version: "1",
version: 1,
state: descriptorState.draft,
};

const descriptor2: Descriptor = {
...getMockDescriptorPublished(),
version: "2",
version: 2,
state: descriptorState.draft,
};

Expand Down Expand Up @@ -477,12 +477,12 @@ describe("create agreement", () => {

const descriptor0: Descriptor = {
...getMockDescriptorPublished(),
version: "0",
version: 0,
state: randomArrayItem(notDraftDescriptorStates),
};
const descriptor1: Descriptor = {
...getMockDescriptorPublished(),
version: "1",
version: 1,
state: randomArrayItem(notDraftDescriptorStates),
};

Expand Down Expand Up @@ -513,7 +513,7 @@ describe("create agreement", () => {

const descriptor: Descriptor = {
...getMockDescriptorPublished(),
version: "0",
version: 0,
state: randomArrayItem(
Object.values(descriptorState).filter(
(state) =>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ import {
AgreementSubmittedV2,
AgreementV2,
Attribute,
Descriptor,
DescriptorId,
DescriptorState,
EServiceId,
Expand Down Expand Up @@ -589,7 +590,7 @@ describe("submit agreement", () => {
],
};

const oldDescriptor = {
const oldDescriptor: Descriptor = {
...getMockDescriptor(),
id: descriptorId,
state: randomArrayItem(
Expand All @@ -599,10 +600,10 @@ describe("submit agreement", () => {
state !== descriptorState.waitingForApproval
)
),
version: "1",
version: 1,
};

const newDescriptor = {
const newDescriptor: Descriptor = {
...getMockDescriptor(),
state: randomArrayItem(
Object.values(descriptorState).filter(
Expand All @@ -611,7 +612,7 @@ describe("submit agreement", () => {
state !== descriptorState.waitingForApproval
)
),
version: "2",
version: 2,
};
const eservice = getMockEService(generateId<EServiceId>(), producer.id, [
oldDescriptor,
Expand Down
Loading
Loading