libticket

package
v0.1.847 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 20, 2026 License: MIT Imports: 11 Imported by: 0

Documentation

Overview

http.go implements the Service interface over HTTP, delegating to a running ticket server via the internal/client package.

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

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 AgentRegisterRequest struct {
	ID       string `json:"id"`
	Password string `json:"password"`
}

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(ctx context.Context, request AgentCreateRequest) (store.Agent, string, error)
	SetAgentEnabled(ctx context.Context, id string, enabled bool) (store.Agent, error)
	ListAgents(ctx context.Context) ([]store.Agent, error)
	ListAgentStatuses(ctx context.Context) ([]store.AgentStatus, error)
	UpdateAgent(ctx context.Context, id string, request AgentUpdateRequest) (store.Agent, error)
	DeleteAgent(ctx context.Context, id string) error
	SetAgentConfig(ctx context.Context, agentID string, key, value string) error
	ListAgentConfig(ctx context.Context, agentID string) ([]store.AgentConfigEntry, error)
	DeleteAgentConfig(ctx context.Context, agentID string, key string) error
	RegisterAgent(ctx context.Context, request AgentRegisterRequest) (store.Agent, error)
	HeartbeatAgent(ctx context.Context, agentID, password, status string) error
	RequestAgentWork(ctx context.Context, request AgentRequest) (AgentWorkResponse, error)
	AgentUpdateTicket(ctx context.Context, id string, request AgentTicketUpdateRequest) (store.Ticket, error)
}

AgentService covers AI agent lifecycle, configuration, and work assignment.

type AgentTicketUpdateRequest

