mirror of
https://github.com/aljazceru/landscape-template.git
synced 2025-12-17 06:14:27 +01:00
67 lines
1.6 KiB
JavaScript
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);
|
|
};
|