/** * Store API * * API layer for the Feature Store. * Manages feature activation/deactivation in the root mandate's shared instances. */ import api from '../api'; export interface StoreFeature { featureCode: string; label: Record; icon: string; description: Record; isActive: boolean; canActivate: boolean; instanceId: string | null; } export interface StoreActivateResponse { featureCode: string; instanceId: string; featureAccessId: string; roleId: string | null; activated: boolean; } export interface StoreDeactivateResponse { featureCode: string; instanceId: string; deactivated: boolean; } export async function fetchStoreFeatures(): Promise { const response = await api.get('/api/store/features'); return response.data; } export async function activateStoreFeature(featureCode: string): Promise { const response = await api.post('/api/store/activate', { featureCode }); return response.data; } export async function deactivateStoreFeature(featureCode: string): Promise { const response = await api.post('/api/store/deactivate', { featureCode }); return response.data; }