- Delete empty placeholder files: utils/dbHelpers.js, utils/logger.js, scripts/seedSets.js - Merge newVersionController into importController (importFullDatabase belongs with import logic) - Delete newVersionController.js - Update importRoutes.js to import from importController
This commit is contained in:
@@ -1,9 +1,10 @@
|
||||
const {upsertCard} = require('../models/cardModel');
|
||||
const {upsertRarity,getRarityId} = require('../models/rarityModel');
|
||||
const { upsertCard } = require('../models/cardModel');
|
||||
const { upsertRarity } = require('../models/rarityModel');
|
||||
const { upsertSet } = require('../models/setModel');
|
||||
const { insertCardSetRarity } = require('../models/cardSetRarityModel');
|
||||
const { insertCardImage } = require('../models/cardImageModel');
|
||||
const { fetchAllCards, fetchAllSets } = require('../services/ygoproService');
|
||||
const { getLocalDBVersion, setLocalDBVersion } = require('../models/dbVersionModel');
|
||||
const { fetchAllCards, fetchAllSets, fetchDatabaseVersion } = require('../services/ygoproService');
|
||||
const db = require('../config/db');
|
||||
|
||||
const BATCH_SIZE = 50;
|
||||
@@ -161,4 +162,31 @@ async function importCards(req, res) {
|
||||
}
|
||||
|
||||
|
||||
module.exports = { importCards, importCardsInternal, importSets, importSetsInternal };
|
||||
async function importFullDatabase(req, res) {
|
||||
const startTime = Date.now();
|
||||
try {
|
||||
const remoteVersion = await fetchDatabaseVersion();
|
||||
const localVersion = await getLocalDBVersion();
|
||||
|
||||
if (localVersion && localVersion.database_version === remoteVersion.database_version) {
|
||||
return res.json({ message: 'Database is already up to date.', version: remoteVersion.database_version });
|
||||
}
|
||||
|
||||
const setsStats = await importSetsInternal();
|
||||
const cardsStats = await importCardsInternal();
|
||||
await setLocalDBVersion(remoteVersion.database_version, remoteVersion.last_update);
|
||||
|
||||
res.json({
|
||||
message: 'Database import completed successfully.',
|
||||
version: remoteVersion.database_version,
|
||||
sets: setsStats,
|
||||
cards: cardsStats,
|
||||
duration_seconds: parseFloat(((Date.now() - startTime) / 1000).toFixed(2)),
|
||||
});
|
||||
} catch (err) {
|
||||
console.error('Error in full database import:', err);
|
||||
res.status(500).json({ error: 'Failed to import database' });
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = { importCards, importCardsInternal, importSets, importSetsInternal, importFullDatabase };
|
||||
@@ -1,42 +0,0 @@
|
||||
const { fetchDatabaseVersion } = require('../services/ygoproService');
|
||||
const { getLocalDBVersion, setLocalDBVersion } = require('../models/dbVersionModel');
|
||||
const { importSetsInternal } = require('./importController');
|
||||
const { importCardsInternal } = require('./importController');
|
||||
|
||||
async function importFullDatabase(req, res) {
|
||||
const startTime = Date.now();
|
||||
|
||||
try {
|
||||
const remoteVersion = await fetchDatabaseVersion();
|
||||
const localVersion = await getLocalDBVersion();
|
||||
|
||||
if (localVersion && localVersion.database_version === remoteVersion.database_version) {
|
||||
return res.json({
|
||||
message: 'Database is already up to date.',
|
||||
version: remoteVersion.database_version
|
||||
});
|
||||
}
|
||||
|
||||
const setsStats = await importSetsInternal();
|
||||
|
||||
const cardsStats = await importCardsInternal();
|
||||
|
||||
await setLocalDBVersion(remoteVersion.database_version, remoteVersion.last_update);
|
||||
|
||||
const totalDuration = ((Date.now() - startTime) / 1000).toFixed(2);
|
||||
|
||||
res.json({
|
||||
message: 'Database import completed successfully.',
|
||||
version: remoteVersion.database_version,
|
||||
sets: setsStats,
|
||||
cards: cardsStats,
|
||||
duration_seconds: parseFloat(totalDuration)
|
||||
});
|
||||
|
||||
} catch (err) {
|
||||
console.error('Error in full database import:', err);
|
||||
res.status(500).json({ error: 'Failed to import database' });
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = { importFullDatabase };
|
||||
@@ -1,7 +1,6 @@
|
||||
const express = require('express');
|
||||
const router = express.Router();
|
||||
const { importSets, importCards} = require('../controllers/importController');
|
||||
const { importFullDatabase } = require('../controllers/newVersionController');
|
||||
const { importSets, importCards, importFullDatabase } = require('../controllers/importController');
|
||||
|
||||
router.post('/sets', importSets);
|
||||
router.post('/cards', importCards);
|
||||
|
||||
Reference in New Issue
Block a user