SamaraFellaDina / pleasurable-ui

Ontwerp en maak voor een opdrachtgever een interface waar gebruikers blij van worden
MIT License
1 stars 0 forks source link

bug oplossen waarin server steeds crashed #16

Closed SamaraFellaDina closed 5 months ago

SamaraFellaDina commented 5 months ago

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

Image

SamaraFellaDina commented 5 months ago

Het enige probleem is dat wanneer het een 0 is, hij niet update naar 1 met een post

SamaraFellaDina commented 5 months ago
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.

SamaraFellaDina commented 5 months ago

https://github.com/SamaraFellaDina/pleasurable-ui/blob/df92d9b8838b2b0e7ec7eeedc7bfe43288dc460a/server.js#L46-L74

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.