()
| 314 | } |
| 315 | |
| 316 | async function main() { |
| 317 | const version = process.env.DB_VERSION; |
| 318 | if (version && version !== 'all' && version !== '2014' && version !== '2024') { |
| 319 | console.error(`Invalid DB_VERSION: '${version}'. Must be 'all', '2014', or '2024'.`); |
| 320 | process.exit(1); |
| 321 | } |
| 322 | const runAll = !version || version === 'all'; |
| 323 | |
| 324 | const client = new MongoClient(mongodbUri); |
| 325 | try { |
| 326 | await client.connect(); |
| 327 | console.log('Connected successfully to MongoDB server'); |
| 328 | const db = client.db(); |
| 329 | |
| 330 | if (runAll || version === '2014') { |
| 331 | console.log('\nUploading 2014 tables...'); |
| 332 | await uploadTablesFromFolder(db, 'src/2014/en', '2014-'); |
| 333 | console.log('\nLoading 2014 translations...'); |
| 334 | await uploadTranslationsFromFolder(db, 'src/2014', '2014-'); |
| 335 | } |
| 336 | |
| 337 | if (runAll || version === '2024') { |
| 338 | console.log('\nUploading 2024 tables...'); |
| 339 | await uploadTablesFromFolder(db, 'src/2024/en', '2024-'); |
| 340 | console.log('\nLoading 2024 translations...'); |
| 341 | await uploadTranslationsFromFolder(db, 'src/2024', '2024-'); |
| 342 | } |
| 343 | |
| 344 | console.log('\nDatabase refresh completed successfully.'); |
| 345 | } catch (error) { |
| 346 | console.error('\nDatabase refresh failed:', error); |
| 347 | process.exit(1); |
| 348 | } finally { |
| 349 | await client.close(); |
| 350 | console.log('MongoDB connection closed.'); |
| 351 | } |
| 352 | } |
| 353 | |
| 354 | main().catch(console.error); |
no test coverage detected