website/api/index.js

44 lines
875 B
JavaScript
Raw Normal View History

2023-06-11 00:22:06 +03:00
const express = require("express")
const { MongoClient } = require("mongodb")
require("dotenv").config()
2023-04-16 20:12:24 +03:00
/*
* error: 0 -> no error
* error: 1 -> parameter error
* error: 2 -> auth error
* error: 3 -> not found error
2023-04-16 20:12:24 +03:00
*/
2023-06-11 00:22:06 +03:00
2023-06-11 20:19:35 +03:00
const db = new MongoClient(process.env.DATABASE);
2023-06-11 00:22:06 +03:00
const app = express()
app.use(express.json())
app.use(express.urlencoded({ extended: false }));
2023-06-11 20:19:35 +03:00
app.use((req,res,next)=>{
req.db = db
next()
2023-04-16 20:12:24 +03:00
})
2023-06-11 20:19:35 +03:00
const { auth, authware } = require("./routes/auth.js")
// anything starts with "add"
// requires admin privs
app.use("/*/a*", authware)
const resources = require("./routes/resources.js")
const projects = require("./routes/projects.js")
const blog = require("./routes/blog.js")
const routes = [
resources,
projects,
blog,
auth,
]
routes.forEach(route=>{
app.use(route.path, route)
2023-04-16 20:12:24 +03:00
})
export default {
path: "/api",
handler: app,
2023-06-11 20:19:35 +03:00
}