themepark-assistant/api.md

1.6 KiB

API structure

Required endpoints

  • authentication (via GitHub OAuth?)
    • login
    • logout
  • list all available themeparks
  • list all attractions per themepark
  • notification
    • list all configured targets
    • add webhook target
    • remove webhook target
    • enable notifications for target
    • disable notifications for target
    • subscribe attraction
    • unsubscribe attraction
  • logbook
    • list all entries
      • option to filter by date (via request parameters)
      • option to filter by themepark (via request parameters)
      • or both (via request parameters)
    • add entry
    • remove entry
  • user settings
    • delete account

Concept

  • /auth -> for authentication purposes
  • /themepark/list -> list all themeparks
  • /themepark/list/attraction -> list all attractions from a themepark
    • parameters: themepark
  • /attraction
    • //subscribe -> subscribe notifications
    • //unsubscribe -> unsubscribe notifications
  • /notification
    • /list
      • parameters: date, themepark
    • /add-target
      • parameters: name, url
    • /remove-target
      • parmeters: target-id
    • /enable-notification
    • /disable-notification
  • /logbook
    • /list
      • parameters: date, themepark -> both optional
    • /add-entry
      • parameters: attraction, expected-waittime, real-waittime, unix-timestamp
    • /edit-entry -> optional, if it makes sense
      • parameters: entry-id, attraction, expected-waittime, real-waittime
    • /remove-entry
      • parameters: entry-id
  • /user
    • /delete-account -> deletes current account & all associated data instantly