import { registerListTableRecordsTool } from './list.js'; import { registerGetRecordTool } from './getRecord.js'; import { registerCreateOrUpdateRecordTool } from './createUpdate.js'; import { registerDeleteTableRecordsTool } from './delete.js'; import { registerAddModuleToRecordTool } from './addModuleToRecord.js'; import { registerRemoveModuleFromRecordTool } from './removeModuleFromRecord.js'; import { registerListPageModulesTool } from './listPageModules.js'; import { registerReorderModuleTool } from './reorderModule.js'; import { registerToggleModuleVisibilityTool } from './toggleModuleVisibility.js'; import { registerSetModuleConfigVarsTool } from './setModuleConfigVars.js'; import { registerGetModuleConfigVarsTool } from './getModuleConfigVars.js'; import { canEditContent } from '../helpers/roleCheck.js'; /** * Tools de registros del CMS. * * Las de lectura se registran siempre (tambien para el rol "auditor", que es * solo lectura total). Las de escritura van tras canEditContent(): developer * y editor si, auditor no. * * El orden de registro es el mismo que antes del gate para no alterar el * listado de tools que ven los roles existentes. */ export function registerRecordTools(server) { const canWriteContent = canEditContent(); registerListTableRecordsTool(server); registerGetRecordTool(server); if (canWriteContent) { registerCreateOrUpdateRecordTool(server); registerDeleteTableRecordsTool(server); registerAddModuleToRecordTool(server); registerRemoveModuleFromRecordTool(server); } registerListPageModulesTool(server); if (canWriteContent) { registerReorderModuleTool(server); registerToggleModuleVisibilityTool(server); registerSetModuleConfigVarsTool(server); } registerGetModuleConfigVarsTool(server); }