Closed SamaraFellaDina closed 5 months ago
Het enige probleem is dat wanneer het een 0 is, hij niet update naar 1 met een post
app.post('/article/:slug', (request, response) => {
fetchJson(apiShares + "?filter[slug][_eq]=" + request.params.slug).then(({data}) => {
fetchJson(apiShares + (data[0]?.id ? '/' + data[0].id : '/0'), {
// Doe een PATCH op directus, stuur de id mee als die er is.
method: data[0]?.id ? 'PATCH' : 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
slug: request.params.slug,
shares: data.length > 0 ? data[0].shares + 1 : 1,
}),
}).then((result) => {
})
})
response.redirect(301, '/artikel/' + request.params.slug)
})
Ik heb samen met koop gekeken. Eigenlijk moet het volgende gebeuren. Ik moet hier een if
else
statement maken. Waarbij er eerst wordt gekeken of er een slug bestaat in de API van directus. Als deze niet bestaat deze aanmaakt. En als deze bestaat overgaat op de bovenstaande code.
Deze code is gefixed dmv chatgpt. Ik snap niet wat hier gebeurd. Maar ben wel van plan om er naar te kijken en te analyseren wat er precies gebeurd.
TypeError: Cannot read properties of undefined (reading 'shares')
Deze melding komt steeds naar boven omdat nieuwe artikelen nog geen aantal shares heeft. Dus wordt de waarde undefined, waardoor het crashed. Hiervoor moet code komen waarbij als dit wordt geconstateerd het word vervangen met een
0