Skip to content

Commit

Permalink
chore(model): moved to temporary non versioned rc_configuration model
Browse files Browse the repository at this point in the history
  • Loading branch information
michaeldisaro committed May 9, 2024
1 parent da9f924 commit ee83c10
Show file tree
Hide file tree
Showing 20 changed files with 645 additions and 159 deletions.
2 changes: 1 addition & 1 deletion CreateRCConfiguration/__tests__/handler.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import {
} from "../../__mocks__/remote-content";
import { ulidGeneratorAsUlid } from "@pagopa/io-functions-commons/dist/src/utils/strings";
import { createRCConfigurationHandler } from "../handler";
import { RCConfiguration } from "@pagopa/io-functions-commons/dist/src/models/rc_configuration";
import { RCConfiguration } from "@pagopa/io-functions-commons/dist/src/models/rc_configuration_non_versioned_temp";
import { Ulid } from "@pagopa/ts-commons/lib/strings";
import { makeNewRCConfigurationWithConfigurationId } from "../../utils/mappers";

Expand Down
2 changes: 1 addition & 1 deletion CreateRCConfiguration/handler.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import {
import { flow, pipe } from "fp-ts/lib/function";
import { NonEmptyString, Ulid } from "@pagopa/ts-commons/lib/strings";
import { retrievedRCConfigurationToPublic } from "@pagopa/io-functions-commons/dist/src/utils/rc_configuration";
import { RCConfigurationModel } from "@pagopa/io-functions-commons/dist/src/models/rc_configuration";
import { RCConfigurationModel } from "@pagopa/io-functions-commons/dist/src/models/rc_configuration_non_versioned_temp";
import { RCConfigurationPublic } from "../generated/definitions/RCConfigurationPublic";
import { RequiredUserIdMiddleware } from "../middlewares/required_headers_middleware";
import { NewRCConfigurationPublic } from "../generated/definitions/NewRCConfigurationPublic";
Expand Down
2 changes: 1 addition & 1 deletion CreateRCConfiguration/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import { withAppInsightsContext } from "@pagopa/io-functions-commons/dist/src/ut
import {
RCConfigurationModel,
RC_CONFIGURATION_COLLECTION_NAME
} from "@pagopa/io-functions-commons/dist/src/models/rc_configuration";
} from "@pagopa/io-functions-commons/dist/src/models/rc_configuration_non_versioned_temp";
import { remoteContentCosmosDbInstance } from "../utils/cosmosdb";
import { getCreateRCConfigurationExpressHandler } from "./handler";

Expand Down
24 changes: 12 additions & 12 deletions GetRCConfiguration/__tests__/handler.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import * as redis_storage from "../../utils/redis_storage";
import {
aRemoteContentConfiguration,
aRetrievedRCConfiguration,
findLastVersionMock,
findByConfigurationIdMock,
rccModelMock
} from "../../__mocks__/remote-content";

Expand Down Expand Up @@ -49,7 +49,7 @@ describe("handleEmptyErrorResponse ", () => {
describe("getRCConfigurationHandler", () => {
test("should return an IResponseSuccessJson calling the model if redis does not return a valid configuration and the userId match", async () => {
getTaskMock.mockReturnValueOnce(TE.right(O.none));
findLastVersionMock.mockReturnValueOnce(
findByConfigurationIdMock.mockReturnValueOnce(
TE.right(O.some(aRemoteContentConfiguration))
);
setWithExpirationTaskMock.mockReturnValueOnce(TE.right(true));
Expand All @@ -63,7 +63,7 @@ describe("getRCConfigurationHandler", () => {
});
expect(r.kind).toBe("IResponseSuccessJson");
expect(getTaskMock).toHaveBeenCalled();
expect(findLastVersionMock).toHaveBeenCalled();
expect(findByConfigurationIdMock).toHaveBeenCalled();
expect(setWithExpirationTaskMock).toHaveBeenCalledWith(
redisClientMock,
`${RC_CONFIGURATION_REDIS_PREFIX}-${aRemoteContentConfiguration.configurationId}`,
Expand All @@ -86,13 +86,13 @@ describe("getRCConfigurationHandler", () => {
});
expect(r.kind).toBe("IResponseSuccessJson");
expect(getTaskMock).toHaveBeenCalled();
expect(findLastVersionMock).not.toHaveBeenCalled();
expect(findByConfigurationIdMock).not.toHaveBeenCalled();
expect(setWithExpirationTaskMock).not.toHaveBeenCalled();
});

test("should return an IResponseSuccessJson if the model return a valid configuration and the user-id is internal", async () => {
getTaskMock.mockReturnValueOnce(TE.right(O.none));
findLastVersionMock.mockReturnValueOnce(
findByConfigurationIdMock.mockReturnValueOnce(
TE.right(O.some(aRemoteContentConfiguration))
);
setWithExpirationTaskMock.mockReturnValueOnce(TE.right(true));
Expand All @@ -106,7 +106,7 @@ describe("getRCConfigurationHandler", () => {
});
expect(r.kind).toBe("IResponseSuccessJson");
expect(getTaskMock).toHaveBeenCalled();
expect(findLastVersionMock).toHaveBeenCalled();
expect(findByConfigurationIdMock).toHaveBeenCalled();
expect(setWithExpirationTaskMock).toHaveBeenCalledWith(
redisClientMock,
`${RC_CONFIGURATION_REDIS_PREFIX}-${aRemoteContentConfiguration.configurationId}`,
Expand All @@ -117,7 +117,7 @@ describe("getRCConfigurationHandler", () => {

test("should return an IResponseErrorForbiddenNotAuthorized if the model return a valid configuration but the userId is not internal or does not match", async () => {
getTaskMock.mockReturnValueOnce(TE.right(O.none));
findLastVersionMock.mockReturnValueOnce(
findByConfigurationIdMock.mockReturnValueOnce(
TE.right(O.some(aRemoteContentConfiguration))
);
setWithExpirationTaskMock.mockReturnValueOnce(TE.right(true));
Expand All @@ -131,7 +131,7 @@ describe("getRCConfigurationHandler", () => {
});
expect(r.kind).toBe("IResponseErrorForbiddenNotAuthorized");
expect(getTaskMock).toHaveBeenCalled();
expect(findLastVersionMock).toHaveBeenCalled();
expect(findByConfigurationIdMock).toHaveBeenCalled();
expect(setWithExpirationTaskMock).toHaveBeenCalledWith(
redisClientMock,
`${RC_CONFIGURATION_REDIS_PREFIX}-${aRemoteContentConfiguration.configurationId}`,
Expand All @@ -142,7 +142,7 @@ describe("getRCConfigurationHandler", () => {

test("should return an IResponseErrorNotFound if the model return an empty Option", async () => {
getTaskMock.mockReturnValueOnce(TE.right(O.none));
findLastVersionMock.mockReturnValueOnce(TE.right(O.none));
findByConfigurationIdMock.mockReturnValueOnce(TE.right(O.none));
const r = await getRCConfigurationHandler({
rccModel: rccModelMock,
config: aConfig,
Expand All @@ -156,13 +156,13 @@ describe("getRCConfigurationHandler", () => {
"Configuration not found: Cannot find any configuration with configurationId: 01HNG1XBMT8V6HWGF5T053K9RJ"
);
expect(getTaskMock).toHaveBeenCalled();
expect(findLastVersionMock).toHaveBeenCalled();
expect(findByConfigurationIdMock).toHaveBeenCalled();
expect(setWithExpirationTaskMock).not.toHaveBeenCalled();
});

test("should return an IResponseErrorInternal if cosmos return an error", async () => {
getTaskMock.mockReturnValueOnce(TE.right(O.none));
findLastVersionMock.mockReturnValueOnce(TE.left(O.none));
findByConfigurationIdMock.mockReturnValueOnce(TE.left(O.none));
const r = await getRCConfigurationHandler({
rccModel: rccModelMock,
config: aConfig,
Expand All @@ -176,7 +176,7 @@ describe("getRCConfigurationHandler", () => {
"Internal server error: Something went wrong trying to retrieve the configuration"
);
expect(getTaskMock).toHaveBeenCalled();
expect(findLastVersionMock).toHaveBeenCalled();
expect(findByConfigurationIdMock).toHaveBeenCalled();
expect(setWithExpirationTaskMock).not.toHaveBeenCalled();
});
});
4 changes: 2 additions & 2 deletions GetRCConfiguration/handler.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ import { retrievedRCConfigurationToPublic } from "@pagopa/io-functions-commons/d
import {
RCConfigurationModel,
RetrievedRCConfiguration
} from "@pagopa/io-functions-commons/dist/src/models/rc_configuration";
} from "@pagopa/io-functions-commons/dist/src/models/rc_configuration_non_versioned_temp";
import { RequiredParamMiddleware } from "@pagopa/io-functions-commons/dist/src/utils/middlewares/required_param";
import { parse } from "fp-ts/lib/Json";
import { RequiredUserIdMiddleware } from "../middlewares/required_headers_middleware";
Expand Down Expand Up @@ -112,7 +112,7 @@ const getOrCacheMaybeRCConfigurationById = (
TE.fold(
() =>
pipe(
rccModel.findLastVersionByModelId([configurationId]),
rccModel.findByConfigurationId(configurationId),
TE.mapLeft(
e => new Error(`${e.kind}, RCConfiguration Id=${configurationId}`)
),
Expand Down
2 changes: 1 addition & 1 deletion GetRCConfiguration/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import { withAppInsightsContext } from "@pagopa/io-functions-commons/dist/src/ut
import {
RCConfigurationModel,
RC_CONFIGURATION_COLLECTION_NAME
} from "@pagopa/io-functions-commons/dist/src/models/rc_configuration";
} from "@pagopa/io-functions-commons/dist/src/models/rc_configuration_non_versioned_temp";
import { remoteContentCosmosDbInstance } from "../utils/cosmosdb";
import { getConfigOrThrow } from "../utils/config";
import { RedisClientFactory } from "../utils/redis";
Expand Down
15 changes: 7 additions & 8 deletions ListRCConfiguration/__tests__/handler.test.ts
Original file line number Diff line number Diff line change
@@ -1,14 +1,13 @@
import { NonEmptyString, Ulid } from "@pagopa/ts-commons/lib/strings";
import * as O from "fp-ts/lib/Option";
import * as E from "fp-ts/lib/Either";
import * as TE from "fp-ts/lib/TaskEither";

import {
aRemoteContentConfiguration,
aUserRCCList,
allLastVersionConfigurations,
allConfigurations,
findAllByUserId,
findAllLastVersionByConfigurationId,
findAllByConfigurationId,
rccModelMock,
userRCCModelMock
} from "../../__mocks__/remote-content";
Expand All @@ -17,8 +16,8 @@ import {
listRCConfigurationHandler
} from "../handler";
import { IConfig } from "../../utils/config";
import { RetrievedUserRCConfiguration, UserRCConfiguration } from "@pagopa/io-functions-commons/dist/src/models/user_rc_configuration";
import { RetrievedRCConfiguration } from "@pagopa/io-functions-commons/dist/src/models/rc_configuration";
import { RetrievedUserRCConfiguration } from "@pagopa/io-functions-commons/dist/src/models/user_rc_configuration";
import { RetrievedRCConfiguration } from "@pagopa/io-functions-commons/dist/src/models/rc_configuration_non_versioned_temp";

const aUserId = "aUserId" as NonEmptyString;
const aConfig = { INTERNAL_USER_ID: "internalUserId" } as IConfig;
Expand All @@ -28,8 +27,8 @@ describe("listRCConfigurationHandler", () => {
findAllByUserId.mockReturnValueOnce(
TE.right(aUserRCCList)
);
findAllLastVersionByConfigurationId.mockReturnValueOnce(
TE.right(allLastVersionConfigurations)
findAllByConfigurationId.mockReturnValueOnce(
TE.right(allConfigurations)
);

const r = await listRCConfigurationHandler({
Expand All @@ -48,7 +47,7 @@ describe("listRCConfigurationHandler", () => {
findAllByUserId.mockReturnValueOnce(
TE.right([] as ReadonlyArray<RetrievedUserRCConfiguration>)
);
findAllLastVersionByConfigurationId.mockReturnValueOnce(
findAllByConfigurationId.mockReturnValueOnce(
TE.right([] as ReadonlyArray<RetrievedRCConfiguration>)
);
const r = await listRCConfigurationHandler({
Expand Down
4 changes: 2 additions & 2 deletions ListRCConfiguration/handler.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import {
import { flow, pipe } from "fp-ts/lib/function";
import { NonEmptyString, Ulid } from "@pagopa/ts-commons/lib/strings";
import { retrievedRCConfigurationToPublic } from "@pagopa/io-functions-commons/dist/src/utils/rc_configuration";
import { RCConfigurationModel } from "@pagopa/io-functions-commons/dist/src/models/rc_configuration";
import { RCConfigurationModel } from "@pagopa/io-functions-commons/dist/src/models/rc_configuration_non_versioned_temp";
import { CosmosErrors } from "@pagopa/io-functions-commons/dist/src/utils/cosmosdb_model";
import { UserRCConfigurationModel } from "@pagopa/io-functions-commons/dist/src/models/user_rc_configuration";
import { RequiredUserIdMiddleware } from "../middlewares/required_headers_middleware";
Expand Down Expand Up @@ -56,7 +56,7 @@ export const listRCConfigurationHandler = ({
RA.map(configuration => Ulid.decode(configuration.id)),
RA.rights,
configIdList =>
rcConfigurationModel.findAllLastVersionByConfigurationId(configIdList)
rcConfigurationModel.findAllByConfigurationId(configIdList)
)
),
TE.mapLeft(handleCosmosErrorResponse),
Expand Down
2 changes: 1 addition & 1 deletion ListRCConfiguration/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import { withAppInsightsContext } from "@pagopa/io-functions-commons/dist/src/ut
import {
RCConfigurationModel,
RC_CONFIGURATION_COLLECTION_NAME
} from "@pagopa/io-functions-commons/dist/src/models/rc_configuration";
} from "@pagopa/io-functions-commons/dist/src/models/rc_configuration_non_versioned_temp";
import {
UserRCConfigurationModel,
USER_RC_CONFIGURATIONS_COLLECTION_NAME
Expand Down
6 changes: 3 additions & 3 deletions UpdateRCConfiguration/__tests__/updateRCConfiguration.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import {
} from "../handler";
import {
aRemoteContentConfiguration,
findLastVersionMock,
findByConfigurationIdMock,
rccModelMock,
upsertConfigurationMock
} from "../../__mocks__/remote-content";
Expand Down Expand Up @@ -63,7 +63,7 @@ describe("handleEmptyConfiguration", () => {

describe("handleGetLastRCConfigurationVersion", () => {
test("should return a left if the find return an error", async () => {
findLastVersionMock.mockReturnValueOnce(TE.left({}));
findByConfigurationIdMock.mockReturnValueOnce(TE.left({}));
const rccModel = rccModelMock;
const r = await handleGetLastRCConfigurationVersion(
rccModel,
Expand All @@ -79,7 +79,7 @@ describe("handleGetLastRCConfigurationVersion", () => {
});

test("should return a right if the find return a right", async () => {
findLastVersionMock.mockReturnValueOnce(
findByConfigurationIdMock.mockReturnValueOnce(
TE.right(O.some(aRemoteContentConfiguration))
);
const r = await handleGetLastRCConfigurationVersion(
Expand Down
4 changes: 2 additions & 2 deletions UpdateRCConfiguration/handler.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ import { pipe } from "fp-ts/lib/function";
import {
RCConfiguration,
RCConfigurationModel
} from "@pagopa/io-functions-commons/dist/src/models/rc_configuration";
} from "@pagopa/io-functions-commons/dist/src/models/rc_configuration_non_versioned_temp";
import { NonEmptyString, Ulid } from "@pagopa/ts-commons/lib/strings";
import { NewRCConfigurationPublic } from "../generated/definitions/NewRCConfigurationPublic";
import { RequiredUserIdMiddleware } from "../middlewares/required_headers_middleware";
Expand Down Expand Up @@ -95,7 +95,7 @@ export const handleGetLastRCConfigurationVersion = (
configurationId: Ulid
): TE.TaskEither<IResponseErrorInternal, O.Option<RCConfiguration>> =>
pipe(
rccModel.findLastVersionByModelId([configurationId]),
rccModel.findByConfigurationId(configurationId),
TE.mapLeft(e =>
ResponseErrorInternal(
`Something went wrong trying to retrieve the configuration: ${e}`
Expand Down
2 changes: 1 addition & 1 deletion UpdateRCConfiguration/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import { withAppInsightsContext } from "@pagopa/io-functions-commons/dist/src/ut
import {
RCConfigurationModel,
RC_CONFIGURATION_COLLECTION_NAME
} from "@pagopa/io-functions-commons/dist/src/models/rc_configuration";
} from "@pagopa/io-functions-commons/dist/src/models/rc_configuration_non_versioned_temp";
import { remoteContentCosmosDbInstance } from "../utils/cosmosdb";
import { getConfigOrThrow } from "../utils/config";
import { RedisClientFactory } from "../utils/redis";
Expand Down
2 changes: 1 addition & 1 deletion __integrations__/__mocks__/fixtures.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import * as O from "fp-ts/Option";
import { pipe } from "fp-ts/lib/function";

import * as MessageCollection from "@pagopa/io-functions-commons/dist/src/models/message";
import * as RCConfiguration from "@pagopa/io-functions-commons/dist/src/models/rc_configuration";
import * as RCConfiguration from "@pagopa/io-functions-commons/dist/src/models/rc_configuration_non_versioned_temp";
import * as UserRCConfiguration from "@pagopa/io-functions-commons/dist/src/models/user_rc_configuration";
import * as MessageViewCollection from "@pagopa/io-functions-commons/dist/src/models/message_view";
import * as MessageStatusCollection from "@pagopa/io-functions-commons/dist/src/models/message_status";
Expand Down
4 changes: 3 additions & 1 deletion __integrations__/__mocks__/mock.remote_content.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { NonEmptyString, Ulid } from "@pagopa/ts-commons/lib/strings";
import { NewRCConfigurationPublic } from "@pagopa/io-functions-commons/dist/generated/definitions/NewRCConfigurationPublic";
import { HasPreconditionEnum } from "@pagopa/io-functions-commons/dist/generated/definitions/HasPrecondition";
import { RCConfiguration } from "@pagopa/io-functions-commons/dist/src/models/rc_configuration";
import { RCConfiguration } from "@pagopa/io-functions-commons/dist/src/models/rc_configuration_non_versioned_temp";

export const aPublicDetailAuthentication = {
header_key_name: "a" as NonEmptyString,
Expand Down Expand Up @@ -34,6 +34,7 @@ export const anotherRemoteContentConfiguration: RCConfiguration = {
userId: "aUserId" as NonEmptyString,
name: "aRemoteContentConfiguration" as NonEmptyString,
description: "a description" as NonEmptyString,
id: "01HNG1XBMT8V6HWGF5T053K9RK-0000000000000000" as NonEmptyString,
configurationId: "01HNG1XBMT8V6HWGF5T053K9RK" as Ulid,
prodEnvironment: {
baseUrl: "aValidUrl" as NonEmptyString,
Expand Down Expand Up @@ -65,6 +66,7 @@ export const aRemoteContentConfiguration: RCConfiguration = {
userId: "aUserId" as NonEmptyString,
name: "aRemoteContentConfiguration" as NonEmptyString,
description: "a description" as NonEmptyString,
id: "01HNG1XBMT8V6HWGF5T053K9RJ-0000000000000000" as NonEmptyString,
configurationId: "01HNG1XBMT8V6HWGF5T053K9RJ" as Ulid,
prodEnvironment: {
baseUrl: "aValidUrl" as NonEmptyString,
Expand Down
6 changes: 3 additions & 3 deletions __integrations__/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,9 @@
"generate-env": "npm-run-all clean generate:env:*"
},
"dependencies": {
"@azure/cosmos": "^3.17.1",
"@azure/cosmos": "^4.0.0",
"@azure/storage-queue": "^12.7.0",
"@pagopa/io-functions-commons": "^28.20.0",
"@pagopa/io-functions-commons": "^29.0.3",
"@pagopa/ts-commons": "^10.10.0",
"@types/jest": "^27.0.2",
"@types/node": "^18.11.18",
Expand All @@ -42,4 +42,4 @@
"shx": "^0.3.3",
"typescript": "^4.4.4"
}
}
}
Loading

0 comments on commit ee83c10

Please sign in to comment.