summaryrefslogtreecommitdiff
path: root/internal/repository/repository.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/repository/repository.go')
-rw-r--r--internal/repository/repository.go39
1 files changed, 39 insertions, 0 deletions
diff --git a/internal/repository/repository.go b/internal/repository/repository.go
index 1f12c77..b93484c 100644
--- a/internal/repository/repository.go
+++ b/internal/repository/repository.go
@@ -23,6 +23,45 @@ type Store interface {
NoteRepo
}
+// MediaServiceStore is the subset of Store required by service.MediaService.
+type MediaServiceStore interface {
+ UserRepo
+ SetRepo
+ SetPermissionRepo
+ MediaRepo
+ TagRepo
+ FavoriteRepo
+ PlaybackProgressRepo
+ ShareRepo
+ NoteRepo
+}
+
+// AdminServiceStore is the subset of Store required by service.AdminService.
+type AdminServiceStore interface {
+ UserRepo
+ SetRepo
+ SetPermissionRepo
+ MediaRepo
+}
+
+// ProgressServiceStore is the subset of Store required by service.ProgressService.
+type ProgressServiceStore interface {
+ PlaybackProgressRepo
+ PlaybackAccumulatorRepo
+ MediaRepo
+}
+
+// GCStore is the subset of Store required by service.GCWorker.
+type GCStore interface {
+ MediaRepo
+}
+
+// ScannerStore is the subset of Store required by scanner.FSScanner.
+type ScannerStore interface {
+ SetRepo
+ MediaRepo
+}
+
// UserRepo manages application users.
type UserRepo interface {
CreateUser(ctx context.Context, user *model.User) (int64, error)