openapi.yaml 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. openapi: 3.1.0
  2. info:
  3. title: Modulplaner OpenAPI
  4. version: 1.0.0
  5. contact:
  6. email: sean@black-burn.ch
  7. description: >
  8. OpenAPI documentation of the modulplaner API
  9. license:
  10. name: MPL 2.0
  11. url: https://www.mozilla.org/en-US/MPL/2.0/
  12. components:
  13. securitySchemes:
  14. authRequired:
  15. type: http
  16. scheme: bearer
  17. servers:
  18. - url: http://localhost:8080
  19. description: localhost
  20. paths:
  21. # Lecturers
  22. /api/lecturers:
  23. $ref: ./paths/api/lecturers/index.yaml
  24. # Modules
  25. /api/modules:
  26. $ref: ./paths/api/modules/index.yaml
  27. /api/modules/{module}:
  28. $ref: ./paths/api/modules/{module}/index.yaml
  29. /api/modules/{module}/history:
  30. $ref: ./paths/api/modules/{module}/history.yaml
  31. # Semesters / Versions
  32. /api/semesters:
  33. $ref: ./paths/api/semesters/index.yaml
  34. /api/semesters/{semester}:
  35. $ref: ./paths/api/semesters/{semester}/index.yaml
  36. /api/semesters/{semester}/versions:
  37. $ref: ./paths/api/semesters/{semester}/versions/index.yaml
  38. /api/semesters/{semester}/versions/{version}:
  39. $ref: ./paths/api/semesters/{semester}/versions/{version}/index.yaml
  40. /api/semesters/{semester}/versions/{version}/classes:
  41. $ref: ./paths/api/semesters/{semester}/versions/{version}/classes.yaml
  42. # Assets
  43. /assets/changelog:
  44. $ref: ./paths/assets/changelog.yaml
  45. /assets/semesters/{semester}/version/{version}/file/{file}:
  46. $ref: ./paths/assets/semesters/{semester}/versions/{version}/file.yaml
  47. # Me
  48. /me:
  49. $ref: ./paths/api/me/index.yaml
  50. /me/personal-events:
  51. $ref: ./paths/api/me/personal-events/index.yaml
  52. /me/personal-events/{event}:
  53. $ref: ./paths/api/me/personal-events/{event}/index.yaml
  54. /me/favourites:
  55. $ref: ./paths/api/me/favourites/index.yaml
  56. /me/favourites/{favourite}:
  57. $ref: ./paths/api/me/favourites/{favourite}/index.yaml
  58. # /me/plans:
  59. # $ref: ./paths/api/me/plans.yaml