-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathplayer.go
51 lines (46 loc) · 1.18 KB
/
player.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
package mapper
import (
"fmt"
api "github.com/michaljurecko/ch-demo/api/gen/go/demo/v1"
model "github.com/michaljurecko/ch-demo/internal/pkg/app/demo/model/gen"
)
func Player(entity *model.Player) *api.Player {
return &api.Player{
Id: entity.ID,
FirstName: entity.FirstName,
LastName: entity.LastName,
Phone: entity.Phone,
Email: entity.Email,
Ic: entity.IC,
VatId: entity.VATID,
Address: entity.Address,
}
}
func CreatePlayer(req *api.CreatePlayerRequest) *model.Player {
return &model.Player{
FirstName: req.GetFirstName(),
LastName: req.GetLastName(),
Phone: req.GetPhone(),
Email: req.GetEmail(),
IC: req.GetIc(),
}
}
func UpdatePlayer(req *api.UpdatePlayerRequest, entity *model.Player) error {
for _, field := range req.GetUpdateMask().GetPaths() {
switch field {
case "first_name":
entity.FirstName = req.GetFirstName()
case "last_name":
entity.LastName = req.GetLastName()
case "phone":
entity.Phone = req.GetPhone()
case "email":
entity.Email = req.GetEmail()
case "ic":
entity.IC = req.GetIc()
default:
return fmt.Errorf("unexpected mask field '%s'", field)
}
}
return nil
}