CoreInterface remodel, PluginRegistry added

This commit is contained in:
Darko Luketic
2019-01-16 05:48:01 +01:00
parent c9f3abd8b9
commit b722cb8a62
4 changed files with 265 additions and 33 deletions

View File

@ -1,45 +1,67 @@
package main
import (
"github.com/globalsign/mgo"
"github.com/jinzhu/gorm"
)
type CoreInterface interface {
BeforeLoadPlugins()
LoadPlugins()
AfterLoadPlugins()
Register() (string, error)
UnRegister() error
BeforeLoadConfiguration()
LoadConfiguration()
AfterLoadConfiguration()
BeforeLoadPlugins() error
LoadPlugins() error
AfterLoadPlugins() error
BeforeConnectToDatabases()
ConnectToDatabases()
AfterConnectToDatabases()
BeforeLoadConfiguration() error
LoadConfiguration() error
AfterLoadConfiguration() error
BeforeSetupLogger()
SetupLogger()
AfterSetupLogger()
// connection string parameter e.g. "localhost"
ConnectMongoDB(string) (*mgo.Session, error)
BeforeSetupRoutes()
SetupRoutes()
AfterSetupRoutes()
// connection string parameter
ConnectGORM(string) (*gorm.DB, error)
BeforeRun()
Run()
AfterRun()
// ConnectNeo4j
// ConnectArangoDB
// ConnectCassandra
// ConnectDGraph
BeforeConnectToDatabases() error
ConnectToDatabases() error
AfterConnectToDatabases() error
BeforeSetupLogger() error
SetupLogger() error
AfterSetupLogger() error
BeforeSetupRoutes() error
SetupRoutes() error
AfterSetupRoutes() error
BeforeRun() error
Run() error
AfterRun() error
}
type HandlerInterface interface {
BeforeProcessRequest()
ProcessRequest()
AfterProcessRequest()
Register() (string, error)
UnRegister() error
BeforeLoadDataFromDatabase()
LoadDataFromDatabase()
AfterLoadDataFromDatabase()
BeforeProcessRequest() error
ProcessRequest() error
AfterProcessRequest() error
BeforeSaveDataToDatabase()
SaveDataToDatabase()
AfterSaveDataToDatabase()
BeforeLoadDataFromDatabase() error
LoadDataFromDatabase() error
AfterLoadDataFromDatabase() error
BeforeRenderOutput()
RenderOutput()
AfterRenderOutput()
BeforeSaveDataToDatabase() error
SaveDataToDatabase() error
AfterSaveDataToDatabase() error
BeforeRenderOutput() error
RenderOutput() error
AfterRenderOutput() error
}