Skip to content

Built in ticket management - #693

Open
Mikearaya wants to merge 19 commits into
masterfrom
built-in-ticket-management
Open

Built in ticket management#693
Mikearaya wants to merge 19 commits into
masterfrom
built-in-ticket-management

Conversation

@Mikearaya

Copy link
Copy Markdown
Contributor

No description provided.

Comment thread admin-ui/src/modules/ticketing/hooks/useIsPassCodeValid.ts Fixed
@Mikearaya

Mikearaya commented Mar 11, 2026

Copy link
Copy Markdown
Contributor Author

This PR adds full support for ticket management both admin-ui and engine side.

new mutations added

  • cancelTicket
  • cancelEvent
  • setEventScannerPassCode - used to set pass code for gate control purpose where each event cant set a unique pass code which users at the gate can use to access gate control portal in admin-ui. users dont need to be loged in to use gate control as long as they have a valid pass code (admins have access without any pass code requirement)
  • authenticateGate - used to login into gate control
  • deauthenticateGate - log out from gate control
    Cookie is used to store loged in state not session storage used on other projects for this new envs have been introduced UNCHAINED_GATE_COOKIE_NAME & UNCHAINED_GATE_COOKIE_MAX_AGE_SECONDS

New queries

  • ticketEvents
  • ticketEventsCount
  • isPassCodeValid

new resolver access control permissions

  • validatePassCode
  • gateControl
  • viewTokens (passcode-aware)
  • viewUserPrivateInfos (passcode-aware)
  • updateToken (passcode-aware) permissions for anonymous gate operators

Message templates

  • EVENT_CANCELLED
  • TICKET_CANCELLED

Admin-ui has Two-mode access in which Admins skip passcode (see all events), anonymous users authenticate via passcode (see only their events)

@Mikearaya
Mikearaya requested a review from pozylon March 11, 2026 22:31
@Mikearaya
Mikearaya force-pushed the built-in-ticket-management branch 2 times, most recently from 2ceb5a2 to 88ed454 Compare June 12, 2026 18:53

@pozylon pozylon left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sorry i can't review this, create a github issue with a plan and small self-contained steps so i can properly follow, this just touches too much stuff. then we build this step by step

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what's the purpose of this?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

and this?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i don't know, i think the event scanner pass code feature should be left out of this pr in general for a first version, it's fine if it works with properly logged in users with corect permissions in the beginning.

@Mikearaya
Mikearaya force-pushed the built-in-ticket-management branch from 88ed454 to 7ddcee3 Compare July 2, 2026 18:55
@Mikearaya
Mikearaya force-pushed the built-in-ticket-management branch from 7ddcee3 to 4d3fdf1 Compare August 17, 2026 10:55
@pozylon

pozylon commented Aug 31, 2026

Copy link
Copy Markdown
Member

All mutations and queries that are ticket specific have to live in the ticketing package, this extension can't be part of the normal api, it's too specific.

@pozylon pozylon left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See my other comment about package

@pozylon

pozylon commented Aug 31, 2026

Copy link
Copy Markdown
Member

@Mikearaya check the diffs, it's not clean yet, setHeader and getHeader that kind of helpers is fine in api but isCanceled is ticketing specific

@pozylon pozylon removed their assignment Aug 31, 2026
@Mikearaya
Mikearaya force-pushed the built-in-ticket-management branch from 9760678 to 74218da Compare August 31, 2026 15:49
@Mikearaya

Copy link
Copy Markdown
Contributor Author

@pozylon i've moved all the remaining ticketing-specific resolvers into ticketing packages now

@Mikearaya
Mikearaya force-pushed the built-in-ticket-management branch from 74218da to 986d457 Compare August 31, 2026 19:33
@Mikearaya

Copy link
Copy Markdown
Contributor Author

Now admin-ui needs to somehow determine if the ticketing module is loaded on the engine before showing the gate control feature and ticketing. i am trying to figure out the best way to do this

@Mikearaya
Mikearaya removed the request for review from pozylon August 31, 2026 20:51
@pozylon

pozylon commented Sep 1, 2026

Copy link
Copy Markdown
Member

@Mikearaya can't you just check for permissions? ticketing has additional acl, right? and that's in User.allowedActions. admin-ui components don't have to be in the ticketing extensions

@pozylon

pozylon commented Sep 1, 2026

Copy link
Copy Markdown
Member

I think that all ticket management related features should stay in one main menu point in admin-ui, so don't mix in the ticketing stuff in the normal products/user etc.

@pozylon

pozylon commented Sep 1, 2026

Copy link
Copy Markdown
Member

what is important is that if a user has the scan ticket permission, he/she should have the scanner in the admin-ui so we don't have to build a scan page for every ticketing customer

@Mikearaya

Mikearaya commented Sep 1, 2026

Copy link
Copy Markdown
Contributor Author

@pozylon The issue with admin-ui being shipped with non-global resolvers only becomes apparent when the ticketing package is registered:

  • /ticketing routes result in 500 errors
  • Codegen and the typing system break
  • Gate Control login using a passcode is no longer possible

What I’ve been thinking about and working on is moving the relevant components into the ticketing module itself. These components could then be imported by any project that uses ticketing and injected through the new Admin UI plugin system.

This approach would allow us to keep the ticketing-specific code within the ticketing module and prevent admin-ui from being shipped with dead code by default.

@pozylon

pozylon commented Sep 1, 2026

Copy link
Copy Markdown
Member

@Mikearaya yes it's a perfect case to battle-test your admin ui plugin system

@Mikearaya
Mikearaya force-pushed the built-in-ticket-management branch 2 times, most recently from eeeb3c0 to bf19ab6 Compare September 2, 2026 20:23
@pozylon

pozylon commented Sep 7, 2026

Copy link
Copy Markdown
Member

@Mikearaya i merged the ESM plugin PR, please check this PR here

@pozylon pozylon left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

rebase and build upon the new esm plugin system

@Mikearaya
Mikearaya force-pushed the built-in-ticket-management branch from bf19ab6 to a2fb8db Compare September 7, 2026 16:42
@Mikearaya

Copy link
Copy Markdown
Contributor Author

@pozylon Rebase, tested and fixed. everything is in place now

@Mikearaya
Mikearaya requested a review from pozylon September 7, 2026 17:45
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.

3 participants