UNPKG

@pagopa/dx-cli

Version:

A CLI useful to manage DX tools.

24 lines (23 loc) 893 B
import { SubscriptionClient } from "@azure/arm-resources-subscriptions"; import { z } from "zod/v4"; import { cloudAccountSchema, } from "../../domain/cloud-account.js"; import { defaultLocation } from "./locations.js"; export class AzureSubscriptionRepository { #subscriptionClient; constructor(credential) { this.#subscriptionClient = new SubscriptionClient(credential); } async list() { const subscriptions = []; for await (const subscription of this.#subscriptionClient.subscriptions.list()) { if (subscription.state === "Enabled") { subscriptions.push({ defaultLocation, displayName: subscription.displayName, id: subscription.subscriptionId, }); } } return z.array(cloudAccountSchema).parse(subscriptions); } }