Skip to content

🚧 Ozone ticketing system#4661

Draft
foysalit wants to merge 23 commits intomainfrom
ozone-ticketing-system
Draft

🚧 Ozone ticketing system#4661
foysalit wants to merge 23 commits intomainfrom
ozone-ticketing-system

Conversation

@foysalit
Copy link
Contributor

No description provided.

@foysalit foysalit marked this pull request as draft February 19, 2026 14:13
@foysalit foysalit changed the title Ozone ticketing system 🚧 Ozone ticketing system Feb 19, 2026
foysalit and others added 19 commits February 19, 2026 15:18
* ✨ Allow associating actions to reports via events

* 🐛 Rollback subject type
* ✨ Add queue management lexicons

* :rotating_lights: Fix lint issue

* 📝 Update lexicons

* ❇️ Ozone queue routing (#4687)

* ✨ Add queue routing for for reports

* ✨ Add queue delete and migration

* ✨ Add validation for subject type
* moderator_assignment table

* queue assignment endpoints

* cleanup schema

* report assignment endpoints

* register handlers

* allow queue unassign

* rename tools.ozone.queue.assign to tools.ozone.queue.assignModerator

* remove unique constraint since expired assignments arent removed

* remove queue assignment report ID

* Realtime assignments (#4682)

* add ws types

* basic web socket

* add getAssignments to AssignmentService

* add multiple mods to queue test case

* add triage test cases

* add realtime test case

* add backfill logic

* cleanup

* websocket server restructure

* keep assignment queue id if not provided

* fix test: subscription receives updates

* fix test: new subscription receives snapshot

* add error handling

* fix test count

* ws: basic auth

* report ended test

* move assignment wss inside assignment service

* allow realtime updates to be disabled

* add assignment duration env vars

* cleanup

* default to 5 minutes

* rename claimReport to assignModerator

* add test to check dids parameter

* remove subject param from queue.getAssignments

* cleanup

* only throw AlreadyAssigned if active assignment to another user is attempted

* remove queue.assignModerator assign input

* add more queue tests

* tools.ozone.report.getAssignments

* qualify function for clarity

* cleanup wording

* dont call broadcast within wss since the service handles it

* throw error in either assign case

* handle unassignment case properly

* adjust assignment change test case

* cleanup

* cleanup

* split getAssignments into 2 methods. update downstream endpoints

* cleanup

* support token query param

* add queue:assign server message

* attaach did to queue:assign message

* refactor realtime tests to use websockets for updates

* use http for creating queue assignments

* cleanup

* create view methods

* cleanup

* cleanup

* remove assignment websocket server usage

* delete assignment wss

* remove line to keep diff clean

* add db indexes

* use varchar timestamps

* remove redundant types

* add pagination to queue.getAssignments

* add pagination to report.getAssignments

* hydrate queueView when reading/writing queue assignments

* hydrate queue when working with report assignments

* rename test

* cleanup

* remove queue service since it wont be needed

* update description

* (forgot to run codegen)

* default to true

* update description

* cleanup

* cleanup

* use deterministic IDs

* remove ws types

* rename queueView to queue

* create getAuthDid

* create queueFromJoined to be able to reuse queueService.view
* add invalid queue error

* add InvalidAssignment error when assigning report

* add invalid assignment tests

* update report assignment tests to seed reports

* create tools.ozone.report.unassignModerator

* require DID when assigning to queue

* only check queue collection match if routing a record

* add description to report_queue

* add description to queue API

* add queue description to test

* codegen
dont match collection if it is null
…4727)

* ♻️ Refactor report view lexicons and introduce single report query

* 🧹 Cleanup

* 🧹 Cleanup queueView
* ✨ Enrich moderator team member for assignments

* 🧹 Cleanup

* ✨ Return only permanent assignments

* 🐛 Fix did assignment
* create stub endpoint

* cleanup

* lift queue router logic up into service layer

* remove report routing tests from this file

* test for regression bug

* use assignReportBatch in routeReports

* cleanup tests

* create tools.ozone.queue.getLatest

* rename to tools.ozone.report.getLatestReport

* cleanup

* fix limit bug

* properly group OR clauses

* require limit when assigning reports to queues for more robust limit enforcement

* cleanup

* update description

* cleanup lint issues

* allow mods to route reports

* add not found error to single report queries

* create reusable query for report service
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants