finalizacao da mudanca radical mongo-supa

This commit is contained in:
2026-03-15 17:52:55 -03:00
parent 2271946f1e
commit cf90973671
6 changed files with 0 additions and 245 deletions

View File

@@ -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();

View File

@@ -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();

View File

@@ -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();

View File

@@ -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();

View File

@@ -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();

View File

@@ -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.');