package server import ( "context" "api-service/internal/grpc/pb" pasienHandlers "api-service/internal/handlers/pasien" ) type PasienGRPCServer struct { pb.UnimplementedPasienServiceServer handler *pasienHandlers.PasienHandler } func NewPasienGRPCServer(handler *pasienHandlers.PasienHandler) *PasienGRPCServer { return &PasienGRPCServer{handler: handler} } func (s *PasienGRPCServer) GetPasien(ctx context.Context, req *pb.GetPasienRequest) (*pb.GetPasienResponse, error) { // Di sini idealnya kamu panggil service langsung. // Contoh pseudo (sesuaikan dengan service asli kamu): list, err := s.handler.Service.GetPasien(ctx, int(req.Page), int(req.Limit)) if err != nil { return nil, err } out := make([]*pb.Pasien, 0, len(list)) for _, p := range list { out = &pb.Pasien{ Nomr: p.Nomr, Nama: p.Nama, Umur: int32(p.Umur), } out = append(out, out) } return &pb.GetPasienResponse{Data: out}, nil } func (s *PasienGRPCServer) GetPasienByNomr(ctx context.Context, req *pb.GetPasienByNomrRequest) (*pb.Pasien, error) { p, err := s.handler.Service.GetByNomr(ctx, req.Nomr) if err != nil { return nil, err } return &pb.Pasien{ Nomr: p.Nomr, Nama: p.Nama, Umur: int32(p.Umur), }, nil }