Sean Blackburn пре 1 година
родитељ
комит
cbfd96588a
53 измењених фајлова са 413 додато и 288 уклоњено
  1. 2 0
      cspell.config.yaml
  2. 0 0
      src/components/examples/api/lecturers/index.yaml
  3. 0 45
      src/components/examples/api/module-history.yaml
  4. 0 0
      src/components/examples/api/modules/index.yaml
  5. 28 0
      src/components/examples/api/modules/{module}/history.yaml
  6. 24 0
      src/components/examples/api/modules/{module}/index.yaml
  7. 0 0
      src/components/examples/api/semesters/index.yaml
  8. 10 0
      src/components/examples/api/semesters/{semester}/index.yaml
  9. 0 0
      src/components/examples/api/semesters/{semester}/versions/index.yaml
  10. 0 0
      src/components/examples/api/semesters/{semester}/versions/{version}/classes.yaml
  11. 17 0
      src/components/examples/api/semesters/{semester}/versions/{version}/index.yaml
  12. 0 4
      src/components/examples/api/{semester}/{version}/config.yaml
  13. 7 0
      src/components/parameters/module.yaml
  14. 0 9
      src/components/responses/api/lecturers-200.yaml
  15. 9 0
      src/components/responses/api/lecturers/index-get-200.yaml
  16. 0 7
      src/components/responses/api/module-history-200.yaml
  17. 2 2
      src/components/responses/api/modules/index-get-200.yaml
  18. 7 0
      src/components/responses/api/modules/{module}/history-get-200.yaml
  19. 7 0
      src/components/responses/api/modules/{module}/index-get-200.yaml
  20. 0 9
      src/components/responses/api/semester-versions-200.yaml
  21. 9 0
      src/components/responses/api/semesters/index-get-200.yaml
  22. 7 0
      src/components/responses/api/semesters/{semester}/index-get-200.yaml
  23. 9 0
      src/components/responses/api/semesters/{semester}/versions/index-get-200.yaml
  24. 9 0
      src/components/responses/api/semesters/{semester}/versions/{version}/classes-get-200.yaml
  25. 7 0
      src/components/responses/api/semesters/{semester}/versions/{version}/index-get-200.yaml
  26. 0 9
      src/components/responses/api/{semester}/changes-200.yaml
  27. 0 9
      src/components/responses/api/{semester}/{version}/classes-200.yaml
  28. 0 7
      src/components/responses/api/{semester}/{version}/semester-version-config-200.yaml
  29. 0 0
      src/components/responses/assets/changelog-get-200.yaml
  30. 0 0
      src/components/responses/assets/{semester}/{version}/file-get-200.yaml
  31. 3 3
      src/components/schemas/api/class.yaml
  32. 56 59
      src/components/schemas/api/module-history.yaml
  33. 64 0
      src/components/schemas/api/semester-version-config.yaml
  34. 8 12
      src/components/schemas/api/semester-version.yaml
  35. 16 0
      src/components/schemas/api/semester-versions.yaml
  36. 0 12
      src/components/schemas/api/{semester}/change.yaml
  37. 0 27
      src/components/schemas/api/{semester}/{version}/semester-version-config.yaml
  38. 28 17
      src/openapi.yaml
  39. 1 1
      src/paths/api/lecturers/index.yaml
  40. 0 10
      src/paths/api/module-history.yaml
  41. 1 1
      src/paths/api/modules/index.yaml
  42. 12 0
      src/paths/api/modules/{module}/history.yaml
  43. 12 0
      src/paths/api/modules/{module}/index.yaml
  44. 0 10
      src/paths/api/semester-versions.yaml
  45. 10 0
      src/paths/api/semesters/index.yaml
  46. 12 0
      src/paths/api/semesters/{semester}/index.yaml
  47. 3 3
      src/paths/api/semesters/{semester}/versions/index.yaml
  48. 13 0
      src/paths/api/semesters/{semester}/versions/{version}/classes.yaml
  49. 13 0
      src/paths/api/semesters/{semester}/versions/{version}/index.yaml
  50. 0 13
      src/paths/api/{semester}/{version}/classes.yaml
  51. 0 13
      src/paths/api/{semester}/{version}/config.yaml
  52. 2 2
      src/paths/assets/changelog.yaml
  53. 5 4
      src/paths/assets/semesters/{semester}/versions/{version}/file.yaml

+ 2 - 0
cspell.config.yaml

@@ -23,6 +23,8 @@ words:
   - Bharath
   - blockclass
   - blockclasses
+  - blockmodules
+  - Blockmodules
   - Ceng
   - Dunyasha
   - ects

+ 0 - 0
src/components/examples/api/lecturers.yaml → src/components/examples/api/lecturers/index.yaml


+ 0 - 45
src/components/examples/api/module-history.yaml

@@ -1,45 +0,0 @@
-aet1:
-  - semester: 24HS
-    version: einschr_3
-    weekday: 0
-    class: 1Ea
-    from: 29700
-    to: 39600
-    lecturers:
-      - Gaus
-    teaching_type: on_site
-    rooms:
-      - "1.331"
-    pages:
-      - 3
-      - 5
-    pk: 1Ea-aet1-0-29700-39600
-afana:
-  - semester: 12HS
-    version: korr_8
-    weekday: 1
-    class: 1Ia
-    from: 45900
-    to: 54600
-    lecturers:
-      - Syn
-    teaching_type: on_site
-    rooms:
-      - "4.417"
-    pages:
-      - 3
-    pk: 1Ia-afana-1-45900-54600
-  - semester: 12HS
-    version: korr_8
-    weekday: 1
-    class: 1Ib
-    from: 33000
-    to: 42300
-    lecturers:
-      - Syn
-    teaching_type: on_site
-    rooms:
-      - "4.427"
-    pages:
-      - 4
-    pk: 1Ib-afana-1-33000-42300

+ 0 - 0
src/components/examples/api/modules.yaml → src/components/examples/api/modules/index.yaml


+ 28 - 0
src/components/examples/api/modules/{module}/history.yaml

@@ -0,0 +1,28 @@
+- semester: 12HS
+  version: korr_8
+  weekday: 1
+  class: 1Ia
+  from: 45900
+  to: 54600
+  lecturers:
+    - Syn
+  teaching_type: on_site
+  rooms:
+    - "4.417"
+  pages:
+    - 3
+  pk: 1Ia-afana-1-45900-54600
+- semester: 12HS
+  version: korr_8
+  weekday: 1
+  class: 1Ib
+  from: 33000
+  to: 42300
+  lecturers:
+    - Syn
+  teaching_type: on_site
+  rooms:
+    - "4.427"
+  pages:
+    - 4
+  pk: 1Ib-afana-1-33000-42300

+ 24 - 0
src/components/examples/api/modules/{module}/index.yaml

@@ -0,0 +1,24 @@
+short: aet1
+name: "Allgemeine Elektrotechnik 1 "
+for_degrees:
+  - Elektro- und Informationstechnik
+  - Systemtechnik
+module_pk: 6007771
+module_related_pk:
+  - 6007771
+ects: 3
+marks:
+  - HN
+  - MSP
+  - SE
+cat: Fachausbildung
+sub_cat: Fachgrundlagen
+dependencies:
+  de:
+    - an1
+  en: []
+enabling_modules:
+  de:
+    - aet2
+    - msee
+  en: []

+ 0 - 0
src/components/examples/api/semester-versions.yaml → src/components/examples/api/semesters/index.yaml


+ 10 - 0
src/components/examples/api/semesters/{semester}/index.yaml

@@ -0,0 +1,10 @@
+semester: 24FS
+versions:
+  - korr_2
+  - korr_2_1
+  - korr_1
+  - einschr_3_1
+  - einschr_3
+  - einschr_2
+  - einschr_1
+  - prov_4a

+ 0 - 0
src/components/examples/api/{semester}/changes.yaml → src/components/examples/api/semesters/{semester}/versions/index.yaml


+ 0 - 0
src/components/examples/api/{semester}/{version}/classes.yaml → src/components/examples/api/semesters/{semester}/versions/{version}/classes.yaml