type AgentTicketUpdateRequest struct {
	ID       string `json:"id"`
	Password string `json:"password"`
	Result   string `json:"result"`
}

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"`
	Sdlc            *store.SdlcWithStages `json:"sdlc,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(ctx context.Context) (StatusResponse, error)
	SetRegistrationEnabled(ctx context.Context, enabled bool) error
	Register(ctx context.Context, username, password string) (store.User, error)
	Login(ctx context.Context, username, password string) (store.User, string, error)
	Logout(ctx context.Context) 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 DependencyRequest struct {
	ProjectID int64  `json:"project_id"`
	TicketID  string `json:"ticket_id"`
	DependsOn string `json:"depends_on"`
}

type HTTPService added in v0.1.842

type HTTPService struct {
	// contains filtered or unexported fields
}

HTTPService implements the Service interface by delegating all calls to a remote ticket server over HTTP.

func NewHTTP added in v0.1.842

func NewHTTP(cfg config.Config) *HTTPService

NewHTTP creates a new HTTPService that connects to the ticket server specified in the config.

func (*HTTPService) AddComment added in v0.1.842

func (s *HTTPService) AddComment(ctx context.Context, id string, comment string) (store.Comment, error)

func (*HTTPService) AddDependency added in v0.1.842

func (s *HTTPService) AddDependency(ctx context.Context, request DependencyRequest) (store.Dependency, error)

func (*HTTPService) AddProjectMember added in v0.1.842

func (s *HTTPService) AddProjectMember(ctx context.Context, projectID int64, request ProjectMemberRequest) (store.ProjectMember, error)

func (*HTTPService) AddProjectTeamMember added in v0.1.842

func (s *HTTPService) AddProjectTeamMember(ctx context.Context, projectID int64, request ProjectTeamMemberRequest) (store.ProjectTeamMember, error)

func (*HTTPService) AddSdlcStage added in v0.1.842

func (s *HTTPService) AddSdlcStage(ctx context.Context, sdlcID int64, request SdlcStageRequest) (store.SdlcStage, error)

func (*HTTPService) AddSdlcStageRole added in v0.1.842

func (s *HTTPService) AddSdlcStageRole(ctx context.Context, sdlcID, stageID, roleID int64) error

func (*HTTPService) AddTeamAgent added in v0.1.842

func (s *HTTPService) AddTeamAgent(ctx context.Context, teamID int64, agentID string) (store.TeamAgent, error)

func (*HTTPService) AddTeamMember added in v0.1.842

func (s *HTTPService) AddTeamMember(ctx context.Context, teamID int64, request TeamMemberRequest) (store.TeamMember, error)

func (*HTTPService) AddTicketLabel added in v0.1.842

func (s *HTTPService) AddTicketLabel(ctx context.Context, ticketID string, labelID int64) error

func (*HTTPService) AgentUpdateTicket added in v0.1.842

func (s *HTTPService) AgentUpdateTicket(ctx context.Context, id string, request AgentTicketUpdateRequest) (store.Ticket, error)

func (*HTTPService) ArchiveTicket added in v0.1.842

func (s *HTTPService) ArchiveTicket(ctx context.Context, id string, message string) (store.Ticket, error)

func (*HTTPService) CloneTicket added in v0.1.842

func (s *HTTPService) CloneTicket(ctx context.Context, id string, message string) (store.Ticket, error)

func (*HTTPService) CloseTicket added in v0.1.842

func (s *HTTPService) CloseTicket(ctx context.Context, id string, message string) (store.Ticket, error)

func (*HTTPService) CompleteTicket added in v0.1.842

func (s *HTTPService) CompleteTicket(ctx context.Context, id string, message string) (store.Ticket, error)

func (*HTTPService) Count added in v0.1.842

func (s *HTTPService) Count(ctx context.Context, projectID *int64) (CountSummary, error)

func (*HTTPService) CreateAgent added in v0.1.842

func (s *HTTPService) CreateAgent(ctx context.Context, request AgentCreateRequest) (store.Agent, string, error)

func (*HTTPService) CreateLabel added in v0.1.842

func (s *HTTPService) CreateLabel(ctx context.Context, projectID int64, request LabelRequest) (store.Label, error)

func (*HTTPService) CreateProject added in v0.1.842

func (s *HTTPService) CreateProject(ctx context.Context, request ProjectCreateRequest) (store.Project, error)

func (*HTTPService) CreateRole added in v0.1.842

func (s *HTTPService) CreateRole(ctx context.Context, request RoleRequest) (store.Role, error)

func (*HTTPService) CreateSdlc added in v0.1.842

func (s *HTTPService) CreateSdlc(ctx context.Context, request SdlcRequest) (store.Sdlc, error)

func (*HTTPService) CreateStory added in v0.1.842

func (s *HTTPService) CreateStory(ctx context.Context, projectID int64, title, description string) (store.Story, error)

func (*HTTPService) CreateStoryWithRequest added in v0.1.842

func (s *HTTPService) CreateStoryWithRequest(ctx context.Context, request StoryCreateRequest) (store.Story, error)

func (*HTTPService) CreateTeam added in v0.1.842

func (s *HTTPService) CreateTeam(ctx context.Context, request TeamRequest) (store.Team, error)

func (*HTTPService) CreateTicket added in v0.1.842

func (s *HTTPService) CreateTicket(ctx context.Context, request TicketCreateRequest) (store.Ticket, error)

func (*HTTPService) CreateUser added in v0.1.842

func (s *HTTPService) CreateUser(ctx context.Context, username, password string) (store.User, error)

func (*HTTPService) DeleteAgent added in v0.1.842

func (s *HTTPService) DeleteAgent(ctx context.Context, id string) error

func (*HTTPService) DeleteAgentConfig added in v0.1.842

func (s *HTTPService) DeleteAgentConfig(ctx context.Context, agentID string, key string) error

func (*HTTPService) DeleteLabel added in v0.1.842

func (s *HTTPService) DeleteLabel(ctx context.Context, id int64) error

func (*HTTPService) DeleteProject added in v0.1.842

func (s *HTTPService) DeleteProject(ctx context.Context, id int64) error

func (*HTTPService) DeleteRole added in v0.1.842

func (s *HTTPService) DeleteRole(ctx context.Context, id int64) error

func (*HTTPService) DeleteSdlc added in v0.1.842

func (s *HTTPService) DeleteSdlc(ctx context.Context, id int64) error

func (*HTTPService) DeleteStory added in v0.1.842

func (s *HTTPService) DeleteStory(ctx context.Context, id int64) error

func (*HTTPService) DeleteTeam added in v0.1.842

func (s *HTTPService) DeleteTeam(ctx context.Context, id int64) error

func (*HTTPService) DeleteTicket added in v0.1.842

func (s *HTTPService) DeleteTicket(ctx context.Context, id string) error

func (*HTTPService) DeleteTimeEntry added in v0.1.842

func (s *HTTPService) DeleteTimeEntry(ctx context.Context, id int64) error

func (*HTTPService) DeleteUser added in v0.1.842

func (s *HTTPService) DeleteUser(ctx context.Context, username string) error

func (*HTTPService) DraftTicket added in v0.1.842

func (s *HTTPService) DraftTicket(ctx context.Context, id string, message string) (store.Ticket, error)

func (*HTTPService) ExportSdlc added in v0.1.842

func (s *HTTPService) ExportSdlc(ctx context.Context, id int64) (store.SdlcExport, error)

func (*HTTPService) GetProject added in v0.1.842

func (s *HTTPService) GetProject(ctx context.Context, id string) (store.Project, error)

func (*HTTPService) GetSdlc added in v0.1.842

func (s *HTTPService) GetSdlc(ctx context.Context, id int64) (store.SdlcWithStages, error)

func (*HTTPService) GetSdlcStage added in v0.1.842

func (s *HTTPService) GetSdlcStage(ctx context.Context, stageID int64) (store.SdlcStage, error)

func (*HTTPService) GetStory added in v0.1.842

func (s *HTTPService) GetStory(ctx context.Context, id int64) (store.Story, error)

func (*HTTPService) GetTicket added in v0.1.842

func (s *HTTPService) GetTicket(ctx context.Context, ref string) (store.Ticket, error)

func (*HTTPService) GetTicketByID added in v0.1.842

func (s *HTTPService) GetTicketByID(ctx context.Context, id string) (store.Ticket, error)

func (*HTTPService) HeartbeatAgent added in v0.1.842

func (s *HTTPService) HeartbeatAgent(ctx context.Context, agentID, password, status string) error

func (*HTTPService) ImportSdlc added in v0.1.842

func (s *HTTPService) ImportSdlc(ctx context.Context, export store.SdlcExport) (store.Sdlc, error)

func (*HTTPService) ListAgentConfig added in v0.1.842

func (s *HTTPService) ListAgentConfig(ctx context.Context, agentID string) ([]store.AgentConfigEntry, error)

func (*HTTPService) ListAgentStatuses added in v0.1.842

func (s *HTTPService) ListAgentStatuses(ctx context.Context) ([]store.AgentStatus, error)

func (*HTTPService) ListAgents added in v0.1.842

func (s *HTTPService) ListAgents(ctx context.Context) ([]store.Agent, error)

func (*HTTPService) ListComments added in v0.1.842

func (s *HTTPService) ListComments(ctx context.Context, id string) ([]store.Comment, error)

func (*HTTPService) ListDependencies added in v0.1.842

func (s *HTTPService) ListDependencies(ctx context.Context, id string) ([]store.Dependency, error)

func (*HTTPService) ListHistory added in v0.1.842

func (s *HTTPService) ListHistory(ctx context.Context, id string) ([]store.HistoryEvent, error)

func (*HTTPService) ListHistoryPaged added in v0.1.842

func (s *HTTPService) ListHistoryPaged(ctx context.Context, id string, limit, offset int) ([]store.HistoryEvent, error)

func (*HTTPService) ListLabels added in v0.1.842

func (s *HTTPService) ListLabels(ctx context.Context, projectID int64) ([]store.Label, error)

func (*HTTPService) ListProjectHistory added in v0.1.842

func (s *HTTPService) ListProjectHistory(ctx context.Context, projectID int64, limit int) ([]store.HistoryEvent, error)

func (*HTTPService) ListProjectHistoryFiltered added in v0.1.842

func (s *HTTPService) ListProjectHistoryFiltered(ctx context.Context, projectID int64, limit int, filter store.HistoryFilter) ([]store.HistoryEvent, error)

func (*HTTPService) ListProjectMembers added in v0.1.842

func (s *HTTPService) ListProjectMembers(ctx context.Context, projectID int64) ([]store.ProjectMember, error)

func (*HTTPService) ListProjectTeamMembers added in v0.1.842

func (s *HTTPService) ListProjectTeamMembers(ctx context.Context, projectID int64) ([]store.ProjectTeamMember, error)

func (*HTTPService) ListProjects added in v0.1.842

func (s *HTTPService) ListProjects(ctx context.Context) ([]store.Project, error)

func (*HTTPService) ListRoles added in v0.1.842

func (s *HTTPService) ListRoles(ctx context.Context) ([]store.Role, error)

func (*HTTPService) ListSdlcStages added in v0.1.842

func (s *HTTPService) ListSdlcStages(ctx context.Context, sdlcID int64) ([]store.SdlcStage, error)

func (*HTTPService) ListSdlcs added in v0.1.842

func (s *HTTPService) ListSdlcs(ctx context.Context) ([]store.Sdlc, error)

func (*HTTPService) ListStories added in v0.1.842

func (s *HTTPService) ListStories(ctx context.Context, projectID int64) ([]store.Story, error)

func (*HTTPService) ListTeamAgents added in v0.1.842

func (s *HTTPService) ListTeamAgents(ctx context.Context, teamID int64) ([]store.TeamAgent, error)

func (*HTTPService) ListTeamMembers added in v0.1.842

func (s *HTTPService) ListTeamMembers(ctx context.Context, teamID int64) ([]store.TeamMember, error)

func (*HTTPService) ListTeams added in v0.1.842

func (s *HTTPService) ListTeams(ctx context.Context) ([]store.Team, error)

func (*HTTPService) ListTicketLabels added in v0.1.842

func (s *HTTPService) ListTicketLabels(ctx context.Context, ticketID string) ([]store.Label, error)

func (*HTTPService) ListTickets added in v0.1.842

func (s *HTTPService) ListTickets(ctx context.Context, projectID int64) ([]store.Ticket, error)

func (*HTTPService) ListTicketsFiltered added in v0.1.842

func (s *HTTPService) ListTicketsFiltered(ctx context.Context, projectID int64, taskType, stage, state, status, search, assignee string, limit int, includeArchived bool) ([]store.Ticket, error)

func (*HTTPService) ListTimeEntries added in v0.1.842

func (s *HTTPService) ListTimeEntries(ctx context.Context, ticketID string) ([]store.TimeEntry, error)

func (*HTTPService) ListUsers added in v0.1.842

func (s *HTTPService) ListUsers(ctx context.Context) ([]store.User, error)

func (*HTTPService) LogTime added in v0.1.842

func (s *HTTPService) LogTime(ctx context.Context, ticketID string, request TimeEntryRequest) (store.TimeEntry, error)

func (*HTTPService) Login added in v0.1.842

func (s *HTTPService) Login(ctx context.Context, username, password string) (store.User, string, error)

func (*HTTPService) Logout added in v0.1.842

func (s *HTTPService) Logout(ctx context.Context) error

func (*HTTPService) NextTicket added in v0.1.842

func (s *HTTPService) NextTicket(ctx context.Context, id string) (store.Ticket, error)

func (*HTTPService) NotReadyTicket added in v0.1.842

func (s *HTTPService) NotReadyTicket(ctx context.Context, id string, message string) (store.Ticket, error)

func (*HTTPService) OpenTicket added in v0.1.842

func (s *HTTPService) OpenTicket(ctx context.Context, id string, message string) (store.Ticket, error)

func (*HTTPService) PreviousTicket added in v0.1.842

func (s *HTTPService) PreviousTicket(ctx context.Context, id string) (store.Ticket, error)

func (*HTTPService) ReadyTicket added in v0.1.842

func (s *HTTPService) ReadyTicket(ctx context.Context, id string, message string) (store.Ticket, error)

func (*HTTPService) Register added in v0.1.842

func (s *HTTPService) Register(ctx context.Context, username, password string) (store.User, error)

func (*HTTPService) RegisterAgent added in v0.1.842

func (s *HTTPService) RegisterAgent(ctx context.Context, request AgentRegisterRequest) (store.Agent, error)

func (*HTTPService) RemoveDependency added in v0.1.842

func (s *HTTPService) RemoveDependency(ctx context.Context, request DependencyRequest) error

func (*HTTPService) RemoveProjectMember added in v0.1.842

func (s *HTTPService) RemoveProjectMember(ctx context.Context, projectID int64, userID string) error

func (*HTTPService) RemoveProjectTeamMember added in v0.1.842

func (s *HTTPService) RemoveProjectTeamMember(ctx context.Context, projectID, teamID int64) error

func (*HTTPService) RemoveSdlcStage added in v0.1.842

func (s *HTTPService) RemoveSdlcStage(ctx context.Context, stageID int64) error

func (*HTTPService) RemoveSdlcStageRole added in v0.1.842

func (s *HTTPService) RemoveSdlcStageRole(ctx context.Context, sdlcID, stageID, roleID int64) error

func (*HTTPService) RemoveTeamAgent added in v0.1.842

func (s *HTTPService) RemoveTeamAgent(ctx context.Context, teamID int64, agentID string) error

func (*HTTPService) RemoveTeamMember added in v0.1.842

func (s *HTTPService) RemoveTeamMember(ctx context.Context, teamID int64, userID string) error

func (*HTTPService) RemoveTicketLabel added in v0.1.842

func (s *HTTPService) RemoveTicketLabel(ctx context.Context, ticketID string, labelID int64) error

func (*HTTPService) RenameProjectPrefix added in v0.1.842

func (s *HTTPService) RenameProjectPrefix(ctx context.Context, id int64, newPrefix string) (int, error)

func (*HTTPService) ReopenTicket added in v0.1.842

func (s *HTTPService) ReopenTicket(ctx context.Context, id string, message string) (store.Ticket, error)

func (*HTTPService) ReorderSdlcStageRoles added in v0.1.842

func (s *HTTPService) ReorderSdlcStageRoles(ctx context.Context, sdlcID, stageID int64, roleIDs []int64) error

func (*HTTPService) ReorderSdlcStages added in v0.1.842

func (s *HTTPService) ReorderSdlcStages(ctx context.Context, sdlcID int64, stageIDs []int64) error

func (*HTTPService) RequestAgentWork added in v0.1.842

func (s *HTTPService) RequestAgentWork(ctx context.Context, request AgentRequest) (AgentWorkResponse, error)

func (*HTTPService) RequestTicket added in v0.1.842

func (s *HTTPService) RequestTicket(ctx context.Context, request TicketRequest) (TicketRequestResponse, error)

func (*HTTPService) ResetUserPassword added in v0.1.842

func (s *HTTPService) ResetUserPassword(ctx context.Context, username, newPassword string) (store.User, error)

func (*HTTPService) SetAgentConfig added in v0.1.842

func (s *HTTPService) SetAgentConfig(ctx context.Context, agentID string, key, value string) error

func (*HTTPService) SetAgentEnabled added in v0.1.842

func (s *HTTPService) SetAgentEnabled(ctx context.Context, id string, enabled bool) (store.Agent, error)

func (*HTTPService) SetProjectDefaultDraft added in v0.1.842

func (s *HTTPService) SetProjectDefaultDraft(ctx context.Context, projectID int64, draft bool) error

func (*HTTPService) SetProjectEnabled added in v0.1.842

func (s *HTTPService) SetProjectEnabled(ctx context.Context, id int64, enabled bool) (store.Project, error)

func (*HTTPService) SetRegistrationEnabled added in v0.1.842

func (s *HTTPService) SetRegistrationEnabled(ctx context.Context, enabled bool) error

func (*HTTPService) SetTicketHealth added in v0.1.842

func (s *HTTPService) SetTicketHealth(ctx context.Context, id string, score int) (store.Ticket, error)

func (*HTTPService) SetTicketParent added in v0.1.842

func (s *HTTPService) SetTicketParent(ctx context.Context, id string, parentID string, message string) (store.Ticket, error)

func (*HTTPService) SetTicketSdlc added in v0.1.842

func (s *HTTPService) SetTicketSdlc(ctx context.Context, id string, sdlcID int64) (store.Ticket, error)

func (*HTTPService) SetUserEnabled added in v0.1.842

func (s *HTTPService) SetUserEnabled(ctx context.Context, username string, enabled bool) error

func (*HTTPService) Status added in v0.1.842

func (s *HTTPService) Status(ctx context.Context) (StatusResponse, error)

func (*HTTPService) TotalTimeForTicket added in v0.1.842

func (s *HTTPService) TotalTimeForTicket(ctx context.Context, ticketID string) (int, error)

func (*HTTPService) UnarchiveTicket added in v0.1.842

func (s *HTTPService) UnarchiveTicket(ctx context.Context, id string, message string) (store.Ticket, error)

func (*HTTPService) UndraftTicket added in v0.1.842

func (s *HTTPService) UndraftTicket(ctx context.Context, id string, message string) (store.Ticket, error)

func (*HTTPService) UnsetTicketParent added in v0.1.842

func (s *HTTPService) UnsetTicketParent(ctx context.Context, id string, message string) (store.Ticket, error)

func (*HTTPService) UnsetTicketSdlc added in v0.1.842

func (s *HTTPService) UnsetTicketSdlc(ctx context.Context, id string) (store.Ticket, error)

func (*HTTPService) UpdateAgent added in v0.1.842

func (s *HTTPService) UpdateAgent(ctx context.Context, id string, request AgentUpdateRequest) (store.Agent, error)

func (*HTTPService) UpdateProject added in v0.1.842

func (s *HTTPService) UpdateProject(ctx context.Context, id int64, request ProjectUpdateRequest) (store.Project, error)

func (*HTTPService) UpdateRole added in v0.1.842

func (s *HTTPService) UpdateRole(ctx context.Context, id int64, request RoleRequest) (store.Role, error)

func (*HTTPService) UpdateSdlcStage added in v0.1.842

func (s *HTTPService) UpdateSdlcStage(ctx context.Context, stageID int64, request SdlcStageRequest) (store.SdlcStage, error)

func (*HTTPService) UpdateStory added in v0.1.842

func (s *HTTPService) UpdateStory(ctx context.Context, id int64, title, description string) (store.Story, error)

func (*HTTPService) UpdateTeam added in v0.1.842

func (s *HTTPService) UpdateTeam(ctx context.Context, id int64, request TeamRequest) (store.Team, error)

func (*HTTPService) UpdateTicket added in v0.1.842

func (s *HTTPService) UpdateTicket(ctx context.Context, id string, request TicketUpdateRequest) (store.Ticket, error)

type LabelRequest

type LabelRequest struct {
	ID    *int64 `json:"id,omitempty"`
	Name  string `json:"name"`
	Color string `json:"color"`
}

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 (s *LocalService) AddComment(ctx context.Context, id string, comment string) (store.Comment, error)

func (*LocalService) AddDependency

func (s *LocalService) AddDependency(ctx context.Context, request DependencyRequest) (store.Dependency, error)

func (*LocalService) AddProjectMember

func (s *LocalService) AddProjectMember(ctx context.Context, projectID int64, request ProjectMemberRequest) (store.ProjectMember, error)

func (*LocalService) AddProjectTeamMember

func (s *LocalService) AddProjectTeamMember(ctx context.Context, projectID int64, request ProjectTeamMemberRequest) (store.ProjectTeamMember, error)

func (*LocalService) AddSdlcStage added in v0.1.842

func (s *LocalService) AddSdlcStage(ctx context.Context, sdlcID int64, request SdlcStageRequest) (store.SdlcStage, error)

func (*LocalService) AddSdlcStageRole added in v0.1.842

func (s *LocalService) AddSdlcStageRole(ctx context.Context, sdlcID, stageID, roleID int64) error

func (*LocalService) AddTeamAgent

func (s *LocalService) AddTeamAgent(ctx context.Context, teamID int64, agentID string) (store.TeamAgent, error)

func (*LocalService) AddTeamMember

func (s *LocalService) AddTeamMember(ctx context.Context, teamID int64, request TeamMemberRequest) (store.TeamMember, error)

func (*LocalService) AddTicketLabel

func (s *LocalService) AddTicketLabel(ctx context.Context, ticketID string, labelID int64) error

func (*LocalService) AgentUpdateTicket

func (s *LocalService) AgentUpdateTicket(ctx context.Context, id string, request AgentTicketUpdateRequest) (store.Ticket, error)

func (*LocalService) ArchiveTicket

func (s *LocalService) ArchiveTicket(ctx context.Context, id string, message string) (store.Ticket, error)

func (*LocalService) CloneTicket

func (s *LocalService) CloneTicket(ctx context.Context, id string, message string) (store.Ticket, error)

func (*LocalService) CloseTicket

func (s *LocalService) CloseTicket(ctx context.Context, id string, message string) (store.Ticket, error)

func (*LocalService) CompleteTicket added in v0.1.842

func (s *LocalService) CompleteTicket(ctx context.Context, id string, message string) (store.Ticket, error)

func (*LocalService) Count

func (s *LocalService) Count(ctx context.Context, projectID *int64) (CountSummary, error)

func (*LocalService) CreateAgent

func (s *LocalService) CreateAgent(ctx context.Context, request AgentCreateRequest) (store.Agent, string, error)

func (*LocalService) CreateLabel

func (s *LocalService) CreateLabel(ctx context.Context, projectID int64, request LabelRequest) (store.Label, error)

func (*LocalService) CreateProject

func (s *LocalService) CreateProject(ctx context.Context, request ProjectCreateRequest) (store.Project, error)

func (*LocalService) CreateRole

func (s *LocalService) CreateRole(ctx context.Context, request RoleRequest) (store.Role, error)

func (*LocalService) CreateSdlc added in v0.1.842

func (s *LocalService) CreateSdlc(ctx context.Context, request SdlcRequest) (store.Sdlc, error)

func (*LocalService) CreateStory

func (s *LocalService) CreateStory(ctx context.Context, projectID int64, title, description string) (store.Story, error)

func (*LocalService) CreateStoryWithRequest added in v0.1.842

func (s *LocalService) CreateStoryWithRequest(ctx context.Context, request StoryCreateRequest) (store.Story, error)

func (*LocalService) CreateTeam

func (s *LocalService) CreateTeam(ctx context.Context, request TeamRequest) (store.Team, error)

func (*LocalService) CreateTicket

func (s *LocalService) CreateTicket(ctx context.Context, request TicketCreateRequest) (store.Ticket, error)

func (*LocalService) CreateUser

func (s *LocalService) CreateUser(ctx context.Context, username, password string) (store.User, error)

func (*LocalService) DeleteAgent

func (s *LocalService) DeleteAgent(ctx context.Context, id string) error

func (*LocalService) DeleteAgentConfig

func (s *LocalService) DeleteAgentConfig(ctx context.Context, agentID string, key string) error

func (*LocalService) DeleteLabel

func (s *LocalService) DeleteLabel(ctx context.Context, id int64) error

func (*LocalService) DeleteProject

func (s *LocalService) DeleteProject(ctx context.Context, id int64) error

func (*LocalService) DeleteRole

func (s *LocalService) DeleteRole(ctx context.Context, id int64) error

func (*LocalService) DeleteSdlc added in v0.1.842

func (s *LocalService) DeleteSdlc(ctx context.Context, id int64) error

func (*LocalService) DeleteStory

func (s *LocalService) DeleteStory(ctx context.Context, id int64) error

func (*LocalService) DeleteTeam

func (s *LocalService) DeleteTeam(ctx context.Context, id int64) error

func (*LocalService) DeleteTicket

func (s *LocalService) DeleteTicket(ctx context.Context, id string) error

func (*LocalService) DeleteTimeEntry

func (s *LocalService) DeleteTimeEntry(ctx context.Context, id int64) error

func (*LocalService) DeleteUser

func (s *LocalService) DeleteUser(ctx context.Context, username string) error

func (*LocalService) DraftTicket added in v0.1.842

func (s *LocalService) DraftTicket(ctx context.Context, id string, message string) (store.Ticket, error)

func (*LocalService) ExportSdlc added in v0.1.842

func (s *LocalService) ExportSdlc(ctx context.Context, id int64) (store.SdlcExport, error)

func (*LocalService) GetProject

func (s *LocalService) GetProject(ctx context.Context, id string) (store.Project, error)

func (*LocalService) GetSdlc added in v0.1.842

func (s *LocalService) GetSdlc(ctx context.Context, id int64) (store.SdlcWithStages, error)

func (*LocalService) GetSdlcStage added in v0.1.842

func (s *LocalService) GetSdlcStage(ctx context.Context, stageID int64) (store.SdlcStage, error)

func (*LocalService) GetStory

func (s *LocalService) GetStory(ctx context.Context, id int64) (store.Story, error)

func (*LocalService) GetTicket

func (s *LocalService) GetTicket(ctx context.Context, ref string) (store.Ticket, error)

func (*LocalService) GetTicketByID

func (s *LocalService) GetTicketByID(ctx context.Context, id string) (store.Ticket, error)

func (*LocalService) HeartbeatAgent

func (s *LocalService) HeartbeatAgent(ctx context.Context, agentID, password, status string) error

func (*LocalService) ImportSdlc added in v0.1.842

func (s *LocalService) ImportSdlc(ctx context.Context, export store.SdlcExport) (store.Sdlc, error)

func (*LocalService) ListAgentConfig

func (s *LocalService) ListAgentConfig(ctx context.Context, agentID string) ([]store.AgentConfigEntry, error)

func (*LocalService) ListAgentStatuses

func (s *LocalService) ListAgentStatuses(ctx context.Context) ([]store.AgentStatus, error)

func (*LocalService) ListAgents

func (s *LocalService) ListAgents(ctx context.Context) ([]store.Agent, error)

func (*LocalService) ListComments

func (s *LocalService) ListComments(ctx context.Context, id string) ([]store.Comment, error)

func (*LocalService) ListDependencies

func (s *LocalService) ListDependencies(ctx context.Context, id string) ([]store.Dependency, error)

func (*LocalService) ListHistory

func (s *LocalService) ListHistory(ctx context.Context, id string) ([]store.HistoryEvent, error)

func (*LocalService) ListHistoryPaged added in v0.1.842

func (s *LocalService) ListHistoryPaged(ctx context.Context, id string, limit, offset int) ([]store.HistoryEvent, error)

func (*LocalService) ListLabels

func (s *LocalService) ListLabels(ctx context.Context, projectID int64) ([]store.Label, error)

func (*LocalService) ListProjectHistory

func (s *LocalService) ListProjectHistory(ctx context.Context, projectID int64, limit int) ([]store.HistoryEvent, error)

func (*LocalService) ListProjectHistoryFiltered added in v0.1.733

func (s *LocalService) ListProjectHistoryFiltered(ctx context.Context, projectID int64, limit int, filter store.HistoryFilter) ([]store.HistoryEvent, error)

func (*LocalService) ListProjectMembers

func (s *LocalService) ListProjectMembers(ctx context.Context, projectID int64) ([]store.ProjectMember, error)

func (*LocalService) ListProjectTeamMembers

func (s *LocalService) ListProjectTeamMembers(ctx context.Context, projectID int64) ([]store.ProjectTeamMember, error)

func (*LocalService) ListProjects

func (s *LocalService) ListProjects(ctx context.Context) ([]store.Project, error)

func (*LocalService) ListRoles

func (s *LocalService) ListRoles(ctx context.Context) ([]store.Role, error)

func (*LocalService) ListSdlcStages added in v0.1.842

func (s *LocalService) ListSdlcStages(ctx context.Context, sdlcID int64) ([]store.SdlcStage, error)

func (*LocalService) ListSdlcs added in v0.1.842

func (s *LocalService) ListSdlcs(ctx context.Context) ([]store.Sdlc, error)

func (*LocalService) ListStories

func (s *LocalService) ListStories(ctx context.Context, projectID int64) ([]store.Story, error)

func (*LocalService) ListTeamAgents

func (s *LocalService) ListTeamAgents(ctx context.Context, teamID int64) ([]store.TeamAgent, error)

func (*LocalService) ListTeamMembers

func (s *LocalService) ListTeamMembers(ctx context.Context, teamID int64) ([]store.TeamMember, error)

func (*LocalService) ListTeams

func (s *LocalService) ListTeams(ctx context.Context) ([]store.Team, error)

func (*LocalService) ListTicketLabels

func (s *LocalService) ListTicketLabels(ctx context.Context, ticketID string) ([]store.Label, error)

func (*LocalService) ListTickets

func (s *LocalService) ListTickets(ctx context.Context, projectID int64) ([]store.Ticket, error)

func (*LocalService) ListTicketsFiltered

func (s *LocalService) ListTicketsFiltered(ctx context.Context, projectID int64, ticketType, stage, state, status, search, assignee string, limit int, includeArchived bool) ([]store.Ticket, error)

func (*LocalService) ListTimeEntries

func (s *LocalService) ListTimeEntries(ctx context.Context, ticketID string) ([]store.TimeEntry, error)

func (*LocalService) ListUsers

func (s *LocalService) ListUsers(ctx context.Context) ([]store.User, error)

func (*LocalService) LogTime

func (s *LocalService) LogTime(ctx context.Context, ticketID string, request TimeEntryRequest) (store.TimeEntry, error)

func (*LocalService) Login

func (s *LocalService) Login(ctx context.Context, username, password string) (store.User, string, error)

func (*LocalService) Logout

func (s *LocalService) Logout(ctx context.Context) error

func (*LocalService) NextTicket added in v0.1.842

func (s *LocalService) NextTicket(ctx context.Context, id string) (store.Ticket, error)

func (*LocalService) NotReadyTicket

func (s *LocalService) NotReadyTicket(ctx context.Context, id string, message string) (store.Ticket, error)

func (*LocalService) OpenTicket

func (s *LocalService) OpenTicket(ctx context.Context, id string, message string) (store.Ticket, error)

func (*LocalService) PreviousTicket added in v0.1.842

func (s *LocalService) PreviousTicket(ctx context.Context, id string) (store.Ticket, error)

func (*LocalService) ReadyTicket

func (s *LocalService) ReadyTicket(ctx context.Context, id string, message string) (store.Ticket, error)

func (*LocalService) Register

func (s *LocalService) Register(ctx context.Context, username, password string) (store.User, error)

func (*LocalService) RegisterAgent

func (s *LocalService) RegisterAgent(ctx context.Context, request AgentRegisterRequest) (store.Agent, error)

func (*LocalService) RemoveDependency

func (s *LocalService) RemoveDependency(ctx context.Context, request DependencyRequest) error

func (*LocalService) RemoveProjectMember

func (s *LocalService) RemoveProjectMember(ctx context.Context, projectID int64, userID string) error

func (*LocalService) RemoveProjectTeamMember

func (s *LocalService) RemoveProjectTeamMember(ctx context.Context, projectID, teamID int64) error

func (*LocalService) RemoveSdlcStage added in v0.1.842

func (s *LocalService) RemoveSdlcStage(ctx context.Context, stageID int64) error

func (*LocalService) RemoveSdlcStageRole added in v0.1.842

func (s *LocalService) RemoveSdlcStageRole(ctx context.Context, sdlcID, stageID, roleID int64) error

func (*LocalService) RemoveTeamAgent

func (s *LocalService) RemoveTeamAgent(ctx context.Context, teamID int64, agentID string) error

func (*LocalService) RemoveTeamMember

func (s *LocalService) RemoveTeamMember(ctx context.Context, teamID int64, userID string) error

func (*LocalService) RemoveTicketLabel

func (s *LocalService) RemoveTicketLabel(ctx context.Context, ticketID string, labelID int64) error

func (*LocalService) RenameProjectPrefix added in v0.1.733

func (s *LocalService) RenameProjectPrefix(ctx context.Context, id int64, newPrefix string) (int, error)

func (*LocalService) ReopenTicket added in v0.1.842

func (s *LocalService) ReopenTicket(ctx context.Context, id string, message string) (store.Ticket, error)

func (*LocalService) ReorderSdlcStageRoles added in v0.1.842

func (s *LocalService) ReorderSdlcStageRoles(ctx context.Context, sdlcID, stageID int64, roleIDs []int64) error

func (*LocalService) ReorderSdlcStages added in v0.1.842

func (s *LocalService) ReorderSdlcStages(ctx context.Context, sdlcID int64, stageIDs []int64) error

func (*LocalService) RequestAgentWork

func (s *LocalService) RequestAgentWork(ctx context.Context, request AgentRequest) (AgentWorkResponse, error)

func (*LocalService) RequestTicket

func (s *LocalService) RequestTicket(ctx context.Context, request TicketRequest) (TicketRequestResponse, error)

func (*LocalService) ResetUserPassword

func (s *LocalService) ResetUserPassword(ctx context.Context, username, newPassword string) (store.User, error)

func (*LocalService) SetAgentConfig

func (s *LocalService) SetAgentConfig(ctx context.Context, agentID string, key, value string) error

func (*LocalService) SetAgentEnabled

func (s *LocalService) SetAgentEnabled(ctx context.Context, id string, enabled bool) (store.Agent, error)

func (*LocalService) SetProjectDefaultDraft added in v0.1.842

func (s *LocalService) SetProjectDefaultDraft(ctx context.Context, projectID int64, draft bool) error

func (*LocalService) SetProjectEnabled

func (s *LocalService) SetProjectEnabled(ctx context.Context, id int64, enabled bool) (store.Project, error)

func (*LocalService) SetRegistrationEnabled

func (s *LocalService) SetRegistrationEnabled(ctx context.Context, enabled bool) error

func (*LocalService) SetTicketHealth

func (s *LocalService) SetTicketHealth(ctx context.Context, id string, score int) (store.Ticket, error)

func (*LocalService) SetTicketParent

func (s *LocalService) SetTicketParent(ctx context.Context, id string, parentID string, message string) (store.Ticket, error)

func (*LocalService) SetTicketSdlc added in v0.1.842

func (s *LocalService) SetTicketSdlc(ctx context.Context, id string, sdlcID int64) (store.Ticket, error)

func (*LocalService) SetUserEnabled

func (s *LocalService) SetUserEnabled(ctx context.Context, username string, enabled bool) error

func (*LocalService) Status

func (s *LocalService) Status(ctx context.Context) (StatusResponse, error)

func (*LocalService) TotalTimeForTicket

func (s *LocalService) TotalTimeForTicket(ctx context.Context, ticketID string) (int, error)

func (*LocalService) UnarchiveTicket

func (s *LocalService) UnarchiveTicket(ctx context.Context, id string, message string) (store.Ticket, error)

func (*LocalService) UndraftTicket added in v0.1.842

func (s *LocalService) UndraftTicket(ctx context.Context, id string, message string) (store.Ticket, error)

func (*LocalService) UnsetTicketParent

func (s *LocalService) UnsetTicketParent(ctx context.Context, id string, message string) (store.Ticket, error)

func (*LocalService) UnsetTicketSdlc added in v0.1.842

func (s *LocalService) UnsetTicketSdlc(ctx context.Context, id string) (store.Ticket, error)

func (*LocalService) UpdateAgent

func (s *LocalService) UpdateAgent(ctx context.Context, id string, request AgentUpdateRequest) (store.Agent, error)

func (*LocalService) UpdateProject

func (s *LocalService) UpdateProject(ctx context.Context, id int64, request ProjectUpdateRequest) (store.Project, error)

func (*LocalService) UpdateRole

func (s *LocalService) UpdateRole(ctx context.Context, id int64, request RoleRequest) (store.Role, error)

func (*LocalService) UpdateSdlcStage added in v0.1.842

func (s *LocalService) UpdateSdlcStage(ctx context.Context, stageID int64, request SdlcStageRequest) (store.SdlcStage, error)

func (*LocalService) UpdateStory

func (s *LocalService) UpdateStory(ctx context.Context, id int64, title, description string) (store.Story, error)

func (*LocalService) UpdateTeam

func (s *LocalService) UpdateTeam(ctx context.Context, id int64, request TeamRequest) (store.Team, error)

func (*LocalService) UpdateTicket

func (s *LocalService) UpdateTicket(ctx context.Context, id string, request TicketUpdateRequest) (store.Ticket, error)

type ProjectCreateRequest

type ProjectCreateRequest struct {
	ID                 *int64            `json:"id,omitempty"`
	Prefix             string            `json:"prefix"`
	Title              string            `json:"title"`
	Description        string            `json:"description"`
	AcceptanceCriteria string            `json:"acceptance_criteria"`
	DORMap             store.GuidanceMap `json:"dor_map,omitempty"`
	DODMap             store.GuidanceMap `json:"dod_map,omitempty"`
	ACMap              store.GuidanceMap `json:"ac_map,omitempty"`
	GitRepository      string            `json:"git_repository"`
	Notes              string            `json:"notes"`
	Visibility         string            `json:"visibility"`
	SdlcID             *int64            `json:"sdlc_id,omitempty"`
}

type ProjectMemberRequest

type ProjectMemberRequest struct {
	UserID string `json:"user_id"`
	Role   string `json:"role"`
}

type ProjectService added in v0.1.733

type ProjectService interface {
	CreateProject(ctx context.Context, request ProjectCreateRequest) (store.Project, error)
	ListProjects(ctx context.Context) ([]store.Project, error)
	GetProject(ctx context.Context, id string) (store.Project, error)
	UpdateProject(ctx context.Context, id int64, request ProjectUpdateRequest) (store.Project, error)
	DeleteProject(ctx context.Context, id int64) error
	RenameProjectPrefix(ctx context.Context, id int64, newPrefix string) (int, error)
	SetProjectEnabled(ctx context.Context, id int64, enabled bool) (store.Project, error)
	SetProjectDefaultDraft(ctx context.Context, projectID int64, draft bool) error
	AddProjectMember(ctx context.Context, projectID int64, request ProjectMemberRequest) (store.ProjectMember, error)
	RemoveProjectMember(ctx context.Context, projectID int64, userID string) error
	ListProjectMembers(ctx context.Context, projectID int64) ([]store.ProjectMember, error)
	AddProjectTeamMember(ctx context.Context, projectID int64, request ProjectTeamMemberRequest) (store.ProjectTeamMember, error)
	RemoveProjectTeamMember(ctx context.Context, projectID, teamID int64) error
	ListProjectTeamMembers(ctx context.Context, projectID int64) ([]store.ProjectTeamMember, error)
}

ProjectService covers project CRUD, membership, and team association.

type ProjectTeamMemberRequest

type ProjectTeamMemberRequest struct {
	TeamID int64  `json:"team_id"`
	Role   string `json:"role"`
}

type ProjectUpdateRequest

type ProjectUpdateRequest struct {
	Title              string            `json:"title"`
	Description        string            `json:"description"`
	AcceptanceCriteria string            `json:"acceptance_criteria"`
	DORMap             store.GuidanceMap `json:"dor_map,omitempty"`
	DODMap             store.GuidanceMap `json:"dod_map,omitempty"`
	ACMap              store.GuidanceMap `json:"ac_map,omitempty"`
	GitRepository      string            `json:"git_repository"`
	Notes              string            `json:"notes"`
	Status             string            `json:"status"`
	Visibility         string            `json:"visibility"`
	SdlcID             *int64            `json:"sdlc_id,omitempty"`
}

type RoleRequest

type RoleRequest struct {
	ID                 *int64            `json:"id,omitempty"`
	SdlcID             *int64            `json:"sdlc_id,omitempty"`
	Title              string            `json:"title"`
	Description        string            `json:"description"`
	AcceptanceCriteria string            `json:"acceptance_criteria"`
	DORMap             store.GuidanceMap `json:"dor_map,omitempty"`
	DODMap             store.GuidanceMap `json:"dod_map,omitempty"`
	ACMap              store.GuidanceMap `json:"ac_map,omitempty"`
}

type SdlcReorderRequest added in v0.1.842

type SdlcReorderRequest struct {
	StageIDs []int64 `json:"stage_ids"`
}

type SdlcRequest added in v0.1.842

type SdlcRequest struct {
	ID          *int64 `json:"id,omitempty"`
	Name        string `json:"name"`
	Description string `json:"description"`
}

type SdlcService added in v0.1.842

type SdlcService interface {
	CreateSdlc(ctx context.Context, request SdlcRequest) (store.Sdlc, error)
	ListSdlcs(ctx context.Context) ([]store.Sdlc, error)
	GetSdlc(ctx context.Context, id int64) (store.SdlcWithStages, error)
	DeleteSdlc(ctx context.Context, id int64) error
	AddSdlcStage(ctx context.Context, sdlcID int64, request SdlcStageRequest) (store.SdlcStage, error)
	UpdateSdlcStage(ctx context.Context, stageID int64, request SdlcStageRequest) (store.SdlcStage, error)
	GetSdlcStage(ctx context.Context, stageID int64) (store.SdlcStage, error)
	ListSdlcStages(ctx context.Context, sdlcID int64) ([]store.SdlcStage, error)
	RemoveSdlcStage(ctx context.Context, stageID int64) error
	ReorderSdlcStages(ctx context.Context, sdlcID int64, stageIDs []int64) error
	ExportSdlc(ctx context.Context, id int64) (store.SdlcExport, error)
	ImportSdlc(ctx context.Context, export store.SdlcExport) (store.Sdlc, error)
	AddSdlcStageRole(ctx context.Context, sdlcID, stageID, roleID int64) error
	RemoveSdlcStageRole(ctx context.Context, sdlcID, stageID, roleID int64) error
	ReorderSdlcStageRoles(ctx context.Context, sdlcID, stageID int64, roleIDs []int64) error
}

SdlcService covers sdlc templates, stage management, and stage-role assignments.

type SdlcStageRequest added in v0.1.842

type SdlcStageRequest struct {
	StageName          string `json:"stage_name"`
	Description        string `json:"description"`
	AcceptanceCriteria string `json:"acceptance_criteria"`
	WaysOfWorking      string `json:"wow"`
	DefinitionOfReady  string `json:"dor"`
	DefinitionOfDone   string `json:"dod"`
	SortOrder          int    `json:"sort_order"`
}

type Service

Service defines all ticket management operations. It is implemented by LocalService (direct SQLite access) and HTTPService (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 StoryCreateRequest added in v0.1.842

type StoryCreateRequest struct {
	ID          *int64 `json:"id,omitempty"`
	ProjectID   int64  `json:"project_id"`
	Title       string `json:"title"`
	Description string `json:"description"`
}

type TeamMemberRequest

type TeamMemberRequest struct {
	UserID   string `json:"user_id"`
	Role     string `json:"role"`
	JobTitle string `json:"job_title"`
}

type TeamRequest

type TeamRequest struct {
	ID           *int64 `json:"id,omitempty"`
	Name         string `json:"name"`
	ParentTeamID *int64 `json:"parent_team_id,omitempty"`
}

type TeamService added in v0.1.733

type TeamService interface {
	CreateTeam(ctx context.Context, request TeamRequest) (store.Team, error)
	ListTeams(ctx context.Context) ([]store.Team, error)
	UpdateTeam(ctx context.Context, id int64, request TeamRequest) (store.Team, error)
	DeleteTeam(ctx context.Context, id int64) error
	AddTeamMember(ctx context.Context, teamID int64, request TeamMemberRequest) (store.TeamMember, error)
	RemoveTeamMember(ctx context.Context, teamID int64, userID string) error
	ListTeamMembers(ctx context.Context, teamID int64) ([]store.TeamMember, error)
	AddTeamAgent(ctx context.Context, teamID int64, agentID string) (store.TeamAgent, error)
	RemoveTeamAgent(ctx context.Context, teamID int64, agentID string) error
	ListTeamAgents(ctx context.Context, 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"`
	DORMap             store.GuidanceMap `json:"dor_map,omitempty"`
	DODMap             store.GuidanceMap `json:"dod_map,omitempty"`
	ACMap              store.GuidanceMap `json:"ac_map,omitempty"`
	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 TicketRequest struct {
	ProjectID int64   `json:"project_id,omitempty"`
	TicketID  *string `json:"ticket_id,omitempty"`
	TicketRef string  `json:"ticket_ref,omitempty"`
	DryRun    bool    `json:"dry_run,omitempty"`
}

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"`
	Sdlc    *store.SdlcWithStages `json:"sdlc,omitempty"`
	Role    *store.Role           `json:"role,omitempty"`
}

