2022-11-16 23:46:24 +01:00
|
|
|
package api
|
|
|
|
|
|
|
|
import (
|
|
|
|
"net/http"
|
|
|
|
)
|
|
|
|
|
|
|
|
// Handler returns an instance of httprouter.Router that handle APIs registered here
|
|
|
|
func (rt *_router) Handler() http.Handler {
|
|
|
|
// Register routes
|
2022-11-18 13:05:40 +01:00
|
|
|
rt.router.POST("/session", rt.wrap(rt.PostSession))
|
2022-11-18 17:18:46 +01:00
|
|
|
|
|
|
|
rt.router.PUT("/users/:user_id/username", rt.wrap(rt.UpdateUsername))
|
|
|
|
|
2022-11-20 19:21:26 +01:00
|
|
|
rt.router.GET("/users/:user_id/followers", rt.wrap(rt.GetFollowersFollowing))
|
|
|
|
rt.router.PUT("/users/:user_id/followers/:follower_uid", rt.wrap(rt.PutFollow))
|
|
|
|
rt.router.DELETE("/users/:user_id/followers/:follower_uid", rt.wrap(rt.DeleteFollow))
|
|
|
|
rt.router.GET("/users/:user_id/following", rt.wrap(rt.GetFollowersFollowing))
|
|
|
|
|
|
|
|
rt.router.PUT("/users/:user_id/bans/:ban_uid", rt.wrap(rt.PutBan))
|
|
|
|
rt.router.DELETE("/users/:user_id/bans/:ban_uid", rt.wrap(rt.DeleteBan))
|
|
|
|
|
|
|
|
rt.router.POST("/users/:user_id/photos", rt.wrap(rt.PostPhoto))
|
|
|
|
rt.router.GET("/users/:user_id/photos/:photo_id", rt.wrap(rt.GetPhoto))
|
|
|
|
rt.router.DELETE("/users/:user_id/photos/:photo_id", rt.wrap(rt.DeletePhoto))
|
|
|
|
|
2022-11-20 19:36:35 +01:00
|
|
|
rt.router.GET("/users/:user_id/photos/:photo_id/likes", rt.wrap(rt.GetLikes))
|
2022-11-20 19:21:26 +01:00
|
|
|
rt.router.PUT("/users/:user_id/photos/:photo_id/likes/:liker_uid", rt.wrap(rt.PutDeleteLike))
|
|
|
|
rt.router.DELETE("/users/:user_id/photos/:photo_id/likes/:liker_uid", rt.wrap(rt.PutDeleteLike))
|
2022-11-18 18:58:12 +01:00
|
|
|
|
2022-11-20 19:36:35 +01:00
|
|
|
rt.router.GET("/users/:user_id/photos/:photo_id/comments", rt.wrap(rt.GetComments))
|
|
|
|
rt.router.POST("/users/:user_id/photos/:photo_id/comments", rt.wrap(rt.PostComment))
|
|
|
|
rt.router.DELETE("/users/:user_id/photos/:photo_id/comments/:comment_id", rt.wrap(rt.DeleteComment))
|
|
|
|
|
2022-11-16 23:46:24 +01:00
|
|
|
rt.router.GET("/", rt.getHelloWorld)
|
|
|
|
rt.router.GET("/context", rt.wrap(rt.getContextReply))
|
|
|
|
|
|
|
|
// Special routes
|
|
|
|
rt.router.GET("/liveness", rt.liveness)
|
|
|
|
|
|
|
|
return rt.router
|
|
|
|
}
|