54 lines
1.0 KiB
JavaScript
54 lines
1.0 KiB
JavaScript
|
import fs from 'fs'
|
||
|
import mongoose from 'mongoose'
|
||
|
import 'colors'
|
||
|
import dotenv from 'dotenv'
|
||
|
|
||
|
dotenv.config()
|
||
|
|
||
|
import Game from './models/Game.js'
|
||
|
import User from './models/User.js'
|
||
|
|
||
|
mongoose.connect(Bun.env.MONGO_URI)
|
||
|
|
||
|
const games = JSON.parse(
|
||
|
fs.readFileSync(`${__dirname}/_data/games.json`, 'utf-8')
|
||
|
)
|
||
|
|
||
|
const users = JSON.parse(
|
||
|
fs.readFileSync(`${__dirname}/_data/users.json`, 'utf-8')
|
||
|
)
|
||
|
|
||
|
const importData = async () => {
|
||
|
try {
|
||
|
await Game.create(games)
|
||
|
await User.create(users)
|
||
|
console.log('Data Imported...'.green.inverse)
|
||
|
process.exit()
|
||
|
} catch (err) {
|
||
|
console.error(err)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
const deleteData = async () => {
|
||
|
try {
|
||
|
await Game.deleteMany()
|
||
|
await User.deleteMany()
|
||
|
console.log('Data Destroyed...'.red.inverse)
|
||
|
process.exit()
|
||
|
} catch (err) {
|
||
|
console.error(err)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
if (process.argv[2] === '-i') {
|
||
|
importData()
|
||
|
} else if (process.argv[2] === '-d') {
|
||
|
deleteData()
|
||
|
} else {
|
||
|
console.log(
|
||
|
'Please use the "-i" flag for importing or the "-d" flag for deleting'.red
|
||
|
.bold
|
||
|
)
|
||
|
process.exit()
|
||
|
}
|