Begin docs
This commit is contained in:
parent
0ba01eb9f3
commit
e9407c6c72
@ -8,14 +8,17 @@ info:
|
||||
description: PHP Course (ABV FU Berlin) 2024 Exam
|
||||
paths:
|
||||
/login:
|
||||
summary: Login
|
||||
description: Log in user
|
||||
post:
|
||||
summary: Login
|
||||
description: Log in user
|
||||
operationId: ""
|
||||
requestBody:
|
||||
required: true
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: "#/components/schemas/LoginRequest"
|
||||
responses:
|
||||
"200":
|
||||
200:
|
||||
description: Success
|
||||
content:
|
||||
application/json:
|
||||
@ -24,8 +27,8 @@ paths:
|
||||
examples:
|
||||
Success:
|
||||
value: true
|
||||
"401":
|
||||
description: Invalid Username or Password
|
||||
401:
|
||||
description: Failed
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
@ -33,8 +36,8 @@ paths:
|
||||
examples:
|
||||
Invalid Username or Password:
|
||||
value: { "message": "Invalid Username or Password" }
|
||||
"404":
|
||||
description: User not Found
|
||||
404:
|
||||
description: Failed
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
@ -44,6 +47,29 @@ paths:
|
||||
value: { "message": "User not Found" }
|
||||
tags:
|
||||
- Login/Logout
|
||||
/logout:
|
||||
post:
|
||||
summary: Logout
|
||||
description: Log out User
|
||||
requestBody:
|
||||
required: true
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: "#/components/schemas/LogoutRequest"
|
||||
responses:
|
||||
200:
|
||||
description: Success
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: "#/components/schemas/BooleanResponse"
|
||||
examples:
|
||||
Success:
|
||||
value: true
|
||||
tags:
|
||||
- Login/Logout
|
||||
|
||||
externalDocs:
|
||||
url: https://khofmann.userpage.fu-berlin.de/phpCourse/exam/api/docs/
|
||||
security: []
|
||||
@ -62,6 +88,23 @@ components:
|
||||
properties:
|
||||
message:
|
||||
type: string
|
||||
LoginRequest:
|
||||
type: object
|
||||
required:
|
||||
- username
|
||||
- password
|
||||
properties:
|
||||
username:
|
||||
type: string
|
||||
password:
|
||||
type: string
|
||||
LogoutRequest:
|
||||
type: object
|
||||
required:
|
||||
- token
|
||||
properties:
|
||||
token:
|
||||
type: string
|
||||
securitySchemes:
|
||||
BasicAuth:
|
||||
type: apiKey
|
||||
|
||||
@ -39,6 +39,8 @@ data-styled.g9[id="sc-iCZwEW"]{content:"gfRsnu,"}/*!sc*/
|
||||
data-styled.g10[id="sc-knesRu"]{content:"cbpGTP,"}/*!sc*/
|
||||
.jKNCPF{color:#ffffff;}/*!sc*/
|
||||
data-styled.g12[id="sc-kkmypM"]{content:"jKNCPF,"}/*!sc*/
|
||||
.gwrByh{border-bottom:1px solid rgba(38, 50, 56, 0.3);margin:1em 0 1em 0;color:rgba(38, 50, 56, 0.5);font-weight:normal;text-transform:uppercase;font-size:0.929em;line-height:20px;}/*!sc*/
|
||||
data-styled.g13[id="sc-dkjaqt"]{content:"gwrByh,"}/*!sc*/
|
||||
.hSvuOo{cursor:pointer;margin-left:-20px;padding:0;line-height:1;width:20px;display:inline-block;outline:0;}/*!sc*/
|
||||
.hSvuOo:before{content:'';width:15px;height:15px;background-size:contain;background-image:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMCIgeT0iMCIgd2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA1MTIgNTEyIiB4bWw6c3BhY2U9InByZXNlcnZlIj48cGF0aCBmaWxsPSIjMDEwMTAxIiBkPSJNNDU5LjcgMjMzLjRsLTkwLjUgOTAuNWMtNTAgNTAtMTMxIDUwLTE4MSAwIC03LjktNy44LTE0LTE2LjctMTkuNC0yNS44bDQyLjEtNDIuMWMyLTIgNC41LTMuMiA2LjgtNC41IDIuOSA5LjkgOCAxOS4zIDE1LjggMjcuMiAyNSAyNSA2NS42IDI0LjkgOTAuNSAwbDkwLjUtOTAuNWMyNS0yNSAyNS02NS42IDAtOTAuNSAtMjQuOS0yNS02NS41LTI1LTkwLjUgMGwtMzIuMiAzMi4yYy0yNi4xLTEwLjItNTQuMi0xMi45LTgxLjYtOC45bDY4LjYtNjguNmM1MC01MCAxMzEtNTAgMTgxIDBDNTA5LjYgMTAyLjMgNTA5LjYgMTgzLjQgNDU5LjcgMjMzLjR6TTIyMC4zIDM4Mi4ybC0zMi4yIDMyLjJjLTI1IDI0LjktNjUuNiAyNC45LTkwLjUgMCAtMjUtMjUtMjUtNjUuNiAwLTkwLjVsOTAuNS05MC41YzI1LTI1IDY1LjUtMjUgOTAuNSAwIDcuOCA3LjggMTIuOSAxNy4yIDE1LjggMjcuMSAyLjQtMS40IDQuOC0yLjUgNi44LTQuNWw0Mi4xLTQyYy01LjQtOS4yLTExLjYtMTgtMTkuNC0yNS44IC01MC01MC0xMzEtNTAtMTgxIDBsLTkwLjUgOTAuNWMtNTAgNTAtNTAgMTMxIDAgMTgxIDUwIDUwIDEzMSA1MCAxODEgMGw2OC42LTY4LjZDMjc0LjYgMzk1LjEgMjQ2LjQgMzkyLjMgMjIwLjMgMzgyLjJ6Ii8+PC9zdmc+Cg==');opacity:0.5;visibility:hidden;display:inline-block;vertical-align:middle;}/*!sc*/
|
||||
h1:hover>.hSvuOo::before,h2:hover>.hSvuOo::before,.hSvuOo:hover::before{visibility:visible;}/*!sc*/
|
||||
@ -51,6 +53,44 @@ data-styled.g14[id="sc-jCbFiK"]{content:"hSvuOo,"}/*!sc*/
|
||||
.iMxoRf{height:20px;width:20px;min-width:20px;vertical-align:middle;float:right;transition:transform 0.2s ease-out;transform:rotateZ(0);}/*!sc*/
|
||||
.iMxoRf polygon{fill:white;}/*!sc*/
|
||||
data-styled.g15[id="sc-cBYhjr"]{content:"gUrACV,fqtTpb,ezFOZv,iMxoRf,"}/*!sc*/
|
||||
.gbdrVc{border-left:1px solid #7c7cbb;box-sizing:border-box;position:relative;padding:10px 10px 10px 0;}/*!sc*/
|
||||
@media screen and (max-width: 50rem){.gbdrVc{display:block;overflow:hidden;}}/*!sc*/
|
||||
tr:first-of-type>.gbdrVc,tr.last>.gbdrVc{border-left-width:0;background-position:top left;background-repeat:no-repeat;background-size:1px 100%;}/*!sc*/
|
||||
tr:first-of-type>.gbdrVc{background-image:linear-gradient(
|
||||
to bottom,
|
||||
transparent 0%,
|
||||
transparent 22px,
|
||||
#7c7cbb 22px,
|
||||
#7c7cbb 100%
|
||||
);}/*!sc*/
|
||||
tr.last>.gbdrVc{background-image:linear-gradient(
|
||||
to bottom,
|
||||
#7c7cbb 0%,
|
||||
#7c7cbb 22px,
|
||||
transparent 22px,
|
||||
transparent 100%
|
||||
);}/*!sc*/
|
||||
tr.last+tr>.gbdrVc{border-left-color:transparent;}/*!sc*/
|
||||
tr.last:first-child>.gbdrVc{background:none;border-left-color:transparent;}/*!sc*/
|
||||
data-styled.g18[id="sc-tOkKi"]{content:"gbdrVc,"}/*!sc*/
|
||||
.bUksBx{vertical-align:top;line-height:20px;white-space:nowrap;font-size:13px;font-family:Courier,monospace;}/*!sc*/
|
||||
.bUksBx.deprecated{text-decoration:line-through;color:#707070;}/*!sc*/
|
||||
data-styled.g20[id="sc-epPVmt"]{content:"bUksBx,"}/*!sc*/
|
||||
.exGrJC{border-bottom:1px solid #9fb4be;padding:10px 0;width:75%;box-sizing:border-box;}/*!sc*/
|
||||
tr.expanded .exGrJC{border-bottom:none;}/*!sc*/
|
||||
@media screen and (max-width: 50rem){.exGrJC{padding:0 20px;border-bottom:none;border-left:1px solid #7c7cbb;}tr.last>.exGrJC{border-left:none;}}/*!sc*/
|
||||
data-styled.g21[id="sc-fpSrms"]{content:"exGrJC,"}/*!sc*/
|
||||
.hTjFRU{color:#7c7cbb;font-family:Courier,monospace;margin-right:10px;}/*!sc*/
|
||||
.hTjFRU::before{content:'';display:inline-block;vertical-align:middle;width:10px;height:1px;background:#7c7cbb;}/*!sc*/
|
||||
.hTjFRU::after{content:'';display:inline-block;vertical-align:middle;width:1px;background:#7c7cbb;height:7px;}/*!sc*/
|
||||
data-styled.g22[id="sc-hfvVTD"]{content:"hTjFRU,"}/*!sc*/
|
||||
.ceVHDP{border-collapse:separate;border-radius:3px;font-size:14px;border-spacing:0;width:100%;}/*!sc*/
|
||||
.ceVHDP >tr{vertical-align:middle;}/*!sc*/
|
||||
@media screen and (max-width: 50rem){.ceVHDP{display:block;}.ceVHDP >tr,.ceVHDP >tbody>tr{display:block;}}/*!sc*/
|
||||
@media screen and (max-width: 50rem) and (-ms-high-contrast:none){.ceVHDP td{float:left;width:100%;}}/*!sc*/
|
||||
.ceVHDP .sc-ifyrTC,.ceVHDP .sc-ifyrTC .sc-ifyrTC .sc-ifyrTC,.ceVHDP .sc-ifyrTC .sc-ifyrTC .sc-ifyrTC .sc-ifyrTC .sc-ifyrTC{margin:1em;margin-right:0;background:#fafafa;}/*!sc*/
|
||||
.ceVHDP .sc-ifyrTC .sc-ifyrTC,.ceVHDP .sc-ifyrTC .sc-ifyrTC .sc-ifyrTC .sc-ifyrTC,.ceVHDP .sc-ifyrTC .sc-ifyrTC .sc-ifyrTC .sc-ifyrTC .sc-ifyrTC .sc-ifyrTC{background:#ffffff;}/*!sc*/
|
||||
data-styled.g24[id="sc-dENhDJ"]{content:"ceVHDP,"}/*!sc*/
|
||||
.jxQggo >ul{list-style:none;padding:0;margin:0;margin:0 -5px;}/*!sc*/
|
||||
.jxQggo >ul >li{padding:5px 10px;display:inline-block;background-color:#11171a;border-bottom:1px solid rgba(0, 0, 0, 0.5);cursor:pointer;text-align:center;outline:none;color:#ccc;margin:0 5px 5px 5px;border:1px solid #07090b;border-radius:5px;min-width:60px;font-size:0.9em;font-weight:bold;}/*!sc*/
|
||||
.jxQggo >ul >li.react-tabs__tab--selected{color:#333333;background:#ffffff;}/*!sc*/
|
||||
@ -90,6 +130,8 @@ data-styled.g32[id="sc-euGpHm"]{content:"fwfkcU,"}/*!sc*/
|
||||
data-styled.g33[id="sc-pFPEP"]{content:"bMXXJy,"}/*!sc*/
|
||||
.bWVgjU{position:relative;}/*!sc*/
|
||||
data-styled.g37[id="sc-dJDBYC"]{content:"bWVgjU,"}/*!sc*/
|
||||
.fafqZb{margin-left:10px;text-transform:none;font-size:0.929em;color:black;}/*!sc*/
|
||||
data-styled.g41[id="sc-dwYcXH"]{content:"fafqZb,"}/*!sc*/
|
||||
.kqJXdD{font-family:Roboto,sans-serif;font-weight:400;line-height:1.5em;}/*!sc*/
|
||||
.kqJXdD p:last-child{margin-bottom:0;}/*!sc*/
|
||||
.kqJXdD h1{font-family:Montserrat,sans-serif;font-weight:400;font-size:1.85714em;line-height:1.6em;color:#32329f;margin-top:0;}/*!sc*/
|
||||
@ -172,6 +214,14 @@ data-styled.g52[id="sc-foMnoT"]{content:"dmNpjh,"}/*!sc*/
|
||||
data-styled.g53[id="sc-WChnI"]{content:"iLXIA-d,"}/*!sc*/
|
||||
.gDrQpr{margin-top:15px;}/*!sc*/
|
||||
data-styled.g56[id="sc-AmOMz"]{content:"gDrQpr,"}/*!sc*/
|
||||
.bJcEcT{vertical-align:middle;font-size:13px;line-height:20px;}/*!sc*/
|
||||
data-styled.g58[id="sc-xuUkR"]{content:"bJcEcT,"}/*!sc*/
|
||||
.kDPMlG{color:rgba(102,102,102,0.9);}/*!sc*/
|
||||
data-styled.g59[id="sc-cvzDha"]{content:"kDPMlG,"}/*!sc*/
|
||||
.etUsjc{color:#666;}/*!sc*/
|
||||
data-styled.g60[id="sc-gKROGD"]{content:"etUsjc,"}/*!sc*/
|
||||
.gLEAmN{color:#d41f1c;font-size:0.9em;font-weight:normal;margin-left:20px;line-height:1;}/*!sc*/
|
||||
data-styled.g62[id="sc-hrDJJk"]{content:"gLEAmN,"}/*!sc*/
|
||||
.dHStET{margin:1em 0;}/*!sc*/
|
||||
.dHStET a{text-decoration:auto;color:#32329f;}/*!sc*/
|
||||
.dHStET a:visited{color:#32329f;}/*!sc*/
|
||||
@ -243,6 +293,8 @@ data-styled.g115[id="sc-drnuxz"]{content:"hdRKqQ,"}/*!sc*/
|
||||
.jpmGrk{padding:5px;border:1px solid #ccc;background:#fff;word-break:break-all;color:#32329f;}/*!sc*/
|
||||
.jpmGrk >span{color:#333333;}/*!sc*/
|
||||
data-styled.g116[id="sc-hDcvty"]{content:"jpmGrk,"}/*!sc*/
|
||||
.HCLfY{text-transform:lowercase;margin-left:0;line-height:1.5em;}/*!sc*/
|
||||
data-styled.g117[id="sc-kGqRax"]{content:"HCLfY,"}/*!sc*/
|
||||
.gcYfHW{display:block;border:0;width:100%;text-align:left;padding:10px;border-radius:2px;margin-bottom:4px;line-height:1.5em;cursor:pointer;color:#1d8127;background-color:rgba(29,129,39,0.07);}/*!sc*/
|
||||
.gcYfHW:focus{outline:auto #1d8127;}/*!sc*/
|
||||
.gbPhWg{display:block;border:0;width:100%;text-align:left;padding:10px;border-radius:2px;margin-bottom:4px;line-height:1.5em;cursor:pointer;color:#d41f1c;background-color:rgba(212,31,28,0.07);}/*!sc*/
|
||||
@ -287,7 +339,7 @@ data-styled.g137[id="sc-kvXgyf"]{content:"fBvPoH,"}/*!sc*/
|
||||
|
||||
<body>
|
||||
|
||||
<div id="redoc"><div class="sc-ixtKjU fabhKa redoc-wrap"><div class="sc-dUMaFF ktzGvn menu-content" style="top:0px;height:calc(100vh - 0px)"><div role="search" class="sc-dovzVR dcjLWY"><svg class="sc-kvXgyf fBvPoH search-icon" version="1.1" viewBox="0 0 1000 1000" x="0px" xmlns="http://www.w3.org/2000/svg" y="0px"><path d="M968.2,849.4L667.3,549c83.9-136.5,66.7-317.4-51.7-435.6C477.1-25,252.5-25,113.9,113.4c-138.5,138.3-138.5,362.6,0,501C219.2,730.1,413.2,743,547.6,666.5l301.9,301.4c43.6,43.6,76.9,14.9,104.2-12.4C981,928.3,1011.8,893,968.2,849.4z M524.5,522c-88.9,88.7-233,88.7-321.8,0c-88.9-88.7-88.9-232.6,0-321.3c88.9-88.7,233-88.7,321.8,0C613.4,289.4,613.4,433.3,524.5,522z"></path></svg><input placeholder="Search..." aria-label="Search" type="text" class="sc-hAkARQ dlxCDf search-input" value=""/></div><div class="sc-dJDBYC bWVgjU scrollbar-container undefined"><ul role="menu" class="sc-iMDhdf hYtPsf"><li tabindex="0" depth="1" data-item-id="tag/LoginLogout" role="menuitem" class="sc-loAbOW btrDvq"><label class="sc-bPZXsP cwxKjr -depth1"><span width="calc(100% - 38px)" title="Login/Logout" class="sc-eteQWc glMKqQ">Login/Logout</span><svg class="sc-cBYhjr gUrACV" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></label><ul class="sc-iMDhdf fEjWGm"><li tabindex="0" depth="2" data-item-id="tag/LoginLogout/" role="menuitem" class="sc-loAbOW btrDvq"><label class="sc-bPZXsP cmGsIR -depth2"><span type="post" class="sc-exkVDC QUyzu operation-type post">post</span><span tabindex="0" width="calc(100% - 38px)" class="sc-eteQWc glMKqQ">Login</span></label></li></ul></li><li tabindex="0" depth="1" data-item-id="tag/Users" role="menuitem" class="sc-loAbOW btrDvq"><label class="sc-bPZXsP cwxKjr -depth1"><span width="calc(100% - 38px)" title="Users" class="sc-eteQWc glMKqQ">Users</span></label></li><li tabindex="0" depth="1" data-item-id="tag/Posts" role="menuitem" class="sc-loAbOW btrDvq"><label class="sc-bPZXsP cwxKjr -depth1"><span width="calc(100% - 38px)" title="Posts" class="sc-eteQWc glMKqQ">Posts</span></label></li></ul><div class="sc-gkavYR iljewH"><a target="_blank" rel="noopener noreferrer" href="https://redocly.com/redoc/">API docs by Redocly</a></div></div></div><div class="sc-elEJnV kEKeWg"><div class="sc-bQEQyQ jQQbBk"><svg class="" style="transform:translate(2px, -4px) rotate(180deg);transition:transform 0.2s ease" viewBox="0 0 926.23699 573.74994" version="1.1" x="0px" y="0px" width="15" height="15"><g transform="translate(904.92214,-879.1482)"><path d="
|
||||
<div id="redoc"><div class="sc-ixtKjU fabhKa redoc-wrap"><div class="sc-dUMaFF ktzGvn menu-content" style="top:0px;height:calc(100vh - 0px)"><div role="search" class="sc-dovzVR dcjLWY"><svg class="sc-kvXgyf fBvPoH search-icon" version="1.1" viewBox="0 0 1000 1000" x="0px" xmlns="http://www.w3.org/2000/svg" y="0px"><path d="M968.2,849.4L667.3,549c83.9-136.5,66.7-317.4-51.7-435.6C477.1-25,252.5-25,113.9,113.4c-138.5,138.3-138.5,362.6,0,501C219.2,730.1,413.2,743,547.6,666.5l301.9,301.4c43.6,43.6,76.9,14.9,104.2-12.4C981,928.3,1011.8,893,968.2,849.4z M524.5,522c-88.9,88.7-233,88.7-321.8,0c-88.9-88.7-88.9-232.6,0-321.3c88.9-88.7,233-88.7,321.8,0C613.4,289.4,613.4,433.3,524.5,522z"></path></svg><input placeholder="Search..." aria-label="Search" type="text" class="sc-hAkARQ dlxCDf search-input" value=""/></div><div class="sc-dJDBYC bWVgjU scrollbar-container undefined"><ul role="menu" class="sc-iMDhdf hYtPsf"><li tabindex="0" depth="1" data-item-id="tag/LoginLogout" role="menuitem" class="sc-loAbOW btrDvq"><label class="sc-bPZXsP cwxKjr -depth1"><span width="calc(100% - 38px)" title="Login/Logout" class="sc-eteQWc glMKqQ">Login/Logout</span><svg class="sc-cBYhjr gUrACV" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></label><ul class="sc-iMDhdf fEjWGm"><li tabindex="0" depth="2" data-item-id="tag/LoginLogout/paths/~1login/post" role="menuitem" class="sc-loAbOW btrDvq"><label class="sc-bPZXsP cmGsIR -depth2"><span type="post" class="sc-exkVDC QUyzu operation-type post">post</span><span tabindex="0" width="calc(100% - 38px)" class="sc-eteQWc glMKqQ">Login</span></label></li><li tabindex="0" depth="2" data-item-id="tag/LoginLogout/paths/~1logout/post" role="menuitem" class="sc-loAbOW btrDvq"><label class="sc-bPZXsP cmGsIR -depth2"><span type="post" class="sc-exkVDC QUyzu operation-type post">post</span><span tabindex="0" width="calc(100% - 38px)" class="sc-eteQWc glMKqQ">Logout</span></label></li></ul></li><li tabindex="0" depth="1" data-item-id="tag/Users" role="menuitem" class="sc-loAbOW btrDvq"><label class="sc-bPZXsP cwxKjr -depth1"><span width="calc(100% - 38px)" title="Users" class="sc-eteQWc glMKqQ">Users</span></label></li><li tabindex="0" depth="1" data-item-id="tag/Posts" role="menuitem" class="sc-loAbOW btrDvq"><label class="sc-bPZXsP cwxKjr -depth1"><span width="calc(100% - 38px)" title="Posts" class="sc-eteQWc glMKqQ">Posts</span></label></li></ul><div class="sc-gkavYR iljewH"><a target="_blank" rel="noopener noreferrer" href="https://redocly.com/redoc/">API docs by Redocly</a></div></div></div><div class="sc-elEJnV kEKeWg"><div class="sc-bQEQyQ jQQbBk"><svg class="" style="transform:translate(2px, -4px) rotate(180deg);transition:transform 0.2s ease" viewBox="0 0 926.23699 573.74994" version="1.1" x="0px" y="0px" width="15" height="15"><g transform="translate(904.92214,-879.1482)"><path d="
|
||||
m -673.67664,1221.6502 -231.2455,-231.24803 55.6165,
|
||||
-55.627 c 30.5891,-30.59485 56.1806,-55.627 56.8701,-55.627 0.6894,
|
||||
0 79.8637,78.60862 175.9427,174.68583 l 174.6892,174.6858 174.6892,
|
||||
@ -307,17 +359,21 @@ data-styled.g137[id="sc-kvXgyf"]{content:"fBvPoH,"}/*!sc*/
|
||||
-104.0616 -231.873,-231.248 z
|
||||
" fill="currentColor"></path></g></svg></div></div><div class="sc-dKGrn laenHu api-content"><div class="sc-dsLQwm diwyyM"><div class="sc-la-DxNn dSIRVR"><div class="sc-fQpRED htdgPt api-info"><h1 class="sc-iCZwEW sc-gjHHYa gfRsnu edbYXQ">PHP Course Exam<!-- --> <span>(<!-- -->1.0.0<!-- -->)</span></h1><p>Download OpenAPI specification<!-- -->:<a download="openapi.json" target="_blank" class="sc-kyZTxD cwcfQE">Download</a></p><div class="sc-euGpHm sc-exayXG fwfkcU kqJXdD"><div class="sc-kwhYVV dgGfLY"><div class="sc-fyEUpq kqOgwj"><span class="sc-ggPNws hrVgqq">Kilian Kurt Hofmann<!-- -->:<!-- --> <a href="mailto:khofmann@zedat.fu-berlin.de">khofmann@zedat.fu-berlin.de</a></span> <!-- --> <!-- --> </div></div></div><div data-role="redoc-summary" html="" class="sc-euGpHm sc-exayXG fwfkcU kqJXdD"></div><div data-role="redoc-description" html="<p>PHP Course (ABV FU Berlin) 2024 Exam</p>
|
||||
" class="sc-euGpHm sc-exayXG fwfkcU kqJXdD"><p>PHP Course (ABV FU Berlin) 2024 Exam</p>
|
||||
</div><div class="sc-iNJlaU dHStET"><a href="https://khofmann.userpage.fu-berlin.de/phpCourse/exam/api/docs/">https://khofmann.userpage.fu-berlin.de/phpCourse/exam/api/docs/</a></div></div></div></div><div id="tag/LoginLogout" data-section-id="tag/LoginLogout" class="sc-dsLQwm diwyyM"><div class="sc-la-DxNn dSIRVR"><div class="sc-fQpRED htdgPt"><h2 class="sc-knesRu cbpGTP"><a class="sc-jCbFiK hSvuOo" href="#tag/LoginLogout" aria-label="tag/LoginLogout"></a>Login/Logout</h2></div></div></div><div id="tag/LoginLogout/" data-section-id="tag/LoginLogout/" class="sc-dsLQwm kcRA-dj"><div data-section-id="" id="" class="sc-la-DxNn dSIRVR"><div class="sc-fQpRED htdgPt"><h2 class="sc-knesRu cbpGTP"><a class="sc-jCbFiK hSvuOo" href="#tag/LoginLogout/" aria-label="tag/LoginLogout/"></a>Login<!-- --> </h2><div class="sc-fpJhiv cQxXyG"><div html="<p>Log in user</p>
|
||||
</div><div class="sc-iNJlaU dHStET"><a href="https://khofmann.userpage.fu-berlin.de/phpCourse/exam/api/docs/">https://khofmann.userpage.fu-berlin.de/phpCourse/exam/api/docs/</a></div></div></div></div><div id="tag/LoginLogout" data-section-id="tag/LoginLogout" class="sc-dsLQwm diwyyM"><div class="sc-la-DxNn dSIRVR"><div class="sc-fQpRED htdgPt"><h2 class="sc-knesRu cbpGTP"><a class="sc-jCbFiK hSvuOo" href="#tag/LoginLogout" aria-label="tag/LoginLogout"></a>Login/Logout</h2></div></div></div><div id="tag/LoginLogout/paths/~1login/post" data-section-id="tag/LoginLogout/paths/~1login/post" class="sc-dsLQwm kcRA-dj"><div class="sc-la-DxNn dSIRVR"><div class="sc-fQpRED htdgPt"><h2 class="sc-knesRu cbpGTP"><a class="sc-jCbFiK hSvuOo" href="#tag/LoginLogout/paths/~1login/post" aria-label="tag/LoginLogout/paths/~1login/post"></a>Login<!-- --> </h2><div class="sc-fpJhiv cQxXyG"><div html="<p>Log in user</p>
|
||||
" class="sc-euGpHm sc-exayXG fwfkcU kqJXdD"><p>Log in user</p>
|
||||
</div></div><div><h3 class="sc-eiLgtK dbBFCU">Responses</h3><div><button class="sc-giOWAb gcYfHW"><svg class="sc-cBYhjr fqtTpb" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-catHVh gXPvFO">200<!-- --> </strong><div html="<p>Success</p>
|
||||
</div></div><h5 class="sc-dkjaqt gwrByh">Request Body schema: <span class="sc-dwYcXH fafqZb">application/json</span><div class="sc-xuUkR sc-hrDJJk sc-kGqRax bJcEcT gLEAmN HCLfY">required</div></h5><div html="" class="sc-euGpHm sc-exayXG fwfkcU kqJXdD"></div><table class="sc-dENhDJ ceVHDP"><tbody><tr class=""><td kind="field" title="username" class="sc-tOkKi sc-epPVmt gbdrVc bUksBx"><span class="sc-hfvVTD hTjFRU"></span><span class="property-name">username</span><div class="sc-xuUkR sc-hrDJJk bJcEcT gLEAmN">required</div></td><td class="sc-fpSrms exGrJC"><div><div><span class="sc-xuUkR sc-cvzDha bJcEcT kDPMlG"></span><span class="sc-xuUkR sc-gKROGD bJcEcT etUsjc">string</span></div> <div><div html="" class="sc-euGpHm sc-exayXG fwfkcU jYGAQp"></div></div></div></td></tr><tr class="last "><td kind="field" title="password" class="sc-tOkKi sc-epPVmt gbdrVc bUksBx"><span class="sc-hfvVTD hTjFRU"></span><span class="property-name">password</span><div class="sc-xuUkR sc-hrDJJk bJcEcT gLEAmN">required</div></td><td class="sc-fpSrms exGrJC"><div><div><span class="sc-xuUkR sc-cvzDha bJcEcT kDPMlG"></span><span class="sc-xuUkR sc-gKROGD bJcEcT etUsjc">string</span></div> <div><div html="" class="sc-euGpHm sc-exayXG fwfkcU jYGAQp"></div></div></div></td></tr></tbody></table><div><h3 class="sc-eiLgtK dbBFCU">Responses</h3><div><button class="sc-giOWAb gcYfHW"><svg class="sc-cBYhjr fqtTpb" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-catHVh gXPvFO">200<!-- --> </strong><div html="<p>Success</p>
|
||||
" class="sc-euGpHm sc-exayXG fwfkcU kqJXdD sc-dHrNzZ dRdjww"><p>Success</p>
|
||||
</div></button></div><div><button class="sc-giOWAb gbPhWg"><svg class="sc-cBYhjr ezFOZv" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-catHVh gXPvFO">401<!-- --> </strong><div html="<p>Invalid Username or Password</p>
|
||||
" class="sc-euGpHm sc-exayXG fwfkcU kqJXdD sc-dHrNzZ dRdjww"><p>Invalid Username or Password</p>
|
||||
</div></button></div><div><button class="sc-giOWAb gbPhWg"><svg class="sc-cBYhjr ezFOZv" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-catHVh gXPvFO">404<!-- --> </strong><div html="<p>User not Found</p>
|
||||
" class="sc-euGpHm sc-exayXG fwfkcU kqJXdD sc-dHrNzZ dRdjww"><p>User not Found</p>
|
||||
</div></button></div></div></div><div class="sc-iKTcqh sc-gnpbhQ fTxZsC drGLlX"><div class="sc-dKsqdn dCbPd"><button class="sc-iAlELC gsBSOU"><span type="post" class="sc-oeqTF kpMtuJ http-verb post">post</span><span class="sc-eowDPD jcAXWA">/login</span><svg class="sc-cBYhjr iMxoRf" style="margin-right:-25px" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></button><div aria-hidden="true" class="sc-ezTrPE bFiOkX"><div class="sc-drnuxz hdRKqQ"><div html="" class="sc-euGpHm sc-exayXG fwfkcU jYGAQp"></div><div tabindex="0" role="button"><div class="sc-hDcvty jpmGrk"><span>https://khofmann.userpage.fu-berlin.de/phpCourse/exam/api</span>/login</div></div></div></div></div><div><h3 class="sc-kkmypM jKNCPF"> <!-- -->Response samples<!-- --> </h3><div class="sc-bSlUec jxQggo" data-rttabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="tab-success react-tabs__tab--selected" role="tab" id="tab:R4ssq:0" aria-selected="true" aria-disabled="false" aria-controls="panel:R4ssq:0" tabindex="0" data-rttab="true">200</li><li class="tab-error" role="tab" id="tab:R4ssq:1" aria-selected="false" aria-disabled="false" aria-controls="panel:R4ssq:1" data-rttab="true">401</li><li class="tab-error" role="tab" id="tab:R4ssq:2" aria-selected="false" aria-disabled="false" aria-controls="panel:R4ssq:2" data-rttab="true">404</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="panel:R4ssq:0" aria-labelledby="tab:R4ssq:0"><div><div class="sc-WChnI iLXIA-d"><span class="sc-foMnoT dmNpjh">Content type</span><div class="sc-ZubPq KmnOC">application/json</div></div><div class="sc-AmOMz gDrQpr"><div class="sc-eTdEpr dgzSkD"><div class="sc-pFPEP bMXXJy"><button><div class="sc-eHujzY ecCAmX">Copy</div></button></div><div class="sc-euGpHm fwfkcU sc-fTgapq bDqsIm"><div class="redoc-json"><code><span class="token string">"tr"</span></code></div></div></div></div></div></div><div class="react-tabs__tab-panel" role="tabpanel" id="panel:R4ssq:1" aria-labelledby="tab:R4ssq:1"></div><div class="react-tabs__tab-panel" role="tabpanel" id="panel:R4ssq:2" aria-labelledby="tab:R4ssq:2"></div></div></div></div></div></div><div id="tag/Users" data-section-id="tag/Users" class="sc-dsLQwm diwyyM"><div class="sc-la-DxNn dSIRVR"><div class="sc-fQpRED htdgPt"><h2 class="sc-knesRu cbpGTP"><a class="sc-jCbFiK hSvuOo" href="#tag/Users" aria-label="tag/Users"></a>Users</h2></div></div></div><div id="tag/Posts" data-section-id="tag/Posts" class="sc-dsLQwm diwyyM"><div class="sc-la-DxNn dSIRVR"><div class="sc-fQpRED htdgPt"><h2 class="sc-knesRu cbpGTP"><a class="sc-jCbFiK hSvuOo" href="#tag/Posts" aria-label="tag/Posts"></a>Posts</h2></div></div></div></div><div class="sc-epzHnm bWkBKa"></div></div></div>
|
||||
</div></button></div><div><button class="sc-giOWAb gbPhWg"><svg class="sc-cBYhjr ezFOZv" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-catHVh gXPvFO">401<!-- --> </strong><div html="<p>Failed</p>
|
||||
" class="sc-euGpHm sc-exayXG fwfkcU kqJXdD sc-dHrNzZ dRdjww"><p>Failed</p>
|
||||
</div></button></div><div><button class="sc-giOWAb gbPhWg"><svg class="sc-cBYhjr ezFOZv" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-catHVh gXPvFO">404<!-- --> </strong><div html="<p>Failed</p>
|
||||
" class="sc-euGpHm sc-exayXG fwfkcU kqJXdD sc-dHrNzZ dRdjww"><p>Failed</p>
|
||||
</div></button></div></div></div><div class="sc-iKTcqh sc-gnpbhQ fTxZsC drGLlX"><div class="sc-dKsqdn dCbPd"><button class="sc-iAlELC gsBSOU"><span type="post" class="sc-oeqTF kpMtuJ http-verb post">post</span><span class="sc-eowDPD jcAXWA">/login</span><svg class="sc-cBYhjr iMxoRf" style="margin-right:-25px" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></button><div aria-hidden="true" class="sc-ezTrPE bFiOkX"><div class="sc-drnuxz hdRKqQ"><div html="" class="sc-euGpHm sc-exayXG fwfkcU jYGAQp"></div><div tabindex="0" role="button"><div class="sc-hDcvty jpmGrk"><span>https://khofmann.userpage.fu-berlin.de/phpCourse/exam/api</span>/login</div></div></div></div></div><div><h3 class="sc-kkmypM jKNCPF"> <!-- -->Request samples<!-- --> </h3><div class="sc-bSlUec jxQggo" data-rttabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="react-tabs__tab react-tabs__tab--selected" role="tab" id="tab:R99cq:0" aria-selected="true" aria-disabled="false" aria-controls="panel:R99cq:0" tabindex="0" data-rttab="true">Payload</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="panel:R99cq:0" aria-labelledby="tab:R99cq:0"><div><div class="sc-WChnI iLXIA-d"><span class="sc-foMnoT dmNpjh">Content type</span><div class="sc-ZubPq KmnOC">application/json</div></div><div class="sc-AmOMz gDrQpr"><div class="sc-eTdEpr dgzSkD"><div class="sc-pFPEP bMXXJy"><button><div class="sc-eHujzY ecCAmX">Copy</div></button></div><div class="sc-euGpHm fwfkcU sc-fTgapq bDqsIm"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"username"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"password"</span>: <span class="token string">"string"</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div></div></div><div><h3 class="sc-kkmypM jKNCPF"> <!-- -->Response samples<!-- --> </h3><div class="sc-bSlUec jxQggo" data-rttabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="tab-success react-tabs__tab--selected" role="tab" id="tab:R9pcq:0" aria-selected="true" aria-disabled="false" aria-controls="panel:R9pcq:0" tabindex="0" data-rttab="true">200</li><li class="tab-error" role="tab" id="tab:R9pcq:1" aria-selected="false" aria-disabled="false" aria-controls="panel:R9pcq:1" data-rttab="true">401</li><li class="tab-error" role="tab" id="tab:R9pcq:2" aria-selected="false" aria-disabled="false" aria-controls="panel:R9pcq:2" data-rttab="true">404</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="panel:R9pcq:0" aria-labelledby="tab:R9pcq:0"><div><div class="sc-WChnI iLXIA-d"><span class="sc-foMnoT dmNpjh">Content type</span><div class="sc-ZubPq KmnOC">application/json</div></div><div class="sc-AmOMz gDrQpr"><div class="sc-eTdEpr dgzSkD"><div class="sc-pFPEP bMXXJy"><button><div class="sc-eHujzY ecCAmX">Copy</div></button></div><div class="sc-euGpHm fwfkcU sc-fTgapq bDqsIm"><div class="redoc-json"><code><span class="token boolean">true</span></code></div></div></div></div></div></div><div class="react-tabs__tab-panel" role="tabpanel" id="panel:R9pcq:1" aria-labelledby="tab:R9pcq:1"></div><div class="react-tabs__tab-panel" role="tabpanel" id="panel:R9pcq:2" aria-labelledby="tab:R9pcq:2"></div></div></div></div></div></div><div id="tag/LoginLogout/paths/~1logout/post" data-section-id="tag/LoginLogout/paths/~1logout/post" class="sc-dsLQwm kcRA-dj"><div class="sc-la-DxNn dSIRVR"><div class="sc-fQpRED htdgPt"><h2 class="sc-knesRu cbpGTP"><a class="sc-jCbFiK hSvuOo" href="#tag/LoginLogout/paths/~1logout/post" aria-label="tag/LoginLogout/paths/~1logout/post"></a>Logout<!-- --> </h2><div class="sc-fpJhiv cQxXyG"><div html="<p>Log out User</p>
|
||||
" class="sc-euGpHm sc-exayXG fwfkcU kqJXdD"><p>Log out User</p>
|
||||
</div></div><h5 class="sc-dkjaqt gwrByh">Request Body schema: <span class="sc-dwYcXH fafqZb">application/json</span><div class="sc-xuUkR sc-hrDJJk sc-kGqRax bJcEcT gLEAmN HCLfY">required</div></h5><div html="" class="sc-euGpHm sc-exayXG fwfkcU kqJXdD"></div><table class="sc-dENhDJ ceVHDP"><tbody><tr class="last "><td kind="field" title="token" class="sc-tOkKi sc-epPVmt gbdrVc bUksBx"><span class="sc-hfvVTD hTjFRU"></span><span class="property-name">token</span><div class="sc-xuUkR sc-hrDJJk bJcEcT gLEAmN">required</div></td><td class="sc-fpSrms exGrJC"><div><div><span class="sc-xuUkR sc-cvzDha bJcEcT kDPMlG"></span><span class="sc-xuUkR sc-gKROGD bJcEcT etUsjc">string</span></div> <div><div html="" class="sc-euGpHm sc-exayXG fwfkcU jYGAQp"></div></div></div></td></tr></tbody></table><div><h3 class="sc-eiLgtK dbBFCU">Responses</h3><div><button class="sc-giOWAb gcYfHW"><svg class="sc-cBYhjr fqtTpb" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg><strong class="sc-catHVh gXPvFO">200<!-- --> </strong><div html="<p>Success</p>
|
||||
" class="sc-euGpHm sc-exayXG fwfkcU kqJXdD sc-dHrNzZ dRdjww"><p>Success</p>
|
||||
</div></button></div></div></div><div class="sc-iKTcqh sc-gnpbhQ fTxZsC drGLlX"><div class="sc-dKsqdn dCbPd"><button class="sc-iAlELC gsBSOU"><span type="post" class="sc-oeqTF kpMtuJ http-verb post">post</span><span class="sc-eowDPD jcAXWA">/logout</span><svg class="sc-cBYhjr iMxoRf" style="margin-right:-25px" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></button><div aria-hidden="true" class="sc-ezTrPE bFiOkX"><div class="sc-drnuxz hdRKqQ"><div html="" class="sc-euGpHm sc-exayXG fwfkcU jYGAQp"></div><div tabindex="0" role="button"><div class="sc-hDcvty jpmGrk"><span>https://khofmann.userpage.fu-berlin.de/phpCourse/exam/api</span>/logout</div></div></div></div></div><div><h3 class="sc-kkmypM jKNCPF"> <!-- -->Request samples<!-- --> </h3><div class="sc-bSlUec jxQggo" data-rttabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="react-tabs__tab react-tabs__tab--selected" role="tab" id="tab:R99kq:0" aria-selected="true" aria-disabled="false" aria-controls="panel:R99kq:0" tabindex="0" data-rttab="true">Payload</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="panel:R99kq:0" aria-labelledby="tab:R99kq:0"><div><div class="sc-WChnI iLXIA-d"><span class="sc-foMnoT dmNpjh">Content type</span><div class="sc-ZubPq KmnOC">application/json</div></div><div class="sc-AmOMz gDrQpr"><div class="sc-eTdEpr dgzSkD"><div class="sc-pFPEP bMXXJy"><button><div class="sc-eHujzY ecCAmX">Copy</div></button></div><div class="sc-euGpHm fwfkcU sc-fTgapq bDqsIm"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"token"</span>: <span class="token string">"string"</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div></div></div><div><h3 class="sc-kkmypM jKNCPF"> <!-- -->Response samples<!-- --> </h3><div class="sc-bSlUec jxQggo" data-rttabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="tab-success react-tabs__tab--selected" role="tab" id="tab:R9pkq:0" aria-selected="true" aria-disabled="false" aria-controls="panel:R9pkq:0" tabindex="0" data-rttab="true">200</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="panel:R9pkq:0" aria-labelledby="tab:R9pkq:0"><div><div class="sc-WChnI iLXIA-d"><span class="sc-foMnoT dmNpjh">Content type</span><div class="sc-ZubPq KmnOC">application/json</div></div><div class="sc-AmOMz gDrQpr"><div class="sc-eTdEpr dgzSkD"><div class="sc-pFPEP bMXXJy"><button><div class="sc-eHujzY ecCAmX">Copy</div></button></div><div class="sc-euGpHm fwfkcU sc-fTgapq bDqsIm"><div class="redoc-json"><code><span class="token boolean">true</span></code></div></div></div></div></div></div></div></div></div></div></div><div id="tag/Users" data-section-id="tag/Users" class="sc-dsLQwm diwyyM"><div class="sc-la-DxNn dSIRVR"><div class="sc-fQpRED htdgPt"><h2 class="sc-knesRu cbpGTP"><a class="sc-jCbFiK hSvuOo" href="#tag/Users" aria-label="tag/Users"></a>Users</h2></div></div></div><div id="tag/Posts" data-section-id="tag/Posts" class="sc-dsLQwm diwyyM"><div class="sc-la-DxNn dSIRVR"><div class="sc-fQpRED htdgPt"><h2 class="sc-knesRu cbpGTP"><a class="sc-jCbFiK hSvuOo" href="#tag/Posts" aria-label="tag/Posts"></a>Posts</h2></div></div></div></div><div class="sc-epzHnm bWkBKa"></div></div></div>
|
||||
<script>
|
||||
const __redoc_state = {"menu":{"activeItemIdx":-1},"spec":{"data":{"openapi":"3.0.0","info":{"title":"PHP Course Exam","version":"1.0.0","contact":{"name":"Kilian Kurt Hofmann","email":"khofmann@zedat.fu-berlin.de"},"description":"PHP Course (ABV FU Berlin) 2024 Exam"},"paths":{"/login":{"summary":"Login","description":"Log in user","post":{"summary":"Login","description":"Log in user","operationId":"","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BooleanResponse"},"examples":{"Success":{"value":"tr"}}}}},"401":{"description":"Invalid Username or Password","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Invalid Username or Password":{"value":{"message":"Invalid Username or Password"}}}}}},"404":{"description":"User not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"User not Found":{"value":{"message":"User not Found"}}}}}}},"tags":["Login/Logout"]}}},"externalDocs":{"url":"https://khofmann.userpage.fu-berlin.de/phpCourse/exam/api/docs/"},"security":[],"servers":[{"url":"https://khofmann.userpage.fu-berlin.de/phpCourse/exam/api/","description":"","variables":{}}],"components":{"links":{},"callbacks":{},"schemas":{"BooleanResponse":{"type":"boolean"},"ErrorResponse":{"type":"object","properties":{"message":{"type":"string"}}}},"securitySchemes":{"BasicAuth":{"type":"apiKey","name":"token","in":"header"}}},"tags":[{"name":"Login/Logout"},{"name":"Users"},{"name":"Posts"}]}},"searchIndex":{"store":["tag/LoginLogout","tag/LoginLogout/","tag/Users","tag/Posts"],"index":{"version":"2.3.9","fields":["title","description"],"fieldVectors":[["title/0",[0,1.204]],["description/0",[]],["title/1",[1,0.693]],["description/1",[1,0.311,2,0.541,3,0.311]],["title/2",[3,0.693]],["description/2",[]],["title/3",[4,1.204]],["description/3",[]]],"invertedIndex":[["log",{"_index":2,"title":{},"description":{"1":{}}}],["login",{"_index":1,"title":{"1":{}},"description":{"1":{}}}],["login/logout",{"_index":0,"title":{"0":{}},"description":{}}],["post",{"_index":4,"title":{"3":{}},"description":{}}],["user",{"_index":3,"title":{"2":{}},"description":{"1":{}}}]],"pipeline":[]}},"options":{}};
|
||||
const __redoc_state = {"menu":{"activeItemIdx":-1},"spec":{"data":{"openapi":"3.0.0","info":{"title":"PHP Course Exam","version":"1.0.0","contact":{"name":"Kilian Kurt Hofmann","email":"khofmann@zedat.fu-berlin.de"},"description":"PHP Course (ABV FU Berlin) 2024 Exam"},"paths":{"/login":{"post":{"summary":"Login","description":"Log in user","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoginRequest"}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BooleanResponse"},"examples":{"Success":{"value":true}}}}},"401":{"description":"Failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Invalid Username or Password":{"value":{"message":"Invalid Username or Password"}}}}}},"404":{"description":"Failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"User not Found":{"value":{"message":"User not Found"}}}}}}},"tags":["Login/Logout"]}},"/logout":{"post":{"summary":"Logout","description":"Log out User","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LogoutRequest"}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BooleanResponse"},"examples":{"Success":{"value":true}}}}}},"tags":["Login/Logout"]}}},"externalDocs":{"url":"https://khofmann.userpage.fu-berlin.de/phpCourse/exam/api/docs/"},"security":[],"servers":[{"url":"https://khofmann.userpage.fu-berlin.de/phpCourse/exam/api/","description":"","variables":{}}],"components":{"links":{},"callbacks":{},"schemas":{"BooleanResponse":{"type":"boolean"},"ErrorResponse":{"type":"object","properties":{"message":{"type":"string"}}},"LoginRequest":{"type":"object","required":["username","password"],"properties":{"username":{"type":"string"},"password":{"type":"string"}}},"LogoutRequest":{"type":"object","required":["token"],"properties":{"token":{"type":"string"}}}},"securitySchemes":{"BasicAuth":{"type":"apiKey","name":"token","in":"header"}}},"tags":[{"name":"Login/Logout"},{"name":"Users"},{"name":"Posts"}]}},"searchIndex":{"store":["tag/LoginLogout","tag/LoginLogout/paths/~1login/post","tag/LoginLogout/paths/~1logout/post","tag/Users","tag/Posts"],"index":{"version":"2.3.9","fields":["title","description"],"fieldVectors":[["title/0",[0,1.386]],["description/0",[]],["title/1",[1,0.875]],["description/1",[1,0.597,2,0.597,3,0.367]],["title/2",[4,0.875]],["description/2",[2,0.497,3,0.306,4,0.497,5,0.788]],["title/3",[3,0.539]],["description/3",[]],["title/4",[6,1.386]],["description/4",[]]],"invertedIndex":[["log",{"_index":2,"title":{},"description":{"1":{},"2":{}}}],["login",{"_index":1,"title":{"1":{}},"description":{"1":{}}}],["login/logout",{"_index":0,"title":{"0":{}},"description":{}}],["logout",{"_index":4,"title":{"2":{}},"description":{"2":{}}}],["out",{"_index":5,"title":{},"description":{"2":{}}}],["post",{"_index":6,"title":{"4":{}},"description":{}}],["user",{"_index":3,"title":{"3":{}},"description":{"1":{},"2":{}}}]],"pipeline":[]}},"options":{}};
|
||||
|
||||
var container = document.getElementById('redoc');
|
||||
Redoc.hydrate(__redoc_state, container);
|
||||
|
||||
@ -17,7 +17,7 @@ use Pecee\SimpleRouter\Event\EventArgument;
|
||||
use Pecee\SimpleRouter\Route\ILoadableRoute;
|
||||
use Pecee\SimpleRouter\Route\IGroupRoute;
|
||||
// Router base path
|
||||
$basePath = Config\Config::getBasePath() . "/api";
|
||||
$basePath = Config\Config::getBasePath() . "api";
|
||||
// Router event handler for prepending base path
|
||||
$eventHandler = new EventHandler();
|
||||
$eventHandler->register(EventHandler::EVENT_ADD_ROUTE, function (EventArgument $event) use ($basePath) {
|
||||
|
||||
3
exam/config/.htaccess
Normal file
3
exam/config/.htaccess
Normal file
@ -0,0 +1,3 @@
|
||||
Order deny,allow
|
||||
Deny from all
|
||||
Allow from 127.0.0.1
|
||||
Loading…
x
Reference in New Issue
Block a user