@simonecoelhosfo/optimizely-mcp-server
Version:
Optimizely MCP Server for AI assistants with integrated CLI tools
58 lines • 2.31 kB
JavaScript
/**
* Update Flags Bulk Tool - Individual Module
* @description Performs bulk update operations on multiple flags
* @since 2025-08-04
* @author Tool Modularization Team
*
* Migration Status: COMPLETED
* Original Method: OptimizelyMCPTools.updateFlags
* Complexity: MEDIUM
* Dependencies: logger, errorMapper, apiClient
*/
/**
* Creates the Update Flags Bulk tool with injected dependencies
* @param deps - Injected dependencies (storage, logger, errorMapper, etc.)
* @returns Tool definition with handler
*/
export function createUpdateFlagsBulkTool(deps) {
return {
name: 'update_flags_bulk',
requiresCache: true,
category: 'operations',
description: 'Performs bulk update operations on multiple flags',
handler: async (args) => {
const { project_id: projectId, flags_data: flagsData } = args;
try {
deps.logger.debug({
projectId,
flagCount: flagsData.length
}, 'OptimizelyMCPTools.updateFlags: Starting bulk flag update');
const result = await deps.apiClient.updateFlags(projectId, flagsData);
deps.logger.debug({
projectId,
flagCount: flagsData.length,
successful: result.successful || 0,
failed: result.failed || 0
}, 'OptimizelyMCPTools.updateFlags: Bulk flag update completed');
return {
project_id: projectId,
total_flags: flagsData.length,
successful: result.successful || 0,
failed: result.failed || 0,
results: result.results || [],
errors: result.errors || [],
timestamp: new Date().toISOString()
};
}
catch (error) {
deps.logger.error({
projectId,
flagCount: flagsData.length,
error: error.message
}, 'OptimizelyMCPTools.updateFlags: Failed to bulk update flags');
throw deps.errorMapper.toMCPError(error, 'Failed to bulk update flags');
}
}
};
}
//# sourceMappingURL=UpdateFlagsBulk.js.map