mirror of
https://github.com/danny-avila/LibreChat.git
synced 2025-12-17 08:50:15 +01:00
* refactor: Resource Migration Scripts for DocumentDB compatibility * fix: Correct type annotation for `db` parameter in ensureCollectionExists function
48 lines
1.3 KiB
JavaScript
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,
|
|
};
|