plug.go 409 B

12345678910111213141516171819202122232425
  1. package initialize
  2. import (
  3. "github.com/gin-gonic/gin"
  4. "github.com/jinzhu/gorm"
  5. )
  6. type Plug interface {
  7. InitRouter(*gin.Engine) error
  8. InitModel(*gorm.DB) error
  9. }
  10. func InstallPlug(db *gorm.DB, router *gin.Engine, p ...Plug) (err error) {
  11. for _, v := range p {
  12. err = v.InitModel(db)
  13. if err != nil {
  14. return err
  15. }
  16. err = v.InitRouter(router)
  17. if err != nil {
  18. return err
  19. }
  20. }
  21. return nil
  22. }