Wire manual Y menu and CLI sync for issues and work items, persist per-project credentials, and keep local edits until an explicit push. Co-authored-by: Cursor <cursoragent@cursor.com>
16 lines
519 B
Go
16 lines
519 B
Go
package ticket
|
|
|
|
// Store is the persistence interface for tickets.
|
|
// Implementations must be safe for concurrent use.
|
|
type Store interface {
|
|
List(projectID string) ([]Ticket, error)
|
|
Get(id string) (Ticket, error)
|
|
Create(t Ticket) (Ticket, error)
|
|
Update(t Ticket) error
|
|
// MarkSynced sets SyncedAt to the ticket's current UpdatedAt without
|
|
// bumping UpdatedAt (so NeedsPush becomes false after a remote sync).
|
|
MarkSynced(id string) error
|
|
Move(id, toProjectID string) (Ticket, error)
|
|
Delete(id string) error
|
|
}
|