package services import ( "git.aiterp.net/rpdata/api/repositories" "git.aiterp.net/rpdata/api/services/loaders" ) // A Bundle contains all services. type Bundle struct { Tags *TagService Characters *CharacterService Changes *ChangeService } // NewBundle creates a new bundle. func NewBundle(repos *repositories.Bundle) *Bundle { bundle := &Bundle{} bundle.Changes = &ChangeService{ changes: repos.Changes, } bundle.Tags = &TagService{tags: repos.Tags} bundle.Characters = &CharacterService{ characters: repos.Characters, loader: loaders.CharacterLoaderFromRepository(repos.Characters), changeService: bundle.Changes, } return bundle }