Add init
This commit is contained in:
@@ -12,6 +12,8 @@ type UserHandler interface {
|
||||
UpdateProfile(c *gin.Context)
|
||||
ChangePassword(c *gin.Context)
|
||||
ListTitles(c *gin.Context)
|
||||
GetActiveUsersForMention(c *gin.Context)
|
||||
BulkCreateUsers(c *gin.Context)
|
||||
}
|
||||
|
||||
type FileHandler interface {
|
||||
@@ -62,7 +64,8 @@ type LetterHandler interface {
|
||||
DeleteIncomingLetter(c *gin.Context)
|
||||
|
||||
CreateDispositions(c *gin.Context)
|
||||
ListDispositionsByLetter(c *gin.Context)
|
||||
//ListDispositionsByLetter(c *gin.Context)
|
||||
GetEnhancedDispositionsByLetter(c *gin.Context)
|
||||
|
||||
CreateDiscussion(c *gin.Context)
|
||||
UpdateDiscussion(c *gin.Context)
|
||||
@@ -75,3 +78,17 @@ type DispositionRouteHandler interface {
|
||||
ListByFromDept(c *gin.Context)
|
||||
SetActive(c *gin.Context)
|
||||
}
|
||||
|
||||
type VoteEventHandler interface {
|
||||
CreateVoteEvent(c *gin.Context)
|
||||
GetVoteEvent(c *gin.Context)
|
||||
GetActiveEvents(c *gin.Context)
|
||||
ListVoteEvents(c *gin.Context)
|
||||
UpdateVoteEvent(c *gin.Context)
|
||||
DeleteVoteEvent(c *gin.Context)
|
||||
CreateCandidate(c *gin.Context)
|
||||
SubmitVote(c *gin.Context)
|
||||
GetVoteResults(c *gin.Context)
|
||||
CheckVoteStatus(c *gin.Context)
|
||||
GetCandidates(c *gin.Context)
|
||||
}
|
||||
|
||||
@@ -18,6 +18,7 @@ type Router struct {
|
||||
masterHandler MasterHandler
|
||||
letterHandler LetterHandler
|
||||
dispRouteHandler DispositionRouteHandler
|
||||
voteEventHandler VoteEventHandler
|
||||
}
|
||||
|
||||
func NewRouter(
|
||||
@@ -31,6 +32,7 @@ func NewRouter(
|
||||
masterHandler MasterHandler,
|
||||
letterHandler LetterHandler,
|
||||
dispRouteHandler DispositionRouteHandler,
|
||||
voteEventHandler VoteEventHandler,
|
||||
) *Router {
|
||||
return &Router{
|
||||
config: cfg,
|
||||
@@ -43,6 +45,7 @@ func NewRouter(
|
||||
masterHandler: masterHandler,
|
||||
letterHandler: letterHandler,
|
||||
dispRouteHandler: dispRouteHandler,
|
||||
voteEventHandler: voteEventHandler,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -50,12 +53,12 @@ func (r *Router) Init() *gin.Engine {
|
||||
gin.SetMode(gin.ReleaseMode)
|
||||
engine := gin.New()
|
||||
engine.Use(
|
||||
middleware.CORS(),
|
||||
middleware.JsonAPI(),
|
||||
middleware.CorrelationID(),
|
||||
middleware.Recover(),
|
||||
middleware.HTTPStatLogger(),
|
||||
middleware.PopulateContext(),
|
||||
middleware.CORS(),
|
||||
)
|
||||
|
||||
r.addAppRoutes(engine)
|
||||
@@ -78,10 +81,12 @@ func (r *Router) addAppRoutes(rg *gin.Engine) {
|
||||
users.Use(r.authMiddleware.RequireAuth())
|
||||
{
|
||||
users.GET("", r.authMiddleware.RequirePermissions("user.read"), r.userHandler.ListUsers)
|
||||
users.POST("/bulk", r.userHandler.BulkCreateUsers)
|
||||
users.GET("/profile", r.userHandler.GetProfile)
|
||||
users.PUT("/profile", r.userHandler.UpdateProfile)
|
||||
users.PUT(":id/password", r.userHandler.ChangePassword)
|
||||
users.GET("/titles", r.userHandler.ListTitles)
|
||||
users.GET("/mention", r.userHandler.GetActiveUsersForMention)
|
||||
users.POST("/profile/avatar", r.fileHandler.UploadProfileAvatar)
|
||||
}
|
||||
|
||||
@@ -139,7 +144,7 @@ func (r *Router) addAppRoutes(rg *gin.Engine) {
|
||||
lettersch.DELETE("/incoming/:id", r.letterHandler.DeleteIncomingLetter)
|
||||
|
||||
lettersch.POST("/dispositions/:letter_id", r.letterHandler.CreateDispositions)
|
||||
lettersch.GET("/dispositions/:letter_id", r.letterHandler.ListDispositionsByLetter)
|
||||
lettersch.GET("/dispositions/:letter_id", r.letterHandler.GetEnhancedDispositionsByLetter)
|
||||
|
||||
lettersch.POST("/discussions/:letter_id", r.letterHandler.CreateDiscussion)
|
||||
lettersch.PUT("/discussions/:letter_id/:discussion_id", r.letterHandler.UpdateDiscussion)
|
||||
@@ -151,8 +156,34 @@ func (r *Router) addAppRoutes(rg *gin.Engine) {
|
||||
droutes.POST("", r.dispRouteHandler.Create)
|
||||
droutes.GET(":id", r.dispRouteHandler.Get)
|
||||
droutes.PUT(":id", r.dispRouteHandler.Update)
|
||||
droutes.GET("from/:from_department_id", r.dispRouteHandler.ListByFromDept)
|
||||
droutes.GET("department", r.dispRouteHandler.ListByFromDept)
|
||||
droutes.PUT(":id/active", r.dispRouteHandler.SetActive)
|
||||
}
|
||||
|
||||
voteEvents := v1.Group("/vote-events")
|
||||
voteEvents.Use(r.authMiddleware.RequireAuth())
|
||||
{
|
||||
voteEvents.POST("", r.voteEventHandler.CreateVoteEvent)
|
||||
voteEvents.GET("", r.voteEventHandler.ListVoteEvents)
|
||||
voteEvents.GET("/active", r.voteEventHandler.GetActiveEvents)
|
||||
voteEvents.GET("/:id", r.voteEventHandler.GetVoteEvent)
|
||||
voteEvents.PUT("/:id", r.voteEventHandler.UpdateVoteEvent)
|
||||
voteEvents.DELETE("/:id", r.voteEventHandler.DeleteVoteEvent)
|
||||
voteEvents.GET("/:id/candidates", r.voteEventHandler.GetCandidates)
|
||||
voteEvents.GET("/:id/results", r.voteEventHandler.GetVoteResults)
|
||||
voteEvents.GET("/:id/vote-status", r.voteEventHandler.CheckVoteStatus)
|
||||
}
|
||||
|
||||
candidates := v1.Group("/candidates")
|
||||
candidates.Use(r.authMiddleware.RequireAuth())
|
||||
{
|
||||
candidates.POST("", r.voteEventHandler.CreateCandidate)
|
||||
}
|
||||
|
||||
votes := v1.Group("/votes")
|
||||
votes.Use(r.authMiddleware.RequireAuth())
|
||||
{
|
||||
votes.POST("", r.voteEventHandler.SubmitVote)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user