31 lines
909 B
JavaScript
31 lines
909 B
JavaScript
import Fastify from "fastify";
|
|
import sequelizePlugin from "./plugins/sequelize.js";
|
|
import dotenv from "dotenv";
|
|
import { executeQueryAsync, retrieveResultsAsync } from "./services/athena.js";
|
|
dotenv.config();
|
|
import * as queries from "./queries.js";
|
|
|
|
const server = Fastify({ logger: true });
|
|
server.register(sequelizePlugin);
|
|
|
|
server.get("/", async (request, reply) => {
|
|
const [results, metadata] = await server.sequelize.query('SELECT 1 + 2 AS result');
|
|
console.log(results);
|
|
console.log(metadata);
|
|
return { hello: "world" };
|
|
});
|
|
|
|
server.get("/products", async (request, reply) => {
|
|
const query = queries.productQuery;
|
|
const queryExecutionId = await executeQueryAsync(query);
|
|
const results = await retrieveResultsAsync(queryExecutionId);
|
|
return { results };
|
|
});
|
|
|
|
try {
|
|
await server.listen({ port: 3000 })
|
|
} catch (err) {
|
|
server.log.error(err)
|
|
process.exit(1)
|
|
}
|