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
578 B

  1. package repositories
  2. import (
  3. "context"
  4. "git.aiterp.net/rpdata/api/models"
  5. )
  6. // ChannelRepository is an interface for a database using channels.
  7. type ChannelRepository interface {
  8. Find(ctx context.Context, name string) (*models.Channel, error)
  9. List(ctx context.Context, filter models.ChannelFilter) ([]*models.Channel, error)
  10. Insert(ctx context.Context, channel models.Channel) (*models.Channel, error)
  11. Update(ctx context.Context, channel models.Channel, update models.ChannelUpdate) (*models.Channel, error)
  12. Remove(ctx context.Context, channel models.Channel) error
  13. }