add: 提交
This commit is contained in:
252
lib/routes/routes.go
Normal file
252
lib/routes/routes.go
Normal file
@@ -0,0 +1,252 @@
|
||||
package routes
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
|
||||
// "log"
|
||||
|
||||
"ems.agt/features/aaaa"
|
||||
"ems.agt/features/cm"
|
||||
"ems.agt/features/dbrest"
|
||||
"ems.agt/features/file"
|
||||
"ems.agt/features/fm"
|
||||
"ems.agt/features/maintenance"
|
||||
"ems.agt/features/mml"
|
||||
"ems.agt/features/nbi"
|
||||
"ems.agt/features/pm"
|
||||
"ems.agt/features/security"
|
||||
"ems.agt/features/state"
|
||||
"ems.agt/features/trace"
|
||||
"ems.agt/lib/midware"
|
||||
"ems.agt/lib/services"
|
||||
|
||||
"github.com/gorilla/mux"
|
||||
)
|
||||
|
||||
type Router struct {
|
||||
Method string
|
||||
Pattern string
|
||||
Handler http.HandlerFunc
|
||||
Middleware mux.MiddlewareFunc
|
||||
}
|
||||
|
||||
var routers []Router
|
||||
|
||||
// var (
|
||||
// commonUriPattern = config.UriPrefix + "/{apiCategory}/{apiVersion}/elementType/{elementTypeValue}/objectType/{objectTypeValue}"
|
||||
|
||||
// getUriPattern = config.UriPrefix + "/resourceManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/{objectTypeValue}"
|
||||
// getStatePattern = config.UriPrefix + "/systemManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/systemState"
|
||||
|
||||
// // // database management rest pattern, discard
|
||||
// // XormGetDataUri = config.UriPrefix + "/databaseManagement/{apiVersion}/elementType/{databaseName}/objectType/{tableName}"
|
||||
// // XormSelectDataUri = config.UriPrefix + "/databaseManagement/{apiVersion}/select/{databaseName}/{tableName}"
|
||||
// // XormInsertDataUri = config.UriPrefix + "/databaseManagement/{apiVersion}/insert/{databaseName}/{tableName}"
|
||||
// // XormUpdateDataUri = config.UriPrefix + "/databaseManagement/{apiVersion}/update/{databaseName}/{tableName}"
|
||||
// // XormDeleteDataUri = config.UriPrefix + "/databaseManagement/{apiVersion}/delete/{databaseName}/{tableName}"
|
||||
|
||||
// // XormCommonUri = config.UriPrefix + "/databaseManagement/{apiVersion}/{databaseName}/{tableName}"
|
||||
|
||||
// // alarm management
|
||||
// postAlarmPattern = config.UriPrefix + "/faultManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/alarms"
|
||||
|
||||
// // performance management
|
||||
// postPerformancePattern = config.UriPrefix + "/performanceManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/kpiReport/{index}"
|
||||
// measureTaskUri = config.UriPrefix + "/performanceManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/measureTask"
|
||||
// measureReportUri = config.UriPrefix + "/performanceManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/measureReport"
|
||||
|
||||
// // parameter config management
|
||||
// paramConfigUri = config.UriPrefix + "/systemManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/config/{paraName}"
|
||||
|
||||
// // NE info
|
||||
// UriNeInfo = config.UriPrefix + "/systemManagement/{apiVersion}/elementType/{elementTypeValue}/objectType/neInfo"
|
||||
// )
|
||||
|
||||
func init() {
|
||||
Register("POST", security.UriOauthToken, security.LoginFromOMC, nil)
|
||||
Register("POST", security.UriOauthHandshake, security.HandshakeFromOMC, nil)
|
||||
Register("DELETE", security.UriOauthToken, security.LogoutFromOMC, nil)
|
||||
|
||||
Register("OPTIONS", security.UriOauthToken, OptionsProc, nil)
|
||||
Register("OPTIONS", security.UriOauthHandshake, OptionsProc, nil)
|
||||
|
||||
// System state
|
||||
Register("GET", state.UriSysState, state.GetStateFromNF, nil)
|
||||
Register("OPTIONS", state.UriSysState, OptionsProc, nil)
|
||||
Register("GET", state.UriSysState2, state.GetStateFromNF, nil)
|
||||
Register("OPTIONS", state.UriSysState, OptionsProc, nil)
|
||||
Register("OPTIONS", state.UriSysState2, OptionsProc, nil)
|
||||
|
||||
Register("GET", state.UriSysInfoAll, state.GetAllSysinfoFromNF, nil)
|
||||
Register("GET", state.UriSysInfoOne, state.GetOneSysinfoFromNF, nil)
|
||||
Register("OPTIONS", state.UriSysInfoAll, OptionsProc, nil)
|
||||
Register("OPTIONS", state.UriSysInfoOne, OptionsProc, nil)
|
||||
|
||||
Register("GET", state.UriLicenseInfoAll, state.GetAllLicenseInfoFromNF, nil)
|
||||
Register("GET", state.UriLicenseInfoOne, state.GetOneLicenseInfoFromNF, nil)
|
||||
Register("OPTIONS", state.UriLicenseInfoAll, OptionsProc, nil)
|
||||
Register("OPTIONS", state.UriLicenseInfoOne, OptionsProc, nil)
|
||||
|
||||
// database management
|
||||
Register("GET", dbrest.XormGetDataUri, dbrest.DatabaseGetData, nil)
|
||||
Register("GET", dbrest.XormSelectDataUri, dbrest.DatabaseGetData, nil)
|
||||
Register("POST", dbrest.XormInsertDataUri, dbrest.DatabaseInsertData, nil)
|
||||
Register("PUT", dbrest.XormUpdateDataUri, dbrest.DatabaseUpdateData, nil)
|
||||
Register("DELETE", dbrest.XormDeleteDataUri, dbrest.DatabaseDeleteData, nil)
|
||||
// corss orgin domain
|
||||
Register("OPTIONS", dbrest.XormGetDataUri, OptionsProc, nil)
|
||||
Register("OPTIONS", dbrest.XormSelectDataUri, OptionsProc, nil)
|
||||
Register("OPTIONS", dbrest.XormInsertDataUri, OptionsProc, nil)
|
||||
Register("OPTIONS", dbrest.XormUpdateDataUri, OptionsProc, nil)
|
||||
Register("OPTIONS", dbrest.XormDeleteDataUri, OptionsProc, nil)
|
||||
|
||||
Register("GET", dbrest.XormCommonUri, dbrest.DatabaseGetData, nil)
|
||||
Register("POST", dbrest.XormCommonUri, dbrest.DatabaseInsertData, nil)
|
||||
Register("PUT", dbrest.XormCommonUri, dbrest.DatabaseUpdateData, nil)
|
||||
Register("DELETE", dbrest.XormCommonUri, dbrest.DatabaseDeleteData, nil)
|
||||
|
||||
Register("GET", dbrest.XormExtDataUri, dbrest.ExtDatabaseGetData, nil)
|
||||
Register("POST", dbrest.XormExtDataUri, dbrest.ExtDatabaseInsertData, nil)
|
||||
Register("PUT", dbrest.XormExtDataUri, dbrest.ExtDatabaseUpdateData, nil)
|
||||
Register("DELETE", dbrest.XormExtDataUri, dbrest.ExtDatabaseDeleteData, nil)
|
||||
|
||||
// corss orgin domain
|
||||
Register("OPTIONS", dbrest.XormInsertDataUri, OptionsProc, nil)
|
||||
Register("OPTIONS", dbrest.XormUpdateDataUri, OptionsProc, nil)
|
||||
Register("OPTIONS", dbrest.XormDeleteDataUri, OptionsProc, nil)
|
||||
|
||||
Register("OPTIONS", dbrest.XormCommonUri, OptionsProc, nil)
|
||||
|
||||
// alarm restful Register
|
||||
Register("POST", fm.UriAlarms, fm.PostAlarmFromNF, nil)
|
||||
Register("Get", fm.UriAlarms, fm.GetAlarmFromNF, nil)
|
||||
|
||||
Register("OPTIONS", fm.UriAlarms, OptionsProc, nil)
|
||||
|
||||
// performance restful Register
|
||||
Register("POST", pm.PostPerformancePattern, pm.PostKPIReportFromNF, nil)
|
||||
Register("POST", pm.MeasureTaskUri, pm.PostMeasureTaskToNF, nil)
|
||||
Register("PUT", pm.MeasureTaskUri, pm.PutMeasureTaskToNF, nil)
|
||||
Register("DELETE", pm.MeasureTaskUri, pm.DeleteMeasureTaskToNF, nil)
|
||||
Register("PATCH", pm.MeasureTaskUri, pm.PatchMeasureTaskToNF, nil)
|
||||
Register("POST", pm.MeasureReportUri, pm.PostMeasureReportFromNF, nil)
|
||||
|
||||
Register("POST", pm.MeasurementUri, pm.PostMeasurementFromNF, nil)
|
||||
Register("GET", pm.MeasurementUri, pm.GetMeasurementFromNF, nil)
|
||||
|
||||
Register("OPTIONS", pm.MeasureTaskUri, OptionsProc, nil)
|
||||
|
||||
// parameter config management
|
||||
Register("GET", cm.ParamConfigUri, cm.GetParamConfigFromNF, nil)
|
||||
Register("POST", cm.ParamConfigUri, cm.PostParamConfigToNF, nil)
|
||||
Register("PUT", cm.ParamConfigUri, cm.PutParamConfigToNF, nil)
|
||||
Register("DELETE", cm.ParamConfigUri, cm.DeleteParamConfigToNF, nil)
|
||||
|
||||
Register("OPTIONS", cm.ParamConfigUri, OptionsProc, nil)
|
||||
|
||||
// Get/Create/Modify/Delete NE info
|
||||
Register("GET", cm.UriNeInfo, cm.GetNeInfo, nil)
|
||||
Register("POST", cm.UriNeInfo, cm.PostNeInfo, nil)
|
||||
Register("PUT", cm.UriNeInfo, cm.PutNeInfo, nil)
|
||||
Register("DELETE", cm.UriNeInfo, cm.DeleteNeInfo, nil)
|
||||
Register("OPTIONS", cm.UriNeInfo, OptionsProc, nil)
|
||||
|
||||
// Post MML command to NF
|
||||
Register("POST", mml.UriMML, mml.PostMMLToNF, nil)
|
||||
Register("OPTIONS", mml.UriMML, OptionsProc, nil)
|
||||
|
||||
Register("POST", mml.UriOmMmlExt, mml.PostMMLToOMC, nil)
|
||||
Register("OPTIONS", mml.UriOmMmlExt, OptionsProc, nil)
|
||||
// Northbound Get NRM
|
||||
Register("GET", nbi.GetNRMUri, nbi.NBIGetNRMFromNF, nil)
|
||||
|
||||
// Import/Export NF CM
|
||||
Register("GET", cm.NeCmUri, cm.ExportCmFromNF, nil)
|
||||
Register("POST", cm.NeCmUri, cm.ImportCmToNF, nil)
|
||||
|
||||
Register("OPTIONS", cm.NeCmUri, OptionsProc, nil)
|
||||
|
||||
Register("GET", cm.UriNeCmFile, cm.DownloadNeBackupFile, nil)
|
||||
Register("DELETE", cm.UriNeCmFile, cm.DeleteNeBackupFile, nil)
|
||||
|
||||
Register("OPTIONS", cm.UriNeCmFile, OptionsProc, nil)
|
||||
|
||||
// Software management
|
||||
Register("GET", cm.UriSoftware, cm.DownloadSoftwareFile, nil)
|
||||
Register("POST", cm.UriSoftware, cm.UploadSoftwareFile, nil)
|
||||
Register("DELETE", cm.UriSoftware, cm.DeleteSoftwareFile, nil)
|
||||
|
||||
Register("OPTIONS", cm.UriSoftware, OptionsProc, nil)
|
||||
|
||||
Register("POST", cm.UriSoftwareNE, cm.DistributeSoftwareToNF, nil)
|
||||
Register("PUT", cm.UriSoftwareNE, cm.ActiveSoftwareToNF, nil)
|
||||
Register("PATCH", cm.UriSoftwareNE, cm.RollBackSoftwareToNF, nil)
|
||||
|
||||
Register("OPTIONS", cm.UriSoftwareNE, OptionsProc, nil)
|
||||
|
||||
// License management
|
||||
Register("GET", cm.LicenseUri, cm.ExportCmFromNF, nil)
|
||||
Register("POST", cm.LicenseUri, cm.ImportCmToNF, nil)
|
||||
Register("DELETE", cm.LicenseUri, cm.ImportCmToNF, nil)
|
||||
|
||||
Register("OPTIONS", cm.LicenseUri, OptionsProc, nil)
|
||||
|
||||
Register("POST", cm.NeLicenseUri, cm.ExportCmFromNF, nil)
|
||||
Register("PUT", cm.NeLicenseUri, cm.ImportCmToNF, nil)
|
||||
Register("PATCH", cm.NeLicenseUri, cm.ImportCmToNF, nil)
|
||||
|
||||
Register("OPTIONS", cm.NeLicenseUri, OptionsProc, nil)
|
||||
|
||||
// Trace management
|
||||
Register("POST", trace.UriTraceTask, trace.PostTraceTaskToNF, nil)
|
||||
Register("PUT", trace.UriTraceTask, trace.PutTraceTaskToNF, nil)
|
||||
Register("DELETE", trace.UriTraceTask, trace.DeleteTraceTaskToNF, nil)
|
||||
Register("OPTIONS", trace.UriTraceTask, OptionsProc, nil)
|
||||
// file management
|
||||
Register("POST", file.UriFile, file.UploadFile, nil)
|
||||
Register("GET", file.UriFile, file.DownloadFile, nil)
|
||||
Register("DELETE", file.UriFile, file.DeleteFile, nil)
|
||||
Register("OPTIONS", file.UriFile, OptionsProc, nil)
|
||||
|
||||
// AAAA
|
||||
Register("GET", aaaa.UriAAAASSO, aaaa.GetSSOFromAAAA, nil)
|
||||
|
||||
// 系统维护
|
||||
Register("GET", maintenance.Uri, maintenance.List, nil)
|
||||
Register("GET", maintenance.UriPref, maintenance.Pref, nil)
|
||||
Register("GET", maintenance.UriPrefLog, maintenance.PrefLog, nil)
|
||||
Register("GET", maintenance.UriSqlClient, maintenance.SqlClient, nil)
|
||||
Register("GET", maintenance.UriTop, maintenance.Top, nil)
|
||||
Register("PATCH", maintenance.UriTop, maintenance.TopOps, nil)
|
||||
|
||||
}
|
||||
|
||||
// To resolv rest POST/PUT/DELETE/PATCH cross domain
|
||||
func OptionsProc(w http.ResponseWriter, r *http.Request) {
|
||||
services.ResponseStatusOK200Null(w)
|
||||
}
|
||||
|
||||
func NewRouter() *mux.Router {
|
||||
r := mux.NewRouter()
|
||||
|
||||
// set custom handle for status 404/405
|
||||
r.NotFoundHandler = services.CustomResponseNotFound404Handler()
|
||||
r.MethodNotAllowedHandler = services.CustomResponseMethodNotAllowed405Handler()
|
||||
|
||||
r.Use(midware.LoggerTraceMiddleware)
|
||||
|
||||
for _, router := range routers {
|
||||
r.Methods(router.Method).
|
||||
Path(router.Pattern).
|
||||
Handler(router.Handler)
|
||||
if router.Middleware != nil {
|
||||
r.Use(router.Middleware)
|
||||
}
|
||||
}
|
||||
|
||||
return r
|
||||
}
|
||||
|
||||
func Register(method, pattern string, handler http.HandlerFunc, middleware mux.MiddlewareFunc) {
|
||||
routers = append(routers, Router{method, pattern, handler, middleware})
|
||||
}
|
||||
Reference in New Issue
Block a user