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.
 
 
 
 
 
 

20 lines
442 B

// 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()
}