41 lines
842 B
Go
41 lines
842 B
Go
package controllers
|
|
|
|
import (
|
|
"context"
|
|
"gotemplate/api/grpc/spec"
|
|
"gotemplate/internal/name"
|
|
)
|
|
|
|
type NameController struct {
|
|
spec.UnimplementedNameServer
|
|
name name.Service
|
|
}
|
|
|
|
func NewNameController(nameSvc name.Service) *NameController {
|
|
return &NameController{
|
|
name: nameSvc,
|
|
}
|
|
}
|
|
|
|
func (s *NameController) Add(ctx context.Context, req *spec.NameMessage) (*spec.NameMessage, error) {
|
|
err := s.name.Add(ctx, req.GetName())
|
|
if err != nil {
|
|
return &spec.NameMessage{}, err
|
|
}
|
|
|
|
return &spec.NameMessage{
|
|
Name: req.GetName(),
|
|
}, nil
|
|
}
|
|
|
|
func (s *NameController) Get(ctx context.Context, req *spec.NameMessage) (*spec.NameMessage, error) {
|
|
name, err := s.name.Get(ctx, req.GetName())
|
|
if err != nil {
|
|
return &spec.NameMessage{}, err
|
|
}
|
|
|
|
return &spec.NameMessage{
|
|
Name: name,
|
|
}, nil
|
|
}
|