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

23
extrahome/extrahome.go Normal file
View File

@@ -0,0 +1,23 @@
// Service extrahome provides extrahome APIs.
package extrahome
import (
"context"
"encore.dev/storage/sqldb"
)
var db = sqldb.NewDatabase("extrahome", sqldb.DatabaseConfig{
Migrations: "./migrations",
})
type StatusResponse struct {
Status string `json:"status"`
}
// Status reports whether the extrahome service is available.
//
//encore:api public method=GET path=/extrahome/status
func Status(ctx context.Context) (*StatusResponse, error) {
return &StatusResponse{Status: "ok"}, nil
}