mirror of
https://github.com/unitehenry/chaotic-api.git
synced 2026-03-21 17:44:38 -05:00
49 lines
1.4 KiB
JavaScript
49 lines
1.4 KiB
JavaScript
require('dotenv').config();
|
|
|
|
// Server
|
|
const port = process.env.PORT || 3000;
|
|
const path = require('path');
|
|
const express = require('express');
|
|
const app = express();
|
|
|
|
// Database
|
|
const mongoose = require('mongoose');
|
|
const dbuser = process.env.DATBASE_USER;
|
|
const dbpass = process.env.DATBASE_PASS;
|
|
const dbconfig = { useNewUrlParser: true, useUnifiedTopology: true }
|
|
|
|
if (dbuser && dbpass) {
|
|
mongoose.connect(process.env.DATABASE_URL, dbconfig)
|
|
} else {
|
|
mongoose.connect(`${dbuser}:${dbpass}@${process.env.DATABASE_URL}`, dbconfig);
|
|
}
|
|
|
|
const db = mongoose.connection;
|
|
|
|
// Routes
|
|
const cards = require('./routes/cards');
|
|
const creatures = require('./routes/creatures');
|
|
const attacks = require('./routes/creatures');
|
|
const battlegear = require('./routes/battlegear');
|
|
const locations = require('./routes/locations');
|
|
const mugic = require('./routes/mugic');
|
|
|
|
db.on('open', () => {
|
|
app.use('/', cards);
|
|
app.use('/creatures', creatures);
|
|
app.use('/attacks', attacks);
|
|
app.use('/battlegear', battlegear);
|
|
app.use('/locations', locations);
|
|
app.use('/mugic', mugic);
|
|
|
|
// Card Images
|
|
app.get('/images/:set/:id', (req, res) => {
|
|
const { set, id } = req.params;
|
|
const img = path.join(__dirname, '..', 'assets', set, `${id}.png`);
|
|
|
|
res.sendFile(img);
|
|
});
|
|
|
|
app.listen(port, () => console.log(`Chaotic API Server running on ${port}`));
|
|
})
|