first commit
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
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
|
||||
}
|
||||
Reference in New Issue
Block a user