2022-08-04 19:14:53 -04:00
|
|
|
package service
|
|
|
|
|
|
|
|
|
|
import (
|
2022-10-28 17:28:04 -04:00
|
|
|
"github.com/IceWhaleTech/CasaOS-Common/external"
|
2022-08-04 19:14:53 -04:00
|
|
|
"gorm.io/gorm"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
var MyService Repository
|
|
|
|
|
|
|
|
|
|
type Repository interface {
|
2022-10-28 17:28:04 -04:00
|
|
|
Gateway() external.ManagementService
|
2022-08-04 19:14:53 -04:00
|
|
|
User() UserService
|
2022-11-30 12:16:11 +08:00
|
|
|
Event() EventService
|
2022-08-04 19:14:53 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func NewService(db *gorm.DB, RuntimePath string) Repository {
|
|
|
|
|
|
2022-10-28 17:28:04 -04:00
|
|
|
gatewayManagement, err := external.NewManagementService(RuntimePath)
|
2022-08-04 19:14:53 -04:00
|
|
|
if err != nil {
|
|
|
|
|
panic(err)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return &store{
|
|
|
|
|
gateway: gatewayManagement,
|
|
|
|
|
user: NewUserService(db),
|
2022-11-30 12:16:11 +08:00
|
|
|
event: NewEventService(db),
|
2022-08-04 19:14:53 -04:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type store struct {
|
2022-10-28 17:28:04 -04:00
|
|
|
gateway external.ManagementService
|
2022-08-04 19:14:53 -04:00
|
|
|
user UserService
|
2022-11-30 12:16:11 +08:00
|
|
|
event EventService
|
2022-08-04 19:14:53 -04:00
|
|
|
}
|
|
|
|
|
|
2022-11-30 12:16:11 +08:00
|
|
|
func (c *store) Event() EventService {
|
|
|
|
|
return c.event
|
|
|
|
|
}
|
2022-10-28 17:28:04 -04:00
|
|
|
func (c *store) Gateway() external.ManagementService {
|
2022-08-04 19:14:53 -04:00
|
|
|
return c.gateway
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (c *store) User() UserService {
|
|
|
|
|
return c.user
|
|
|
|
|
}
|