59 lines
2.8 KiB
Go
59 lines
2.8 KiB
Go
package routes
|
|
|
|
import (
|
|
"gitlab.com/pactual1/backend/controllers"
|
|
"gitlab.com/pactual1/backend/middlewares"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
func RegisterPublicRoutes(r *gin.Engine) {
|
|
|
|
// Health checks
|
|
r.GET("/health", controllers.HealthCheck)
|
|
|
|
// Map dashboard
|
|
r.GET("/dashboard/map/contract/devices", middlewares.ContractCheckMiddleware(), middlewares.AuthMiddleware(), controllers.GetDevicesByContract)
|
|
r.GET("/dashboard/map/contracts", middlewares.ContractCheckMiddleware(), middlewares.AuthMiddleware(), controllers.GetLatestContracts)
|
|
r.GET("/dashboard/map/device_data", middlewares.ContractCheckMiddleware(), middlewares.AuthMiddleware(), controllers.GetDeviceData)
|
|
|
|
// Invoices
|
|
r.GET("/invoices", middlewares.AuthMiddleware(), controllers.GetInvoices)
|
|
r.GET("/invoices/:id", middlewares.AuthMiddleware(), controllers.GetInvoiceByID)
|
|
|
|
r.POST("/device_data/save", controllers.SaveDeviceInfo)
|
|
r.GET("/buyers", middlewares.AuthMiddleware(), controllers.ListCompanies)
|
|
r.GET("/products", middlewares.AuthMiddleware(), middlewares.AuthMiddleware(), controllers.ListProductTemplates)
|
|
r.GET("/templates", middlewares.AuthMiddleware(), controllers.ListTextTemplates)
|
|
r.POST("/templates/save", middlewares.AuthMiddleware(), controllers.CreateTextTemplate)
|
|
r.GET("/products/:template_id", middlewares.AuthMiddleware(), controllers.GetProductTemplate)
|
|
|
|
// Contracts
|
|
r.GET("/contracts/statuses", middlewares.AuthMiddleware(), controllers.GetContractStatuses)
|
|
r.GET("/contracts", middlewares.AuthMiddleware(), controllers.GetBuyerContracts)
|
|
r.POST("/contracts/create", middlewares.AuthMiddleware(), controllers.CreateContract)
|
|
|
|
r.GET("/contracts/:contract_id", middlewares.AuthMiddleware(), controllers.GetContractByID)
|
|
r.PATCH("/contracts/:contract_id", middlewares.AuthMiddleware(), controllers.UpdateContract)
|
|
|
|
// Locations
|
|
r.GET("/locations", middlewares.AuthMiddleware(), controllers.SearchPlace)
|
|
|
|
// Notifications
|
|
r.GET("/notifications", middlewares.AuthMiddleware(), controllers.GetNotifications)
|
|
|
|
// Stats
|
|
r.GET("/stats/measurements", middlewares.AuthMiddleware(), controllers.GetCompanyRelatedDeviceInfoCount)
|
|
r.GET("/stats/devices", middlewares.AuthMiddleware(), controllers.GetCompanyRelatedDeviceInfoCountWithTempRange)
|
|
r.GET("/stats/contracts", middlewares.AuthMiddleware(), controllers.GetContractCountByStatus)
|
|
r.GET("/stats/contracts/total", middlewares.AuthMiddleware(), controllers.GetTotalContractCount)
|
|
r.GET("/stats/invoices", middlewares.AuthMiddleware(), controllers.GetInvoiceCountByStatus)
|
|
r.GET("/stats/milestones", middlewares.AuthMiddleware(), controllers.GetContractsMatchingDeviceLocation)
|
|
|
|
//Users
|
|
r.POST("/user/reset/password", controllers.ResetPassword)
|
|
r.POST("/user/set/password", controllers.UpdatePassword)
|
|
r.POST("/user/login", controllers.Login)
|
|
r.POST("/user/logout", controllers.Logout)
|
|
}
|