feat:#74 added readme and updated api documentation

This commit is contained in:
masterElmar
2023-11-20 17:11:13 +01:00
parent 426e25bf3e
commit 42395e5f5a
2 changed files with 179 additions and 2 deletions

View File

@@ -35,6 +35,14 @@ htwkalender-demo
Execute the following api calls to fetch data manually from HTWK and store it in the database: Execute the following api calls to fetch data manually from HTWK and store it in the database:
Both api calls need a token to be executed.
You can get a token by logging in to the admin ui and copy the token from the local storage.
Add this attribute to the request header of the api call:
```
Authorization : eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MDE3MDA3ODQsImlkIjoicnA0Ym54YXNyczM5emR4IiwidHlwZSI6ImFkbWluIn0.j7Bt3-uaZ8CoNt8D9Oxjk7ZwvHDGZJy1xe3aq4BID3w
```
The first command will fetch all groups and store them in the database. The first command will fetch all groups and store them in the database.
This should be done quick in a few seconds (0-5s). This should be done quick in a few seconds (0-5s).
When you execute the command again, it will update the groups in the When you execute the command again, it will update the groups in the

View File

@@ -11,30 +11,150 @@ paths:
/api/fetchPlans: /api/fetchPlans:
get: get:
summary: Fetch Seminar Plans summary: Fetch Seminar Plans
security:
- ApiKeyAuth: []
responses: responses:
'200': '200':
description: Successful response description: Successful response
/api/fetchGroups: /api/fetchGroups:
get: get:
summary: Fetch Seminar Groups summary: Fetch Seminar Groups
security:
- ApiKeyAuth: []
responses: responses:
'200': '200':
description: Successful response description: Successful response
/api/modules:
delete:
summary: Delete Module
security:
- ApiKeyAuth: []
responses:
'200':
description: Successful response
/api/rooms: /api/rooms:
get: get:
summary: Get Rooms summary: Get Rooms
responses: responses:
'200': '200':
description: Successful response description: Successful response
/api/feedURL: /api/schedule/day:
get: get:
summary: Get iCal Feed URL summary: Get Day Schedule
parameters:
- name: room
in: query
description: room
example: "LN006-H"
required: true
schema:
type: string
- name: date
in: query
description: date
example: "2023-11-26"
required: true
schema:
type: string
responses:
'200':
description: Successful response
/api/schedule:
get:
summary: Get Schedule
parameters:
- name: room
in: query
description: room
example: "LN006-H"
required: true
schema:
type: string
- name: from
in: query
description: date
example: "2023-11-26"
required: true
schema:
type: string
- name: to
in: query
description: date
example: "2023-11-30"
required: true
schema:
type: string
responses:
'200':
description: Successful response
/api/createFeed:
post:
summary: Create iCal Feed
requestBody:
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Module'
required:
- name
- modules
responses: responses:
'200': '200':
description: Successful response description: Successful response
/api/feed: /api/feed:
get: get:
summary: Get iCal Feed for calendar summary: Get iCal Feed for calendar
parameters:
- name: token
in: query
description: calendar token
required: true
example: "ldluwzg3e73ffxq"
schema:
type: string
responses:
'200':
description: Successful response
/api/course/modules:
get:
summary: Get Modules for Course
parameters:
- name: course
in: query
description: course
required: true
example: "Software Engineering"
schema:
type: string
- name: semester
in: query
description: semester
required: true
example: "ws"
schema:
type: string
responses:
'200':
description: Successful response
/api/module:
get:
summary: Get Module
parameters:
- name: uuid
in: query
description: uuid
required: true
example: "d0b3a0e0-2f1a-4e1a-8b0a-0b9e1a0b9e1a"
schema:
type: string
responses:
'200':
description: Successful response
/api/courses:
get:
summary: Get Courses
responses: responses:
'200': '200':
description: Successful response description: Successful response
@@ -51,3 +171,52 @@ paths:
responses: responses:
'200': '200':
description: Successful response description: Successful response
/api/events:
delete:
summary: Delete Event
security:
- ApiKeyAuth: []
responses:
'200':
description: Successful response
/api/feeds/migrate:
get:
summary: Migrates all iCal Feeds in the database to the new format
security:
- ApiKeyAuth: []
responses:
'200':
description: Successful response
security:
- ApiKeyAuth: []
components:
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: Authorization
schemas:
Module:
type: object
properties:
name:
type: string
description: name
example: "Software Engineering"
uuid:
type: string
format: uuid
course:
type: string
userDefinedName:
type: string
prof:
type: string
semester:
type: string
reminder:
type: boolean
events:
type: array
items:
type: string