Palautteet ja niiden käsittely | Antti/feedback-after-logout#33
Palautteet ja niiden käsittely | Antti/feedback-after-logout#33anttiasmala merged 114 commits intomainfrom
Conversation
…imer to redirect user to mainpage if they have not started to write anything
…quest as well, but it is not in use yet. Returns not in use text
…way how user is redirected
…nt-disable-next-line'
… Should be more clear
|
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
|
Nyt pitäisi olla kaikkiin kommentteihisi vastattu. Lisäsin myös muutaman kommentin Onko ok, jos tulevaisuudessa painan |
Tehdään mielummin niin, että mä klikkaan sen sitten kun oon varmistanut, että kyseinen kommentti on tehty onnistuneesti.
Tämähän oli hyvä, en ole itsekään huomannut tuommoista ominaisuutta 😆 |
|
Koodissa on vielä melko paljon "CHECK THIS" -kommentteja, mutta poistan ne ennen mergeä. Niiden tarkoitus on muistuttaa itseäni mitkä kohdat on hyvä kommentoida / minkä takia tein jonkun tietyn asian tietyllä tavalla. Teen monesti useampaa branchia samaan aikaan, joten ei ilman noita muista miksi tein kun tein |
samuliasmala
left a comment
There was a problem hiding this comment.
Muutama avoin kohta vielä.
| return { | ||
| props: { | ||
| user: JSON.parse(JSON.stringify(cookieData.user)) as User, | ||
| user: JSON.parse(JSON.stringify(returnThis.data)) as User, |
There was a problem hiding this comment.
Miksi JSON.parse(JSON.stringify()) peräkkäin? Jos tarkoitus kloonata objekti, niin structuredClone on parempi.
There was a problem hiding this comment.
Syy JSON.parse(JSON.stringify()):n käyttöön on se, että structruredClone:lla heittää seuraavan virheen: Uncaught Error: Error serializing '.user.createdAt' returned from 'getServerSideProps' in "/logout". Reason: 'object' ("[object Date]") cannot be serialized as JSON. Please only return JSON serializable data types.
https://stackoverflow.com/a/72837265
Tuossa joku oli sanonut, että instead, you can use JSON.stringify inside JSON.parse to create a serializable object
En ainakaan keksinyt mitään helppoa reittiä structuredClonen käyttämiseen 😄
There was a problem hiding this comment.
Nyt tulee mieleen että olen tainnut joskus aikaisemminkin kysyä tätä 😆 Lisäsin yhden kommentin, missä selitin miksi käytetään JSON.stringify ja JSON.parse niin en kysy enää toista kertaa.
…planation what the function does. So I will remember it fast
…but the current file is a module. Consider adding an import instead
|
|
||
| /** | ||
| * Checks for a valid user and session, **REGARDLESS** of login status | ||
| * | ||
| * **ATTENTION**: the user **DOES NOT** need to be logged in for this function to validate request | ||
| */ | ||
|
|
||
| export async function checkIfSessionValid( | ||
| req: NextApiRequest, | ||
| res: NextApiResponse, | ||
| ): Promise<{ user: User; session: LuciaSession }> { | ||
| const userData = await validateRequest(req, res); | ||
| if (!userData.session || !userData.user) { | ||
| throw new HttpError('You are unauthorized!', 401); | ||
| } | ||
| return userData; | ||
| } |
There was a problem hiding this comment.
Tämä on siirretty muiden "tarkastajien" luokse. Lisäsin pienen JSDoc-muistutuksen itselle, koska oon joutunut monesti tsekkaamaan, että mitä tuo funktio tekikään
There was a problem hiding this comment.
Tuollaiset JSDoc-dokumentaatiot ovat erinomainen tapa 👍
|
Nyt pitäisi olla kaikkiin vastattu 😄 👍 |
…/lahjalista into antti/feedback-after-logout

Tässä on ensimmäinen versio palautteiden käsittelystä 😄