46 lines
614 B
Go
46 lines
614 B
Go
|
package v1
|
||
|
|
||
|
import "github.com/gin-gonic/gin"
|
||
|
|
||
|
func NewRouter() *gin.Engine {
|
||
|
r := gin.Default()
|
||
|
v1 := r.Group("/api/v1")
|
||
|
|
||
|
/**
|
||
|
GET /status
|
||
|
*/
|
||
|
v1.GET("/status")
|
||
|
|
||
|
/**
|
||
|
GROUP /instance/:name
|
||
|
Auth required
|
||
|
ROLE == ROLE_inst_{name} || ROLE >= ROLE_admin
|
||
|
*/
|
||
|
inst := v1.Group("/instance/:name")
|
||
|
/**
|
||
|
GET /instance/:name/detail
|
||
|
*/
|
||
|
inst.GET("/detail")
|
||
|
|
||
|
/**
|
||
|
GROUP /admin
|
||
|
Auth required
|
||
|
ROLE >= ROLE_admin
|
||
|
*/
|
||
|
admin := v1.Group("/admin")
|
||
|
/**
|
||
|
GET /admin/instances
|
||
|
*/
|
||
|
admin.GET("/instances")
|
||
|
/**
|
||
|
GET /admin/users
|
||
|
*/
|
||
|
admin.GET("/users")
|
||
|
/**
|
||
|
GET /admin/updates
|
||
|
*/
|
||
|
admin.GET("/updates")
|
||
|
|
||
|
return r
|
||
|
}
|