lifecycle

package
v0.3.37 Latest Latest
Warning

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

Go to latest
Published: Jul 1, 2026 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CommentAddResult

type CommentAddResult struct {
	QuestID   string              `json:"quest_id"`
	CommentID string              `json:"comment_id"`
	Anchor    quest.CommentAnchor `json:"anchor"`
	Status    quest.CommentStatus `json:"status"`
	Comment   quest.QuestComment  `json:"comment"`
}

CommentAddResult is returned by human-owned comment mutations.

func AddComment

func AddComment(store *quest.FileStore, id string, anchor quest.CommentAnchor, author, body string, now time.Time) (CommentAddResult, error)

type CommentMutationResult

type CommentMutationResult struct {
	QuestID   string              `json:"quest_id"`
	CommentID string              `json:"comment_id"`
	Status    quest.CommentStatus `json:"status,omitempty"`
	Comment   quest.QuestComment  `json:"comment,omitempty"`
	Deleted   bool                `json:"deleted,omitempty"`
}

CommentMutationResult is returned by edit/delete/resolve comment mutations.

func DeleteComment

func DeleteComment(store *quest.FileStore, id, commentID string) (CommentMutationResult, error)

func ResolveComment

func ResolveComment(store *quest.FileStore, id, commentID string, now time.Time) (CommentMutationResult, error)

func UpdateCommentBody

func UpdateCommentBody(store *quest.FileStore, id, commentID, body string) (CommentMutationResult, error)

type GateToggleResult

type GateToggleResult struct {
	QuestID string `json:"quest_id"`
	Gate    string `json:"gate"`
	Checked bool   `json:"checked"`
}

GateToggleResult is returned by human-owned toggle gate mutations.

func ToggleGate

func ToggleGate(store *quest.FileStore, id, gateName string) (GateToggleResult, error)

type StatusResult

type StatusResult struct {
	QuestID   string            `json:"quest_id"`
	Status    quest.Status      `json:"status"`
	MergeBack *mergeback.Result `json:"merge_back,omitempty"`
}

StatusResult is returned by human-owned quest status transitions.

func SetStatus

func SetStatus(ctx context.Context, questStore *quest.FileStore, sessionStore *state.Store, id string, target quest.Status) (StatusResult, error)

SetStatus persists a quest status transition and runs done side effects. Merge-back never turns a successful status write into an error.

Jump to

Keyboard shortcuts

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