LibreChat/api/server/services/start/migration.js
Danny Avila ac641e7cba
🗄️ refactor: Resource Migration Scripts for DocumentDB Compatibility (#9249)
* refactor: Resource Migration Scripts for DocumentDB compatibility

* fix: Correct type annotation for `db` parameter in ensureCollectionExists function
2025-08-25 03:01:50 -04:00

48 lines
1.3 KiB
JavaScript

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,
};