gogame-old/endpoint/handlers.go
endpoint/handlers.goRaw
1package endpoint
2
3import (
4 "github.com/fatih/color"
5 "github.com/gin-gonic/gin"
6)
7
8func fail(c *gin.Context, err error, msg string) {
9 color.Red(msg + ": " + err.Error())
10 c.JSON(400, gin.H{
11 "error": msg,
12 })
13}
14func handleMain(c *gin.Context) {
15 c.JSON(200, gin.H{
16 "status": "wellcome to gogame",
17 })
18}
19
20func handleInfo(c *gin.Context) {
21 c.JSON(200, gin.H{
22 "info": "info",
23 })
24}
25
26type RegisterMsg struct {
27 Name string `binding:"required"`
28 Password string `binding:"required"`
29 Email string `binding:"required"`
30}
31
32func handleRegister(c *gin.Context) {
33 var registerMsg RegisterMsg
34 c.BindJSON(®isterMsg)
35 user, err := userservice.Register(registerMsg.Name, registerMsg.Password, registerMsg.Email)
36 if err != nil {
37 fail(c, err, "error on register")
38 return
39 }
40 c.JSON(200, gin.H{
41 "user": user,
42 })
43}
44
45type LoginMsg struct {
46 Email string `binding:"required"`
47 Password string `binding:"required"`
48}
49
50func handleLogin(c *gin.Context) {
51 var loginMsg LoginMsg
52 c.BindJSON(&loginMsg)
53 user, err := userservice.Login(loginMsg.Email, loginMsg.Password)
54 if err != nil {
55 fail(c, err, "error on login")
56 return
57 }
58 c.JSON(200, gin.H{
59 "user": user,
60 })
61}