const mongoose = require('mongoose'); const { logger } = require('@librechat/data-schemas'); const { logAgentMigrationWarning, logPromptMigrationWarning, checkAgentPermissionsMigration, checkPromptPermissionsMigration, } = require('@librechat/api'); const { getProjectByName } = require('~/models/Project'); const { Agent, PromptGroup } = require('~/db/models'); const { findRoleByIdentifier } = require('~/models'); /** * Check if permissions migrations are needed for shared resources * This runs at the end to ensure all systems are initialized */ async function checkMigrations() { try { const agentMigrationResult = await checkAgentPermissionsMigration({ mongoose, methods: { findRoleByIdentifier, getProjectByName, }, AgentModel: Agent, }); logAgentMigrationWarning(agentMigrationResult); } catch (error) { logger.error('Failed to check agent permissions migration:', error); } try { const promptMigrationResult = await checkPromptPermissionsMigration({ mongoose, methods: { findRoleByIdentifier, getProjectByName, }, PromptGroupModel: PromptGroup, }); logPromptMigrationWarning(promptMigrationResult); } catch (error) { logger.error('Failed to check prompt permissions migration:', error); } } module.exports = { checkMigrations, };