Repository navigation
feat: add ticket submission for partners and NPTS - #54
Merged
Merged
Conversation
TusharW4ni
approved these changes
Oct 8, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Partners and NPTS members can submit tickets from the ITS dashboard and receive confirmation of the saved ticket number and initial status. Partners can select projects in their own organization; existing NPTS users (
orgId: null) can select projects across all organizations.Changes
TicketFormwith project selection, title/description validation, and a typed submit event for reuse by the widget workstream.GET /api/projects, returning project IDs and names according to the user's current database assignment. Missing/deleted accounts are denied; a null organization on an existing account means NPTS access.POST /api/tickets, validating input and checking current project access within the save transaction. The server assigns the author, initialopenstatus, and timestamp; caller-supplied server fields are rejected.Validation
pnpm test: 74 tests passed across 6 files.pnpm typecheck: passed.pnpm lint: passed.openstatus.Scope and follow-up
Refs #5; implements the submission milestone (REQ-F-09) and the reusable form. The semester workstream remains open.
githubIssueIdremains null. Coordinate this integration before claiming the full integrated ticket flow is complete.openstatus and future transitions with the NPTS ticket workstream.orgIdis omitted: SQLite stores NULL. A regression test verifies a direct database insert, OTP login, and access across organizations. Assign partners an organization to restrict their access.