Gisle Aune
3 years ago
6 changed files with 230 additions and 19 deletions
-
71app/api/handlers.go
-
3app/config/db.go
-
1app/server.go
-
111app/services/events.go
-
2internal/mysql/eventhandlerrepo.go
-
53models/eventhandler.go
@ -0,0 +1,71 @@ |
|||||
|
package api |
||||
|
|
||||
|
import ( |
||||
|
"git.aiterp.net/lucifer/new-server/app/config" |
||||
|
"git.aiterp.net/lucifer/new-server/models" |
||||
|
"github.com/gin-gonic/gin" |
||||
|
) |
||||
|
|
||||
|
func EventHandlers(r gin.IRoutes) { |
||||
|
r.GET("", handler(func(c *gin.Context) (interface{}, error) { |
||||
|
return config.EventHandlerRepository().FetchAll(ctxOf(c)) |
||||
|
})) |
||||
|
|
||||
|
r.GET("/:id", handler(func(c *gin.Context) (interface{}, error) { |
||||
|
return config.EventHandlerRepository().FindByID(ctxOf(c), intParam(c, "id")) |
||||
|
})) |
||||
|
|
||||
|
r.POST("", handler(func(c *gin.Context) (interface{}, error) { |
||||
|
var body models.EventHandler |
||||
|
err := parseBody(c, &body) |
||||
|
if err != nil { |
||||
|
return nil, err |
||||
|
} |
||||
|
|
||||
|
if body.Conditions == nil { |
||||
|
body.Conditions = make(map[string]models.EventCondition) |
||||
|
} |
||||
|
|
||||
|
err = config.EventHandlerRepository().Save(ctxOf(c), &body) |
||||
|
if err != nil { |
||||
|
return nil, err |
||||
|
} |
||||
|
|
||||
|
return body, nil |
||||
|
})) |
||||
|
|
||||
|
r.PUT("/:id", handler(func(c *gin.Context) (interface{}, error) { |
||||
|
var body models.EventHandlerUpdate |
||||
|
err := parseBody(c, &body) |
||||
|
if err != nil { |
||||
|
return nil, err |
||||
|
} |
||||
|
|
||||
|
handler, err := config.EventHandlerRepository().FindByID(ctxOf(c), intParam(c, "id")) |
||||
|
if err != nil { |
||||
|
return nil, err |
||||
|
} |
||||
|
handler.ApplyUpdate(body) |
||||
|
|
||||
|
err = config.EventHandlerRepository().Save(ctxOf(c), handler) |
||||
|
if err != nil { |
||||
|
return nil, err |
||||
|
} |
||||
|
|
||||
|
return handler, nil |
||||
|
})) |
||||
|
|
||||
|
r.DELETE("/:id", handler(func(c *gin.Context) (interface{}, error) { |
||||
|
handler, err := config.EventHandlerRepository().FindByID(ctxOf(c), intParam(c, "id")) |
||||
|
if err != nil { |
||||
|
return nil, err |
||||
|
} |
||||
|
|
||||
|
err = config.EventHandlerRepository().Delete(ctxOf(c), handler) |
||||
|
if err != nil { |
||||
|
return nil, err |
||||
|
} |
||||
|
|
||||
|
return handler, nil |
||||
|
})) |
||||
|
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue