craft-hub / WorkItemProjectService
Class: WorkItemProjectService
Defined in: packages/craft-hub/src/work-item-projects.ts:88
Persist source-to-project choices only in the OS data directory; adapters retain business logic.
Constructors
Constructor
new WorkItemProjectService(
dataDir,projects):WorkItemProjectService
Defined in: packages/craft-hub/src/work-item-projects.ts:91
Parameters
dataDir
string
projects
ProjectCatalog
Returns
WorkItemProjectService
Methods
remove()
remove(
request):Promise<WorkItemProjectSnapshot>
Defined in: packages/craft-hub/src/work-item-projects.ts:136
Remove one saved choice, allowing an item to inherit its container default.
Parameters
request
revision
string = revisionSchema
target
{ ref: { accountId: string; containerId: string; instanceId: string; itemId: string; kind: string; providerId: string; }; type: "item"; } | { ref: { accountId: string; containerId: string; instanceId: string; kind: string; providerId: string; }; type: "container"; } = workItemProjectTargetSchema
Returns
Promise<WorkItemProjectSnapshot>
resolve()
resolve(
ref):Promise<WorkItemProjectBinding>
Defined in: packages/craft-hub/src/work-item-projects.ts:102
Resolve item overrides ahead of container defaults; explicit null prevents fallback.
Parameters
ref
accountId
string = identitySchema
containerId
string = identitySchema
instanceId
string = identitySchema
itemId
string = identitySchema
kind
string = identitySchema
providerId
string = identitySchema
Returns
Promise<WorkItemProjectBinding>
snapshot()
snapshot():
Promise<WorkItemProjectSnapshot>
Defined in: packages/craft-hub/src/work-item-projects.ts:96
Read saved choices and recheck project registration and local directory availability.
Returns
Promise<WorkItemProjectSnapshot>
upsert()
upsert(
request):Promise<WorkItemProjectSnapshot>
Defined in: packages/craft-hub/src/work-item-projects.ts:116
Save a registered, available project or an explicit unlinked override after revision validation.
Parameters
request
projectId
string | null = projectIdSchema
revision
string = revisionSchema
target
{ ref: { accountId: string; containerId: string; instanceId: string; itemId: string; kind: string; providerId: string; }; type: "item"; } | { ref: { accountId: string; containerId: string; instanceId: string; kind: string; providerId: string; }; type: "container"; } = workItemProjectTargetSchema
Returns
Promise<WorkItemProjectSnapshot>