2023-05-27 21:16:21 +03:00
|
|
|
const express = require("express");
|
|
|
|
const { MongoClient } = require("mongodb");
|
2023-06-11 20:19:35 +03:00
|
|
|
const { makeID } = require("../api/util.js")
|
2023-05-27 21:16:21 +03:00
|
|
|
require("dotenv").config()
|
|
|
|
|
|
|
|
const app = express();
|
|
|
|
app.use(express.json());
|
|
|
|
app.use(express.urlencoded({ extended: false }));
|
|
|
|
|
|
|
|
const client = new MongoClient(process.env.DATABASE);
|
|
|
|
|
|
|
|
app.get("/:id", async (req,res)=>{
|
|
|
|
const id = req.params.id
|
2023-06-11 20:19:35 +03:00
|
|
|
|
2023-05-27 21:16:21 +03:00
|
|
|
await client.connect()
|
|
|
|
const db = await client.db("ngn13")
|
|
|
|
const col = await db.collection("projects")
|
|
|
|
const projects = await col.find().toArray()
|
2023-06-11 20:19:35 +03:00
|
|
|
|
2023-05-27 21:16:21 +03:00
|
|
|
console.log(projects)
|
|
|
|
|
|
|
|
for(let i=0; i<projects.length;i++){
|
2023-06-11 20:19:35 +03:00
|
|
|
if(makeID(projects[i]["name"])===id){
|
2023-05-27 21:16:21 +03:00
|
|
|
res.redirect(projects[i]["url"])
|
2023-06-11 20:19:35 +03:00
|
|
|
await col.updateOne({ name: projects[i]["name"] }, { "$set":
|
|
|
|
{ "click": projects[i]["click"]+1 }})
|
2023-05-27 21:16:21 +03:00
|
|
|
return await client.close()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
await client.close()
|
|
|
|
return res.redirect("/projects")
|
|
|
|
})
|
|
|
|
|
|
|
|
export default {
|
|
|
|
path: "/l",
|
|
|
|
handler: app,
|
2023-06-11 20:19:35 +03:00
|
|
|
}
|