Add depot, attendant, jetfire, optimus, ota services with kustomize overlays
This commit is contained in:
324
services/ota_update_go/main.go
Normal file
324
services/ota_update_go/main.go
Normal file
@@ -0,0 +1,324 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
|
||||
"otaupdate/controllers"
|
||||
"otaupdate/handlers"
|
||||
"otaupdate/services"
|
||||
|
||||
a "github.com/fiskerinc/cloud-services/pkg/adminroles"
|
||||
"github.com/fiskerinc/cloud-services/pkg/common/authproviders"
|
||||
h "github.com/fiskerinc/cloud-services/pkg/httphandlers"
|
||||
"github.com/fiskerinc/cloud-services/pkg/logger"
|
||||
"github.com/fiskerinc/cloud-services/pkg/tracer"
|
||||
"github.com/fiskerinc/cloud-services/pkg/utils/app"
|
||||
|
||||
"gopkg.in/DataDog/dd-trace-go.v1/contrib/julienschmidt/httprouter"
|
||||
)
|
||||
|
||||
var authChecker h.AuthCheckerInterface
|
||||
|
||||
func init() {
|
||||
app.Setup("ota update go", cleanup)
|
||||
|
||||
handlers.InitSwaggerDoc()
|
||||
|
||||
authChecker = &h.AuthAPIToken{
|
||||
APITokens: services.GetDB().GetAPITokens(),
|
||||
APICalls: services.GetDB().GetAPICalls(),
|
||||
JWTAuth: true,
|
||||
}
|
||||
}
|
||||
|
||||
func main() {
|
||||
defer cleanup()
|
||||
|
||||
tracer.Start()
|
||||
defer tracer.Stop()
|
||||
|
||||
const port string = ":8077"
|
||||
|
||||
// Enables profiling of application. Run `go get github.com/pkg/profile` for profiling package
|
||||
// defer profile.Start(profile.MemProfile, profile.MemProfileRate(1), profile.ProfilePath(".")).Stop()
|
||||
|
||||
swagger := h.GetSwaggerHandler()
|
||||
router := httprouter.New()
|
||||
router.PanicHandler = h.HttpRouterPanicHandler
|
||||
readRoles := []a.RoleID{a.RoleCreate, a.RoleReadOnly}
|
||||
createRole := []a.RoleID{a.RoleCreate}
|
||||
deleteRole := []a.RoleID{a.RoleDelete}
|
||||
supplierAdminRole := []a.RoleID{a.RoleSupplierApprover}
|
||||
updateDeployRole := []a.RoleID{a.RoleUpdateDeploy}
|
||||
|
||||
// this means only Fisker AD and API Key can access
|
||||
permissionRead := a.RoleMap{
|
||||
authproviders.FiskerAD: readRoles,
|
||||
authproviders.FiskerAPIKey: readRoles,
|
||||
}
|
||||
permissionCreate := a.RoleMap{
|
||||
authproviders.FiskerAD: createRole,
|
||||
authproviders.FiskerAPIKey: createRole,
|
||||
}
|
||||
permissionDelete := a.RoleMap{
|
||||
authproviders.FiskerAD: deleteRole,
|
||||
authproviders.FiskerAPIKey: deleteRole,
|
||||
}
|
||||
permissionSupplierAdmin := a.RoleMap{
|
||||
authproviders.FiskerAD: supplierAdminRole,
|
||||
authproviders.FiskerAPIKey: supplierAdminRole,
|
||||
}
|
||||
permissionManufacture := a.RoleMap{
|
||||
authproviders.FiskerAPIKey: {a.RoleManufacture},
|
||||
}
|
||||
permissionMigrate := a.RoleMap{
|
||||
authproviders.FiskerAD: {a.RoleManifestMigration},
|
||||
authproviders.FiskerAPIKey: {a.RoleManifestMigration},
|
||||
}
|
||||
|
||||
permissionUpdateDeploy := a.RoleMap{
|
||||
authproviders.FiskerAD: updateDeployRole,
|
||||
authproviders.FiskerAPIKey: updateDeployRole,
|
||||
}
|
||||
|
||||
// Change it to Magna as soon as you get groupIDs.
|
||||
magnaAccess := a.RoleMap{
|
||||
authproviders.Magna: []a.RoleID{a.RoleMagna},
|
||||
authproviders.FiskerQA: []a.RoleID{a.RoleManufacture},
|
||||
}
|
||||
|
||||
carDiagnostic := a.RoleMap{
|
||||
authproviders.Default: []a.RoleID{a.RoleCarDiagnostic},
|
||||
authproviders.FiskerAPIKey: []a.RoleID{a.RoleCarDiagnostic},
|
||||
}
|
||||
|
||||
addHandler(router, nil, http.MethodGet, "/docs/*path", swagger)
|
||||
|
||||
// ### APICALL ###
|
||||
addHandler(router, permissionRead, http.MethodGet, "/apicalls", handlers.HandleAPICallsGet)
|
||||
|
||||
// ### APITOKEN ###
|
||||
addHandler(router, permissionRead, http.MethodGet, "/apitokens", handlers.HandleAPITokensGetList)
|
||||
addHandler(router, permissionCreate, http.MethodPost, "/apitoken", handlers.HandleAPITokenAdd)
|
||||
addHandler(router, permissionDelete, http.MethodDelete, "/apitoken", handlers.HandleAPITokenDelete)
|
||||
addHandler(router, permissionCreate, http.MethodPut, "/apitoken", handlers.HandleAPITokenUpdate)
|
||||
|
||||
// ### CANSIGNAL ###
|
||||
addHandler(router, permissionRead.CopyAndMerge(magnaAccess), http.MethodGet, "/cansignals/:vin", handlers.HandleVehiclesSignals)
|
||||
addHandler(router, permissionRead, http.MethodGet, "/can_signals_export", handlers.HandleCanSignalVINGet)
|
||||
addHandler(router, permissionRead, http.MethodGet, "/can_signals_list", handlers.HandleCanSignalListGet)
|
||||
addHandler(router, permissionRead, http.MethodGet, "/can_signals/:dbc", handlers.HandleDBCSignalsGetList)
|
||||
|
||||
// ### CARCONFIG ###
|
||||
addHandler(router, permissionCreate, http.MethodGet, "/car_config/:vin", handlers.GetCarConfiguration)
|
||||
addHandler(router, permissionUpdateDeploy, http.MethodPost, "/car_config/:vin", handlers.CarConfigurationUpdate)
|
||||
|
||||
// ### CARSCONNECTED ###
|
||||
addHandler(router, permissionRead.CopyAndMerge(magnaAccess), http.MethodPost, "/carsconnected", handlers.HandleVehicleConnectionStatuses)
|
||||
|
||||
// ### CARSLOCATION ###
|
||||
addHandler(router, permissionRead.CopyAndMerge(magnaAccess), http.MethodGet, "/carslocations", handlers.HandleVehiclesLocations)
|
||||
|
||||
// ### CARSTATE ###
|
||||
addHandler(router, permissionRead.CopyAndMerge(magnaAccess), http.MethodGet, "/carstate", handlers.HandleVehicleState)
|
||||
addHandler(router, permissionRead.CopyAndMerge(magnaAccess), http.MethodPost, "/carstate_multi", handlers.HandleVehicleStateMulti)
|
||||
|
||||
// ### CARUPDATE ###
|
||||
addHandler(router, permissionRead.CopyAndMerge(magnaAccess), http.MethodGet, "/carupdates", handlers.HandleCarUpdatesGet)
|
||||
addHandler(router, permissionUpdateDeploy.CopyAndMerge(magnaAccess), http.MethodPost, "/carupdate", handlers.HandleCarUpdatesAdd)
|
||||
addHandler(router, permissionDelete, http.MethodDelete, "/carupdate", handlers.HandleCarUpdateDelete)
|
||||
addHandler(router, permissionCreate.CopyAndMerge(magnaAccess), http.MethodPost, "/carupdate/:id/cancel", handlers.HandleCarUpdateCancel)
|
||||
addHandler(router, carDiagnostic, http.MethodPost, "/carupdate/:id/vehicle-cancel", handlers.HandleCarUpdateVehicleCancel)
|
||||
addHandler(router, permissionUpdateDeploy.CopyAndMerge(magnaAccess), http.MethodPost, "/carupdate/:id/deploy", handlers.HandleCarUpdateDeploy)
|
||||
|
||||
// ### CARUPDATESLOG ###
|
||||
addHandler(router, permissionRead.CopyAndMerge(magnaAccess), http.MethodGet, "/carupdateslog", handlers.HandleCarUpdatesLog)
|
||||
|
||||
// ### CARUPDATESTATUS ###
|
||||
addHandler(router, permissionRead.CopyAndMerge(magnaAccess), http.MethodGet, "/carupdatesstatuses", handlers.HandleCarUpdatesStatuses)
|
||||
|
||||
// ### DASHBOARD ###
|
||||
addHandler(router, permissionRead.CopyAndMerge(magnaAccess), http.MethodGet, "/dashboard/guest-token", handlers.HandleDashboardToken)
|
||||
addHandler(router, permissionRead.CopyAndMerge(magnaAccess), http.MethodGet, "/dashboard/embedded-dashboards", handlers.HandleSupersetEmbeddedDashboardsGet)
|
||||
|
||||
// ### DITTO ###
|
||||
addHandler(router, permissionRead, http.MethodGet, "/ditto/carstate", handlers.HandleDigitalTwinSignal)
|
||||
|
||||
// ### DTC ###
|
||||
addHandler(router, permissionRead, http.MethodGet, "/dtcs/:vin", handlers.HandleECUDTCGet)
|
||||
|
||||
// ### ECUSTATS ###
|
||||
addHandler(router, permissionRead, http.MethodGet, "/ecu_stats", handlers.HandleECUStatsGetList)
|
||||
addHandler(router, permissionRead, http.MethodGet, "/ecu_stats/:vin/:dbc", handlers.HandleVINECUStatsGetList)
|
||||
|
||||
// ### FLEET ###
|
||||
addHandler(router, permissionRead, http.MethodGet, "/fleets", handlers.HandleFleetGetList)
|
||||
addHandler(router, permissionCreate, http.MethodPost, "/fleet", handlers.HandleFleetAdd)
|
||||
addHandler(router, permissionRead, http.MethodGet, "/fleet/:name", handlers.HandleFleetGet)
|
||||
addHandler(router, permissionCreate, http.MethodPut, "/fleet/:name", handlers.HandleFleetUpdate)
|
||||
addHandler(router, permissionDelete, http.MethodDelete, "/fleet/:name", handlers.HandleFleetDelete)
|
||||
addHandler(router, permissionRead, http.MethodGet, "/fleet/:name/filters", handlers.HandleFleetFilterGetList)
|
||||
addHandler(router, permissionCreate, http.MethodPost, "/fleet/:name/filter", handlers.HandleFleetFilterAdd)
|
||||
addHandler(router, permissionCreate, http.MethodPut, "/fleet/:name/filter/:id", handlers.HandleFleetFilterUpdate)
|
||||
addHandler(router, permissionDelete, http.MethodDelete, "/fleet/:name/filter/:id", handlers.HandleFleetFilterDelete)
|
||||
addHandler(router, permissionRead, http.MethodGet, "/fleet/:name/vehicles", handlers.HandleFleetVehicleGetList)
|
||||
addHandler(router, permissionRead, http.MethodPost, "/fleet/:name/vehicles/add", handlers.HandleFleetVehicleAdd)
|
||||
addHandler(router, permissionRead, http.MethodPost, "/fleet/:name/vehicles/delete", handlers.HandleFleetVehicleDelete)
|
||||
|
||||
// ### FLEETUPDATE ###
|
||||
addHandler(router, permissionCreate, http.MethodPost, "/fleetupdate", handlers.HandleFleetUpdatesAdd)
|
||||
|
||||
// ### ISSUE ###
|
||||
addHandler(router, permissionRead, http.MethodGet, "/issues", handlers.HandleIssuesGet)
|
||||
addHandler(router, permissionRead, http.MethodGet, "/issues/:id", handlers.HandleIssueGet)
|
||||
addHandler(router, permissionDelete, http.MethodDelete, "/issues/:id", handlers.HandleIssuesDelete)
|
||||
|
||||
// ### MANIFEST ###
|
||||
addHandler(router, permissionRead.CopyAndMerge(magnaAccess), http.MethodGet, "/manifests", handlers.HandleUpdateManifestsGet)
|
||||
addHandler(router, permissionRead.CopyAndMerge(magnaAccess), http.MethodGet, "/manifest", handlers.HandleUpdateManifestGet)
|
||||
addHandler(router, permissionCreate, http.MethodPost, "/manifest", handlers.HandleUpdateManifestAdd)
|
||||
addHandler(router, permissionCreate, http.MethodPut, "/manifest", handlers.HandleUpdateManifestUpdate)
|
||||
addHandler(router, permissionDelete, http.MethodDelete, "/manifest", handlers.HandleUpdateManifestDelete)
|
||||
addHandler(router, permissionCreate.CopyAndMerge(magnaAccess), http.MethodPut, "/manifests/:id/sums", handlers.HandleUpdateManifestSUMSUpdate)
|
||||
addHandler(router, permissionRead.CopyAndMerge(magnaAccess), http.MethodGet, "/manifests/:manifest_id/vehicles", handlers.HandleGetCarsByManifest)
|
||||
addHandler(router, permissionRead.CopyAndMerge(magnaAccess), http.MethodGet, "/manifest/sums", handlers.HandleUpdateManifestSUMSGet)
|
||||
addHandler(router, permissionCreate.CopyAndMerge(magnaAccess), http.MethodPost, "/manifest/sums", handlers.HandleUpdateManifestSUMSAdd)
|
||||
addHandler(router, permissionDelete.CopyAndMerge(magnaAccess), http.MethodDelete, "/manifest/sums/:version", handlers.HandleUpdateManifestSUMSDelete)
|
||||
addHandler(router, permissionRead.CopyAndMerge(magnaAccess), http.MethodGet, "/manifest/sums/:version/rxswins", handlers.HandleUpdateManifestSUMSRxSwinsGet)
|
||||
addHandler(router, permissionCreate.CopyAndMerge(magnaAccess), http.MethodPost, "/manifest/sums/:version/rxswins", handlers.HandleUpdateManifestSUMSRxSwinsAdd)
|
||||
addHandler(router, permissionDelete.CopyAndMerge(magnaAccess), http.MethodDelete, "/manifest/sums/:version/rxswins/:rxswin", handlers.HandleUpdateManifestSUMSRxSwinsDelete)
|
||||
|
||||
// ### MANIFESTECU ###
|
||||
addHandler(router, permissionCreate, http.MethodPost, "/manifestecu", handlers.HandleUpdateManifestECUAdd)
|
||||
|
||||
// ### MANIFESTFILE ###
|
||||
addHandler(router, permissionCreate, http.MethodPost, "/manifestfile", handlers.HandleUpdateManifestFileAdd)
|
||||
|
||||
// ### MANIFESTMIGRATE ###
|
||||
// Need a special permission
|
||||
// Like HandleUpdateManifestAdd, but receives a manifest itself instead of the CreateUpdateManifest object
|
||||
addHandler(router, permissionMigrate, http.MethodPost, "/manifestmigrate", handlers.HandleUpdateManifestMigrateReceive)
|
||||
// Sends the manifest to another API
|
||||
addHandler(router, permissionMigrate, http.MethodPost, "/manifestmigrate/:manifest_id", handlers.HandleUpdateManifestMigrate)
|
||||
addHandler(router, permissionMigrate, http.MethodGet, "/manifestmigrate-version", handlers.HandleUpdateManifestMigrateVersion)
|
||||
|
||||
// ### MANUFACTURECERT ###
|
||||
addHandler(router, permissionManufacture.CopyAndMerge(magnaAccess), http.MethodPost, "/manufacture-certs", handlers.HandleGetDLLManufactureCerts)
|
||||
|
||||
// ### SMS ###
|
||||
addHandler(router, permissionCreate, http.MethodPost, "/sms", handlers.HandleSMSSend)
|
||||
|
||||
// ### SUBSCRIPTION ###
|
||||
addHandler(router, permissionDelete, http.MethodDelete, "/subscription", handlers.HandleSubscriptionDelete)
|
||||
|
||||
// ### SUBSCRIPTIONCONFIG ###
|
||||
addHandler(router, permissionRead, http.MethodGet, "/subscriptionconfigs", handlers.HandleSubscriptionConfigsGetList)
|
||||
addHandler(router, permissionCreate, http.MethodPost, "/subscriptionconfig", handlers.HandleSubscriptionConfigAdd)
|
||||
addHandler(router, permissionDelete, http.MethodDelete, "/subscriptionconfig", handlers.HandleSubscriptionConfigDelete)
|
||||
addHandler(router, permissionCreate, http.MethodPut, "/subscriptionconfig", handlers.HandleSubscriptionConfigUpdate)
|
||||
|
||||
// ### SUBSCRIPTIONFEATURE ###
|
||||
addHandler(router, permissionRead, http.MethodGet, "/subscriptionfeatures", handlers.HandleSubscriptionFeaturesGet)
|
||||
addHandler(router, permissionCreate, http.MethodPost, "/subscriptionfeature", handlers.HandleSubscriptionFeatureAdd)
|
||||
addHandler(router, permissionDelete, http.MethodDelete, "/subscriptionfeature", handlers.HandleSubscriptionFeatureDelete)
|
||||
addHandler(router, permissionCreate, http.MethodPut, "/subscriptionfeature", handlers.HandleSubscriptionFeatureUpdate)
|
||||
addHandler(router, permissionRead, http.MethodGet, "/subscriptionfeature", handlers.HandleSubscriptionFeatureGet)
|
||||
|
||||
// ### SUBSCRIPTIONPACKAGE ###
|
||||
addHandler(router, permissionRead, http.MethodGet, "/subscriptionpackages", handlers.HandleSubscriptionPackagesGetList)
|
||||
addHandler(router, permissionCreate, http.MethodPost, "/subscriptionpackage", handlers.HandleSubscriptionPackageAdd)
|
||||
addHandler(router, permissionDelete, http.MethodDelete, "/subscriptionpackage", handlers.HandleSubscriptionPackageDelete)
|
||||
addHandler(router, permissionCreate, http.MethodPut, "/subscriptionpackage", handlers.HandleSubscriptionPackageUpdate)
|
||||
addHandler(router, permissionRead, http.MethodGet, "/subscriptionpackage", handlers.HandleSubscriptionPackageGet)
|
||||
|
||||
// ### SUBSCRIPTIONPACKAGEFEATURE ###
|
||||
addHandler(router, permissionCreate, http.MethodPost, "/subscriptionpackagefeature", handlers.HandleSubscriptionFeatureAssign)
|
||||
|
||||
// ### SUPPLIER ###
|
||||
addHandler(router, permissionSupplierAdmin, http.MethodGet, "/suppliers", handlers.HandleSuppliersGetList)
|
||||
addHandler(router, permissionSupplierAdmin, http.MethodPost, "/supplier/activate/:email", handlers.HandleSupplierActivate)
|
||||
addHandler(router, permissionSupplierAdmin, http.MethodPut, "/supplier/:email", handlers.HandleSupplierUpdate)
|
||||
addHandler(router, permissionSupplierAdmin, http.MethodDelete, "/supplier/:email", handlers.HandleSupplierDelete)
|
||||
|
||||
// ### TAG ###
|
||||
addHandler(router, permissionCreate, http.MethodPut, "/tags", handlers.HandleTagsUpdate)
|
||||
addHandler(router, permissionCreate, http.MethodPost, "/tags", handlers.HandleTagsAppend)
|
||||
|
||||
// ### VEHICLE ###
|
||||
addHandler(router, permissionRead.CopyAndMerge(magnaAccess), http.MethodGet, "/vehicles", handlers.HandleVehiclesGet)
|
||||
addHandler(router, permissionCreate, http.MethodPut, "/vehicles/archive", handlers.HandleUpdateManifestsArchive)
|
||||
addHandler(router, permissionCreate, http.MethodPost, "/vehicle", handlers.HandleVehicleAdd)
|
||||
addHandler(router, permissionRead.CopyAndMerge(magnaAccess), http.MethodGet, "/vehicle/:vin", handlers.HandleVehicleGet)
|
||||
addHandler(router, permissionCreate.CopyAndMerge(magnaAccess), http.MethodPut, "/vehicle/:vin", handlers.HandleVehicleUpdate)
|
||||
addHandler(router, permissionDelete, http.MethodDelete, "/vehicle/:vin", handlers.HandleVehicleDeleteHoneyPot)
|
||||
addHandler(router, permissionRead, http.MethodGet, "/vehicle/:vin/filters", handlers.HandleVehicleFilterGetList)
|
||||
addHandler(router, permissionCreate, http.MethodPost, "/vehicle/:vin/filter", handlers.HandleVehicleFilterAdd)
|
||||
addHandler(router, permissionCreate, http.MethodPut, "/vehicle/:vin/filter/:id", handlers.HandleVehicleFilterUpdate)
|
||||
addHandler(router, permissionDelete, http.MethodDelete, "/vehicle/:vin/filter/:id", handlers.HandleVehicleFilterDelete)
|
||||
addHandler(router, permissionRead, http.MethodGet, "/vehicle/:vin/fleets", handlers.HandleVehicleFleetGetList)
|
||||
addHandler(router, permissionRead.CopyAndMerge(magnaAccess), http.MethodGet, "/vehicle/:vin/trex-logs", handlers.HandleTrexLogsGet)
|
||||
addHandler(router, permissionRead.CopyAndMerge(magnaAccess), http.MethodGet, "/vehicle/:vin/trex-logs-link", handlers.HandleTrexLogsLinkGet)
|
||||
addHandler(router, permissionRead.CopyAndMerge(magnaAccess), http.MethodGet, "/vehicle/:vin/version", handlers.HandleVersionsGet)
|
||||
addHandler(router, permissionRead.CopyAndMerge(magnaAccess), http.MethodGet, "/vehicle/:vin/version/logs", handlers.HandleVersionLogsGet)
|
||||
|
||||
// ### VEHICLECOMMAND ###
|
||||
addHandler(router, permissionCreate.CopyAndMerge(magnaAccess), http.MethodPost, "/vehiclecommand", handlers.HandleVehicleCommand)
|
||||
// immobilizer routes
|
||||
addHandler(router, permissionCreate, http.MethodGet, "/vehiclecommand/immobilize", handlers.HandleVehicleImmobilizerList)
|
||||
addHandler(router, permissionCreate, http.MethodPost, "/vehiclecommand/immobilize", handlers.HandleVehicleImmobilizerAdd)
|
||||
addHandler(router, permissionCreate, http.MethodDelete, "/vehiclecommand/immobilize", handlers.HandleVehicleImmobilizerDelete)
|
||||
|
||||
// ### VEHICLEDIAGNOSTICCOMMAND ###
|
||||
addHandler(router, carDiagnostic, http.MethodPost, "/vehiclediagnosticcommand", handlers.HandleVehicleDiagnosticCommand)
|
||||
|
||||
// ### VEHICLEECU ###
|
||||
addHandler(router, permissionRead.CopyAndMerge(magnaAccess), http.MethodGet, "/vehicleecus", handlers.HandleVehicleECUsGet)
|
||||
|
||||
// ### VEHICLEMODEL ###
|
||||
addHandler(router, permissionRead, http.MethodGet, "/vehiclemodels", handlers.HandleVehicleModels)
|
||||
|
||||
// ### FLASHPACK TO ECU VERSION MAPPINGS ###
|
||||
addHandler(router, permissionRead, http.MethodGet, "/flashpack_version_ecu_mappings/:model/:trim/:year/:flashpack", handlers.HandleFlashpackVersionECUMappingsGet)
|
||||
addHandler(router, permissionRead, http.MethodGet, "/flashpack_versions/:model/:trim/:year", handlers.HandleFlashpackVersionsGetAll)
|
||||
addHandler(router, permissionCreate, http.MethodPost, "/flashpack_version", handlers.HandleFlashpackVersionAdd)
|
||||
addHandler(router, permissionDelete, http.MethodDelete, "/flashpack_version", handlers.HandleFlashpackVersionDelete)
|
||||
addHandler(router, permissionRead, http.MethodGet, "/flashpack_version_info/:vin", handlers.HandleFlashpackVersionInfoGet)
|
||||
|
||||
// ### VEHICLEPATH ###
|
||||
addHandler(router, permissionRead, http.MethodPost, "/vehicle_paths", handlers.HandleVehiclePathsPost)
|
||||
|
||||
// ### VEHICLEYEAR ###
|
||||
addHandler(router, permissionRead, http.MethodGet, "/vehicleyears", handlers.HandleVehicleYears)
|
||||
|
||||
// ### CUSTOMER EMAILS ###
|
||||
addHandler(router, permissionRead, http.MethodPut, "/customer_ota_emails", handlers.HandleCustomerOtaEmails)
|
||||
|
||||
// ### OVLoop Data Sources ###
|
||||
addHandler(router, permissionRead, http.MethodGet, "/cars/allowed_access", handlers.HandleCarsAllowedAccess)
|
||||
addHandler(router, permissionRead, http.MethodPost, "/cars/allowed_access", handlers.HandleCarAllowedAccess)
|
||||
addHandler(router, permissionCreate, http.MethodPost, "/cars/change_access", handlers.HandleCarChangeAccess)
|
||||
addHandler(router, permissionCreate, http.MethodGet, "/cars/hmi_key", handlers.HandleGetCarsHMIKey)
|
||||
addHandler(router, permissionCreate, http.MethodPost, "/drivers/add_external", handlers.HandleVehicleExternalDriverAdd)
|
||||
addHandler(router, permissionCreate, http.MethodDelete, "/drivers/delete_external", handlers.HandleExternalDriverDelete)
|
||||
addHandler(router, permissionRead, http.MethodGet, "/car/software_information", handlers.HandleCarSoftwareInformation)
|
||||
addHandler(router, permissionRead, http.MethodGet, "/car/software_information/v2", handlers.HandleCarSoftwareInformationV2)
|
||||
addHandler(router, permissionRead, http.MethodPost, "/car/wake", handlers.HandleSendWakeSMSToVIN)
|
||||
|
||||
// Experimental text feature
|
||||
addHandler(router, nil, http.MethodGet, "/expirment", handlers.HandleExperiment)
|
||||
|
||||
go controllers.HealthCheck()
|
||||
|
||||
logger.Info().Msgf("Listening on http://0.0.0.0%s", port)
|
||||
logger.Fatal().Err(http.ListenAndServe(port, router)).Send()
|
||||
}
|
||||
|
||||
func addHandler(router *httprouter.Router, roles a.RoleMap, method string, path string, handler http.HandlerFunc) {
|
||||
router.HandlerFunc(method, h.HttpRouterHandleBaseURL(path), authChecker.GetHandler(roles, h.LogRequest(handler)))
|
||||
}
|
||||
|
||||
func cleanup() {
|
||||
authChecker.Close()
|
||||
services.GetDB().Close()
|
||||
logger.Close()
|
||||
}
|
||||
Reference in New Issue
Block a user