package albums import ( "context" "shared-album/internal/models" ) // Repository is the persistence contract for the albums domain. type Repository interface { Create(ctx context.Context, a *models.Album) error OwnerID(ctx context.Context, id string) (string, error) GetByID(ctx context.Context, id string) (*models.Album, error) ListForUser(ctx context.Context, userID string) ([]models.Album, error) Update(ctx context.Context, a *models.Album) error Delete(ctx context.Context, id string) error TrashPhotosByAlbum(ctx context.Context, albumID string) error }