Documentation
¶
Index ¶
- type Project
- type Repository
- type Seeder
- type Server
- func (s *Server) CreateProject(ctx context.Context, req *connect.Request[taskguildv1.CreateProjectRequest]) (*connect.Response[taskguildv1.CreateProjectResponse], error)
- func (s *Server) DeleteProject(ctx context.Context, req *connect.Request[taskguildv1.DeleteProjectRequest]) (*connect.Response[taskguildv1.DeleteProjectResponse], error)
- func (s *Server) GetProject(ctx context.Context, req *connect.Request[taskguildv1.GetProjectRequest]) (*connect.Response[taskguildv1.GetProjectResponse], error)
- func (s *Server) ListProjects(ctx context.Context, req *connect.Request[taskguildv1.ListProjectsRequest]) (*connect.Response[taskguildv1.ListProjectsResponse], error)
- func (s *Server) ReorderProjects(ctx context.Context, req *connect.Request[taskguildv1.ReorderProjectsRequest]) (*connect.Response[taskguildv1.ReorderProjectsResponse], error)
- func (s *Server) UpdateProject(ctx context.Context, req *connect.Request[taskguildv1.UpdateProjectRequest]) (*connect.Response[taskguildv1.UpdateProjectResponse], error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Project ¶
type Project struct {
ID string `yaml:"id"`
Name string `yaml:"name"`
Description string `yaml:"description"`
RepositoryURL string `yaml:"repository_url"`
DefaultBranch string `yaml:"default_branch"`
Order int32 `yaml:"order"`
HiddenFromSidebar bool `yaml:"hidden_from_sidebar"`
CreatedAt time.Time `yaml:"created_at"`
UpdatedAt time.Time `yaml:"updated_at"`
}
type Repository ¶
type Repository interface {
Create(ctx context.Context, p *Project) error
Get(ctx context.Context, id string) (*Project, error)
FindByName(ctx context.Context, name string) (*Project, error)
List(ctx context.Context, limit, offset int) ([]*Project, int, error)
ListAll(ctx context.Context) ([]*Project, error)
Update(ctx context.Context, p *Project) error
Delete(ctx context.Context, id string) error
}
type Seeder ¶ added in v0.0.31
type Seeder struct {
// contains filtered or unexported fields
}
Seeder creates default workflow and skills for a newly created project.
func NewSeeder ¶ added in v0.0.31
func NewSeeder(workflowRepo workflow.Repository, skillRepo skill.Repository) *Seeder
NewSeeder creates a new Seeder.
func (*Seeder) Seed ¶ added in v0.0.31
Seed creates the default development workflow with role skills, guard skills, and hook skills for a newly created project.
func (*Seeder) UpsertSkills ¶ added in v0.0.63
UpsertSkills upserts the default skill definitions into the given project. For each definition, if a skill with the same name already exists in the project, its description/content/tools/etc. are updated while preserving the existing ID and CreatedAt. Otherwise a new skill is created.
UpsertSkills never deletes skills — any skills in the project that are not in the default definitions are left untouched. The workflow is also left alone, so calling this against an existing project is safe.
type Server ¶
type Server struct {
// contains filtered or unexported fields
}
func NewServer ¶
func NewServer(repo Repository, seeder *Seeder) *Server
func (*Server) CreateProject ¶
func (s *Server) CreateProject(ctx context.Context, req *connect.Request[taskguildv1.CreateProjectRequest]) (*connect.Response[taskguildv1.CreateProjectResponse], error)
func (*Server) DeleteProject ¶
func (s *Server) DeleteProject(ctx context.Context, req *connect.Request[taskguildv1.DeleteProjectRequest]) (*connect.Response[taskguildv1.DeleteProjectResponse], error)
func (*Server) GetProject ¶
func (s *Server) GetProject(ctx context.Context, req *connect.Request[taskguildv1.GetProjectRequest]) (*connect.Response[taskguildv1.GetProjectResponse], error)
func (*Server) ListProjects ¶
func (s *Server) ListProjects(ctx context.Context, req *connect.Request[taskguildv1.ListProjectsRequest]) (*connect.Response[taskguildv1.ListProjectsResponse], error)
func (*Server) ReorderProjects ¶
func (s *Server) ReorderProjects(ctx context.Context, req *connect.Request[taskguildv1.ReorderProjectsRequest]) (*connect.Response[taskguildv1.ReorderProjectsResponse], error)
func (*Server) UpdateProject ¶
func (s *Server) UpdateProject(ctx context.Context, req *connect.Request[taskguildv1.UpdateProjectRequest]) (*connect.Response[taskguildv1.UpdateProjectResponse], error)