Files
backend/src/graphql/places.ts
Ruslan Bakiev 7ca503667f
All checks were successful
Build and deploy Backend / build (push) Successful in 1m1s
Expose places over GraphQL
2026-05-08 15:54:15 +07:00

38 lines
863 B
TypeScript

import { prisma } from '../prisma.js';
function serializeVoiceExperience(
experience: Awaited<ReturnType<typeof prisma.voiceExperience.findMany>>[number],
) {
return {
...experience,
createdAt: experience.createdAt.toISOString(),
};
}
export async function listPlaces() {
const places = await prisma.place.findMany({
include: {
experiences: {
orderBy: { createdAt: 'desc' },
take: 10,
},
},
orderBy: { updatedAt: 'desc' },
});
return places.map((place) => ({
...place,
experiences: place.experiences.map(serializeVoiceExperience),
}));
}
export async function listVoiceExperiences() {
const experiences = await prisma.voiceExperience.findMany({
include: { place: true },
orderBy: { createdAt: 'desc' },
take: 100,
});
return experiences.map(serializeVoiceExperience);
}