53 lines
1.7 KiB
JavaScript
53 lines
1.7 KiB
JavaScript
const mongoose = require('mongoose');
|
|
|
|
const MONGODB_URI = 'mongodb+srv://admtracksteel:29OHAHpKTI8XcCNt@cluster0.a4xiilu.mongodb.net/ts_gpi?retryWrites=true&w=majority&appName=Cluster0';
|
|
|
|
async function fix() {
|
|
try {
|
|
await mongoose.connect(MONGODB_URI);
|
|
|
|
// Define simple models for the script
|
|
const User = mongoose.models.User || mongoose.model('User', new mongoose.Schema({
|
|
email: String,
|
|
organizationId: String
|
|
}));
|
|
|
|
const Organization = mongoose.models.Organization || mongoose.model('Organization', new mongoose.Schema({
|
|
externalId: String,
|
|
name: String
|
|
}));
|
|
|
|
// 1. Garante que existe uma organização padrão
|
|
let org = await Organization.findOne({ externalId: 'default-org' });
|
|
if (!org) {
|
|
org = await Organization.create({
|
|
externalId: 'default-org',
|
|
name: 'Default Organization'
|
|
});
|
|
console.log('✅ Organização default-org criada.');
|
|
} else {
|
|
console.log('✅ Organização default-org já existe.');
|
|
}
|
|
|
|
// 2. Vincula o admin à organização
|
|
const email = 'admtracksteel@gmail.com';
|
|
const result = await User.updateOne(
|
|
{ email },
|
|
{ $set: { organizationId: 'default-org' } }
|
|
);
|
|
|
|
if (result.matchedCount > 0) {
|
|
console.log(`✅ Usuário ${email} vinculado à organização default-org.`);
|
|
} else {
|
|
console.log(`❌ Usuário ${email} não encontrado.`);
|
|
}
|
|
|
|
} catch (err) {
|
|
console.error(err);
|
|
} finally {
|
|
await mongoose.disconnect();
|
|
process.exit(0);
|
|
}
|
|
}
|
|
fix();
|