con2/kompassi

Program links

Opened this issue · 0 comments

Currently in the GraphQL API there is the signupLink attribute that provides the undecorated URL to sign up to the program item, if any.

However, we also have other forms of program linkage. At the time of writing the following ones have been recognized:

  • SIGNUP: Sign up
  • RESERVATION: Reserve seats
  • TICKETS: Buy tickets
  • RECORDING: Watch recording
  • FEEDBACK: Give feedback

There may be others as well.

What is proposed is adding an attribute to ProgramType called links(types: [LinkType!]) that would be an object type with fields type, title(lang: String) and href, where type is an enum of the above and others strings. If types is not provided, links of all types are returned. There may be 0…N links of each type. They could be visualized eg. like this:

Links:
Sign up (Konsti)
Recording (YouTube)

Slack discussion
Further slack discussion (as part of the #474 discussion)