Documentation
¶
Overview ¶
Package libticket provides the core service interface and LocalService implementation for interacting with ticket data. Both local (SQLite) and remote (HTTP) implementations satisfy the Service interface, enabling identical behaviour regardless of deployment mode.
Package libticket provides the core service interface and LocalService implementation for interacting with ticket data. Both local (SQLite) and remote (HTTP) implementations satisfy the Service interface, enabling identical behaviour regardless of deployment mode.
Index ¶
- func LocalUsername() string
- type AgentCreateRequest
- type AgentRegisterRequest
- type AgentRequest
- type AgentService
- type AgentTicketUpdateRequest
- type AgentUpdateRequest
- type AgentWorkResponse
- type AuthService
- type CommentCreateRequest
- type CountSummary
- type DependencyRequest
- type LabelRequest
- type LocalService
- func (s *LocalService) AddComment(id string, comment string) (store.Comment, error)
- func (s *LocalService) AddDependency(request DependencyRequest) (store.Dependency, error)
- func (s *LocalService) AddProjectMember(projectID int64, request ProjectMemberRequest) (store.ProjectMember, error)
- func (s *LocalService) AddProjectTeamMember(projectID int64, request ProjectTeamMemberRequest) (store.ProjectTeamMember, error)
- func (s *LocalService) AddTeamAgent(teamID int64, agentID string) (store.TeamAgent, error)
- func (s *LocalService) AddTeamMember(teamID int64, request TeamMemberRequest) (store.TeamMember, error)
- func (s *LocalService) AddTicketLabel(ticketID string, labelID int64) error
- func (s *LocalService) AddWorkflowStage(workflowID int64, request WorkflowStageRequest) (store.WorkflowStage, error)
- func (s *LocalService) AgentUpdateTicket(id string, request AgentTicketUpdateRequest) (store.Ticket, error)
- func (s *LocalService) ArchiveTicket(id string, message string) (store.Ticket, error)
- func (s *LocalService) CloneTicket(id string, message string) (store.Ticket, error)
- func (s *LocalService) CloseTicket(id string, message string) (store.Ticket, error)
- func (s *LocalService) Count(projectID *int64) (CountSummary, error)
- func (s *LocalService) CreateAgent(request AgentCreateRequest) (store.Agent, string, error)
- func (s *LocalService) CreateLabel(projectID int64, request LabelRequest) (store.Label, error)
- func (s *LocalService) CreateProject(request ProjectCreateRequest) (store.Project, error)
- func (s *LocalService) CreateRole(request RoleRequest) (store.Role, error)
- func (s *LocalService) CreateStory(projectID int64, title, description string) (store.Story, error)
- func (s *LocalService) CreateTeam(request TeamRequest) (store.Team, error)
- func (s *LocalService) CreateTicket(request TicketCreateRequest) (store.Ticket, error)
- func (s *LocalService) CreateUser(username, password string) (store.User, error)
- func (s *LocalService) CreateWorkflow(request WorkflowRequest) (store.Workflow, error)
- func (s *LocalService) DeleteAgent(id string) error
- func (s *LocalService) DeleteAgentConfig(agentID string, key string) error
- func (s *LocalService) DeleteLabel(id int64) error
- func (s *LocalService) DeleteProject(id int64) error
- func (s *LocalService) DeleteRole(id int64) error
- func (s *LocalService) DeleteStory(id int64) error
- func (s *LocalService) DeleteTeam(id int64) error
- func (s *LocalService) DeleteTicket(id string) error
- func (s *LocalService) DeleteTimeEntry(id int64) error
- func (s *LocalService) DeleteUser(username string) error
- func (s *LocalService) DeleteWorkflow(id int64) error
- func (s *LocalService) ExportWorkflow(id int64) (store.WorkflowExport, error)
- func (s *LocalService) GetProject(id string) (store.Project, error)
- func (s *LocalService) GetStory(id int64) (store.Story, error)
- func (s *LocalService) GetTicket(ref string) (store.Ticket, error)
- func (s *LocalService) GetTicketByID(id string) (store.Ticket, error)
- func (s *LocalService) GetWorkflow(id int64) (store.WorkflowWithStages, error)
- func (s *LocalService) HeartbeatAgent(agentID, password, status string) error
- func (s *LocalService) ImportWorkflow(export store.WorkflowExport) (store.Workflow, error)
- func (s *LocalService) ListAgentConfig(agentID string) ([]store.AgentConfigEntry, error)
- func (s *LocalService) ListAgentStatuses() ([]store.AgentStatus, error)
- func (s *LocalService) ListAgents() ([]store.Agent, error)
- func (s *LocalService) ListComments(id string) ([]store.Comment, error)
- func (s *LocalService) ListDependencies(id string) ([]store.Dependency, error)
- func (s *LocalService) ListHistory(id string) ([]store.HistoryEvent, error)
- func (s *LocalService) ListLabels(projectID int64) ([]store.Label, error)
- func (s *LocalService) ListProjectHistory(projectID int64, limit int) ([]store.HistoryEvent, error)
- func (s *LocalService) ListProjectHistoryFiltered(projectID int64, limit int, filter store.HistoryFilter) ([]store.HistoryEvent, error)
- func (s *LocalService) ListProjectMembers(projectID int64) ([]store.ProjectMember, error)
- func (s *LocalService) ListProjectTeamMembers(projectID int64) ([]store.ProjectTeamMember, error)
- func (s *LocalService) ListProjects() ([]store.Project, error)
- func (s *LocalService) ListRoles() ([]store.Role, error)
- func (s *LocalService) ListStories(projectID int64) ([]store.Story, error)
- func (s *LocalService) ListTeamAgents(teamID int64) ([]store.TeamAgent, error)
- func (s *LocalService) ListTeamMembers(teamID int64) ([]store.TeamMember, error)
- func (s *LocalService) ListTeams() ([]store.Team, error)
- func (s *LocalService) ListTicketLabels(ticketID string) ([]store.Label, error)
- func (s *LocalService) ListTickets(projectID int64) ([]store.Ticket, error)
- func (s *LocalService) ListTicketsFiltered(projectID int64, ticketType, stage, state, status, search, assignee string, ...) ([]store.Ticket, error)
- func (s *LocalService) ListTimeEntries(ticketID string) ([]store.TimeEntry, error)
- func (s *LocalService) ListUsers() ([]store.User, error)
- func (s *LocalService) ListWorkflows() ([]store.Workflow, error)
- func (s *LocalService) LogTime(ticketID string, request TimeEntryRequest) (store.TimeEntry, error)
- func (s *LocalService) Login(username, password string) (store.User, string, error)
- func (s *LocalService) Logout() error
- func (s *LocalService) NotReadyTicket(id string, message string) (store.Ticket, error)
- func (s *LocalService) OpenTicket(id string, message string) (store.Ticket, error)
- func (s *LocalService) ReadyTicket(id string, message string) (store.Ticket, error)
- func (s *LocalService) Register(username, password string) (store.User, error)
- func (s *LocalService) RegisterAgent(request AgentRegisterRequest) (store.Agent, error)
- func (s *LocalService) RemoveDependency(request DependencyRequest) error
- func (s *LocalService) RemoveProjectMember(projectID int64, userID string) error
- func (s *LocalService) RemoveProjectTeamMember(projectID, teamID int64) error
- func (s *LocalService) RemoveTeamAgent(teamID int64, agentID string) error
- func (s *LocalService) RemoveTeamMember(teamID int64, userID string) error
- func (s *LocalService) RemoveTicketLabel(ticketID string, labelID int64) error
- func (s *LocalService) RemoveWorkflowStage(stageID int64) error
- func (s *LocalService) RenameProjectPrefix(id int64, newPrefix string) (int, error)
- func (s *LocalService) ReorderWorkflowStages(workflowID int64, stageIDs []int64) error
- func (s *LocalService) RequestAgentWork(request AgentRequest) (AgentWorkResponse, error)
- func (s *LocalService) RequestTicket(request TicketRequest) (TicketRequestResponse, error)
- func (s *LocalService) ResetUserPassword(username, newPassword string) (store.User, error)
- func (s *LocalService) SetAgentConfig(agentID string, key, value string) error
- func (s *LocalService) SetAgentEnabled(id string, enabled bool) (store.Agent, error)
- func (s *LocalService) SetProjectEnabled(id int64, enabled bool) (store.Project, error)
- func (s *LocalService) SetRegistrationEnabled(enabled bool) error
- func (s *LocalService) SetTicketHealth(id string, score int) (store.Ticket, error)
- func (s *LocalService) SetTicketParent(id string, parentID string, message string) (store.Ticket, error)
- func (s *LocalService) SetTicketWorkflow(id string, workflowID int64) (store.Ticket, error)
- func (s *LocalService) SetUserEnabled(username string, enabled bool) error
- func (s *LocalService) Status() (StatusResponse, error)
- func (s *LocalService) TotalTimeForTicket(ticketID string) (int, error)
- func (s *LocalService) UnarchiveTicket(id string, message string) (store.Ticket, error)
- func (s *LocalService) UnsetTicketParent(id string, message string) (store.Ticket, error)
- func (s *LocalService) UnsetTicketWorkflow(id string) (store.Ticket, error)
- func (s *LocalService) UpdateAgent(id string, request AgentUpdateRequest) (store.Agent, error)
- func (s *LocalService) UpdateProject(id int64, request ProjectUpdateRequest) (store.Project, error)
- func (s *LocalService) UpdateRole(id int64, request RoleRequest) (store.Role, error)
- func (s *LocalService) UpdateStory(id int64, title, description string) (store.Story, error)
- func (s *LocalService) UpdateTeam(id int64, request TeamRequest) (store.Team, error)
- func (s *LocalService) UpdateTicket(id string, request TicketUpdateRequest) (store.Ticket, error)
- type ProjectCreateRequest
- type ProjectMemberRequest
- type ProjectService
- type ProjectTeamMemberRequest
- type ProjectUpdateRequest
- type RoleRequest
- type Service
- type StatusResponse
- type TeamMemberRequest
- type TeamRequest
- type TeamService
- type TicketCreateRequest
- type TicketRequest
- type TicketRequestResponse
- type TicketService
- type TicketUpdateRequest
- type TimeEntryRequest
- type UserService
- type WorkflowReorderRequest
- type WorkflowRequest
- type WorkflowService
- type WorkflowStageRequest
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func LocalUsername ¶
func LocalUsername() string
Types ¶
type AgentCreateRequest ¶
type AgentCreateRequest struct {
Password string `json:"password,omitempty"`
}
type AgentRegisterRequest ¶
type AgentRequest ¶
type AgentRequest struct {
ID string `json:"id"`
Password string `json:"password"`
ProjectID int64 `json:"project_id,omitempty"`
TicketID *string `json:"ticket_id,omitempty"`
DryRun bool `json:"dry_run,omitempty"`
ConfigUpdatedAt string `json:"config_updated_at,omitempty"` // timestamp of last config received
}
type AgentService ¶ added in v0.1.733
type AgentService interface {
CreateAgent(request AgentCreateRequest) (store.Agent, string, error)
SetAgentEnabled(id string, enabled bool) (store.Agent, error)
ListAgents() ([]store.Agent, error)
ListAgentStatuses() ([]store.AgentStatus, error)
UpdateAgent(id string, request AgentUpdateRequest) (store.Agent, error)
DeleteAgent(id string) error
SetAgentConfig(agentID string, key, value string) error
ListAgentConfig(agentID string) ([]store.AgentConfigEntry, error)
DeleteAgentConfig(agentID string, key string) error
RegisterAgent(request AgentRegisterRequest) (store.Agent, error)
HeartbeatAgent(agentID, password, status string) error
RequestAgentWork(request AgentRequest) (AgentWorkResponse, error)
AgentUpdateTicket(id string, request AgentTicketUpdateRequest) (store.Ticket, error)
}
AgentService covers AI agent lifecycle, configuration, and work assignment.
type AgentUpdateRequest ¶
type AgentUpdateRequest struct {
Password *string `json:"password,omitempty"`
}
type AgentWorkResponse ¶
type AgentWorkResponse struct {
Status string `json:"status"`
Project *store.Project `json:"project"`
Ticket *store.Ticket `json:"ticket"`
Parents []store.Ticket `json:"parents"`
Workflow *store.WorkflowWithStages `json:"workflow,omitempty"`
Role *store.Role `json:"role,omitempty"`
Config map[string]string `json:"config,omitempty"` // agent config (if changed or ticket assigned)
ConfigUpdatedAt string `json:"config_updated_at,omitempty"` // timestamp of config state
}
type AuthService ¶ added in v0.1.733
type AuthService interface {
Status() (StatusResponse, error)
SetRegistrationEnabled(enabled bool) error
Register(username, password string) (store.User, error)
Login(username, password string) (store.User, string, error)
Logout() error
}
AuthService covers user registration, login, logout, and session management.
type CommentCreateRequest ¶
type CommentCreateRequest struct {
Comment string `json:"comment"`
}
type CountSummary ¶
type CountSummary = store.CountSummary
type DependencyRequest ¶
type LabelRequest ¶
type LocalService ¶
type LocalService struct {
// contains filtered or unexported fields
}
LocalService implements Service directly against a local SQLite database. Obtain one via NewLocal after loading a config with a local location.
func NewLocal ¶
func NewLocal(cfg config.Config) *LocalService
NewLocal returns a LocalService bound to the given configuration.
func (*LocalService) AddComment ¶
func (*LocalService) AddDependency ¶
func (s *LocalService) AddDependency(request DependencyRequest) (store.Dependency, error)
func (*LocalService) AddProjectMember ¶
func (s *LocalService) AddProjectMember(projectID int64, request ProjectMemberRequest) (store.ProjectMember, error)
func (*LocalService) AddProjectTeamMember ¶
func (s *LocalService) AddProjectTeamMember(projectID int64, request ProjectTeamMemberRequest) (store.ProjectTeamMember, error)
func (*LocalService) AddTeamAgent ¶
func (*LocalService) AddTeamMember ¶
func (s *LocalService) AddTeamMember(teamID int64, request TeamMemberRequest) (store.TeamMember, error)
func (*LocalService) AddTicketLabel ¶
func (s *LocalService) AddTicketLabel(ticketID string, labelID int64) error
func (*LocalService) AddWorkflowStage ¶
func (s *LocalService) AddWorkflowStage(workflowID int64, request WorkflowStageRequest) (store.WorkflowStage, error)
func (*LocalService) AgentUpdateTicket ¶
func (s *LocalService) AgentUpdateTicket(id string, request AgentTicketUpdateRequest) (store.Ticket, error)
func (*LocalService) ArchiveTicket ¶
func (*LocalService) CloneTicket ¶
func (*LocalService) CloseTicket ¶
func (*LocalService) Count ¶
func (s *LocalService) Count(projectID *int64) (CountSummary, error)
func (*LocalService) CreateAgent ¶
func (s *LocalService) CreateAgent(request AgentCreateRequest) (store.Agent, string, error)
func (*LocalService) CreateLabel ¶
func (s *LocalService) CreateLabel(projectID int64, request LabelRequest) (store.Label, error)
func (*LocalService) CreateProject ¶
func (s *LocalService) CreateProject(request ProjectCreateRequest) (store.Project, error)
func (*LocalService) CreateRole ¶
func (s *LocalService) CreateRole(request RoleRequest) (store.Role, error)
func (*LocalService) CreateStory ¶
func (*LocalService) CreateTeam ¶
func (s *LocalService) CreateTeam(request TeamRequest) (store.Team, error)
func (*LocalService) CreateTicket ¶
func (s *LocalService) CreateTicket(request TicketCreateRequest) (store.Ticket, error)
func (*LocalService) CreateUser ¶
func (s *LocalService) CreateUser(username, password string) (store.User, error)
func (*LocalService) CreateWorkflow ¶
func (s *LocalService) CreateWorkflow(request WorkflowRequest) (store.Workflow, error)
func (*LocalService) DeleteAgent ¶
func (s *LocalService) DeleteAgent(id string) error
func (*LocalService) DeleteAgentConfig ¶
func (s *LocalService) DeleteAgentConfig(agentID string, key string) error
func (*LocalService) DeleteLabel ¶
func (s *LocalService) DeleteLabel(id int64) error
func (*LocalService) DeleteProject ¶
func (s *LocalService) DeleteProject(id int64) error
func (*LocalService) DeleteRole ¶
func (s *LocalService) DeleteRole(id int64) error
func (*LocalService) DeleteStory ¶
func (s *LocalService) DeleteStory(id int64) error
func (*LocalService) DeleteTeam ¶
func (s *LocalService) DeleteTeam(id int64) error
func (*LocalService) DeleteTicket ¶
func (s *LocalService) DeleteTicket(id string) error
func (*LocalService) DeleteTimeEntry ¶
func (s *LocalService) DeleteTimeEntry(id int64) error
func (*LocalService) DeleteUser ¶
func (s *LocalService) DeleteUser(username string) error
func (*LocalService) DeleteWorkflow ¶
func (s *LocalService) DeleteWorkflow(id int64) error
func (*LocalService) ExportWorkflow ¶
func (s *LocalService) ExportWorkflow(id int64) (store.WorkflowExport, error)
func (*LocalService) GetProject ¶
func (s *LocalService) GetProject(id string) (store.Project, error)
func (*LocalService) GetTicketByID ¶
func (s *LocalService) GetTicketByID(id string) (store.Ticket, error)
func (*LocalService) GetWorkflow ¶
func (s *LocalService) GetWorkflow(id int64) (store.WorkflowWithStages, error)
func (*LocalService) HeartbeatAgent ¶
func (s *LocalService) HeartbeatAgent(agentID, password, status string) error
func (*LocalService) ImportWorkflow ¶
func (s *LocalService) ImportWorkflow(export store.WorkflowExport) (store.Workflow, error)
func (*LocalService) ListAgentConfig ¶
func (s *LocalService) ListAgentConfig(agentID string) ([]store.AgentConfigEntry, error)
func (*LocalService) ListAgentStatuses ¶
func (s *LocalService) ListAgentStatuses() ([]store.AgentStatus, error)
func (*LocalService) ListAgents ¶
func (s *LocalService) ListAgents() ([]store.Agent, error)
func (*LocalService) ListComments ¶
func (s *LocalService) ListComments(id string) ([]store.Comment, error)
func (*LocalService) ListDependencies ¶
func (s *LocalService) ListDependencies(id string) ([]store.Dependency, error)
func (*LocalService) ListHistory ¶
func (s *LocalService) ListHistory(id string) ([]store.HistoryEvent, error)
func (*LocalService) ListLabels ¶
func (s *LocalService) ListLabels(projectID int64) ([]store.Label, error)
func (*LocalService) ListProjectHistory ¶
func (s *LocalService) ListProjectHistory(projectID int64, limit int) ([]store.HistoryEvent, error)
func (*LocalService) ListProjectHistoryFiltered ¶ added in v0.1.733
func (s *LocalService) ListProjectHistoryFiltered(projectID int64, limit int, filter store.HistoryFilter) ([]store.HistoryEvent, error)
func (*LocalService) ListProjectMembers ¶
func (s *LocalService) ListProjectMembers(projectID int64) ([]store.ProjectMember, error)
func (*LocalService) ListProjectTeamMembers ¶
func (s *LocalService) ListProjectTeamMembers(projectID int64) ([]store.ProjectTeamMember, error)
func (*LocalService) ListProjects ¶
func (s *LocalService) ListProjects() ([]store.Project, error)
func (*LocalService) ListStories ¶
func (s *LocalService) ListStories(projectID int64) ([]store.Story, error)
func (*LocalService) ListTeamAgents ¶
func (s *LocalService) ListTeamAgents(teamID int64) ([]store.TeamAgent, error)
func (*LocalService) ListTeamMembers ¶
func (s *LocalService) ListTeamMembers(teamID int64) ([]store.TeamMember, error)
func (*LocalService) ListTicketLabels ¶
func (s *LocalService) ListTicketLabels(ticketID string) ([]store.Label, error)
func (*LocalService) ListTickets ¶
func (s *LocalService) ListTickets(projectID int64) ([]store.Ticket, error)
func (*LocalService) ListTicketsFiltered ¶
func (*LocalService) ListTimeEntries ¶
func (s *LocalService) ListTimeEntries(ticketID string) ([]store.TimeEntry, error)
func (*LocalService) ListWorkflows ¶
func (s *LocalService) ListWorkflows() ([]store.Workflow, error)
func (*LocalService) LogTime ¶
func (s *LocalService) LogTime(ticketID string, request TimeEntryRequest) (store.TimeEntry, error)
func (*LocalService) Logout ¶
func (s *LocalService) Logout() error
func (*LocalService) NotReadyTicket ¶
func (*LocalService) OpenTicket ¶
func (*LocalService) ReadyTicket ¶
func (*LocalService) Register ¶
func (s *LocalService) Register(username, password string) (store.User, error)
func (*LocalService) RegisterAgent ¶
func (s *LocalService) RegisterAgent(request AgentRegisterRequest) (store.Agent, error)
func (*LocalService) RemoveDependency ¶
func (s *LocalService) RemoveDependency(request DependencyRequest) error
func (*LocalService) RemoveProjectMember ¶
func (s *LocalService) RemoveProjectMember(projectID int64, userID string) error
func (*LocalService) RemoveProjectTeamMember ¶
func (s *LocalService) RemoveProjectTeamMember(projectID, teamID int64) error
func (*LocalService) RemoveTeamAgent ¶
func (s *LocalService) RemoveTeamAgent(teamID int64, agentID string) error
func (*LocalService) RemoveTeamMember ¶
func (s *LocalService) RemoveTeamMember(teamID int64, userID string) error
func (*LocalService) RemoveTicketLabel ¶
func (s *LocalService) RemoveTicketLabel(ticketID string, labelID int64) error
func (*LocalService) RemoveWorkflowStage ¶
func (s *LocalService) RemoveWorkflowStage(stageID int64) error
func (*LocalService) RenameProjectPrefix ¶ added in v0.1.733
func (s *LocalService) RenameProjectPrefix(id int64, newPrefix string) (int, error)
func (*LocalService) ReorderWorkflowStages ¶
func (s *LocalService) ReorderWorkflowStages(workflowID int64, stageIDs []int64) error
func (*LocalService) RequestAgentWork ¶
func (s *LocalService) RequestAgentWork(request AgentRequest) (AgentWorkResponse, error)
func (*LocalService) RequestTicket ¶
func (s *LocalService) RequestTicket(request TicketRequest) (TicketRequestResponse, error)
func (*LocalService) ResetUserPassword ¶
func (s *LocalService) ResetUserPassword(username, newPassword string) (store.User, error)
func (*LocalService) SetAgentConfig ¶
func (s *LocalService) SetAgentConfig(agentID string, key, value string) error
func (*LocalService) SetAgentEnabled ¶
func (*LocalService) SetProjectEnabled ¶
func (*LocalService) SetRegistrationEnabled ¶
func (s *LocalService) SetRegistrationEnabled(enabled bool) error
func (*LocalService) SetTicketHealth ¶
func (*LocalService) SetTicketParent ¶
func (*LocalService) SetTicketWorkflow ¶
func (*LocalService) SetUserEnabled ¶
func (s *LocalService) SetUserEnabled(username string, enabled bool) error
func (*LocalService) Status ¶
func (s *LocalService) Status() (StatusResponse, error)
func (*LocalService) TotalTimeForTicket ¶
func (s *LocalService) TotalTimeForTicket(ticketID string) (int, error)
func (*LocalService) UnarchiveTicket ¶
func (*LocalService) UnsetTicketParent ¶
func (*LocalService) UnsetTicketWorkflow ¶
func (s *LocalService) UnsetTicketWorkflow(id string) (store.Ticket, error)
func (*LocalService) UpdateAgent ¶
func (s *LocalService) UpdateAgent(id string, request AgentUpdateRequest) (store.Agent, error)
func (*LocalService) UpdateProject ¶
func (s *LocalService) UpdateProject(id int64, request ProjectUpdateRequest) (store.Project, error)
func (*LocalService) UpdateRole ¶
func (s *LocalService) UpdateRole(id int64, request RoleRequest) (store.Role, error)
func (*LocalService) UpdateStory ¶
func (*LocalService) UpdateTeam ¶
func (s *LocalService) UpdateTeam(id int64, request TeamRequest) (store.Team, error)
func (*LocalService) UpdateTicket ¶
func (s *LocalService) UpdateTicket(id string, request TicketUpdateRequest) (store.Ticket, error)
type ProjectCreateRequest ¶
type ProjectCreateRequest struct {
Prefix string `json:"prefix"`
Title string `json:"title"`
Description string `json:"description"`
AcceptanceCriteria string `json:"acceptance_criteria"`
GitRepository string `json:"git_repository"`
GitBranch string `json:"git_branch"`
Notes string `json:"notes"`
Visibility string `json:"visibility"`
WorkflowID *int64 `json:"workflow_id,omitempty"`
}
type ProjectMemberRequest ¶
type ProjectService ¶ added in v0.1.733
type ProjectService interface {
CreateProject(request ProjectCreateRequest) (store.Project, error)
ListProjects() ([]store.Project, error)
GetProject(id string) (store.Project, error)
UpdateProject(id int64, request ProjectUpdateRequest) (store.Project, error)
DeleteProject(id int64) error
RenameProjectPrefix(id int64, newPrefix string) (int, error)
SetProjectEnabled(id int64, enabled bool) (store.Project, error)
AddProjectMember(projectID int64, request ProjectMemberRequest) (store.ProjectMember, error)
RemoveProjectMember(projectID int64, userID string) error
ListProjectMembers(projectID int64) ([]store.ProjectMember, error)
AddProjectTeamMember(projectID int64, request ProjectTeamMemberRequest) (store.ProjectTeamMember, error)
RemoveProjectTeamMember(projectID, teamID int64) error
ListProjectTeamMembers(projectID int64) ([]store.ProjectTeamMember, error)
}
ProjectService covers project CRUD, membership, and team association.
type ProjectUpdateRequest ¶
type ProjectUpdateRequest struct {
Title string `json:"title"`
Description string `json:"description"`
AcceptanceCriteria string `json:"acceptance_criteria"`
GitRepository string `json:"git_repository"`
GitBranch string `json:"git_branch"`
Notes string `json:"notes"`
Status string `json:"status"`
Visibility string `json:"visibility"`
WorkflowID *int64 `json:"workflow_id,omitempty"`
}
type RoleRequest ¶
type Service ¶
type Service interface {
AuthService
UserService
AgentService
ProjectService
TeamService
WorkflowService
TicketService
}
Service defines all ticket management operations. It is implemented by LocalService (direct SQLite access) and libtickethttp.Service (HTTP client). It composes all sub-interfaces for convenient use as a single dependency.
type StatusResponse ¶
type StatusResponse struct {
Status string `json:"status"`
Authenticated bool `json:"authenticated"`
RegistrationEnabled bool `json:"registration_enabled,omitempty"`
ChatEnabled bool `json:"chat_enabled,omitempty"`
ServerVersion string `json:"server_version,omitempty"`
User *store.User `json:"user,omitempty"`
}
StatusResponse is returned by Service.Status() and describes server health, authentication state, and the currently authenticated user if applicable.
type TeamMemberRequest ¶
type TeamRequest ¶
type TeamService ¶ added in v0.1.733
type TeamService interface {
CreateTeam(request TeamRequest) (store.Team, error)
ListTeams() ([]store.Team, error)
UpdateTeam(id int64, request TeamRequest) (store.Team, error)
DeleteTeam(id int64) error
AddTeamMember(teamID int64, request TeamMemberRequest) (store.TeamMember, error)
RemoveTeamMember(teamID int64, userID string) error
ListTeamMembers(teamID int64) ([]store.TeamMember, error)
AddTeamAgent(teamID int64, agentID string) (store.TeamAgent, error)
RemoveTeamAgent(teamID int64, agentID string) error
ListTeamAgents(teamID int64) ([]store.TeamAgent, error)
}
TeamService covers team management and membership.
type TicketCreateRequest ¶
type TicketCreateRequest struct {
ProjectID int64 `json:"project_id"`
ParentID *string `json:"parent_id,omitempty"`
CloneOf *string `json:"clone_of,omitempty"`
Type string `json:"type"`
Title string `json:"title"`
Description string `json:"description"`
AcceptanceCriteria string `json:"acceptance_criteria"`
GitRepository string `json:"git_repository"`
GitBranch string `json:"git_branch"`
Priority int `json:"priority"`
EstimateEffort int `json:"estimate_effort"`
EstimateComplete string `json:"estimate_complete,omitempty"`
Assignee string `json:"assignee"`
Status string `json:"status,omitempty"`
Stage string `json:"stage,omitempty"`
State string `json:"state,omitempty"`
Message string `json:"message,omitempty"`
}
type TicketRequest ¶
type TicketRequestResponse ¶
type TicketRequestResponse struct {
Status string `json:"status"`
Ticket *store.Ticket `json:"ticket,omitempty"`
Project *store.Project `json:"project,omitempty"`
Parents []store.Ticket `json:"parents,omitempty"`
Workflow *store.WorkflowWithStages `json:"workflow,omitempty"`
Role *store.Role `json:"role,omitempty"`
}
type TicketService ¶ added in v0.1.733
type TicketService interface {
CreateLabel(projectID int64, request LabelRequest) (store.Label, error)
ListLabels(projectID int64) ([]store.Label, error)
DeleteLabel(id int64) error
AddTicketLabel(ticketID string, labelID int64) error
RemoveTicketLabel(ticketID string, labelID int64) error
ListTicketLabels(ticketID string) ([]store.Label, error)
LogTime(ticketID string, request TimeEntryRequest) (store.TimeEntry, error)
ListTimeEntries(ticketID string) ([]store.TimeEntry, error)
DeleteTimeEntry(id int64) error
TotalTimeForTicket(ticketID string) (int, error)
CreateTicket(request TicketCreateRequest) (store.Ticket, error)
ListTickets(projectID int64) ([]store.Ticket, error)
ListTicketsFiltered(projectID int64, taskType, stage, state, status, search, assignee string, limit int, includeArchived bool) ([]store.Ticket, error)
UpdateTicket(id string, request TicketUpdateRequest) (store.Ticket, error)
CloseTicket(id string, message string) (store.Ticket, error)
OpenTicket(id string, message string) (store.Ticket, error)
ArchiveTicket(id string, message string) (store.Ticket, error)
UnarchiveTicket(id string, message string) (store.Ticket, error)
ReadyTicket(id string, message string) (store.Ticket, error)
NotReadyTicket(id string, message string) (store.Ticket, error)
SetTicketWorkflow(id string, workflowID int64) (store.Ticket, error)
UnsetTicketWorkflow(id string) (store.Ticket, error)
DeleteTicket(id string) error
SetTicketParent(id string, parentID string, message string) (store.Ticket, error)
UnsetTicketParent(id string, message string) (store.Ticket, error)
SetTicketHealth(id string, score int) (store.Ticket, error)
GetTicketByID(id string) (store.Ticket, error)
GetTicket(ref string) (store.Ticket, error)
CloneTicket(id string, message string) (store.Ticket, error)
ListHistory(id string) ([]store.HistoryEvent, error)
ListProjectHistory(projectID int64, limit int) ([]store.HistoryEvent, error)
ListProjectHistoryFiltered(projectID int64, limit int, filter store.HistoryFilter) ([]store.HistoryEvent, error)
AddComment(id string, comment string) (store.Comment, error)
ListComments(id string) ([]store.Comment, error)
AddDependency(request DependencyRequest) (store.Dependency, error)
RemoveDependency(request DependencyRequest) error
ListDependencies(id string) ([]store.Dependency, error)
RequestTicket(request TicketRequest) (TicketRequestResponse, error)
CreateStory(projectID int64, title, description string) (store.Story, error)
ListStories(projectID int64) ([]store.Story, error)
GetStory(id int64) (store.Story, error)
UpdateStory(id int64, title, description string) (store.Story, error)
DeleteStory(id int64) error
}
TicketService covers ticket CRUD, lifecycle, labels, time, dependencies, and history.
type TicketUpdateRequest ¶
type TicketUpdateRequest struct {
Title string `json:"title"`
Description string `json:"description"`
AcceptanceCriteria string `json:"acceptance_criteria"`
GitRepository string `json:"git_repository"`
GitBranch string `json:"git_branch"`
ParentID *string `json:"parent_id,omitempty"`
Assignee string `json:"assignee"`
Status string `json:"status,omitempty"`
Stage string `json:"stage,omitempty"`
State string `json:"state,omitempty"`
Priority int `json:"priority"`
Order int `json:"order"`
EstimateEffort int `json:"estimate_effort"`
EstimateComplete string `json:"estimate_complete,omitempty"`
Message string `json:"message,omitempty"`
}
type TimeEntryRequest ¶
type UserService ¶ added in v0.1.733
type UserService interface {
Count(projectID *int64) (CountSummary, error)
CreateUser(username, password string) (store.User, error)
SetUserEnabled(username string, enabled bool) error
ListUsers() ([]store.User, error)
DeleteUser(username string) error
ResetUserPassword(username, newPassword string) (store.User, error)
CreateRole(request RoleRequest) (store.Role, error)
ListRoles() ([]store.Role, error)
UpdateRole(id int64, request RoleRequest) (store.Role, error)
DeleteRole(id int64) error
}
UserService covers user and role management.
type WorkflowReorderRequest ¶
type WorkflowReorderRequest struct {
StageIDs []int64 `json:"stage_ids"`
}
type WorkflowRequest ¶
type WorkflowService ¶ added in v0.1.733
type WorkflowService interface {
CreateWorkflow(request WorkflowRequest) (store.Workflow, error)
ListWorkflows() ([]store.Workflow, error)
GetWorkflow(id int64) (store.WorkflowWithStages, error)
DeleteWorkflow(id int64) error
AddWorkflowStage(workflowID int64, request WorkflowStageRequest) (store.WorkflowStage, error)
RemoveWorkflowStage(stageID int64) error
ReorderWorkflowStages(workflowID int64, stageIDs []int64) error
ExportWorkflow(id int64) (store.WorkflowExport, error)
ImportWorkflow(export store.WorkflowExport) (store.Workflow, error)
}
WorkflowService covers workflow templates and stage management.