Introduces WebSocket connectivity for live data updates and a new subscription model for events. Key changes: - Integrated WebSocketService to handle open, message, and close events via the /ws endpoint. - Added EventSubscribeService APIs to manage user subscriptions to specific events (matchId) via REST endpoints (`/api/subscribe-event` and `/api/subscribe-event/:matchId`). - Implemented custom message protocol (JSON format) for WebSocket communication with defined topics (ONLINE_MEMBER_CHANGE, etc.). - Updated database schema to include the `EventSubs` model for storing subscriptions. - Refactored Dockerfile to use `bun prisma db push` for database migrations on startup. - UI Updates: - Replaced the Rate component in FavButton with Star icons for better UX. - Adjusted layout of FavButton to be absolute positioned. - Added debounce to ClubSummary data fetching. - Removed unused `isMobile` import from ClubSummary. - Utilities: Added helper functions `toCustomMessage` and `fromCustomMessage` for parsing WebSocket messages.
26 lines
581 B
Plaintext
26 lines
581 B
Plaintext
// This is your Prisma schema file,
|
|
// learn more about it in the docs: https://pris.ly/d/prisma-schema
|
|
|
|
// Looking for ways to speed up your queries, or scale easily with your serverless or edge functions?
|
|
// Try Prisma Accelerate: https://pris.ly/cli/accelerate-init
|
|
|
|
generator client {
|
|
provider = "prisma-client"
|
|
output = "../src/generated/prisma"
|
|
}
|
|
|
|
datasource db {
|
|
provider = "mysql"
|
|
}
|
|
|
|
model LogtoUserFav {
|
|
logto_uid String
|
|
kaiqiu_uid String
|
|
@@id([logto_uid, kaiqiu_uid])
|
|
}
|
|
|
|
model EventSubs {
|
|
logto_uid String
|
|
event_id String
|
|
@@id([logto_uid, event_id])
|
|
} |