MCPcopy Create free account
hub / github.com/compozy/agh / taskInboxPayloadFromView

Function taskInboxPayloadFromView

internal/extension/host_api_tasks.go:1373–1408  ·  view source on GitHub ↗
(view observepkg.TaskInboxView)

Source from the content-addressed store, hash-verified

1371}
1372
1373func taskInboxPayloadFromView(view observepkg.TaskInboxView) apicontract.TaskInboxPayload {
1374 payload := apicontract.TaskInboxPayload{
1375 Total: view.Total,
1376 UnreadTotal: view.UnreadTotal,
1377 ArchivedTotal: view.ArchivedTotal,
1378 }
1379 if len(view.Groups) == 0 {
1380 return payload
1381 }
1382
1383 payload.Groups = make([]apicontract.TaskInboxLaneGroupPayload, 0, len(view.Groups))
1384 for _, group := range view.Groups {
1385 groupPayload := apicontract.TaskInboxLaneGroupPayload{
1386 Lane: apicontract.TaskInboxLane(group.Lane),
1387 Count: group.Count,
1388 UnreadCount: group.UnreadCount,
1389 }
1390 if len(group.Items) > 0 {
1391 groupPayload.Items = make([]apicontract.TaskInboxItemPayload, 0, len(group.Items))
1392 for _, item := range group.Items {
1393 groupPayload.Items = append(groupPayload.Items, apicontract.TaskInboxItemPayload{
1394 Task: taskReferencePayloadFromReference(item.Task),
1395 Lane: apicontract.TaskInboxLane(item.Lane),
1396 ApprovalPolicy: item.ApprovalPolicy,
1397 ApprovalState: item.ApprovalState,
1398 BlockingReason: item.BlockingReason,
1399 LatestActivityAt: item.LatestActivityAt,
1400 Run: taskRunSummaryPayloadFromSummary(item.Run),
1401 Triage: taskTriageStatePayloadFromState(item.Triage),
1402 })
1403 }
1404 }
1405 payload.Groups = append(payload.Groups, groupPayload)
1406 }
1407 return payload
1408}
1409
1410func taskTriageStatePayloadFromState(state taskpkg.TriageState) apicontract.TaskTriageStatePayload {
1411 return apicontract.TaskTriageStatePayload{

Calls 4

appendFunction · 0.85