type TicketService added in v0.1.733

type TicketService interface {
	CreateLabel(ctx context.Context, projectID int64, request LabelRequest) (store.Label, error)
	ListLabels(ctx context.Context, projectID int64) ([]store.Label, error)
	DeleteLabel(ctx context.Context, id int64) error
	AddTicketLabel(ctx context.Context, ticketID string, labelID int64) error
	RemoveTicketLabel(ctx context.Context, ticketID string, labelID int64) error
	ListTicketLabels(ctx context.Context, ticketID string) ([]store.Label, error)
	LogTime(ctx context.Context, ticketID string, request TimeEntryRequest) (store.TimeEntry, error)
	ListTimeEntries(ctx context.Context, ticketID string) ([]store.TimeEntry, error)
	DeleteTimeEntry(ctx context.Context, id int64) error
	TotalTimeForTicket(ctx context.Context, ticketID string) (int, error)
	CreateTicket(ctx context.Context, request TicketCreateRequest) (store.Ticket, error)
	ListTickets(ctx context.Context, projectID int64) ([]store.Ticket, error)
	ListTicketsFiltered(ctx context.Context, projectID int64, taskType, stage, state, status, search, assignee string, limit int, includeArchived bool) ([]store.Ticket, error)
	UpdateTicket(ctx context.Context, id string, request TicketUpdateRequest) (store.Ticket, error)
	CloseTicket(ctx context.Context, id string, message string) (store.Ticket, error)
	OpenTicket(ctx context.Context, id string, message string) (store.Ticket, error)
	CompleteTicket(ctx context.Context, id string, message string) (store.Ticket, error)
	ReopenTicket(ctx context.Context, id string, message string) (store.Ticket, error)
	ArchiveTicket(ctx context.Context, id string, message string) (store.Ticket, error)
	UnarchiveTicket(ctx context.Context, id string, message string) (store.Ticket, error)
	ReadyTicket(ctx context.Context, id string, message string) (store.Ticket, error)
	NotReadyTicket(ctx context.Context, id string, message string) (store.Ticket, error)
	DraftTicket(ctx context.Context, id string, message string) (store.Ticket, error)
	UndraftTicket(ctx context.Context, id string, message string) (store.Ticket, error)
	NextTicket(ctx context.Context, id string) (store.Ticket, error)
	PreviousTicket(ctx context.Context, id string) (store.Ticket, error)
	SetTicketSdlc(ctx context.Context, id string, sdlcID int64) (store.Ticket, error)
	UnsetTicketSdlc(ctx context.Context, id string) (store.Ticket, error)
	DeleteTicket(ctx context.Context, id string) error
	SetTicketParent(ctx context.Context, id string, parentID string, message string) (store.Ticket, error)
	UnsetTicketParent(ctx context.Context, id string, message string) (store.Ticket, error)
	SetTicketHealth(ctx context.Context, id string, score int) (store.Ticket, error)
	GetTicketByID(ctx context.Context, id string) (store.Ticket, error)
	GetTicket(ctx context.Context, ref string) (store.Ticket, error)
	CloneTicket(ctx context.Context, id string, message string) (store.Ticket, error)
	ListHistory(ctx context.Context, id string) ([]store.HistoryEvent, error)
	ListHistoryPaged(ctx context.Context, id string, limit, offset int) ([]store.HistoryEvent, error)
	ListProjectHistory(ctx context.Context, projectID int64, limit int) ([]store.HistoryEvent, error)
	ListProjectHistoryFiltered(ctx context.Context, projectID int64, limit int, filter store.HistoryFilter) ([]store.HistoryEvent, error)
	AddComment(ctx context.Context, id string, comment string) (store.Comment, error)
	ListComments(ctx context.Context, id string) ([]store.Comment, error)
	AddDependency(ctx context.Context, request DependencyRequest) (store.Dependency, error)
	RemoveDependency(ctx context.Context, request DependencyRequest) error
	ListDependencies(ctx context.Context, id string) ([]store.Dependency, error)
	RequestTicket(ctx context.Context, request TicketRequest) (TicketRequestResponse, error)
	CreateStoryWithRequest(ctx context.Context, request StoryCreateRequest) (store.Story, error)
	CreateStory(ctx context.Context, projectID int64, title, description string) (store.Story, error)
	ListStories(ctx context.Context, projectID int64) ([]store.Story, error)
	GetStory(ctx context.Context, id int64) (store.Story, error)
	UpdateStory(ctx context.Context, id int64, title, description string) (store.Story, error)
	DeleteStory(ctx context.Context, 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"`
	DORMap             store.GuidanceMap `json:"dor_map,omitempty"`
	DODMap             store.GuidanceMap `json:"dod_map,omitempty"`
	ACMap              store.GuidanceMap `json:"ac_map,omitempty"`
	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               string            `json:"type,omitempty"`
}

type TimeEntryRequest

type TimeEntryRequest struct {
	Minutes int    `json:"minutes"`
	Note    string `json:"note"`
}

type UserService added in v0.1.733

type UserService interface {
	Count(ctx context.Context, projectID *int64) (CountSummary, error)
	CreateUser(ctx context.Context, username, password string) (store.User, error)
	SetUserEnabled(ctx context.Context, username string, enabled bool) error
	ListUsers(ctx context.Context) ([]store.User, error)
	DeleteUser(ctx context.Context, username string) error
	ResetUserPassword(ctx context.Context, username, newPassword string) (store.User, error)
	CreateRole(ctx context.Context, request RoleRequest) (store.Role, error)
	ListRoles(ctx context.Context) ([]store.Role, error)
	UpdateRole(ctx context.Context, id int64, request RoleRequest) (store.Role, error)
	DeleteRole(ctx context.Context, id int64) error
}

UserService covers user and role management.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL