mirror of https://github.com/portainer/portainer
31 lines
768 B
TypeScript
31 lines
768 B
TypeScript
|
import { EnvironmentId } from '@/portainer/environments/types';
|
||
|
import axios, { parseAxiosError } from '@/portainer/services/axios';
|
||
|
|
||
|
import { Subscription } from '../types';
|
||
|
|
||
|
import { azureErrorParser } from './utils';
|
||
|
|
||
|
export async function getSubscriptions(environmentId: EnvironmentId) {
|
||
|
try {
|
||
|
const { data } = await axios.get<{ value: Subscription[] }>(
|
||
|
buildUrl(environmentId)
|
||
|
);
|
||
|
return data.value;
|
||
|
} catch (e) {
|
||
|
throw parseAxiosError(
|
||
|
e as Error,
|
||
|
'Unable to retrieve subscriptions',
|
||
|
azureErrorParser
|
||
|
);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
function buildUrl(environmentId: EnvironmentId, id?: string) {
|
||
|
let url = `/endpoints/${environmentId}/azure/subscriptions?api-version=2016-06-01`;
|
||
|
if (id) {
|
||
|
url += `/${id}`;
|
||
|
}
|
||
|
|
||
|
return url;
|
||
|
}
|