Start implementing peppyapi; implement /api/get_user
This commit is contained in:
51
app/start.go
51
app/start.go
@@ -4,14 +4,18 @@ import (
|
||||
"database/sql"
|
||||
|
||||
"git.zxq.co/ripple/rippleapi/app/internals"
|
||||
"git.zxq.co/ripple/rippleapi/app/peppy"
|
||||
"git.zxq.co/ripple/rippleapi/app/v1"
|
||||
"git.zxq.co/ripple/rippleapi/common"
|
||||
"github.com/gin-gonic/contrib/gzip"
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
var db *sql.DB
|
||||
|
||||
// Start begins taking HTTP connections.
|
||||
func Start(conf common.Conf, db *sql.DB) *gin.Engine {
|
||||
func Start(conf common.Conf, dbO *sql.DB) *gin.Engine {
|
||||
db = dbO
|
||||
r := gin.Default()
|
||||
r.Use(gzip.Gzip(gzip.DefaultCompression), ErrorHandler())
|
||||
|
||||
@@ -19,47 +23,50 @@ func Start(conf common.Conf, db *sql.DB) *gin.Engine {
|
||||
{
|
||||
gv1 := api.Group("/v1")
|
||||
{
|
||||
gv1.POST("/tokens/new", Method(v1.TokenNewPOST, db))
|
||||
gv1.POST("/tokens/new", Method(v1.TokenNewPOST))
|
||||
|
||||
// Auth-free API endpoints
|
||||
gv1.GET("/ping", Method(v1.PingGET, db))
|
||||
gv1.GET("/surprise_me", Method(v1.SurpriseMeGET, db))
|
||||
gv1.GET("/privileges", Method(v1.PrivilegesGET, db))
|
||||
gv1.GET("/ping", Method(v1.PingGET))
|
||||
gv1.GET("/surprise_me", Method(v1.SurpriseMeGET))
|
||||
gv1.GET("/privileges", Method(v1.PrivilegesGET))
|
||||
|
||||
// Read privilege required
|
||||
gv1.GET("/users", Method(v1.UsersGET, db, common.PrivilegeRead))
|
||||
gv1.GET("/users/self", Method(v1.UserSelfGET, db, common.PrivilegeRead))
|
||||
gv1.GET("/users/whatid", Method(v1.UserWhatsTheIDGET, db, common.PrivilegeRead))
|
||||
gv1.GET("/users/full", Method(v1.UserFullGET, db, common.PrivilegeRead))
|
||||
gv1.GET("/users/userpage", Method(v1.UserUserpageGET, db, common.PrivilegeRead))
|
||||
gv1.GET("/users/lookup", Method(v1.UserLookupGET, db, common.PrivilegeRead))
|
||||
gv1.GET("/badges", Method(v1.BadgesGET, db, common.PrivilegeRead))
|
||||
gv1.GET("/users", Method(v1.UsersGET, common.PrivilegeRead))
|
||||
gv1.GET("/users/self", Method(v1.UserSelfGET, common.PrivilegeRead))
|
||||
gv1.GET("/users/whatid", Method(v1.UserWhatsTheIDGET, common.PrivilegeRead))
|
||||
gv1.GET("/users/full", Method(v1.UserFullGET, common.PrivilegeRead))
|
||||
gv1.GET("/users/userpage", Method(v1.UserUserpageGET, common.PrivilegeRead))
|
||||
gv1.GET("/users/lookup", Method(v1.UserLookupGET, common.PrivilegeRead))
|
||||
gv1.GET("/badges", Method(v1.BadgesGET, common.PrivilegeRead))
|
||||
|
||||
// ReadConfidential privilege required
|
||||
gv1.GET("/friends", Method(v1.FriendsGET, db, common.PrivilegeReadConfidential))
|
||||
gv1.GET("/friends/with", Method(v1.FriendsWithGET, db, common.PrivilegeReadConfidential))
|
||||
gv1.GET("/friends", Method(v1.FriendsGET, common.PrivilegeReadConfidential))
|
||||
gv1.GET("/friends/with", Method(v1.FriendsWithGET, common.PrivilegeReadConfidential))
|
||||
|
||||
// Write privilege required
|
||||
gv1.GET("/friends/add", Method(v1.FriendsAddGET, db, common.PrivilegeWrite))
|
||||
gv1.GET("/friends/del", Method(v1.FriendsDelGET, db, common.PrivilegeWrite))
|
||||
gv1.GET("/friends/add", Method(v1.FriendsAddGET, common.PrivilegeWrite))
|
||||
gv1.GET("/friends/del", Method(v1.FriendsDelGET, common.PrivilegeWrite))
|
||||
|
||||
// Admin: beatmap
|
||||
gv1.POST("/beatmaps/set_status", Method(v1.BeatmapSetStatusPOST, db, common.PrivilegeBeatmap))
|
||||
gv1.POST("/beatmaps/set_status", Method(v1.BeatmapSetStatusPOST, common.PrivilegeBeatmap))
|
||||
|
||||
// Admin: user managing
|
||||
gv1.POST("/users/manage/set_allowed", Method(v1.UserManageSetAllowedPOST, db, common.PrivilegeManageUser))
|
||||
gv1.POST("/users/manage/set_allowed", Method(v1.UserManageSetAllowedPOST, common.PrivilegeManageUser))
|
||||
|
||||
// M E T A
|
||||
// E T "wow thats so meta"
|
||||
// T E -- the one who said "wow thats so meta"
|
||||
// A T E M
|
||||
gv1.GET("/meta/restart", Method(v1.MetaRestartGET, db, common.PrivilegeAPIMeta))
|
||||
gv1.GET("/meta/kill", Method(v1.MetaKillGET, db, common.PrivilegeAPIMeta))
|
||||
gv1.GET("/meta/up_since", Method(v1.MetaUpSinceGET, db, common.PrivilegeAPIMeta))
|
||||
gv1.GET("/meta/update", Method(v1.MetaUpdateGET, db, common.PrivilegeAPIMeta))
|
||||
gv1.GET("/meta/restart", Method(v1.MetaRestartGET, common.PrivilegeAPIMeta))
|
||||
gv1.GET("/meta/kill", Method(v1.MetaKillGET, common.PrivilegeAPIMeta))
|
||||
gv1.GET("/meta/up_since", Method(v1.MetaUpSinceGET, common.PrivilegeAPIMeta))
|
||||
gv1.GET("/meta/update", Method(v1.MetaUpdateGET, common.PrivilegeAPIMeta))
|
||||
}
|
||||
|
||||
api.GET("/status", internals.Status)
|
||||
|
||||
// peppyapi
|
||||
api.GET("/get_user", PeppyMethod(peppy.GetUser))
|
||||
}
|
||||
|
||||
r.NoRoute(v1.Handle404)
|
||||
|
Reference in New Issue
Block a user