// Copyright (C) 2019 ModZero // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU Affero General Public License as // published by the Free Software Foundation, either version 3 of the // License, or (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU Affero General Public License for more details. // // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . import express from "express"; import pinoExpress from "express-pino-logger"; import { db } from "./db"; import { server as graphqlServer } from "./graphql"; import logger from "./logger"; async function main() { await db.migrations.create(); await db.migrations.apply(); const server = graphqlServer(); const app = express(); const expressPino = pinoExpress({ logger }); app.use(expressPino); server.applyMiddleware({ app, path: "/graphql" }); const port = 3000; app.listen(port, () => logger.info("Example app listening", { uri: `http://localhost:${port}${server.graphqlPath}` }) ); } main();