package main import "go.mongodb.org/mongo-driver/mongo" type CoreInterface interface { Register() (string, error) UnRegister() error BeforeLoadPlugins() error LoadPlugins() error AfterLoadPlugins() error BeforeLoadConfiguration() error LoadConfiguration() error AfterLoadConfiguration() error BeforeDatabaseInit() error DatabaseInit() error AfterDatabaseInit() error BeforeSetupLogger() error SetupLogger() error AfterSetupLogger() error BeforeSetupRoutes() error SetupRoutes() error AfterSetupRoutes() error BeforeRun() error Run() error AfterRun() error BeforeShutdown() error Shutdown() error } type DatabaseInterface interface { Client() *mongo.Client Close() error } type HandlerInterface interface { Register() (string, error) UnRegister() error BeforeProcessRequest() error ProcessRequest() error AfterProcessRequest() error BeforeLoadDataFromDatabase() error LoadDataFromDatabase() error AfterLoadDataFromDatabase() error BeforeSaveDataToDatabase() error SaveDataToDatabase() error AfterSaveDataToDatabase() error BeforeRenderOutput() error RenderOutput() error AfterRenderOutput() error }