Merge pull request #49 van SELab-2/feat/api-outline-uitbreiding met feat/api-outline
feature: uitbreiding van skeletcode van de API
This commit is contained in:
commit
7a8f3e297c
7 changed files with 206 additions and 5 deletions
|
@ -1,6 +1,16 @@
|
||||||
import express from 'express'
|
import express from 'express'
|
||||||
const router = express.Router();
|
const router = express.Router();
|
||||||
|
|
||||||
|
// root endpoint used to search objects
|
||||||
|
router.get('/', (req, res) => {
|
||||||
|
res.json({
|
||||||
|
assignments: [
|
||||||
|
'0',
|
||||||
|
'1',
|
||||||
|
]
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
// information about an assignment with id 'id'
|
// information about an assignment with id 'id'
|
||||||
router.get('/:id', (req, res) => {
|
router.get('/:id', (req, res) => {
|
||||||
res.json({
|
res.json({
|
||||||
|
@ -9,8 +19,36 @@ router.get('/:id', (req, res) => {
|
||||||
description: 'Een korte beschrijving',
|
description: 'Een korte beschrijving',
|
||||||
groups: [ '0' ],
|
groups: [ '0' ],
|
||||||
learningPath: '0',
|
learningPath: '0',
|
||||||
class: '0'
|
class: '0',
|
||||||
|
links: {
|
||||||
|
self: `${req.baseUrl}/${req.params.id}`,
|
||||||
|
submissions: `${req.baseUrl}/${req.params.id}`,
|
||||||
|
},
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
|
|
||||||
|
router.get('/:id/submissions', (req, res) => {
|
||||||
|
res.json({
|
||||||
|
submissions: [
|
||||||
|
'0'
|
||||||
|
],
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
router.get('/:id/groups', (req, res) => {
|
||||||
|
res.json({
|
||||||
|
groups: [
|
||||||
|
'0'
|
||||||
|
],
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
router.get('/:id/questions', (req, res) => {
|
||||||
|
res.json({
|
||||||
|
questions: [
|
||||||
|
'0'
|
||||||
|
],
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
export default router
|
export default router
|
|
@ -1,6 +1,16 @@
|
||||||
import express from 'express'
|
import express from 'express'
|
||||||
const router = express.Router();
|
const router = express.Router();
|
||||||
|
|
||||||
|
// root endpoint used to search objects
|
||||||
|
router.get('/', (req, res) => {
|
||||||
|
res.json({
|
||||||
|
classes: [
|
||||||
|
'0',
|
||||||
|
'1',
|
||||||
|
]
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
// information about an class with id 'id'
|
// information about an class with id 'id'
|
||||||
router.get('/:id', (req, res) => {
|
router.get('/:id', (req, res) => {
|
||||||
res.json({
|
res.json({
|
||||||
|
@ -8,9 +18,37 @@ router.get('/:id', (req, res) => {
|
||||||
displayName: 'Klas 4B',
|
displayName: 'Klas 4B',
|
||||||
teachers: [ '0' ],
|
teachers: [ '0' ],
|
||||||
students: [ '0' ],
|
students: [ '0' ],
|
||||||
assignments: [ '0' ],
|
|
||||||
joinRequests: [ '0' ],
|
joinRequests: [ '0' ],
|
||||||
invitations: [ '0' ],
|
links: {
|
||||||
|
self: `${req.baseUrl}/${req.params.id}`,
|
||||||
|
classes: `${req.baseUrl}/${req.params.id}/invitations`,
|
||||||
|
questions: `${req.baseUrl}/${req.params.id}/assignments`,
|
||||||
|
students: `${req.baseUrl}/${req.params.id}/students`,
|
||||||
|
}
|
||||||
|
});
|
||||||
|
})
|
||||||
|
|
||||||
|
router.get('/:id/invitations', (req, res) => {
|
||||||
|
res.json({
|
||||||
|
invitations: [
|
||||||
|
'0'
|
||||||
|
],
|
||||||
|
});
|
||||||
|
})
|
||||||
|
|
||||||
|
router.get('/:id/assignments', (req, res) => {
|
||||||
|
res.json({
|
||||||
|
assignments: [
|
||||||
|
'0'
|
||||||
|
],
|
||||||
|
});
|
||||||
|
})
|
||||||
|
|
||||||
|
router.get('/:id/students', (req, res) => {
|
||||||
|
res.json({
|
||||||
|
students: [
|
||||||
|
'0'
|
||||||
|
],
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,16 @@
|
||||||
import express from 'express'
|
import express from 'express'
|
||||||
const router = express.Router();
|
const router = express.Router();
|
||||||
|
|
||||||
|
// root endpoint used to search objects
|
||||||
|
router.get('/', (req, res) => {
|
||||||
|
res.json({
|
||||||
|
groups: [
|
||||||
|
'0',
|
||||||
|
'1',
|
||||||
|
]
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
// information about a group (members, ... [TODO DOC])
|
// information about a group (members, ... [TODO DOC])
|
||||||
router.get('/:id', (req, res) => {
|
router.get('/:id', (req, res) => {
|
||||||
res.json({
|
res.json({
|
||||||
|
|
|
@ -1,6 +1,16 @@
|
||||||
import express from 'express'
|
import express from 'express'
|
||||||
const router = express.Router();
|
const router = express.Router();
|
||||||
|
|
||||||
|
// root endpoint used to search objects
|
||||||
|
router.get('/', (req, res) => {
|
||||||
|
res.json({
|
||||||
|
questions: [
|
||||||
|
'0',
|
||||||
|
'1',
|
||||||
|
]
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
// information about an question with id 'id'
|
// information about an question with id 'id'
|
||||||
router.get('/:id', (req, res) => {
|
router.get('/:id', (req, res) => {
|
||||||
res.json({
|
res.json({
|
||||||
|
@ -9,9 +19,20 @@ router.get('/:id', (req, res) => {
|
||||||
group: '0',
|
group: '0',
|
||||||
time: new Date(2025, 1, 1),
|
time: new Date(2025, 1, 1),
|
||||||
content: 'Zijn alle gehele getallen groter dan 2 gelijk aan de som van 2 priemgetallen????',
|
content: 'Zijn alle gehele getallen groter dan 2 gelijk aan de som van 2 priemgetallen????',
|
||||||
answers: [ '0' ],
|
learningObject: '0',
|
||||||
learningObject: [ '0' ],
|
links: {
|
||||||
|
self: `${req.baseUrl}/${req.params.id}`,
|
||||||
|
answers: `${req.baseUrl}/${req.params.id}/answers`,
|
||||||
|
}
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
|
|
||||||
|
router.get('/:id/answers', (req, res) => {
|
||||||
|
res.json({
|
||||||
|
answers: [
|
||||||
|
'0'
|
||||||
|
],
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
export default router
|
export default router
|
|
@ -1,6 +1,32 @@
|
||||||
import express from 'express'
|
import express from 'express'
|
||||||
const router = express.Router();
|
const router = express.Router();
|
||||||
|
|
||||||
|
// root endpoint used to search objects
|
||||||
|
router.get('/', (req, res) => {
|
||||||
|
res.json({
|
||||||
|
students: [
|
||||||
|
'0',
|
||||||
|
'1',
|
||||||
|
]
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
// information about a student's profile
|
||||||
|
router.get('/:id', (req, res) => {
|
||||||
|
res.json({
|
||||||
|
id: req.params.id,
|
||||||
|
firstName: 'Jimmy',
|
||||||
|
lastName: 'Faster',
|
||||||
|
username: 'JimmyFaster2',
|
||||||
|
endpoints: {
|
||||||
|
classes: `/student/${req.params.id}/classes`,
|
||||||
|
questions: `/student/${req.params.id}/submissions`,
|
||||||
|
invitations: `/student/${req.params.id}/assignments`,
|
||||||
|
groups: `/student/${req.params.id}/groups`,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
// the list of classes a student is in
|
// the list of classes a student is in
|
||||||
router.get('/:id/classes', (req, res) => {
|
router.get('/:id/classes', (req, res) => {
|
||||||
res.json({
|
res.json({
|
||||||
|
|
|
@ -1,6 +1,16 @@
|
||||||
import express from 'express'
|
import express from 'express'
|
||||||
const router = express.Router();
|
const router = express.Router();
|
||||||
|
|
||||||
|
// root endpoint used to search objects
|
||||||
|
router.get('/', (req, res) => {
|
||||||
|
res.json({
|
||||||
|
submissions: [
|
||||||
|
'0',
|
||||||
|
'1',
|
||||||
|
]
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
// information about an submission with id 'id'
|
// information about an submission with id 'id'
|
||||||
router.get('/:id', (req, res) => {
|
router.get('/:id', (req, res) => {
|
||||||
res.json({
|
res.json({
|
||||||
|
|
58
backend/src/routes/teacher.ts
Normal file
58
backend/src/routes/teacher.ts
Normal file
|
@ -0,0 +1,58 @@
|
||||||
|
import express from 'express'
|
||||||
|
const router = express.Router();
|
||||||
|
|
||||||
|
// root endpoint used to search objects
|
||||||
|
router.get('/', (req, res) => {
|
||||||
|
res.json({
|
||||||
|
teachers: [
|
||||||
|
'0',
|
||||||
|
'1',
|
||||||
|
]
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
// information about a teacher
|
||||||
|
router.get('/:id', (req, res) => {
|
||||||
|
res.json({
|
||||||
|
id: req.params.id,
|
||||||
|
firstName: 'John',
|
||||||
|
lastName: 'Doe',
|
||||||
|
username: 'JohnDoe1',
|
||||||
|
links: {
|
||||||
|
self: `${req.baseUrl}/${req.params.id}`,
|
||||||
|
classes: `${req.baseUrl}/${req.params.id}/classes`,
|
||||||
|
questions: `${req.baseUrl}/${req.params.id}/questions`,
|
||||||
|
invitations: `${req.baseUrl}/${req.params.id}/invitations`,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
})
|
||||||
|
|
||||||
|
// the questions students asked a teacher
|
||||||
|
router.get('/:id/questions', (req, res) => {
|
||||||
|
res.json({
|
||||||
|
questions: [
|
||||||
|
'0'
|
||||||
|
],
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
// invitations to other classes a teacher received
|
||||||
|
router.get('/:id/invitations', (req, res) => {
|
||||||
|
res.json({
|
||||||
|
invitations: [
|
||||||
|
'0'
|
||||||
|
],
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
// a list with ids of classes a teacher is in
|
||||||
|
router.get('/:id/classes', (req, res) => {
|
||||||
|
res.json({
|
||||||
|
classes: [
|
||||||
|
'0'
|
||||||
|
],
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
export default router
|
Loading…
Add table
Add a link
Reference in a new issue