+ 17 - 0
src/components/examples/api/semesters/{semester}/versions/{version}/index.yaml

@@ -0,0 +1,17 @@
+semester: HS24
+version: einschr_3
+export_date: 17.06.2024 15:07:00
+parse_date: 04.10.2024 17:45:10
+additional_files:
+  - title: Classes.pdf
+    file: Classes_HS24_einschr_3.pdf
+    file_type: plan
+    endpoint_type: internal_semester_version
+  - title: Lecturers.pdf
+    file: Lecturers_HS24_einschr_3.pdf
+    file_type: other
+    endpoint_type: internal_semester_version
+  - title: Something interesting
+    file: https://example.com
+    file_type: other
+    endpoint_type: external_link

+ 0 - 4
src/components/examples/api/{semester}/{version}/config.yaml

@@ -1,4 +0,0 @@
-pdf_version: einschreiben / HS_24_einschr_3
-export_date: 17.06.2024 15:07:00
-parse_date: 04.10.2024 17:45:10
-blockmodule_file: "Blockmodule.xlsx"

+ 7 - 0
src/components/parameters/module.yaml

@@ -0,0 +1,7 @@
+name: module
+in: path
+description: Module name
+required: true
+schema:
+  type: string
+  summary: Name of the module we want to get more specific information of.

+ 0 - 9
src/components/responses/api/lecturers-200.yaml

@@ -1,9 +0,0 @@
-description: OK
-content:
-  application/json:
-    schema:
-      type: array
-      items:
-        $ref: ../../schemas/api/lecturer.yaml
-    example:
-      $ref: ../../examples/api/lecturers.yaml

+ 9 - 0
src/components/responses/api/lecturers/index-get-200.yaml

@@ -0,0 +1,9 @@
+description: OK
+content:
+  application/json:
+    schema:
+      type: array
+      items:
+        $ref: ../../../schemas/api/lecturer.yaml
+    example:
+      $ref: ../../../examples/api/lecturers/index.yaml

+ 0 - 7
src/components/responses/api/module-history-200.yaml

@@ -1,7 +0,0 @@
-description: OK
-content:
-  application/json:
-    schema:
-      $ref: ../../schemas/api/module-history.yaml
-    example:
-      $ref: ../../examples/api/module-history.yaml

+ 2 - 2
src/components/responses/api/modules-200.yaml → src/components/responses/api/modules/index-get-200.yaml

@@ -4,6 +4,6 @@ content:
     schema:
       type: array
       items:
-        $ref: ../../schemas/api/module.yaml
+        $ref: ../../../schemas/api/module.yaml
     example:
-      $ref: ../../examples/api/modules.yaml
+      $ref: ../../../examples/api/modules/index.yaml

+ 7 - 0
src/components/responses/api/modules/{module}/history-get-200.yaml

@@ -0,0 +1,7 @@
+description: OK
+content:
+  application/json:
+    schema:
+      $ref: ../../../../schemas/api/module-history.yaml
+    example:
+      $ref: ../../../../examples/api/modules/{module}/history.yaml

+ 7 - 0
src/components/responses/api/modules/{module}/index-get-200.yaml

@@ -0,0 +1,7 @@
+description: OK
+content:
+  application/json:
+    schema:
+      $ref: ../../../../schemas/api/module.yaml
+    example:
+      $ref: ../../../../examples/api/modules/{module}/index.yaml

+ 0 - 9
src/components/responses/api/semester-versions-200.yaml

@@ -1,9 +0,0 @@
-description: OK
-content:
-  application/json:
-    schema:
-      type: array
-      items:
-        $ref: ../../schemas/api/semester-version.yaml
-    example:
-      $ref: ../../examples/api/semester-versions.yaml

+ 9 - 0
src/components/responses/api/semesters/index-get-200.yaml

@@ -0,0 +1,9 @@
+description: OK
+content:
+  application/json:
+    schema:
+      type: array
+      items:
+        $ref: ../../../schemas/api/semester-versions.yaml
+    example:
+      $ref: ../../../examples/api/semesters/index.yaml

