finalizacao da mudanca radical mongo-supa
This commit is contained in:
@@ -1,30 +0,0 @@
|
||||
const mongoose = require('mongoose');
|
||||
const bcrypt = require('bcryptjs');
|
||||
|
||||
const MONGODB_URI = 'mongodb+srv://admtracksteel:29OHAHpKTI8XcCNt@cluster0.a4xiilu.mongodb.net/ts_gpi?retryWrites=true&w=majority&appName=Cluster0';
|
||||
|
||||
const UserSchema = new mongoose.Schema({
|
||||
email: String,
|
||||
passwordHash: String
|
||||
});
|
||||
|
||||
async function check() {
|
||||
try {
|
||||
await mongoose.connect(MONGODB_URI);
|
||||
const User = mongoose.models.User || mongoose.model('User', UserSchema);
|
||||
const user = await User.findOne({ email: 'admtracksteel@gmail.com' });
|
||||
|
||||
if (user) {
|
||||
const isMatch = await bcrypt.compare('admin', user.passwordHash);
|
||||
console.log('PASSWORD_MATCH_ADMIN:' + isMatch);
|
||||
} else {
|
||||
console.log('USER_NOT_FOUND');
|
||||
}
|
||||
} catch (err) {
|
||||
console.error(err);
|
||||
} finally {
|
||||
await mongoose.disconnect();
|
||||
process.exit(0);
|
||||
}
|
||||
}
|
||||
check();
|
||||
@@ -1,25 +0,0 @@
|
||||
const mongoose = require('mongoose');
|
||||
|
||||
const MONGODB_URI = 'mongodb+srv://admtracksteel:29OHAHpKTI8XcCNt@cluster0.a4xiilu.mongodb.net/ts_gpi?retryWrites=true&w=majority&appName=Cluster0';
|
||||
|
||||
const UserSchema = new mongoose.Schema({
|
||||
email: String,
|
||||
role: String,
|
||||
passwordHash: String,
|
||||
externalId: String
|
||||
});
|
||||
|
||||
async function check() {
|
||||
try {
|
||||
await mongoose.connect(MONGODB_URI);
|
||||
const User = mongoose.models.User || mongoose.model('User', UserSchema);
|
||||
const user = await User.findOne({ email: 'admtracksteel@gmail.com' });
|
||||
console.log('USER_CHECK_RESULT:' + JSON.stringify(user));
|
||||
} catch (err) {
|
||||
console.error(err);
|
||||
} finally {
|
||||
await mongoose.disconnect();
|
||||
process.exit(0);
|
||||
}
|
||||
}
|
||||
check();
|
||||
@@ -1,49 +0,0 @@
|
||||
const mongoose = require('mongoose');
|
||||
const uri = "mongodb+srv://admtracksteel:29OHAHpKTI8XcCNt@cluster0.a4xiilu.mongodb.net/ts_gpi?retryWrites=true&w=majority&appName=Cluster0";
|
||||
|
||||
async function checkClerk() {
|
||||
try {
|
||||
console.log('Connecting to MongoDB...');
|
||||
await mongoose.connect(uri);
|
||||
console.log('Connected.');
|
||||
|
||||
const db = mongoose.connection.db;
|
||||
const collections = await db.listCollections().toArray();
|
||||
|
||||
let foundClerkGlobal = false;
|
||||
|
||||
for (const collInfo of collections) {
|
||||
const collection = db.collection(collInfo.name);
|
||||
|
||||
// Search for documents having clerkId or clerkUserId
|
||||
const anyClerk = await collection.findOne({
|
||||
$or: [
|
||||
{ clerkId: { $exists: true } },
|
||||
{ clerkUserId: { $exists: true } },
|
||||
{ userId: /clerk/i },
|
||||
{ email: /clerk/i }
|
||||
]
|
||||
});
|
||||
|
||||
if (anyClerk) {
|
||||
console.log(`[!] Found Clerk-related data in collection: ${collInfo.name}`);
|
||||
console.log('Example document keys:', Object.keys(anyClerk));
|
||||
foundClerkGlobal = true;
|
||||
} else {
|
||||
console.log(`[ ] No obvious Clerk data in: ${collInfo.name}`);
|
||||
}
|
||||
}
|
||||
|
||||
if (!foundClerkGlobal) {
|
||||
console.log('>>> NO CLERK DATA FOUND IN ANY COLLECTION <<<');
|
||||
}
|
||||
|
||||
await mongoose.disconnect();
|
||||
console.log('Done.');
|
||||
} catch (err) {
|
||||
console.error('Error:', err);
|
||||
process.exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
checkClerk();
|
||||
@@ -1,52 +0,0 @@
|
||||
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();
|
||||
@@ -1,41 +0,0 @@
|
||||
const mongoose = require('mongoose');
|
||||
const uri = "mongodb+srv://admtracksteel:29OHAHpKTI8XcCNt@cluster0.a4xiilu.mongodb.net/ts_gpi?retryWrites=true&w=majority&appName=Cluster0";
|
||||
|
||||
async function migrateDB() {
|
||||
try {
|
||||
console.log('Connecting to MongoDB...');
|
||||
await mongoose.connect(uri);
|
||||
console.log('Connected.');
|
||||
|
||||
const db = mongoose.connection.db;
|
||||
|
||||
// 1. Rename clerkId to externalId in users
|
||||
console.log('Migrating Users...');
|
||||
await db.collection('users').updateMany(
|
||||
{ clerkId: { $exists: true } },
|
||||
{ $rename: { "clerkId": "externalId" } }
|
||||
);
|
||||
|
||||
// 2. Rename clerkUserId to userId in organizationmembers
|
||||
console.log('Migrating OrganizationMembers...');
|
||||
await db.collection('organizationmembers').updateMany(
|
||||
{ clerkUserId: { $exists: true } },
|
||||
{ $rename: { "clerkUserId": "userId" } }
|
||||
);
|
||||
|
||||
// 3. Rename clerkId to externalId in organizations
|
||||
console.log('Migrating Organizations...');
|
||||
await db.collection('organizations').updateMany(
|
||||
{ clerkId: { $exists: true } },
|
||||
{ $rename: { "clerkId": "externalId" } }
|
||||
);
|
||||
|
||||
console.log('Migration completed successfully.');
|
||||
await mongoose.disconnect();
|
||||
} catch (err) {
|
||||
console.error('Migration failed:', err);
|
||||
process.exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
migrateDB();
|
||||
@@ -1,48 +0,0 @@
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
|
||||
const rootDir = 'C:\\Users\\Marcos\\.gemini\\antigravity\\scratch\\gpi\\src';
|
||||
|
||||
const replacements = [
|
||||
{ from: /clerkId/g, to: 'externalId' },
|
||||
{ from: /clerkUserId/g, to: 'userId' },
|
||||
{ from: /x-clerk-user-id/g, to: 'x-auth-user-id' },
|
||||
{ from: /Clerk/g, to: 'Auth' }, // Use with caution, but mostly it's ClerkProvider or Clerk-related
|
||||
// Add more if needed
|
||||
];
|
||||
|
||||
function walk(dir) {
|
||||
const files = fs.readdirSync(dir);
|
||||
for (const file of files) {
|
||||
const fullPath = path.join(dir, file);
|
||||
const stat = fs.statSync(fullPath);
|
||||
if (stat.isDirectory()) {
|
||||
walk(fullPath);
|
||||
} else if (file.endsWith('.ts') || file.endsWith('.tsx') || file.endsWith('.js') || file.endsWith('.html')) {
|
||||
processFile(fullPath);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function processFile(filePath) {
|
||||
let content = fs.readFileSync(filePath, 'utf8');
|
||||
let modified = false;
|
||||
|
||||
for (const r of replacements) {
|
||||
if (r.from.test(content)) {
|
||||
content = content.replace(r.from, r.to);
|
||||
modified = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (modified) {
|
||||
console.log(`Updated: ${filePath}`);
|
||||
fs.writeFileSync(filePath, content, 'utf8');
|
||||
}
|
||||
}
|
||||
|
||||
console.log('Starting global refactor...');
|
||||
walk(rootDir);
|
||||
// Also check index.html
|
||||
processFile('C:\\Users\\Marcos\\.gemini\\antigravity\\scratch\\gpi\\index.html');
|
||||
console.log('Refactor complete.');
|
||||
Reference in New Issue
Block a user