@c8y/client
Version:
Client application programming interface to access the Cumulocity IoT-Platform REST services.
116 lines • 4.1 kB
TypeScript
import { IResult, IResultList, Service } from '../core/index.js';
import { FeatureToggleQueryFilter, IFeatureToggle } from './IFeatureToggle.js';
/**
* This class allows reading a feature toggles for current tenant.
*/
export declare class FeatureService extends Service<IFeatureToggle> {
protected baseUrl: string;
protected listUrl: string;
/**
* Retrieve list of feature toggles with values for current tenant.
*
* **Example**
* ```typescript
*
* const filter = {
* pageSize: 1000,
* withTotalPages: true
* };
*
* (async () => {
* const {data, res, paging} = await featureService.list(filter);
* })();
* ```
*/
list(filter?: FeatureToggleQueryFilter): Promise<IResultList<IFeatureToggle>>;
/**
* Retrieve a specific feature toggle with value for current tenant.
*
* **Example**
* ```typescript
*
* (async () => {
* const featureToggleKey = 'my-custom-feature';
* const {data, res} = await featureService.detail(featureToggleKey);
* })();
* ```
*/
detail(key: string): Promise<IResult<IFeatureToggle>>;
/**
* Retrieve the feature toggle state for the provided key grouped by tenant.
*
* **Example**
* ```typescript
*
* (async () => {
* const featureToggleKey = 'my-custom-feature';
* const {data, res} = await featureService.detailByTenant(featureToggleKey);
* })();
* ```
*/
detailByTenant(key: string, filter?: FeatureToggleQueryFilter): Promise<IResultList<{
tenantId: string;
active: boolean;
}>>;
/**
* Update a specific feature toggle value for current tenant.
*
* **Example**
* ```typescript
* (async () => {
* const featureToggleKey = 'my-custom-feature';
* const {data, res} = await featureService.updateFeature({
* key: featureToggleKey,
* active: true,
* });
* ```
*/
updateFeature(feature: Partial<Omit<IFeatureToggle, 'key'>> & Pick<IFeatureToggle, 'key'>): Promise<IResult<IFeatureToggle>>;
/**
* Update a specific feature toggle value for the provided tenant.
*
* **Example**
* ```typescript
* (async () => {
* const featureToggleKey = 'my-custom-feature';
* const {data, res} = await featureService.updateFeatureByTenant({
* key: featureToggleKey,
* active: true,
* }, 't123456');
* ```
*/
updateFeatureByTenant(feature: Partial<Omit<IFeatureToggle, 'key'>> & Pick<IFeatureToggle, 'key'>, tenantId: string): Promise<IResult<IFeatureToggle>>;
/**
* Removes the feature toggle override for current tenant.
*
* Removal of the override will cause the tenant to use the feature toggle value based on the phase of the feature toggle.
*
* **Example**
* ```typescript
* (async () => {
* const featureToggleKey = 'my-custom-feature';
* const {data, res} = await featureService.removeTenantOverride({
* key: featureToggleKey,
* active: true,
* });
* ```
*/
removeTenantOverride(feature: Partial<Omit<IFeatureToggle, 'key'>> & Pick<IFeatureToggle, 'key'>): Promise<IResult<IFeatureToggle>>;
/**
* Removes the feature toggle override for the provided tenant.
*
* Removal of the override will cause the tenant to use the feature toggle value based on the phase of the feature toggle.
*
* **Example**
* ```typescript
* (async () => {
* const featureToggleKey = 'my-custom-feature';
* const {data, res} = await featureService.removeTenantOverrideByTenant({
* key: featureToggleKey,
* active: true,
* }, 't123456');
* ```
*/
removeTenantOverrideByTenant(feature: Partial<Omit<IFeatureToggle, 'key'>> & Pick<IFeatureToggle, 'key'>, tenantId: string): Promise<IResult<IFeatureToggle>>;
}
//# sourceMappingURL=FeatureService.d.ts.map