Open samuliasmala opened 3 weeks ago
Voisiko GET /api/persons
in laittaa palauttamaan myös kaikkien käyttäjien kaikki merkkipäivät, koska jos merkkipäivälle ei tehdä omaa rajapintaa? Eipä tuolle kyllä taida paljoa käyttöä olla. Ehkä jossain tilastollisessa mielessä (jos käyttäjä haluaa nähdä montako merkkipäivää ja käyttäjää on yhteensä lisättynä :smile:)
Esim näin:
async function handleGET(
req: NextApiRequest,
res: NextApiResponse,
userData: User,
) {
const personsData = await prisma.person.findMany({
where: {
userUUID: userData.uuid,
},
});
const anniversariesData = await prisma.anniversary.findMany({
where: {
userUUID: userData.uuid,
},
});
const returnableObject = {
personsData,
anniversariesData,
};
return res.status(200).json(returnableObject);
}
joka palauttaisi seuraavasti
{
"personsData": [
{
"id": 2,
"uuid": "0dfc761d-637d-4f43-98f9-78eaa6cc0234",
"name": "John Doe",
"sendReminders": true,
"profilePictureUUID": null,
"userUUID": "87be173d-7d9a-4bd9-99dc-711788ad3876",
"createdAt": "2024-11-21T10:57:12.054Z",
"updatedAt": "2024-11-21T10:57:12.054Z"
},
{
"id": 3,
"uuid": "ef6bec60-cf63-42d9-a3c7-34ff801411e5",
"name": "John Doe",
"sendReminders": true,
"profilePictureUUID": null,
"userUUID": "87be173d-7d9a-4bd9-99dc-711788ad3876",
"createdAt": "2024-11-21T11:03:16.672Z",
"updatedAt": "2024-11-21T11:03:16.672Z"
}
],
"anniversariesData": []
}
merkkipäivien lisäystä en ole vielä tehnyt, joten siksi anniversariesData
array
on tyhjä
Lähinnä tämmöinen idea vain :smile:
Sitä ei varmastikaan kannata laittaa ainakaan oletuksena päälle, koska silloin ettii monesti turhaan myös kaikkien personien kaikki merkkipäivät
Mietin että jos laittaisikin jonkinlaisen tarkistuksen, että onko Query parametereissä jokin tietty tieto. Jos on, haetaan myös kaikkien personien kaikki merkkipäivät
Esim. /api/persons?anniversaries=true
tai jotain sinnepäin
Ei kannata lisätä "anniversariesData": []
kenttää. Jos tieto tarvitaan, niin silloin sille kannattaa tehdä oma GET /api/anniversaries
rajapinta.
Luodaan henkilöiden muokkaukseen samanlaiset rajapinnat kuin lahjoille on. Ei tehdä merkkipäiville omaa rajapintaa, vaan päivitetään ne henkilön kautta. Eli esim.
GET /api/persons
palauttaa kaikki käyttäjän henkilötPATCH /api/persons/:uuid
päivittää kutsussa annetut kentät. Merkkipäiviä (anniversary) voi olla useita, joten jos se annettu taulukkona korvataan sillä edellinen merkkipäivätaulukkoPOST
,DELETE
ja muut mitä/api/gifts
alta löytyy.Jätetään profiilikuva toistaiseksi huomioimatta.