wip: alpha
This commit is contained in:
38
internal/api/api.go
Normal file
38
internal/api/api.go
Normal file
@ -0,0 +1,38 @@
|
||||
package api
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
"github.com/loveuer/upipe/internal/handler"
|
||||
api_nf "github.com/loveuer/uzone/pkg/api.nf"
|
||||
uapi "github.com/loveuer/uzone/pkg/uapi"
|
||||
)
|
||||
|
||||
func New() uapi.Engine {
|
||||
start := time.Now()
|
||||
engine := api_nf.New()
|
||||
|
||||
api := engine.Group("/api")
|
||||
{
|
||||
api.GET("/available", func(c uapi.Context) error {
|
||||
return c.JSON(map[string]any{
|
||||
"status": 200,
|
||||
"msg": "success",
|
||||
"err": nil,
|
||||
"data": map[string]any{
|
||||
"ok": true,
|
||||
"version": "v0.0.1",
|
||||
"uptime": fmt.Sprintf("%v", time.Since(start)),
|
||||
},
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
{
|
||||
g := api.Group("/task")
|
||||
g.POST("/create", handler.TaskCreate)
|
||||
}
|
||||
|
||||
return engine
|
||||
}
|
45
internal/handler/task.go
Normal file
45
internal/handler/task.go
Normal file
@ -0,0 +1,45 @@
|
||||
package handler
|
||||
|
||||
import (
|
||||
"github.com/loveuer/upipe/pkg/model"
|
||||
"github.com/loveuer/uzone/pkg/uapi"
|
||||
)
|
||||
|
||||
func TaskCreate(c uapi.Context) error {
|
||||
type Req struct {
|
||||
Name string `json:"name"`
|
||||
Description string `json:"description"`
|
||||
}
|
||||
var (
|
||||
err error
|
||||
req = new(Req)
|
||||
task = &model.Task{}
|
||||
)
|
||||
|
||||
if err = c.BodyParser(req); err != nil {
|
||||
return c.JSON(map[string]any{
|
||||
"status": 400,
|
||||
"msg": "invalid request",
|
||||
"err": err.Error(),
|
||||
"data": nil,
|
||||
})
|
||||
}
|
||||
|
||||
task.Name, task.Description = req.Name, req.Description
|
||||
|
||||
if err = c.UseDB().Create(task).Error; err != nil {
|
||||
return c.JSON(map[string]any{
|
||||
"status": 500,
|
||||
"msg": "internal error",
|
||||
"err": err.Error(),
|
||||
"data": nil,
|
||||
})
|
||||
}
|
||||
|
||||
return c.JSON(map[string]any{
|
||||
"status": 200,
|
||||
"msg": "success",
|
||||
"err": nil,
|
||||
"data": task,
|
||||
})
|
||||
}
|
Reference in New Issue
Block a user