smart-brain-api/server.js
2022-01-01 10:01:04 -05:00

52 lines
1.3 KiB
JavaScript

const express = require("express");
const bcrypt = require("bcrypt-nodejs"); // bcrypt-nodejs is a module that we can use to hash passwords
const cors = require("cors");
const knex = require("knex"); // knex is a database library
// Import endpoint controllers
const register = require("./controllers/register");
const signin = require("./controllers/signin");
const profile = require("./controllers/profile");
const image = require("./controllers/image");
// Set up database connection
const db = knex({
client: "pg",
connection: {
connectionString: process.env.DATABASE_URL,
},
});
const app = express();
app.use(cors());
app.use(express.urlencoded({ extended: false }));
app.use(express.json());
app.get("/", (req, res) => {
res.send("Success!");
});
app.post("/signin", (req, res) => {
signin.handleSignIn(req, res, db, bcrypt);
});
app.post("/register", (req, res) => {
register.handleRegister(req, res, db, bcrypt);
});
app.get("/profile/:id", (req, res) => {
profile.handleProfileGet(req, res, db);
});
app.put("/image", (req, res) => {
image.handleImage(req, res, db);
});
app.post("/imageurl", (req, res) => {
image.handleApiCall(req, res);
});
app.listen(process.env.PORT || 3000, () => {
console.log(`app is running on port ${process.env.PORT}!`);
});