Browse Source

fix: Clean up terminology

Close #13
Sean Blackburn 1 year ago
parent
commit
8ce669a615
51 changed files with 262 additions and 232 deletions
  1. 16 5
      README.md
  2. 0 5
      cspell.config.yaml
  3. 6 6
      src/components/enums/module-execution-type.yaml
  4. 2 2
      src/components/examples/api/lecturers/index.yaml
  5. 2 2
      src/components/examples/api/modules/index.yaml
  6. 4 4
      src/components/examples/api/modules/{module}/history.yaml
  7. 1 1
      src/components/examples/api/modules/{module}/index.yaml
  8. 8 4
      src/components/examples/api/terms/index.yaml
  9. 2 2
      src/components/examples/api/terms/{term}/index.yaml
  10. 0 0
      src/components/examples/api/terms/{term}/revisions/index.yaml
  11. 6 6
      src/components/examples/api/terms/{term}/revisions/{revision}/index.yaml
  12. 4 4
      src/components/examples/api/terms/{term}/revisions/{revision}/lecture-series.yaml
  13. 10 0
      src/components/parameters/revision.yaml
  14. 0 7
      src/components/parameters/semester.yaml
  15. 10 0
      src/components/parameters/term.yaml
  16. 0 7
      src/components/parameters/version.yaml
  17. 0 9
      src/components/responses/api/semesters/index-get-200.yaml
  18. 0 7
      src/components/responses/api/semesters/{semester}/index-get-200.yaml
  19. 0 9
      src/components/responses/api/semesters/{semester}/versions/index-get-200.yaml
  20. 0 9
      src/components/responses/api/semesters/{semester}/versions/{version}/classes-get-200.yaml
  21. 0 7
      src/components/responses/api/semesters/{semester}/versions/{version}/index-get-200.yaml
  22. 9 0
      src/components/responses/api/terms/index-get-200.yaml
  23. 7 0
      src/components/responses/api/terms/{term}/index-get-200.yaml
  24. 9 0
      src/components/responses/api/terms/{term}/revisions/index-get-200.yaml
  25. 7 0
      src/components/responses/api/terms/{term}/revisions/{revision}/index-get-200.yaml
  26. 9 0
      src/components/responses/api/terms/{term}/revisions/{revision}/lecture-series-get-200.yaml
  27. 0 0
      src/components/responses/assets/terms/{term}/revisions/{revision}/file-get-200.yaml
  28. 4 4
      src/components/schemas/api/lecture-series.yaml
  29. 5 3
      src/components/schemas/api/lecturer.yaml
  30. 4 2
      src/components/schemas/api/me.yaml
  31. 7 7
      src/components/schemas/api/module-history.yaml
  32. 3 3
      src/components/schemas/api/module.yaml
  33. 3 3
      src/components/schemas/api/plan.yaml
  34. 0 16
      src/components/schemas/api/semester-versions.yaml
  35. 16 14
      src/components/schemas/api/term-revision-config.yaml
  36. 2 2
      src/components/schemas/api/term-revision.yaml
  37. 24 0
      src/components/schemas/api/term-revisions.yaml
  38. 3 0
      src/components/schemas/relations/term-revision.yaml
  39. 0 3
      src/components/schemas/relations/term-version.yaml
  40. 13 13
      src/openapi.yaml
  41. 0 10
      src/paths/api/semesters/index.yaml
  42. 0 12
      src/paths/api/semesters/{semester}/index.yaml
  43. 0 12
      src/paths/api/semesters/{semester}/versions/index.yaml
  44. 0 13
      src/paths/api/semesters/{semester}/versions/{version}/classes.yaml
  45. 0 13
      src/paths/api/semesters/{semester}/versions/{version}/index.yaml
  46. 10 0
      src/paths/api/terms/index.yaml
  47. 12 0
      src/paths/api/terms/{term}/index.yaml
  48. 12 0
      src/paths/api/terms/{term}/revisions/index.yaml
  49. 13 0
      src/paths/api/terms/{term}/revisions/{revision}/index.yaml
  50. 13 0
      src/paths/api/terms/{term}/revisions/{revision}/lecture-series.yaml
  51. 6 6
      src/paths/assets/terms/{term}/revisions/{revision}/file.yaml