+ 7 - 0
src/components/responses/api/semesters/{semester}/index-get-200.yaml

@@ -0,0 +1,7 @@
+description: OK
+content:
+  application/json:
+    schema:
+      $ref: ../../../../schemas/api/semester-versions.yaml
+    example:
+      $ref: ../../../../examples/api/semesters/{semester}/index.yaml

+ 9 - 0
src/components/responses/api/semesters/{semester}/versions/index-get-200.yaml

@@ -0,0 +1,9 @@
+description: OK
+content:
+  application/json:
+    schema:
+      type: array
+      items:
+        $ref: ../../../../../schemas/api/semester-version.yaml
+    example:
+      $ref: ../../../../../examples/api/semesters/{semester}/versions/index.yaml

+ 9 - 0
src/components/responses/api/semesters/{semester}/versions/{version}/classes-get-200.yaml

@@ -0,0 +1,9 @@
+description: OK
+content:
+  application/json:
+    schema:
+      type: array
+      items:
+        $ref: ../../../../../../schemas/api/class.yaml
+    example:
+      $ref: ../../../../../../examples/api/semesters/{semester}/versions/{version}/classes.yaml

+ 7 - 0
src/components/responses/api/semesters/{semester}/versions/{version}/index-get-200.yaml

@@ -0,0 +1,7 @@
+description: OK
+content:
+  application/json:
+    schema:
+      $ref: ../../../../../../schemas/api/semester-version-config.yaml
+    example:
+      $ref: ../../../../../../examples/api/semesters/{semester}/versions/{version}/index.yaml

+ 0 - 9
src/components/responses/api/{semester}/changes-200.yaml

@@ -1,9 +0,0 @@
-description: OK
-content:
-  application/json:
-    schema:
-      type: array
-      items:
-        $ref: ../../../schemas/api/{semester}/change.yaml
-    example:
-      $ref: ../../../examples/api/{semester}/changes.yaml

+ 0 - 9
src/components/responses/api/{semester}/{version}/classes-200.yaml

@@ -1,9 +0,0 @@
-description: OK
-content:
-  application/json:
-    schema:
-      type: array
-      items:
-        $ref: ../../../../schemas/api/{semester}/{version}/class.yaml
-    example:
-      $ref: ../../../../examples/api/{semester}/{version}/classes.yaml

+ 0 - 7
src/components/responses/api/{semester}/{version}/semester-version-config-200.yaml

@@ -1,7 +0,0 @@
-description: OK
-content:
-  application/json:
-    schema:
-      $ref: ../../../../schemas/api/{semester}/{version}/semester-version-config.yaml
-    example:
-      $ref: ../../../../examples/api/{semester}/{version}/config.yaml

+ 0 - 0
src/components/responses/assets/changelog-html-200.yaml → src/components/responses/assets/changelog-get-200.yaml


+ 0 - 0
src/components/responses/assets/{semester}/{version}/file-200.yaml → src/components/responses/assets/{semester}/{version}/file-get-200.yaml


+ 3 - 3
src/components/schemas/api/{semester}/{version}/class.yaml → src/components/schemas/api/class.yaml

@@ -3,7 +3,7 @@ description: Single class definition of a specific version
 properties:
   weekday:
     description: The weekday the module took place on
-    $ref: ../../../../enums/weekday.yaml
+    $ref: ../../enums/weekday.yaml
   from:
     description: Start time of the module, in seconds since midnight
     type: integer
@@ -29,9 +29,9 @@ properties:
       type: string
   teaching_type:
     description: The type of teaching
-    $ref: ../../../../enums/teaching-type.yaml
+    $ref: ../../enums/teaching-type.yaml
   module_execution_method:
-    $ref: ../../../../enums/module-execution-type.yaml
+    $ref: ../../enums/module-execution-type.yaml
   pages:
     description: List of pages, on which the module can be found in the PDF
     type: array

+ 56 - 59
src/components/schemas/api/module-history.yaml

@@ -1,62 +1,59 @@
-type: object
-description: A complete history of all planned executions of each module
-additionalProperties:
-  description: The key is the modules short name with a mapping to an array
-  type: array
-  items:
-    type: object
-    properties:
-      semester:
-        description: The semester this module took place in
+description: History of past executions of this module
+type: array
+items:
+  type: object
+  properties:
+    semester:
+      description: The semester this module took place in
+      type: string
+    version:
+      description: The version of the semester plan
+      type: string
+    weekday:
+      description: The weekday the module took place on
+      $ref: ../../enums/weekday.yaml
+    class:
+      description: Name of the class this module is part of
+      type: string
+    from:
+      description: Start time of the module, in seconds since midnight
+      type: integer
+      format: int32
+    to:
+      description: End time of the module, in seconds since midnight
+      type: integer
+      format: int32
+    lecturers:
+      description: List of lecturers teaching this module
+      type: array
+      items:
         type: string
-      version:
-        description: The version of the semester plan
+    teaching_type:
+      description: The type of teaching
+      $ref: ../../enums/teaching-type.yaml
+    rooms:
+      description: List of rooms reserved for this module
+      type: array
+      items:
         type: string
-      weekday:
-        description: The weekday the module took place on
-        $ref: ../../enums/weekday.yaml
-      class:
-        description: Name of the class this module is part of
-        type: string
-      from:
-        description: Start time of the module, in seconds since midnight
-        type: integer
-        format: int32
-      to:
-        description: End time of the module, in seconds since midnight
+    pages:
+      description: List of pages, on which the module can be found in the PDF
+      type: array
+      items:
         type: integer
-        format: int32
-      lecturers:
-        description: List of lecturers teaching this module
-        type: array
-        items:
-          type: string
-      teaching_type:
-        description: The type of teaching
-        $ref: ../../enums/teaching-type.yaml
-      rooms:
-        description: List of rooms reserved for this module
-        type: array
-        items:
-          type: string
-      pages:
-        description: List of pages, on which the module can be found in the PDF
-        type: array
-        items:
-          type: integer
-          format: int16
-      pk:
-        description: A unique ID for this module and the time it is taught
-        type: string
-    required:
-      - semester
-      - version
-      - weekday
-      - class
-      - from
-      - to
-      - lecturers
-      - teaching_type
-      - rooms
-      - pages
-      - pk
+        format: int16
+    pk:
+      description: A unique ID for this module and the time it is taught
+      type: string
+  required:
+    - semester
+    - version
+    - weekday
+    - class
+    - from
+    - to
+    - lecturers
+    - teaching_type
+    - rooms
+    - pages
+    - pk

+ 64 - 0
src/components/schemas/api/semester-version-config.yaml

@@ -0,0 +1,64 @@
+type: object
+description: Version specific configurations/additional information
+properties:
+  semester:
+    description: Name of the semester
+    type: string
+    example: HS24
+  version:
+    description: Version of the plan
+    type: string
+    example: einschr_3
+  export_date:
+    description: The date, when the version of this plan was released.
+    format: dd.mm.yyyy HH:MM:SS
+    type: string
+    example: "17.06.2024 15:07:00"
+  parse_date:
+    description: The date, when the version of this plan was parsed.
+    format: dd.mm.yyyy HH:MM:SS
+    type: string
+    example: "04.10.2024 17:45:10"
+  additional_files:
+    type: array
+    items:
+      type: object
+      properties:
+        title:
+          type: string
+          description: Display title of the file
+        file:
+          type: string
+          description: The file link / name
+        file_type:
+          type: string
+          description: Type of file
+          oneOf:
+            - title: Plan
+              const: plan
+              description: The main planning file / original data source
+            - title: Blockmodules
+              const: blockmodules
+              description: A blockmodules file / data source
+            - title: Other
+              const: other
+              description: Any other kind of file that is relevant for planning
+        endpoint_type:
+          type: string
+          description: From which endpoint can the file be fetched form
+          oneOf:
+            - title: Internal Semester Version file
+              const: internal_semester_version
+            - title: External link
+              const: external_link
+      required:
+        - title
+        - file
+        - file_type
+        - endpoint_type
+required:
+  - semester
+  - version
+  - export_date
+  - parse_date
+  - additional_files

+ 8 - 12
src/components/schemas/api/semester-version.yaml

@@ -1,16 +1,12 @@
 type: object
-description: Single semester and all of its versions
+description: A single change in the semester plan version, outlining the changes
 properties:
-  semester:
-    description: Name of the semester
+  name:
+    description: The name of the version
+    type: string
+  changes:
+    description: A HTML string of the changes
     type: string
-    example: "24HS"
-  versions:
-    description: The different versions available for this semester
-    type: array
-    items:
-      type: string
-      example: "einschr_1"
 required:
-  - semester
-  - versions
+  - name
+  - changes

+ 16 - 0
src/components/schemas/api/semester-versions.yaml

@@ -0,0 +1,16 @@
+type: object
+description: Single semester and all of its versions
+properties:
+  semester:
+    description: Name of the semester
+    type: string
+    example: "24HS"
+  versions:
+    description: The different versions available for this semester
+    type: array
+    items:
+      type: string
+      example: "einschr_1"
+required:
+  - semester
+  - versions

+ 0 - 12
src/components/schemas/api/{semester}/change.yaml

@@ -1,12 +0,0 @@
-type: object
-description: A single change in the semester plan version, outlining the changes
-properties:
-  name:
-    description: The name of the version
-    type: string
-  changes:
-    description: A HTML string of the changes
-    type: string
-required:
-  - name
-  - changes

+ 0 - 27
src/components/schemas/api/{semester}/{version}/semester-version-config.yaml

@@ -1,27 +0,0 @@
-type: object
-description: Version specific configurations/additional information
-properties:
-  pdf_version:
-    description: Version name of the PDF
-    type: string
-    example: "einschreiben / HS_24_einschr_3"
-  export_date:
-    description: The date, when the version of this plan was released.
-    format: dd.mm.yyyy HH:MM:SS
-    type: string
-    example: "17.06.2024 15:07:00"
-  parse_date:
-    description: The date, when the version of this plan was parsed.
-    format: dd.mm.yyyy HH:MM:SS
-    type: string
-    example: "04.10.2024 17:45:10"
-  blockmodule_file:
-    description: Name of the blockmodule file
-    type:
-      - string
-      - "null"
-required:
-  - pdf_version
-  - export_date
-  - parse_date
-  - blockmodule_file

+ 28 - 17
src/openapi.yaml

@@ -15,22 +15,33 @@ servers:
     description: localhost
 
 paths:
-  /api/semester-versions:
-    $ref: ./paths/api/semester-versions.yaml
-  /api/modules:
-    $ref: ./paths/api/modules.yaml
+  # Lecturers
   /api/lecturers:
-    $ref: ./paths/api/lecturers.yaml
-  /api/module-history:
-    $ref: ./paths/api/module-history.yaml
-  /api/{semester}/changes:
-    $ref: ./paths/api/{semester}/changes.yaml
-  /api/{semester}/{version}/classes:
-    $ref: ./paths/api/{semester}/{version}/classes.yaml
-  /api/{semester}/{version}/config:
-    $ref: ./paths/api/{semester}/{version}/config.yaml
+    $ref: ./paths/api/lecturers/index.yaml
+
+  # Modules
+  /api/modules:
+    $ref: ./paths/api/modules/index.yaml
+  /api/modules/{module}:
+    $ref: ./paths/api/modules/{module}/index.yaml
+  /api/modules/{module}/history:
+    $ref: ./paths/api/modules/{module}/history.yaml
+
+  # Semesters / Versions
+  /api/semesters:
+    $ref: ./paths/api/semesters/index.yaml
+  /api/semesters/{semester}:
+    $ref: ./paths/api/semesters/{semester}/index.yaml
+  /api/semesters/{semester}/versions:
+    $ref: ./paths/api/semesters/{semester}/versions/index.yaml
+
+  /api/semesters/{semester}/versions/{version}:
+    $ref: ./paths/api/semesters/{semester}/versions/{version}/index.yaml
+  /api/semesters/{semester}/versions/{version}/classes:
+    $ref: ./paths/api/semesters/{semester}/versions/{version}/classes.yaml
 
-  /assets/changelog.html:
-    $ref: ./paths/assets/changelog-html.yaml
-  /assets/{semester}/{version}/{file}:
-    $ref: ./paths/assets/{semester}/{version}/file.yaml
+  # Assets
+  /assets/changelog:
+    $ref: ./paths/assets/changelog.yaml
+  /assets/semesters/{semester}/version/{version}/file/{file}:
+    $ref: ./paths/assets/semesters/{semester}/versions/{version}/file.yaml

+ 1 - 1
src/paths/api/lecturers.yaml → src/paths/api/lecturers/index.yaml

@@ -7,4 +7,4 @@ get:
     - Lecturers
   responses:
     "200":
-      $ref: ../../components/responses/api/lecturers-200.yaml
+      $ref: ../../../components/responses/api/lecturers/index-get-200.yaml

+ 0 - 10
src/paths/api/module-history.yaml

@@ -1,10 +0,0 @@
-get:
-  operationId: GetModuleHistory
-  summary: >-
-    A list of all the lecturers.
-  security: []
-  tags:
-    - Modules
-  responses:
-    "200":
-      $ref: ../../components/responses/api/module-history-200.yaml

+ 1 - 1
src/paths/api/modules.yaml → src/paths/api/modules/index.yaml

@@ -7,4 +7,4 @@ get:
     - Modules
   responses:
     "200":
-      $ref: ../../components/responses/api/modules-200.yaml
+      $ref: ../../../components/responses/api/modules/index-get-200.yaml

+ 12 - 0
src/paths/api/modules/{module}/history.yaml

@@ -0,0 +1,12 @@
+get:
+  operationId: GetModuleHistory
+  summary: >-
+    History of a single module
+  security: []
+  parameters:
+    - $ref: ../../../../components/parameters/module.yaml
+  tags:
+    - Modules
+  responses:
+    "200":
+      $ref: ../../../../components/responses/api/modules/{module}/history-get-200.yaml

+ 12 - 0
src/paths/api/modules/{module}/index.yaml

@@ -0,0 +1,12 @@
+get:
+  operationId: GetSingleModule
+  summary: >-
+    Get the information about a single module
+  security: []
+  parameters:
+    - $ref: ../../../../components/parameters/module.yaml
+  tags:
+    - Modules
+  responses:
+    "200":
+      $ref: ../../../../components/responses/api/modules/{module}/index-get-200.yaml

+ 0 - 10
src/paths/api/semester-versions.yaml

@@ -1,10 +0,0 @@
-get:
-  operationId: GetSemesterVersions
-  summary: >-
-    Overview of the available semesters and their respective versions of the timetable.
-  security: []
-  tags:
-    - Semesters
-  responses:
-    "200":
-      $ref: ../../components/responses/api/semester-versions-200.yaml

+ 10 - 0
src/paths/api/semesters/index.yaml

@@ -0,0 +1,10 @@
+get:
+  operationId: GetSemesters
+  summary: >-
+    Get a list of all the semesters stored on this server
+  security: []
+  tags:
+    - Semesters
+  responses:
+    "200":
+      $ref: ../../../components/responses/api/semesters/index-get-200.yaml

+ 12 - 0
src/paths/api/semesters/{semester}/index.yaml

@@ -0,0 +1,12 @@
+get:
+  operationId: GetSingleSemester
+  summary: >-
+    Get the information of a single semester
+  security: []
+  parameters:
+    - $ref: ../../../../components/parameters/semester.yaml
+  tags:
+    - Semesters
+  responses:
+    "200":
+      $ref: ../../../../components/responses/api/semesters/{semester}/index-get-200.yaml

+ 3 - 3
src/paths/api/{semester}/changes.yaml → src/paths/api/semesters/{semester}/versions/index.yaml

@@ -3,10 +3,10 @@ get:
   summary: >-
     A list of all changes between the versions of this semester.
   security: []
+  parameters:
+    - $ref: ../../../../../components/parameters/semester.yaml
   tags:
     - Semester
-  parameters:
-    - $ref: ../../../components/parameters/semester.yaml
   responses:
     "200":
