NextZen-UserService/service/service.go

46 lines
800 B
Go
Raw Normal View History

2024-02-21 11:45:10 +07:00
package service
import (
2024-02-21 12:06:40 +07:00
"github.com/KaySar12/NextZen-Common/external"
2024-02-21 11:45:10 +07:00
"gorm.io/gorm"
)
var MyService Repository
type Repository interface {
Gateway() external.ManagementService
User() UserService
Event() EventService
}
func NewService(db *gorm.DB, RuntimePath string) Repository {
gatewayManagement, err := external.NewManagementService(RuntimePath)
if err != nil {
panic(err)
}
return &store{
gateway: gatewayManagement,
user: NewUserService(db),
event: NewEventService(db),
}
}
type store struct {
gateway external.ManagementService
user UserService
event EventService
}
func (c *store) Event() EventService {
return c.event
}
func (c *store) Gateway() external.ManagementService {
return c.gateway
}
func (c *store) User() UserService {
return c.user
}