mirror of
https://gitlab.dit.htwk-leipzig.de/htwk-software/htwkalender.git
synced 2025-08-02 09:49:13 +02:00
feat:#16 added room ics api route
This commit is contained in:
36
services/data-manager/service/grpc/roomService.go
Normal file
36
services/data-manager/service/grpc/roomService.go
Normal 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
|
||||
}
|
@@ -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)
|
||||
|
Reference in New Issue
Block a user