-      $ref: ../../../components/responses/api/{semester}/changes-200.yaml
+      $ref: ../../../../../components/responses/api/semesters/{semester}/versions/index-get-200.yaml

+ 13 - 0
src/paths/api/semesters/{semester}/versions/{version}/classes.yaml

@@ -0,0 +1,13 @@
+get:
+  operationId: GetSemesterVersionClasses
+  summary: >-
+    A list of all classes for this semester/version.
+  security: []
+  tags:
+    - Semester Version
+  parameters:
+    - $ref: ../../../../../../components/parameters/semester.yaml
+    - $ref: ../../../../../../components/parameters/version.yaml
+  responses:
+    "200":
+      $ref: ../../../../../../components/responses/api/semesters/{semester}/versions/{version}/classes-get-200.yaml

+ 13 - 0
src/paths/api/semesters/{semester}/versions/{version}/index.yaml

@@ -0,0 +1,13 @@
+get:
+  operationId: GetSemesterVersionConfig
+  summary: >-
+    Configuration/additional information for this semester/version.
+  security: []
+  tags:
+    - Semester Version
+  parameters:
+    - $ref: ../../../../../../components/parameters/semester.yaml
+    - $ref: ../../../../../../components/parameters/version.yaml
+  responses:
+    "200":
+      $ref: ../../../../../../components/responses/api/semesters/{semester}/versions/{version}/index-get-200.yaml

+ 0 - 13
src/paths/api/{semester}/{version}/classes.yaml

@@ -1,13 +0,0 @@
-get:
-  operationId: GetSemesterVersionClasses
-  summary: >-
-    A list of all classes for this semester/version.
-  security: []
-  tags:
-    - Semester Version
-  parameters:
-    - $ref: ../../../../components/parameters/semester.yaml
-    - $ref: ../../../../components/parameters/version.yaml
-  responses:
-    "200":
-      $ref: ../../../../components/responses/api/{semester}/{version}/classes-200.yaml

+ 0 - 13
src/paths/api/{semester}/{version}/config.yaml

@@ -1,13 +0,0 @@
-get:
-  operationId: GetSemesterVersionConfig
-  summary: >-
-    Configuration/additional information for this semester/version.
-  security: []
-  tags:
-    - Semester Version
-  parameters:
-    - $ref: ../../../../components/parameters/semester.yaml
-    - $ref: ../../../../components/parameters/version.yaml
-  responses:
-    "200":
-      $ref: ../../../../components/responses/api/{semester}/{version}/semester-version-config-200.yaml

+ 2 - 2
src/paths/assets/changelog-html.yaml → src/paths/assets/changelog.yaml

@@ -1,5 +1,5 @@
 get:
-  operationId: GetHTMLChangelog
+  operationId: GetChangelog
   summary: >-
     HTML Changelog of the modulplaner frontend
   security: []
@@ -7,4 +7,4 @@ get:
     - Assets
   responses:
     "200":
-      $ref: ../../components/responses/assets/changelog-html-200.yaml
+      $ref: ../../components/responses/assets/changelog-get-200.yaml

+ 5 - 4
src/paths/assets/{semester}/{version}/file.yaml → src/paths/assets/semesters/{semester}/versions/{version}/file.yaml

@@ -5,9 +5,10 @@ get:
   security: []
   tags:
     - Assets
+    - Semester Version
   parameters:
-    - $ref: ../../../../components/parameters/semester.yaml
-    - $ref: ../../../../components/parameters/version.yaml
+    - $ref: ../../../../../../components/parameters/semester.yaml
+    - $ref: ../../../../../../components/parameters/version.yaml
     - name: file
       in: path
       description: File to retrieve
@@ -17,6 +18,6 @@ get:
         summary: Name of the file to be fetched from the server.
   responses:
     "200":
-      $ref: ../../../../components/responses/assets/{semester}/{version}/file-200.yaml
+      $ref: ../../../../../../components/responses/assets/{semester}/{version}/file-get-200.yaml
     "404":
-      $ref: ../../../../components/responses/404.yaml
+      $ref: ../../../../../../components/responses/404.yaml