Entitások terve, ORM, Cosmos DB, eddigi haladás stb.
Sikeresen összejött a Google autentikáció. A felhasználó email címének md5 hash-e lesz a username-je első bejelentkezéskor, amit majd később változtathat egy egyénire (de legyen unique).
Az Explore page egyelőre a sandbox.
Van oldala a felhasználóknak pl.: https://remark.triszt4n.xyz/u/triszt4n. Megváltoztatható a username a Profile page-en, de még van munka, az ehhez használt Azure Functionben még nincs megoldva az, hogy csak az a felhasználó tudja a username-jét update-elni, aki a JWT-ben is utazik (jelenleg szabadon akárki username-je változtatható, ha ismert az API endpoint).
Van most egy endpoint az összes felhasználó lekérésére, de ez hamarosan megszűnik (nem túl privacy-gondos): https://remark.triszt4n.xyz/hidden/users
Van inbound header checkolás, azt fogom felfedezni:
Kódbázis:
A functions
mappa alatt az egyes Function App-ok csoportosítva tartják a Functionöket magukat, és a client
mappában a React app kódja, benne az api/contexts
mappában pl. az autentikációs kontextus.
https://github.com/triszt4n/remark
interface Channel {
id: string
uriName: string
createdAt: number // unix
title: string
descRawMarkdown: string
}
interface Post {
id: string
createdAt: number // unix
title: string
rawMarkdown: string
imageUrl: string | null
publisherId: string
parentChannelId: string
}
interface Comment {
id: string
createdAt: number // unix
rawMarkdown: string
publisherId: string
parentPostId: string
}
interface User {
id: string
email: string
username: string // generated
lastName: string
firstName: string
imageUrl: string | null
}
interface Notification {
id: string
createdAt: number // unix
messageTitle: string
messageBody: string
userId: string
}
Join tables:
interface ChannelJoin {
id: string
createdAt: number // unix
userId: string
channelId: string
isOwner: boolean
isModerator: boolean
}
interface PostVote {
id: string
userId: string
postId: string
}
interface CommentVote {
id: string
userId: string
commentId: string
}
NOTE:
set Azure Function Environment Variable for Nodejs Project
Azure Static App Route configuration with React Router
ORM: CosmosDB-s Azure által adott ORM