Refactor backend to import/export syntax and update deps

This commit is contained in:
Ben Grant 2022-08-20 21:35:38 +10:00
parent 1463773480
commit 7d0f3898de
20 changed files with 3168 additions and 685 deletions

View file

@ -1,61 +1,61 @@
require('dotenv').config();
import { config } from 'dotenv'
import { Datastore } from '@google-cloud/datastore'
import express from 'express'
import cors from 'cors'
const { Datastore } = require('@google-cloud/datastore');
const express = require('express');
const cors = require('cors');
import packageJson from './package.json'
const package = require('./package.json');
import {
stats,
getEvent,
createEvent,
getPeople,
createPerson,
login,
updatePerson,
taskCleanup,
taskRemoveOrphans,
} from './routes'
const stats = require('./routes/stats');
const getEvent = require('./routes/getEvent');
const createEvent = require('./routes/createEvent');
const getPeople = require('./routes/getPeople');
const createPerson = require('./routes/createPerson');
const login = require('./routes/login');
const updatePerson = require('./routes/updatePerson');
config()
const taskCleanup = require('./routes/taskCleanup');
const taskLegacyCleanup = require('./routes/taskLegacyCleanup');
const taskRemoveOrphans = require('./routes/taskRemoveOrphans');
const app = express();
const port = 8080;
const app = express()
const port = 8080
const corsOptions = {
origin: process.env.NODE_ENV === 'production' ? 'https://crab.fit' : 'http://localhost:5173',
};
origin: process.env.NODE_ENV === 'production' ? 'https://crab.fit' : 'http://localhost:5173',
}
const datastore = new Datastore({
keyFilename: process.env.GOOGLE_APPLICATION_CREDENTIALS,
});
keyFilename: process.env.GOOGLE_APPLICATION_CREDENTIALS,
})
app.use(express.json());
app.use((req, res, next) => {
req.datastore = datastore;
app.use(express.json())
app.use((req, _res, next) => {
req.datastore = datastore
req.types = {
event: process.env.NODE_ENV === 'production' ? 'Event' : 'DevEvent',
person: process.env.NODE_ENV === 'production' ? 'Person' : 'DevPerson',
stats: process.env.NODE_ENV === 'production' ? 'Stats' : 'DevStats',
};
next();
});
app.options('*', cors(corsOptions));
app.use(cors(corsOptions));
}
next()
})
app.options('*', cors(corsOptions))
app.use(cors(corsOptions))
app.get('/', (req, res) => res.send(`Crabfit API v${package.version}`));
app.get('/', (_req, res) => res.send(`Crabfit API v${packageJson.version}`))
app.get('/stats', stats);
app.get('/event/:eventId', getEvent);
app.post('/event', createEvent);
app.get('/event/:eventId/people', getPeople);
app.post('/event/:eventId/people', createPerson);
app.post('/event/:eventId/people/:personName', login);
app.patch('/event/:eventId/people/:personName', updatePerson);
app.get('/stats', stats)
app.get('/event/:eventId', getEvent)
app.post('/event', createEvent)
app.get('/event/:eventId/people', getPeople)
app.post('/event/:eventId/people', createPerson)
app.post('/event/:eventId/people/:personName', login)
app.patch('/event/:eventId/people/:personName', updatePerson)
// Tasks
app.get('/tasks/cleanup', taskCleanup);
app.get('/tasks/legacyCleanup', taskLegacyCleanup);
app.get('/tasks/removeOrphans', taskRemoveOrphans);
app.get('/tasks/cleanup', taskCleanup)
app.get('/tasks/removeOrphans', taskRemoveOrphans)
app.listen(port, () => {
console.log(`Crabfit API listening at http://localhost:${port} in ${process.env.NODE_ENV === 'production' ? 'prod' : 'dev'} mode`)
});
console.log(`Crabfit API listening at http://localhost:${port} in ${process.env.NODE_ENV === 'production' ? 'prod' : 'dev'} mode`)
})