@twilio/flex-plugins-api-client
Version:
Flex Plugins API Client
63 lines (62 loc) • 2.06 kB
TypeScript
import { Pagination, PaginationMeta } from '@twilio/flex-dev-utils/dist/http';
import PluginServiceHttp from './client';
export interface ConfigurationResource {
sid: string;
account_sid: string;
name: string;
description: string;
archived: boolean;
date_created: string;
}
declare const RESPONSE_KEY = "configurations";
export interface ConfigurationResourcePage extends PaginationMeta {
[RESPONSE_KEY]: ConfigurationResource[];
}
export interface CreateConfiguredPlugin {
phase: number;
plugin_version: string;
}
export interface CreateConfigurationResource {
Name: string;
Plugins: CreateConfiguredPlugin[];
Description?: string;
}
/**
* Plugin Configuration Public API Http client for the Configuration resource
* @link https://www.twilio.com/docs/flex/plugins/api/plugin-configuration
*/
export default class ConfigurationsClient {
private readonly client;
constructor(client: PluginServiceHttp);
/**
* Helper method to generate the URI for Configurations
*
* @param configId the configuration identifier
*/
private static getUrl;
/**
* Fetches a list of {@link ConfigurationResource}
* @param pagination the pagination meta data
*/
list(pagination?: Pagination): Promise<ConfigurationResourcePage>;
/**
* Fetches the latest {@link ConfigurationResource}
*/
latest(): Promise<ConfigurationResource | null>;
/**
* Fetches an instance of the {@link ConfigurationResource}
* @param configId the configuration identifier
*/
get(configId: string): Promise<ConfigurationResource>;
/**
* Creates a new {@link ConfigurationResource}
* @param object the {@link CreateConfigurationResource} request
*/
create(object: CreateConfigurationResource): Promise<ConfigurationResource>;
/**
* Archives the {@link ConfigurationResource}
* @param configId the configuration identifier to archive
*/
archive(configId: string): Promise<ConfigurationResource>;
}
export {};