You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
// internal/core/module.go
|
|
|
|
package core
|
|
|
|
|
|
|
|
import (
|
|
|
|
"gofaster/internal/shared/config"
|
|
|
|
"gofaster/internal/shared/database"
|
|
|
|
|
|
|
|
"github.com/gin-gonic/gin"
|
|
|
|
"go.uber.org/zap"
|
|
|
|
"gorm.io/gorm"
|
|
|
|
)
|
|
|
|
|
|
|
|
type Module interface {
|
|
|
|
Name() string
|
|
|
|
Init(config *config.Config, logger *zap.Logger, db *gorm.DB, redis *database.RedisClient) error
|
|
|
|
RegisterRoutes(router *gin.RouterGroup)
|
|
|
|
Start(config *config.Config, db *gorm.DB) error
|
|
|
|
Stop() error
|
|
|
|
Cleanup()
|
|
|
|
}
|