Files
landscape-template/api/functions/nostr-events-extra-data/nostr-events-extra-data.js
2022-09-20 09:59:45 +02:00

67 lines
1.6 KiB
JavaScript

const serverless = require('serverless-http');
const { createExpressApp } = require('../../modules');
const express = require('express');
const { prisma } = require('../../prisma');
const getEventsExtraData = async (req, res) => {
try {
const ids = req.body.ids ?? []
const comments = await prisma.postComment.findMany({
where: {
nostr_id: {
in: ids
}
},
select: {
id: true,
nostr_id: true,
votes_count: true,
user: {
select: {
id: true,
avatar: true,
avatar_rel: {
select: {
url: true,
}
},
name: true,
}
}
}
});
comments.map(c => c.user.avatar = c.user.avatar_rel?.url ?? c.user.avatar)
return res
.status(200)
.json(comments)
} catch (error) {
console.log(error);
res.status(500).send("Unexpected error happened, please try again")
}
}
let app;
if (process.env.LOCAL) {
app = createExpressApp()
app.post('/nostr-events-extra-data', getEventsExtraData);
}
else {
const router = express.Router();
router.post('/nostr-events-extra-data', getEventsExtraData)
app = createExpressApp(router)
}
const handler = serverless(app);
exports.handler = async (event, context) => {
return await handler(event, context);
};