modfi
This commit is contained in:
parent
8da10094ad
commit
2a264fb6a5
5 changed files with 42 additions and 12 deletions
6
app.js
6
app.js
|
|
@ -3,9 +3,15 @@ const express = require('express');
|
|||
const app = express();
|
||||
const swaggerUi = require('swagger-ui-express');
|
||||
const swaggerSpec = require('./swagger');
|
||||
const cors = require('cors');
|
||||
const db = require('./config/db');
|
||||
|
||||
// Middlewares
|
||||
app.use(cors({
|
||||
origin: '*',
|
||||
methods: ["GET", "POST", "PUT", "DELETE"],
|
||||
credentials: true,
|
||||
}));
|
||||
app.use(express.json());
|
||||
|
||||
// Swagger
|
||||
|
|
|
|||
|
|
@ -1,30 +1,30 @@
|
|||
const db = require('../config/db');
|
||||
|
||||
exports.getAllGroups = async (req, res) => {
|
||||
const [rows] = await db.query('SELECT * FROM groups');
|
||||
const [rows] = await db.query('SELECT * FROM `groups`');
|
||||
res.json(rows);
|
||||
};
|
||||
|
||||
exports.getGroupById = async (req, res) => {
|
||||
const [rows] = await db.query('SELECT * FROM groups WHERE id = ?', [req.params.id]);
|
||||
const [rows] = await db.query('SELECT * FROM `groups` WHERE id = ?', [req.params.id]);
|
||||
if (rows.length === 0) return res.status(404).json({ error: 'Group not found' });
|
||||
res.json(rows[0]);
|
||||
};
|
||||
|
||||
exports.createGroup = async (req, res) => {
|
||||
const { name } = req.body;
|
||||
await db.query('INSERT INTO groups (name) VALUES (?)', [name]);
|
||||
await db.query('INSERT INTO `groups` (name) VALUES (?)', [name]);
|
||||
res.status(201).json({ message: 'Group created' });
|
||||
};
|
||||
|
||||
exports.updateGroup = async (req, res) => {
|
||||
const { name } = req.body;
|
||||
await db.query('UPDATE groups SET name = ? WHERE id = ?', [name, req.params.id]);
|
||||
await db.query('UPDATE `groups` SET name = ? WHERE id = ?', [name, req.params.id]);
|
||||
res.json({ message: 'Group updated' });
|
||||
};
|
||||
|
||||
exports.deleteGroup = async (req, res) => {
|
||||
await db.query('DELETE FROM groups WHERE id = ?', [req.params.id]);
|
||||
await db.query('DELETE FROM `groups` WHERE id = ?', [req.params.id]);
|
||||
res.status(204).send();
|
||||
};
|
||||
|
||||
|
|
@ -39,7 +39,7 @@ exports.getGroupUsers = async (req, res) => {
|
|||
|
||||
exports.getGroupCours = async (req, res) => {
|
||||
const [rows] = await db.query(`
|
||||
SELECT c.* FROM courses c
|
||||
SELECT c.* FROM cours c
|
||||
JOIN group_cours gc ON gc.cours_id = c.id
|
||||
WHERE gc.group_id = ?
|
||||
`, [req.params.id]);
|
||||
|
|
@ -64,6 +64,6 @@ exports.removeUserFromGroup = async (req, res) => {
|
|||
};
|
||||
|
||||
exports.removeCoursFromGroup = async (req, res) => {
|
||||
await db.query('DELETE FROM group_courses WHERE group_id = ? AND course_id = ?', [req.params.id, req.params.courseId]);
|
||||
await db.query('DELETE FROM group_cours WHERE group_id = ? AND cours_id = ?', [req.params.id, req.params.coursId]);
|
||||
res.status(204).send();
|
||||
};
|
||||
|
|
|
|||
23
package-lock.json
generated
23
package-lock.json
generated
|
|
@ -9,6 +9,7 @@
|
|||
"version": "1.0.0",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"cors": "^2.8.5",
|
||||
"dotenv": "^17.1.0",
|
||||
"express": "^5.1.0",
|
||||
"mysql2": "^3.14.1",
|
||||
|
|
@ -241,6 +242,19 @@
|
|||
"node": ">=6.6.0"
|
||||
}
|
||||
},
|
||||
"node_modules/cors": {
|
||||
"version": "2.8.5",
|
||||
"resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
|
||||
"integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"object-assign": "^4",
|
||||
"vary": "^1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.10"
|
||||
}
|
||||
},
|
||||
"node_modules/debug": {
|
||||
"version": "4.4.1",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz",
|
||||
|
|
@ -825,6 +839,15 @@
|
|||
"node": ">= 0.6"
|
||||
}
|
||||
},
|
||||
"node_modules/object-assign": {
|
||||
"version": "4.1.1",
|
||||
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
|
||||
"integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/object-inspect": {
|
||||
"version": "1.13.4",
|
||||
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz",
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@
|
|||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
},
|
||||
"dependencies": {
|
||||
"cors": "^2.8.5",
|
||||
"dotenv": "^17.1.0",
|
||||
"express": "^5.1.0",
|
||||
"mysql2": "^3.14.1",
|
||||
|
|
|
|||
|
|
@ -170,7 +170,7 @@ router.post('/:id/users', groupController.addUserToGroup);
|
|||
* schema:
|
||||
* type: object
|
||||
* properties:
|
||||
* courseId: { type: integer }
|
||||
* coursId: { type: integer }
|
||||
* responses:
|
||||
* 200:
|
||||
* description: Cours added to group
|
||||
|
|
@ -200,9 +200,9 @@ router.delete('/:id/users/:userId', groupController.removeUserFromGroup);
|
|||
|
||||
/**
|
||||
* @swagger
|
||||
* /groups/{id}/cours/{courseId}:
|
||||
* /groups/{id}/cours/{coursId}:
|
||||
* delete:
|
||||
* summary: Remove a course from a group
|
||||
* summary: Remove a cours from a group
|
||||
* tags: [Groups]
|
||||
* parameters:
|
||||
* - in: path
|
||||
|
|
@ -210,13 +210,13 @@ router.delete('/:id/users/:userId', groupController.removeUserFromGroup);
|
|||
* required: true
|
||||
* schema: { type: integer }
|
||||
* - in: path
|
||||
* name: courseId
|
||||
* name: coursId
|
||||
* required: true
|
||||
* schema: { type: integer }
|
||||
* responses:
|
||||
* 204:
|
||||
* description: Removed
|
||||
*/
|
||||
router.delete('/:id/cours/:courseId', groupController.removeCoursFromGroup);
|
||||
router.delete('/:id/cours/:coursId', groupController.removeCoursFromGroup);
|
||||
|
||||
module.exports = router;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue