From a58960307186424b9774b9ea2f2659a6476c5df4 Mon Sep 17 00:00:00 2001 From: CaitlynStocker Date: Thu, 6 Nov 2025 10:09:48 +1000 Subject: [PATCH 1/6] Testing updated env repo with deploy action --- src/features/deploymentEnvironments/environmentRepository.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/features/deploymentEnvironments/environmentRepository.ts b/src/features/deploymentEnvironments/environmentRepository.ts index 62a99db..f7121b6 100644 --- a/src/features/deploymentEnvironments/environmentRepository.ts +++ b/src/features/deploymentEnvironments/environmentRepository.ts @@ -10,7 +10,7 @@ type EnvironmentRepositoryListArgs = { partialName?: string; } & ListArgs; -export class EnvironmentRepository extends SpaceScopedBasicRepository { +export class EnvironmentRepository extends SpaceScopedBasicRepository { constructor(client: Client, spaceName: string) { super(client, spaceName, `${spaceScopedRoutePrefix}/environments`, "skip,take,ids,partialName"); } From ae2308928547da4fd0e310b2ea8a671deef61c69 Mon Sep 17 00:00:00 2001 From: CaitlynStocker Date: Thu, 6 Nov 2025 10:27:08 +1000 Subject: [PATCH 2/6] Swap out for v2 endpoint --- src/features/deploymentEnvironments/environmentRepository.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/features/deploymentEnvironments/environmentRepository.ts b/src/features/deploymentEnvironments/environmentRepository.ts index f7121b6..0c43fab 100644 --- a/src/features/deploymentEnvironments/environmentRepository.ts +++ b/src/features/deploymentEnvironments/environmentRepository.ts @@ -12,7 +12,7 @@ type EnvironmentRepositoryListArgs = { export class EnvironmentRepository extends SpaceScopedBasicRepository { constructor(client: Client, spaceName: string) { - super(client, spaceName, `${spaceScopedRoutePrefix}/environments`, "skip,take,ids,partialName"); + super(client, spaceName, `${spaceScopedRoutePrefix}/v2`, "skip,take,ids,partialName"); } // getMetadata(environment: DeploymentEnvironment): Promise { From 20fae2bc6e16e140187dd34cd31adcae8c22b889 Mon Sep 17 00:00:00 2001 From: CaitlynStocker Date: Thu, 6 Nov 2025 10:29:04 +1000 Subject: [PATCH 3/6] Add example --- examples/src/environments/get-environments.ts | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 examples/src/environments/get-environments.ts diff --git a/examples/src/environments/get-environments.ts b/examples/src/environments/get-environments.ts new file mode 100644 index 0000000..514a9a5 --- /dev/null +++ b/examples/src/environments/get-environments.ts @@ -0,0 +1,21 @@ +import { ClientConfiguration, EnvironmentRepository } from "../../../src/index"; +import { CreateClient } from "../utility"; + +const main = async () => { + + const configuration: ClientConfiguration = { + userAgentApp: "examples", + instanceURL: "http://localhost:5000", // required + apiKey: "API-DONTCOMMITTHEKEY", // required + }; + + const client = await CreateClient(configuration); + + const environmentsRepo = new EnvironmentRepository(client, "Default"); + + const environments = await environmentsRepo.list(); + + environments.Items.map(env => console.log(` - ${env.Name} (ID: ${env.Id})`)); +}; + +main(); \ No newline at end of file From e682e8f939c308a2082bf031e01602b065ebd048 Mon Sep 17 00:00:00 2001 From: CaitlynStocker Date: Thu, 6 Nov 2025 15:03:54 +1000 Subject: [PATCH 4/6] Add v2 environments repo --- examples/src/environments/get-environments.ts | 14 +++++++---- .../environmentRepository.ts | 4 +-- .../environmentV2Repository.ts | 25 +++++++++++++++++++ src/features/deploymentEnvironments/index.ts | 1 + 4 files changed, 37 insertions(+), 7 deletions(-) create mode 100644 src/features/deploymentEnvironments/environmentV2Repository.ts diff --git a/examples/src/environments/get-environments.ts b/examples/src/environments/get-environments.ts index 514a9a5..fb964f9 100644 --- a/examples/src/environments/get-environments.ts +++ b/examples/src/environments/get-environments.ts @@ -1,20 +1,24 @@ -import { ClientConfiguration, EnvironmentRepository } from "../../../src/index"; +import { ClientConfiguration, EnvironmentV2Repository } from "../../../src/index"; import { CreateClient } from "../utility"; const main = async () => { const configuration: ClientConfiguration = { userAgentApp: "examples", - instanceURL: "http://localhost:5000", // required - apiKey: "API-DONTCOMMITTHEKEY", // required + instanceURL: "instance-url", // required + apiKey: "api-key", // required }; const client = await CreateClient(configuration); - const environmentsRepo = new EnvironmentRepository(client, "Default"); + const environmentsRepo = new EnvironmentV2Repository(client, "Default"); - const environments = await environmentsRepo.list(); + const environments = await environmentsRepo.list({skip: 0, take: 1000}); + if (environments.Items.length === 0) { + console.log("No environments found."); + return; + } environments.Items.map(env => console.log(` - ${env.Name} (ID: ${env.Id})`)); }; diff --git a/src/features/deploymentEnvironments/environmentRepository.ts b/src/features/deploymentEnvironments/environmentRepository.ts index 0c43fab..62a99db 100644 --- a/src/features/deploymentEnvironments/environmentRepository.ts +++ b/src/features/deploymentEnvironments/environmentRepository.ts @@ -10,9 +10,9 @@ type EnvironmentRepositoryListArgs = { partialName?: string; } & ListArgs; -export class EnvironmentRepository extends SpaceScopedBasicRepository { +export class EnvironmentRepository extends SpaceScopedBasicRepository { constructor(client: Client, spaceName: string) { - super(client, spaceName, `${spaceScopedRoutePrefix}/v2`, "skip,take,ids,partialName"); + super(client, spaceName, `${spaceScopedRoutePrefix}/environments`, "skip,take,ids,partialName"); } // getMetadata(environment: DeploymentEnvironment): Promise { diff --git a/src/features/deploymentEnvironments/environmentV2Repository.ts b/src/features/deploymentEnvironments/environmentV2Repository.ts new file mode 100644 index 0000000..88982e4 --- /dev/null +++ b/src/features/deploymentEnvironments/environmentV2Repository.ts @@ -0,0 +1,25 @@ +import { Client, DeploymentEnvironmentV2, ListArgs, ResourceCollection, spaceScopedRoutePrefix } from "../.."; + +type EnvironmentV2RepositoryListArgs = { + ids?: string[]; + partialName?: string; + skip: number; + take: number; +} & ListArgs; + +export class EnvironmentV2Repository { + private client: Client; + private spaceName: string; + + constructor(client: Client, spaceName: string) { + this.client = client; + this.spaceName = spaceName; + } + + async list(args?: EnvironmentV2RepositoryListArgs): Promise> { + return this.client.request(`${spaceScopedRoutePrefix}/environments/v2{?skip,take}`, { + spaceName: this.spaceName, + ...args, // not sure what args is doing but lets leave it for now + }); + } +} diff --git a/src/features/deploymentEnvironments/index.ts b/src/features/deploymentEnvironments/index.ts index 9296a6d..80fd90c 100644 --- a/src/features/deploymentEnvironments/index.ts +++ b/src/features/deploymentEnvironments/index.ts @@ -1,2 +1,3 @@ export * from "./deploymentEnvironment"; export * from "./environmentRepository"; +export * from "./environmentV2Repository"; From c7b3cdc5322c9d1fd9bed65c4d85911a0fc3df1f Mon Sep 17 00:00:00 2001 From: CaitlynStocker Date: Thu, 6 Nov 2025 15:10:50 +1000 Subject: [PATCH 5/6] Pass through all args --- examples/src/environments/get-environments.ts | 2 +- .../deploymentEnvironments/environmentV2Repository.ts | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/examples/src/environments/get-environments.ts b/examples/src/environments/get-environments.ts index fb964f9..0374df7 100644 --- a/examples/src/environments/get-environments.ts +++ b/examples/src/environments/get-environments.ts @@ -13,7 +13,7 @@ const main = async () => { const environmentsRepo = new EnvironmentV2Repository(client, "Default"); - const environments = await environmentsRepo.list({skip: 0, take: 1000}); + const environments = await environmentsRepo.list({ skip: 0, take: 1000 }); if (environments.Items.length === 0) { console.log("No environments found."); diff --git a/src/features/deploymentEnvironments/environmentV2Repository.ts b/src/features/deploymentEnvironments/environmentV2Repository.ts index 88982e4..dc7a653 100644 --- a/src/features/deploymentEnvironments/environmentV2Repository.ts +++ b/src/features/deploymentEnvironments/environmentV2Repository.ts @@ -1,11 +1,11 @@ -import { Client, DeploymentEnvironmentV2, ListArgs, ResourceCollection, spaceScopedRoutePrefix } from "../.."; +import { Client, DeploymentEnvironmentV2, ResourceCollection, spaceScopedRoutePrefix } from "../.."; type EnvironmentV2RepositoryListArgs = { ids?: string[]; partialName?: string; skip: number; take: number; -} & ListArgs; +}; export class EnvironmentV2Repository { private client: Client; @@ -17,9 +17,9 @@ export class EnvironmentV2Repository { } async list(args?: EnvironmentV2RepositoryListArgs): Promise> { - return this.client.request(`${spaceScopedRoutePrefix}/environments/v2{?skip,take}`, { + return this.client.request(`${spaceScopedRoutePrefix}/environments/v2{?ids,partialName,skip,take}`, { spaceName: this.spaceName, - ...args, // not sure what args is doing but lets leave it for now + ...args, }); } } From 365cd057af865b8f712619535962045bef1cb876 Mon Sep 17 00:00:00 2001 From: CaitlynStocker Date: Thu, 6 Nov 2025 16:47:07 +1000 Subject: [PATCH 6/6] Add type to list args --- .../deploymentEnvironments/environmentV2Repository.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/features/deploymentEnvironments/environmentV2Repository.ts b/src/features/deploymentEnvironments/environmentV2Repository.ts index dc7a653..e9d7ed2 100644 --- a/src/features/deploymentEnvironments/environmentV2Repository.ts +++ b/src/features/deploymentEnvironments/environmentV2Repository.ts @@ -3,10 +3,13 @@ import { Client, DeploymentEnvironmentV2, ResourceCollection, spaceScopedRoutePr type EnvironmentV2RepositoryListArgs = { ids?: string[]; partialName?: string; + type?: EnvironmentType; skip: number; take: number; }; +type EnvironmentType = "Static" | "Parent" | "Ephemeral"; + export class EnvironmentV2Repository { private client: Client; private spaceName: string; @@ -17,7 +20,7 @@ export class EnvironmentV2Repository { } async list(args?: EnvironmentV2RepositoryListArgs): Promise> { - return this.client.request(`${spaceScopedRoutePrefix}/environments/v2{?ids,partialName,skip,take}`, { + return this.client.request(`${spaceScopedRoutePrefix}/environments/v2{?ids,partialName,type,skip,take}`, { spaceName: this.spaceName, ...args, });