Newer
Older
EnvoyControlPlane / static / js / api / extensionConfigsService.js
// static/js/api/extensionConfigsService.js
import { request } from './baseApi.js';

export async function fetchExtensionConfigs() {
    return await request('/list-extension-configs');
}

export async function toggleExtensionConfigStatus(name, action) {
    return await request(`/${action}-extension-config`, {
        method: 'POST',
        body: JSON.stringify({ name })
    });
}

export async function addExtensionConfig(yaml, upsert = false) {
    const payload = { yaml };
    if (upsert) {
        payload.upsert = true;
    }
    return await request('/add-extension-config', {
        method: 'POST',
        body: JSON.stringify(payload)
    });
}

export async function removeExtensionConfig(name) {
    return await request('/remove-extension-config', {
        method: 'POST',
        body: JSON.stringify({ name })
    });
}

export async function fetchExtensionConfigYaml(name) {
    return await request(`/get-extension-config?name=${name}&format=yaml`);
}