const express = require("express"); const router = express.Router(); var driver = require("../../graph_db"); const { strictInput } = require('../../middleware/strict_input'); async function create_friendship(req, res) { try { const me = req.query.me; const them = req.query.them; if (String(req.user.id) !== String(me)) { return res.status(403).send("You can only create relationships as yourself"); } const { records } = await driver.executeQuery( "MATCH (m:Person {db_id: $me}) MATCH (t:Person {db_id: $them}) CREATE (m)-[:FRIENDS_WITH]-> (t) CREATE (t)-[:FRIENDS_WITH]-> (m)", { me: me, them: them }, { database: process.env.GRAPH_DB_NAME }, ); res.status(200).send("Relationship has been created"); } catch (err) { console.error("database query failed", { message: err.message, code: err.code, detail: err.detail, hint: err.hint, stack: err.stack, }); res.status(500).send("Relationship was not created, request failed"); } } router.post("/", strictInput({ query: ['me', 'them'] }), create_friendship); module.exports = router;