init push
This commit is contained in:
140
internal/app/api/routes.go
Normal file
140
internal/app/api/routes.go
Normal file
@@ -0,0 +1,140 @@
|
||||
package api
|
||||
|
||||
import (
|
||||
"github.com/gofiber/fiber/v2"
|
||||
"github.com/valyala/fasthttp/fasthttpadaptor"
|
||||
|
||||
samlauth "wucher/internal/auth"
|
||||
"wucher/internal/service"
|
||||
"wucher/internal/shared/pkg/metrics"
|
||||
"wucher/internal/transport/http/handlers"
|
||||
"wucher/internal/transport/http/middleware"
|
||||
)
|
||||
|
||||
var metricsHandler = fasthttpadaptor.NewFastHTTPHandler(metrics.PromHTTPHandler())
|
||||
|
||||
type RouteServices struct {
|
||||
Auth *service.AuthService
|
||||
Audit *service.AuditLogService
|
||||
WOPI *service.WOPIService
|
||||
}
|
||||
|
||||
type RouteHandlers struct {
|
||||
User *handlers.UserHandler
|
||||
Contact *handlers.ContactHandler
|
||||
Health *handlers.HealthHandler
|
||||
BuildInfo *handlers.BuildInfoHandler
|
||||
Auth *handlers.AuthHandler
|
||||
Role *handlers.RoleHandler
|
||||
Helicopter *handlers.HelicopterHandler
|
||||
HelicopterUsage *handlers.HelicopterUsageHandler
|
||||
HelicopterFile *handlers.HelicopterFileHandler
|
||||
Flight *handlers.FlightHandler
|
||||
FlightData *handlers.FlightDataHandler
|
||||
Mission *handlers.MissionHandler
|
||||
FMReport *handlers.FMReportHandler
|
||||
ReserveAc *handlers.ReserveAcHandler
|
||||
Takeover *handlers.TakeoverHandler
|
||||
OtherPerson *handlers.OtherPersonHandler
|
||||
Facility *handlers.FacilityHandler
|
||||
Base *handlers.BaseHandler
|
||||
Medicine *handlers.MedicineHandler
|
||||
Vocation *handlers.VocationHandler
|
||||
Opc *handlers.OpcHandler
|
||||
ForcesPresent *handlers.ForcesPresentHandler
|
||||
Hospital *handlers.HospitalHandler
|
||||
HealthInsuranceCompanies *handlers.HealthInsuranceCompaniesHandler
|
||||
FederalState *handlers.FederalStateHandler
|
||||
ICAO *handlers.ICAOHandler
|
||||
Land *handlers.LandHandler
|
||||
MasterSettings *handlers.MasterSettingsHandler
|
||||
Branding *handlers.BrandingHandler
|
||||
FileManagerFolder *handlers.FileManagerFolderHandler
|
||||
FileManagerFile *handlers.FileManagerFileHandler
|
||||
FileManagerAttachment *handlers.FileManagerAttachmentHandler
|
||||
FileManagerEvents *handlers.FileManagerEventsHandler
|
||||
HelicopterFileEvents *handlers.HelicopterFileEventsHandler
|
||||
DutyRoster *handlers.DutyRosterHandler
|
||||
AirRescuerChecklist *handlers.AirRescuerChecklistHandler
|
||||
InsurancePatientData *handlers.InsurancePatientDataHandler
|
||||
PatientData *handlers.PatientDataHandler
|
||||
HEMSOperationalData *handlers.HEMSOperationalDataHandler
|
||||
HEMSOperationCategory *handlers.HEMSOperationCategoryHandler
|
||||
HEMSOperation *handlers.HEMSOperationHandler
|
||||
Complaint *handlers.ComplaintHandler
|
||||
EASARelease *handlers.EASAReleaseHandler
|
||||
ActionSignoff *handlers.ActionSignoffHandler
|
||||
MCF *handlers.MCFHandler
|
||||
DUL *handlers.DULHandler
|
||||
FleetStatus *handlers.FleetStatusHandler
|
||||
SAMLAuth *samlauth.Handler
|
||||
}
|
||||
|
||||
type RouteDependencies struct {
|
||||
Handlers RouteHandlers
|
||||
Services RouteServices
|
||||
}
|
||||
|
||||
func RegisterRoutes(app *fiber.App, deps RouteDependencies) {
|
||||
h := deps.Handlers
|
||||
s := deps.Services
|
||||
|
||||
app.Get("/health", h.Health.Handle)
|
||||
app.Get("/version", h.BuildInfo.Handle)
|
||||
app.Get("/api/version", h.BuildInfo.Handle)
|
||||
app.Get("/api/build-info", h.BuildInfo.Handle)
|
||||
app.Get("/metrics", func(c *fiber.Ctx) error {
|
||||
metricsHandler(c.Context())
|
||||
return nil
|
||||
})
|
||||
|
||||
api := app.Group("/api")
|
||||
api.Use(AuditMiddleware(s.Audit))
|
||||
v1 := api.Group("/v1")
|
||||
|
||||
registerAuthRoutes(v1, h.Auth, s.Auth, h.SAMLAuth)
|
||||
registerUserRoutes(v1, h.User, h.FileManagerEvents, middleware.AuthRequired(s.Auth), s.Auth)
|
||||
registerContactRoutes(v1, h.Contact, middleware.AuthRequired(s.Auth), s.Auth)
|
||||
registerRoleRoutes(v1, h.Role, middleware.AuthRequired(s.Auth), s.Auth)
|
||||
registerHelicopterRoutes(v1, h.Helicopter, middleware.AuthRequired(s.Auth), s.Auth)
|
||||
registerHelicopterUsageRoutes(v1, h.HelicopterUsage, middleware.AuthRequired(s.Auth), s.Auth)
|
||||
registerHelicopterFileRoutes(v1, h.HelicopterFile, h.HelicopterFileEvents, middleware.AuthRequired(s.Auth), s.Auth)
|
||||
registerFlightRoutes(v1, h.Flight, middleware.AuthRequired(s.Auth), s.Auth)
|
||||
registerFlightDataRoutes(v1, h.FlightData, middleware.AuthRequired(s.Auth), s.Auth)
|
||||
registerMissionRoutes(v1, h.Mission, h.FileManagerEvents, middleware.AuthRequired(s.Auth), s.Auth)
|
||||
registerFMReportRoutes(v1, h.FMReport, middleware.AuthRequired(s.Auth), s.Auth)
|
||||
registerReserveAcRoutes(v1, h.ReserveAc, h.Takeover, middleware.AuthRequired(s.Auth), s.Auth)
|
||||
registerTakeoverRoutes(v1, h.Takeover, middleware.AuthRequired(s.Auth), s.Auth)
|
||||
registerOtherPersonRoutes(v1, h.OtherPerson, middleware.AuthRequired(s.Auth), s.Auth)
|
||||
registerLastFlightsInspectionRoutes(v1, h.ReserveAc, middleware.AuthRequired(s.Auth), s.Auth)
|
||||
registerFacilityRoutes(v1, h.Facility, middleware.AuthRequired(s.Auth), s.Auth)
|
||||
registerBaseRoutes(v1, h.Base, h.FileManagerEvents, middleware.AuthRequired(s.Auth), s.Auth)
|
||||
registerMedicineRoutes(v1, h.Medicine, middleware.AuthRequired(s.Auth), s.Auth)
|
||||
registerVocationRoutes(v1, h.Vocation, middleware.AuthRequired(s.Auth), s.Auth)
|
||||
registerOpcRoutes(v1, h.Opc, middleware.AuthRequired(s.Auth), s.Auth)
|
||||
registerForcesPresentRoutes(v1, h.ForcesPresent, middleware.AuthRequired(s.Auth), s.Auth)
|
||||
registerHospitalRoutes(v1, h.Hospital, middleware.AuthRequired(s.Auth), s.Auth)
|
||||
registerHealthInsuranceCompaniesRoutes(v1, h.HealthInsuranceCompanies, middleware.AuthRequired(s.Auth), s.Auth)
|
||||
registerFederalStateRoutes(v1, h.FederalState, middleware.AuthRequired(s.Auth), s.Auth)
|
||||
registerICAORoutes(v1, h.ICAO, middleware.AuthRequired(s.Auth), s.Auth)
|
||||
registerLandRoutes(v1, h.Land, middleware.AuthRequired(s.Auth), s.Auth)
|
||||
registerMasterSettingsRoutes(v1, h.MasterSettings, middleware.AuthRequired(s.Auth), s.Auth)
|
||||
registerBrandingRoutes(v1, h.Branding)
|
||||
registerFileManagerRoutes(v1, h.FileManagerFolder, h.FileManagerFile, h.FileManagerAttachment, h.FileManagerEvents, middleware.AuthRequired(s.Auth), s.Auth)
|
||||
registerWOPIRoutes(app, h.Takeover, s.WOPI)
|
||||
registerDutyRosterRoutes(v1, h.DutyRoster, middleware.AuthRequired(s.Auth), s.Auth)
|
||||
registerAirRescuerChecklistRoutes(v1, h.AirRescuerChecklist, middleware.AuthRequired(s.Auth), s.Auth)
|
||||
registerInsurancePatientDataRoutes(v1, h.InsurancePatientData, middleware.AuthRequired(s.Auth), s.Auth)
|
||||
registerPatientDataRoutes(v1, h.PatientData, middleware.AuthRequired(s.Auth), s.Auth)
|
||||
registerHEMSOperationalDataRoutes(v1, h.HEMSOperationalData, middleware.AuthRequired(s.Auth), s.Auth)
|
||||
registerHEMSOperationCategoryRoutes(v1, h.HEMSOperationCategory, middleware.AuthRequired(s.Auth), s.Auth)
|
||||
registerHEMSOperationRoutes(v1, h.HEMSOperation, middleware.AuthRequired(s.Auth), s.Auth)
|
||||
registerComplaintRoutes(v1, h.Complaint, middleware.AuthRequired(s.Auth), s.Auth)
|
||||
registerEASAReleaseRoutes(v1, h.EASARelease, middleware.AuthRequired(s.Auth), s.Auth)
|
||||
registerActionSignoffRoutes(v1, h.ActionSignoff, middleware.AuthRequired(s.Auth), s.Auth)
|
||||
registerMCFRoutes(v1, h.MCF, middleware.AuthRequired(s.Auth), s.Auth)
|
||||
registerDULRoutes(v1, h.DUL, h.FileManagerEvents, middleware.AuthRequired(s.Auth), s.Auth)
|
||||
registerFleetStatusRoutes(v1, h.FleetStatus, middleware.AuthRequired(s.Auth), s.Auth)
|
||||
registerAuditRoutes(v1, handlers.NewAuditHandler(s.Audit), middleware.AuthRequired(s.Auth), s.Auth)
|
||||
registerSwaggerRoutes(app)
|
||||
}
|
||||
Reference in New Issue
Block a user