GraphQL API and utilities for the rpdata project
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

15 lines
554 B

  1. package repositories
  2. import (
  3. "context"
  4. "git.aiterp.net/rpdata/api/models"
  5. )
  6. // FileRepository is an interface for database operations relating to file metadata.
  7. type FileRepository interface {
  8. Find(ctx context.Context, id string) (*models.File, error)
  9. List(ctx context.Context, filter models.FileFilter) ([]*models.File, error)
  10. Insert(ctx context.Context, file models.File) (*models.File, error)
  11. Update(ctx context.Context, file models.File, update models.FileUpdate) (*models.File, error)
  12. Delete(ctx context.Context, file models.File) error
  13. }