Skip to content

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>

Released under the MIT License.