package repositories import ( "context" "git.aiterp.net/stufflog/server/models" ) type ProjectRepository interface { Find(ctx context.Context, id string) (*models.Project, error) List(ctx context.Context, filter models.ProjectFilter) ([]*models.Project, error) Insert(ctx context.Context, project models.Project) (*models.Project, error) Save(ctx context.Context, project models.Project) error ListPermissions(ctx context.Context, project models.Project) ([]*models.ProjectPermission, error) GetPermission(ctx context.Context, project models.Project, user models.User) (*models.ProjectPermission, error) GetIssuePermission(ctx context.Context, issue models.Issue, user models.User) (*models.ProjectPermission, error) SetPermission(ctx context.Context, permission models.ProjectPermission) error Delete(ctx context.Context, project models.Project) error }