-
Notifications
You must be signed in to change notification settings - Fork 0
/
converter.go
54 lines (45 loc) · 1.31 KB
/
converter.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
52
53
54
package oapi
import (
"github.com/hackathon-22-winter-01/hackathon-22-winter-01_backend/internal/domain"
"github.com/hackathon-22-winter-01/hackathon-22-winter-01_backend/pkg/log"
"go.uber.org/zap"
)
func PlayerFromDomain(dp *domain.Player) Player {
return Player{
Id: dp.ID,
Name: dp.Name,
Life: domain.CalculateLife(dp.LifeEvents),
}
}
func CardFromDomain(dc *domain.Card) Card {
var typ CardType
switch dc.Type {
case domain.CardTypePullShark:
typ = CardTypePullShark
case domain.CardTypePairExtraordinaire:
typ = CardTypePairExtraordinaire
default:
typ = CardTypePullShark
log.L().Error("unknown card type", zap.String("type", string(dc.Type)))
}
return Card{
Id: dc.ID,
Type: typ,
}
}
func (t CardType) ToDomain() domain.CardType {
m := map[CardType]domain.CardType{
CardTypeYolo: domain.CardTypeYolo,
CardTypeGalaxyBrain: domain.CardTypeGalaxyBrain,
CardTypeOpenSourcerer: domain.CardTypeOpenSourcerer,
CardTypeRefactoring: domain.CardTypeRefactoring,
CardTypePairExtraordinaire: domain.CardTypePairExtraordinaire,
CardTypeLgtm: domain.CardTypeLgtm,
CardTypePullShark: domain.CardTypePullShark,
CardTypeStarstruck: domain.CardTypeStarstruck,
}
if t, ok := m[t]; ok {
return t
}
return domain.CardTypeNone
}