Add item grabbed notification#564
Conversation
|
@sourcery-ai review |
Codecov Report❌ Patch coverage is 📢 Thoughts on this report? Let us know! |
|
@greptileai review |
Greptile SummaryThis PR adds a
Confidence Score: 4/5Safe to merge after addressing the The overall feature is well-structured and consistently applied across all layers, but
Important Files Changed
Sequence DiagramsequenceDiagram
participant S as Seeker
participant AC as ArrClient
participant EP as EventPublisher
participant DB as DataContext
participant SCM as SeekerCommandMonitor
participant NP as NotificationPublisher
S->>AC: SearchItemAsync(instance, item)
AC->>AC: SearchItemsAsync([item])
AC-->>S: commandId (long)
S->>EP: PublishSearchTriggered(title, type, reason)
EP-->>S: eventId (Guid)
S->>DB: SeekerCommandTrackers.Add(tracker)
Note over SCM: Background poll (every 15s)
SCM->>AC: GetCommandStatusAsync(instance, commandId)
AC-->>SCM: ArrCommandStatus
SCM->>DB: tracker.Status = Completed
SCM->>AC: GetQueueItemsAsync(instance, page 1)
AC-->>SCM: QueueListResponse (grabbed items)
SCM->>EP: PublishSearchCompleted(eventId, Completed, instanceType, url, grabbedItems)
EP->>DB: Update SearchEventData.GrabbedItems
EP->>NP: NotifySearchItemGrabbed(title, items, type, url)
NP-->>NP: SendNotificationAsync(SearchItemGrabbed, context)
SCM->>DB: SeekerCommandTrackers.Remove(tracker)
|
Relates to #557