feat(videochat): implement LiveKit integration for video chat functionality

- Add LiveKit client setup and token generation for room access.
- Implement room management functions including CreateRoom, OpenRoom, ListRooms, and DeleteRoom.
- Introduce participant management with ListParticipants and RemoveParticipant functions.
- Create tests for room and participant management, ensuring proper authentication and authorization.
- Add error handling for LiveKit API interactions.
- Define data structures for room metadata and token responses.
- Implement status endpoint for service availability check.
This commit is contained in:
fabio
2026-09-29 18:45:21 +02:00
parent a051eef991
commit 0fe1bc2292
21 changed files with 1904 additions and 12 deletions

15
videochat/videochat.go Normal file
View File

@@ -0,0 +1,15 @@
// Service videochat provides video chat APIs.
package videochat
import "context"
type StatusResponse struct {
Status string `json:"status"`
}
// Status reports whether the videochat service is available.
//
//encore:api public method=GET path=/videochat/status
func Status(ctx context.Context) (*StatusResponse, error) {
return &StatusResponse{Status: "ok"}, nil
}