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.
18 lines
868 B
18 lines
868 B
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
|
|
}
|