+ 16 - 5
README.md

@@ -26,19 +26,30 @@ represents which endpoints should require authentication when implementing a ser
   framework, and a course will consist of multiple modules.
 - `Course`: Refers to the entire program of study leading to a degree. It encompasses
   multiple modules that are structured over the duration of the (bachelors) program.
-- `Term`: Refers to any academic period, but it is often associated with systems that divide the academic year into two or more periods.
+- `Term`: Refers to any academic period, but it is often associated with systems that
+  divide the academic year into two or more periods.
 - `Lecture`: A single session, where the *lecture* of a *Module* is held.
-- `Lecture Series`: An entire series over a *term* of *lectures* (of a single class)
-- `Class`: A subset of students, that attend a *Lecture*.
+- `Lecture series`: An entire series over a *term* of *lectures* (of a single class).
+- `Class`: A subset of students, that attend a *Lecture*/*Lecture Series*.
 - `Lecturer`: The person teaching the students.
 - `Student`: The person, who should be learning about new stuff.
+- `Revision`: Revision of something that has been previously published.
+- `Block (lecture)`: A lecture, that is held over a short timespan (shorter than a
+  term), where the students visit daily.
+
+- `First name`: The first/given name of a person
+- `Surname`: The Surname/Family name (different to last name in some cases!)
 
 
 ### Do not use these terms
 
-- `Semester`: This term is too limiting compared to `Term`, as it always refers to 6 months. Some schools will use different lengths for their terms.
-- `Degree`: We should use the term `Course`, as the degree is what you receive when completing a `Course`.
+- `Semester`: This term is too limiting compared to `Term`, as it always refers to 6
+  months. Some schools will use different lengths for their terms.
+- `Degree`: We should use the term `Course`, as the degree is what you receive when
+  completing a `Course`.
 - `Teacher`: Use `Lecturer` instead, as this is the common term used by universities.
+- `Version`: If a `revision` is meant instead.
+
 
 ### Types used
 

+ 0 - 5
cspell.config.yaml

@@ -21,17 +21,12 @@ words:
   - afana
   - alges
   - Bharath
-  - blockclass
-  - blockclasses
-  - blockmodules
-  - Blockmodules
   - Ceng
   - Dunyasha
   - ects
   - edea
   - einschr
   - elmag
-  - firstname
   - forgejo
   - Gaus
   - gitea

+ 6 - 6
src/components/enums/module-execution-type.yaml

@@ -1,10 +1,10 @@
 type: string
 description: Method, how the module is executed
 oneOf:
-  - title: Semester Weekly
-    const: semester_weekly
-    description: A semester module, that is taught on a weekly basis over a semester
-  - title: blockmodule
-    const: blockmodule
+  - title: term weekly
+    const: term_weekly
+    description: A term-based module, that is taught on a weekly basis over a single term.
+  - title: block
+    const: block
     description: |
-      A Block module, which is taught over a short timespan (less than a semester).
+      A block, which is taught over a short timespan (less than a term).

+ 2 - 2
src/components/examples/api/lecturers/index.yaml

@@ -1,6 +1,6 @@
 - short: rabh
   surname: Racquel
-  firstname: Bharath
+  first_name: Bharath
 - short: rudu
   surname: Ruuben
-  firstname: Dunyasha
+  first_name: Dunyasha

+ 2 - 2
src/components/examples/api/modules/index.yaml

@@ -1,6 +1,6 @@
 - short: aet1
   name: "Allgemeine Elektrotechnik 1 "
-  for_degrees:
+  courses:
     - Elektro- und Informationstechnik
     - Systemtechnik
   module_pk: 6007771
@@ -24,7 +24,7 @@
     en: []
 - short: ast1
   name: "Analoge Schaltungstechnik 1 "
-  for_degrees: null
+  courses: null
   module_pk: null
   module_related_pk: null
   ects: null

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

@@ -1,5 +1,5 @@
-- semester: 12HS
-  version: korr_8
+- term: 12HS
+  revision: korr_8
   weekday: 1
   class: 1Ia
   from: 45900
@@ -12,8 +12,8 @@
   pages:
     - 3
   pk: 1Ia-afana-1-45900-54600
-- semester: 12HS
-  version: korr_8
+- term: 12HS
+  revision: korr_8
   weekday: 1
   class: 1Ib
   from: 33000

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

@@ -1,6 +1,6 @@
 short: aet1
 name: "Allgemeine Elektrotechnik 1 "
-for_degrees:
+courses:
   - Elektro- und Informationstechnik
   - Systemtechnik
 module_pk: 6007771

+ 8 - 4
src/components/examples/api/semesters/index.yaml → src/components/examples/api/terms/index.yaml

@@ -1,10 +1,14 @@
-- semester: 24HS
-  versions:
+- term: 24HS
+  start_date: 1728175749
+  end_date: 1728375749
+  revisions:
     - einschr_3
     - einschr_2
     - einschr_1
-- semester: 24FS
-  versions:
+- term: 24FS
+  start_date: 1728375750
+  end_date: 1728575749
+  revisions:
     - korr_2
     - korr_2_1
     - korr_1

+ 2 - 2
src/components/examples/api/semesters/{semester}/index.yaml → src/components/examples/api/terms/{term}/index.yaml

@@ -1,5 +1,5 @@
-semester: 24FS
-versions:
+term: 24FS
+revisions:
   - korr_2
   - korr_2_1
   - korr_1

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


+ 6 - 6
src/components/examples/api/semesters/{semester}/versions/{version}/index.yaml → src/components/examples/api/terms/{term}/revisions/{revision}/index.yaml

@@ -1,16 +1,16 @@
-semester: HS24
-version: einschr_3
+term: HS24
+revision: 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
+  - title: lectures.pdf
+    file: lectures_HS24_einschr_3.pdf
     file_type: plan
-    endpoint_type: internal_semester_version
+    endpoint_type: internal_term_revision
   - title: Lecturers.pdf
     file: Lecturers_HS24_einschr_3.pdf
     file_type: other
-    endpoint_type: internal_semester_version
+    endpoint_type: internal_term_revision
   - title: Something interesting
     file: https://example.com
     file_type: other

+ 4 - 4
src/components/examples/api/semesters/{semester}/versions/{version}/classes.yaml → src/components/examples/api/terms/{term}/revisions/{revision}/lecture-series.yaml

@@ -8,10 +8,10 @@
   lecturers:
     - Cur
   teaching_type: on_site
-  module_execution_method: semester_weekly
+  module_execution_method: term_weekly
   pages:
     - 1
-  degree_prg: Data Science
+  course: Data Science
   part_of_other_classes: []
   pk: 1Da-dummy-0-29700-64800
 - weekday: 1
@@ -24,9 +24,9 @@
   lecturers:
     - Ped
   teaching_type: on_site
-  module_execution_method: semester_weekly
+  module_execution_method: term_weekly
   pages:
     - 1
-  degree_prg: Data Science
+  course: Data Science
   part_of_other_classes: []
   pk: 1Da-eda-1-29700-36000

+ 10 - 0
src/components/parameters/revision.yaml

@@ -0,0 +1,10 @@
+name: revision
+in: path
+description: Term revision PK
+required: true
+schema:
+  type:
+    - string
+    - integer
+  format: u32
+  summary: PK of the revision to fetch. To fetch the latest revision, use `latest`

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

@@ -1,7 +0,0 @@
-name: semester
-in: path
-description: Semester
-required: true
-schema:
-  type: string
-  summary: Name of the semester. To fetch the latest semester, use `latest`

+ 10 - 0
src/components/parameters/term.yaml

@@ -0,0 +1,10 @@
+name: term
+in: path
+description: Term
+required: true
+schema:
+  type:
+    - string
+    - integer
+  format: u32
+  summary: PK of the term to fetch. To fetch the latest term, use `latest`

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

@@ -1,7 +0,0 @@
-name: version
-in: path
-description: Semester version
-required: true
-schema:
-  type: string
-  summary: Name of the version. To fetch the latest version, use `latest`

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

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

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

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

+ 0 - 9
src/components/responses/api/semesters/{semester}/versions/index-get-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/semesters/{semester}/versions/index.yaml

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

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

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

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

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

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

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

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

+ 9 - 0
src/components/responses/api/terms/{term}/revisions/index-get-200.yaml

@@ -0,0 +1,9 @@
+description: OK
+content:
+  application/json:
+    schema:
+      type: array
+      items:
+        $ref: ../../../../../schemas/api/term-revision.yaml
+    example:
+      $ref: ../../../../../examples/api/terms/{term}/revisions/index.yaml

+ 7 - 0
src/components/responses/api/terms/{term}/revisions/{revision}/index-get-200.yaml

@@ -0,0 +1,7 @@
+description: OK
+content:
+  application/json:
+    schema:
+      $ref: ../../../../../../schemas/api/term-revision-config.yaml
+    example:
+      $ref: ../../../../../../examples/api/terms/{term}/revisions/{revision}/index.yaml

+ 9 - 0
src/components/responses/api/terms/{term}/revisions/{revision}/lecture-series-get-200.yaml

@@ -0,0 +1,9 @@
+description: OK
+content:
+  application/json:
+    schema:
+      type: array
+      items:
+        $ref: ../../../../../../schemas/api/lecture-series.yaml
+    example:
+      $ref: ../../../../../../examples/api/terms/{term}/revisions/{revision}/lecture-series.yaml

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


+ 4 - 4
src/components/schemas/api/class.yaml → src/components/schemas/api/lecture-series.yaml

@@ -1,5 +1,5 @@
 type: object
-description: Single class definition of a specific version
+description: Single lecture series definition of a specific revision
 properties:
   weekday:
     description: The weekday the module took place on
@@ -38,8 +38,8 @@ properties:
     items:
       type: integer
       format: u16
-  degree_prg:
-    description: Name of the degree program this module is part of
+  course:
+    description: Name of the course this module is part of
     type: string
   part_of_other_classes:
     description: List of other classes, where this module is also taught
@@ -60,6 +60,6 @@ required:
   - teaching_type
   - module_execution_method
   - pages
-  - degree_prg
+  - course
   - part_of_other_classes
   - pk

+ 5 - 3
src/components/schemas/api/lecturer.yaml

@@ -1,16 +1,18 @@
 type: object
 description: Single lecturer
 properties:
+  pk:
+    $ref: ../common/pk.yaml
   short:
     description: A short name for the lecturer, that is unique
     type: string
   surname:
     description: The surname of the lecturer
     type: string
-  firstname:
-    description: The given name of a lecturer
+  first_name:
+    description: The first(given name of a lecturer
     type: string
 required:
   - short
   - surname
-  - firstname
+  - first_name

+ 4 - 2
src/components/schemas/api/me.yaml

@@ -1,6 +1,8 @@
 type: object
 properties:
-  given_name:
+  pk:
+    $ref: ../common/pk.yaml
+  first_name:
     type: string
     description: Given/first name of the student
   surname:
@@ -31,7 +33,7 @@ properties:
     items:
       $ref: ./me-enrolment.yaml
 required:
-  - given_name
+  - first_name
   - surname
   - cadastral_number
   - credited_modules

+ 7 - 7
src/components/schemas/api/module-history.yaml

@@ -1,13 +1,13 @@
-description: History of past executions of this module
+description: History of past lecture series of this module
 type: array
 items:
   type: object
   properties:
-    semester:
-      description: The semester this module took place in
+    term:
+      description: The term this module took place in
       type: string
-    version:
-      description: The version of the semester plan
+    revision:
+      description: The revision of the term plan
       type: string
     weekday:
       description: The weekday the module took place on
@@ -46,8 +46,8 @@ items:
       description: A unique ID for this module and the time it is taught
       type: string
   required:
-    - semester
-    - version
+    - term
+    - revision
     - weekday
     - class
     - from

+ 3 - 3
src/components/schemas/api/module.yaml

@@ -7,8 +7,8 @@ properties:
   name:
     description: Full name of the module
     type: string
-  for_degrees:
-    description: List of degrees, for which this module is meant.
+  courses:
+    description: List of courses, for which this module is meant.
     type:
       - array
       - "null"
@@ -64,7 +64,7 @@ properties:
 required:
   - short
   - name
-  - for_degrees
+  - courses
   - module_pk
   - module_related_pk
   - ects

+ 3 - 3
src/components/schemas/api/plan.yaml

@@ -3,8 +3,8 @@ type: object
 properties:
   pk:
     $ref: ../common/pk.yaml
-  version_pk:
-    $ref: ../relations/term-version.yaml
+  revision_pk:
+    $ref: ../relations/term-revision.yaml
   name:
     description: A memorable name for this plan
     type: string
@@ -19,6 +19,6 @@ properties:
     items:
       $ref: ../relations/lecture-series.yaml
 required:
-  - version_pk
+  - revision_pk
   - name
   - selected_lecture_series

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

@@ -1,16 +0,0 @@
-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

+ 16 - 14
src/components/schemas/api/semester-version-config.yaml → src/components/schemas/api/term-revision-config.yaml

@@ -1,21 +1,21 @@
 type: object
-description: Version specific configurations/additional information
+description: Revision specific configurations/additional information
 properties:
-  semester:
-    description: Name of the semester
+  term:
+    description: Name of the term
     type: string
     example: HS24
-  version:
-    description: Version of the plan
+  revision:
+    description: Revision of the plan
     type: string
     example: einschr_3
   export_date:
-    description: The date, when the version of this plan was released.
+    description: The date, when the revision 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.
+    description: The date, when the revision of this plan was parsed.
     format: dd.mm.yyyy HH:MM:SS
     type: string
     example: "04.10.2024 17:45:10"
@@ -37,9 +37,11 @@ properties:
             - title: Plan
               const: plan
               description: The main planning file / original data source
-            - title: Blockmodules
-              const: blockmodules
-              description: A blockmodules file / data source
+            - title: Block
+              const: block
+              description: |
+                File / data source containing additional information about the block
+                lectures.
             - title: Other
               const: other
               description: Any other kind of file that is relevant for planning
@@ -47,8 +49,8 @@ properties:
           type: string
           description: From which endpoint can the file be fetched form
           oneOf:
-            - title: Internal Semester Version file
-              const: internal_semester_version
+            - title: Internal term revision file
+              const: internal_term_revision
             - title: External link
               const: external_link
       required:
@@ -57,8 +59,8 @@ properties:
         - file_type
         - endpoint_type
 required:
-  - semester
-  - version
+  - term
+  - revision
   - export_date
   - parse_date
   - additional_files

+ 2 - 2
src/components/schemas/api/semester-version.yaml → src/components/schemas/api/term-revision.yaml

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

+ 24 - 0
src/components/schemas/api/term-revisions.yaml

@@ -0,0 +1,24 @@
+type: object
+description: Single term and all of its revisions
+properties:
+  term:
+    description: Name of the term
+    type: string
+    example: "24HS"
+  start_date:
+    description: Date, when the term starts
+    type: integer
+    format: u64
+  end_date:
+    description: Date, when the term ends
+    type: integer
+    format: u64
+  revisions:
+    description: The different revisions available for this term
+    type: array
+    items:
+      type: string
+      example: "einschr_1"
+required:
+  - term
+  - revisions

+ 3 - 0
src/components/schemas/relations/term-revision.yaml

@@ -0,0 +1,3 @@
+description: In which term/revision this takes place
+type: integer
+format: u32

+ 0 - 3
src/components/schemas/relations/term-version.yaml

@@ -1,3 +0,0 @@
-description: In which term/version this takes place
-type: integer
-format: u32

+ 13 - 13
src/openapi.yaml

@@ -33,24 +33,24 @@ paths:
   /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
+  # Terms / Revisions
+  /api/terms:
+    $ref: ./paths/api/terms/index.yaml
+  /api/terms/{term}:
+    $ref: ./paths/api/terms/{term}/index.yaml
+  /api/terms/{term}/revisions:
+    $ref: ./paths/api/terms/{term}/revisions/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
+  /api/terms/{term}/revisions/{revision}:
+    $ref: ./paths/api/terms/{term}/revisions/{revision}/index.yaml
+  /api/terms/{term}/revisions/{revision}/lectures:
+    $ref: ./paths/api/terms/{term}/revisions/{revision}/lecture-series.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
+  /assets/terms/{term}/revisions/{revision}/file/{file}:
+    $ref: ./paths/assets/terms/{term}/revisions/{revision}/file.yaml
 
   # Me
   /me:

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

@@ -1,10 +0,0 @@
-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

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

@@ -1,12 +0,0 @@
-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

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

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

+ 0 - 13
src/paths/api/semesters/{semester}/versions/{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/semesters/{semester}/versions/{version}/classes-get-200.yaml

+ 0 - 13
src/paths/api/semesters/{semester}/versions/{version}/index.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/semesters/{semester}/versions/{version}/index-get-200.yaml

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

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

+ 12 - 0
src/paths/api/terms/{term}/index.yaml

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

+ 12 - 0
src/paths/api/terms/{term}/revisions/index.yaml

@@ -0,0 +1,12 @@
+get:
+  operationId: GetTermChanges
+  summary: >-
+    A list of all changes between the revisions of this term.
+  security: []
+  parameters:
+    - $ref: ../../../../../components/parameters/term.yaml
+  tags:
+    - Term
+  responses:
+    "200":
+      $ref: ../../../../../components/responses/api/terms/{term}/revisions/index-get-200.yaml

+ 13 - 0
src/paths/api/terms/{term}/revisions/{revision}/index.yaml

@@ -0,0 +1,13 @@
+get:
+  operationId: GetTermRevisionConfig
+  summary: >-
+    Configuration/additional information for this term/revision.
+  security: []
+  tags:
+    - Term Revision
+  parameters:
+    - $ref: ../../../../../../components/parameters/term.yaml
+    - $ref: ../../../../../../components/parameters/revision.yaml
+  responses:
+    "200":
+      $ref: ../../../../../../components/responses/api/terms/{term}/revisions/{revision}/index-get-200.yaml

+ 13 - 0
src/paths/api/terms/{term}/revisions/{revision}/lecture-series.yaml

@@ -0,0 +1,13 @@
+get:
+  operationId: GetTermRevisionLectures
+  summary: >-
+    A list of all lectures for this term/revision.
+  security: []
+  tags:
+    - Term Revision
+  parameters:
+    - $ref: ../../../../../../components/parameters/term.yaml
+    - $ref: ../../../../../../components/parameters/revision.yaml
+  responses:
+    "200":
+      $ref: ../../../../../../components/responses/api/terms/{term}/revisions/{revision}/lecture-series-get-200.yaml

+ 6 - 6
src/paths/assets/semesters/{semester}/versions/{version}/file.yaml → src/paths/assets/terms/{term}/revisions/{revision}/file.yaml

@@ -1,14 +1,14 @@
 get:
-  operationId: GetSemesterVersionFile
+  operationId: GetTermRevisionFile
   summary: >-
-    Retrieve a file for a specific semester/version.
+    Retrieve a file for a specific term/revision.
   security: []
   tags:
     - Assets
-    - Semester Version
+    - Term Revision
   parameters:
-    - $ref: ../../../../../../components/parameters/semester.yaml
-    - $ref: ../../../../../../components/parameters/version.yaml
+    - $ref: ../../../../../../components/parameters/term.yaml
+    - $ref: ../../../../../../components/parameters/revision.yaml
     - name: file
       in: path
       description: File to retrieve
@@ -18,6 +18,6 @@ get:
         summary: Name of the file to be fetched from the server.
   responses:
     "200":
-      $ref: ../../../../../../components/responses/assets/{semester}/{version}/file-get-200.yaml
+      $ref: ../../../../../../components/responses/assets/terms/{term}/revisions/{revision}/file-get-200.yaml
     "404":
       $ref: ../../../../../../components/responses/404.yaml