feat:#16 added room ics api route

This commit is contained in:
Elmar Kresse
2024-10-25 00:16:02 +02:00
parent 3d41d9d6a4
commit 42172fb0a5
13 changed files with 505 additions and 6 deletions

View File

@@ -0,0 +1,36 @@
package grpc
import (
"context"
"fmt"
"github.com/pocketbase/pocketbase"
pb "htwkalender/common/genproto/modules"
"htwkalender/data-manager/service/db"
)
type RoomServiceHandler struct {
app *pocketbase.PocketBase
pb.UnimplementedRoomServiceServer
}
func (s *RoomServiceHandler) GetRoomEvents(ctx context.Context, in *pb.GetRoomRequest) (*pb.GetRoomResponse, error) {
s.app.Logger().Info(
"Protobuf - GetRoomEvents",
"room", in.Room,
)
fmt.Errorf("Getting events for room %s", in.Room)
// get events from database by room
events, err := db.GetRoomSchedule(s.app, in.Room)
if err != nil {
return nil, err
}
// Implement your logic here to fetch events data based on the room
// Example response
return &pb.GetRoomResponse{
Events: eventsToProto(events),
}, nil
}

View File

@@ -39,6 +39,10 @@ func StartGRPCServer(app *pocketbase.PocketBase) {
app: app,
})
pb.RegisterRoomServiceServer(s, &RoomServiceHandler{
app: app,
})
log.Printf("server listening at %v", lis.Addr())
if err := s.Serve(lis); err != nil {
log.Fatalf("failed to serve: %v", err)