mirror of
https://github.com/hazemKrimi/crimson-vault.git
synced 2026-05-01 18:20:27 +00:00
50 lines
1.9 KiB
Go
50 lines
1.9 KiB
Go
package api
|
|
|
|
import "github.com/labstack/echo/v4/middleware"
|
|
|
|
func (api *API) ClientRoutes() {
|
|
clients := api.instance.Group("/api/clients", api.AuthSessionMiddleware)
|
|
|
|
clients.GET("/", api.GetAllClientsHandler)
|
|
clients.POST("/", api.CreateClientHandler)
|
|
clients.GET("/:id/", api.GetClientHandler)
|
|
clients.PUT("/:id/", api.UpdateClientHandler)
|
|
clients.DELETE("/:id/", api.DeleteClientHandler)
|
|
}
|
|
|
|
func (api *API) UserRoutes() {
|
|
users := api.instance.Group("/api/users")
|
|
|
|
users.GET("/", api.GetAllUsersHandler)
|
|
users.POST("/", api.CreateUserHandler)
|
|
users.GET("/me/", api.GetUserHandler, api.AuthSessionMiddleware)
|
|
users.PUT("/me/", api.UpdateUserHandler, api.AuthSessionMiddleware)
|
|
users.PUT("/me/security/", api.UpdateUserSecurityCredentialsHandler, api.AuthSessionMiddleware)
|
|
users.PUT("/me/logo/", api.UpdateUserLogoHandler, middleware.BodyLimit("2M"), api.AuthSessionMiddleware)
|
|
users.DELETE("/me/", api.DeleteUserHandler, api.AuthSessionMiddleware)
|
|
users.DELETE("/me/logo/", api.DeleteUserLogoHandler, api.AuthSessionMiddleware)
|
|
}
|
|
|
|
func (api *API) InvoiceRoutes() {
|
|
invoices := api.instance.Group("/api/invoices", api.AuthSessionMiddleware)
|
|
|
|
invoices.GET("/", api.GetAllInvoicesHandler)
|
|
invoices.POST("/", api.CreateInvoiceHandler)
|
|
invoices.POST("/:id/items/", api.CreateItemHandler)
|
|
invoices.GET("/:id/", api.GetInvoiceHandler)
|
|
invoices.GET("/:id/download/", api.DownloadInvoiceHandler)
|
|
invoices.GET("/:id/items/", api.GetAllItemsHandler)
|
|
invoices.GET("/items/:id/", api.GetItemHandler)
|
|
invoices.PUT("/:id/", api.UpdateInvoiceHandler)
|
|
invoices.PUT("/items/:id/", api.UpdateItemHandler)
|
|
invoices.DELETE("/:id/", api.DeleteInvoiceHandler)
|
|
invoices.DELETE("/items/:id/", api.DeleteItemHandler)
|
|
}
|
|
|
|
func (api *API) AuthRoutes() {
|
|
auth := api.instance.Group("/api/auth")
|
|
|
|
auth.POST("/login/", api.LoginHandler)
|
|
auth.DELETE("/logout/", api.LogoutHandler, api.AuthSessionMiddleware)
|
|
}
|