2022-08-29 18:30:36 -08:00
|
|
|
package repo
|
|
|
|
|
2023-08-02 13:00:57 -08:00
|
|
|
import (
|
|
|
|
"github.com/hay-kot/homebox/backend/internal/core/services/reporting/eventbus"
|
|
|
|
"github.com/hay-kot/homebox/backend/internal/data/ent"
|
|
|
|
)
|
2022-08-29 18:30:36 -08:00
|
|
|
|
|
|
|
// AllRepos is a container for all the repository interfaces
|
|
|
|
type AllRepos struct {
|
2022-09-12 14:47:27 -08:00
|
|
|
Users *UserRepository
|
|
|
|
AuthTokens *TokenRepository
|
|
|
|
Groups *GroupRepository
|
|
|
|
Locations *LocationRepository
|
|
|
|
Labels *LabelRepository
|
|
|
|
Items *ItemsRepository
|
|
|
|
Docs *DocumentRepository
|
|
|
|
Attachments *AttachmentRepo
|
2022-12-09 20:57:57 -09:00
|
|
|
MaintEntry *MaintenanceEntryRepository
|
2023-03-06 21:18:58 -09:00
|
|
|
Notifiers *NotifierRepository
|
2022-08-29 18:30:36 -08:00
|
|
|
}
|
|
|
|
|
2023-08-02 13:00:57 -08:00
|
|
|
func New(db *ent.Client, bus *eventbus.EventBus, root string) *AllRepos {
|
2022-08-29 18:30:36 -08:00
|
|
|
return &AllRepos{
|
2022-09-12 14:47:27 -08:00
|
|
|
Users: &UserRepository{db},
|
|
|
|
AuthTokens: &TokenRepository{db},
|
2023-03-21 11:32:48 -08:00
|
|
|
Groups: NewGroupRepository(db),
|
2023-08-02 13:00:57 -08:00
|
|
|
Locations: &LocationRepository{db, bus},
|
|
|
|
Labels: &LabelRepository{db, bus},
|
|
|
|
Items: &ItemsRepository{db, bus},
|
2022-09-27 15:52:13 -08:00
|
|
|
Docs: &DocumentRepository{db, root},
|
2022-09-12 14:47:27 -08:00
|
|
|
Attachments: &AttachmentRepo{db},
|
2022-12-09 20:57:57 -09:00
|
|
|
MaintEntry: &MaintenanceEntryRepository{db},
|
2023-03-06 21:18:58 -09:00
|
|
|
Notifiers: NewNotifierRepository(db),
|
2022-08-29 18:30:36 -08:00
|
|
|
}
|
|
|
|
}
|