Initial commit

This commit is contained in:
Lorenzo Sanesi
2026-03-26 22:46:03 +01:00
commit 18e0e04700
80 changed files with 13114 additions and 0 deletions
+26
View File
@@ -0,0 +1,26 @@
const express = require('express');
const { validate } = require('../../middleware/validation');
const {
createBetSchema,
updateBetSchema,
} = require('../../shared/validators/schemas/bet.schema');
module.exports = ({ betsController }) => {
const router = express.Router();
const controller = {
getAllBets: (req, res, next) => betsController.getAllBets(req, res, next),
getBetById: (req, res, next) => betsController.getBetById(req, res, next),
createBet: (req, res, next) => betsController.createBet(req, res, next),
updateBet: (req, res, next) => betsController.updateBet(req, res, next),
deleteBet: (req, res, next) => betsController.deleteBet(req, res, next),
};
router.get('/', controller.getAllBets);
router.get('/:id', controller.getBetById);
router.post('/', validate(createBetSchema), controller.createBet);
router.put('/:id', validate(updateBetSchema), controller.updateBet);
router.delete('/:id', controller.deleteBet);
return router;
};
+26
View File
@@ -0,0 +1,26 @@
const express = require('express');
const { validate } = require('../../middleware/validation');
const {
sendFriendRequestSchema,
} = require('../../shared/validators/schemas/friendRequest.schema');
module.exports = ({ friendsController }) => {
const router = express.Router();
const controller = {
getFriends: (req, res, next) => friendsController.getFriends(req, res, next),
getPendingRequests: (req, res, next) =>
friendsController.getPendingRequests(req, res, next),
sendRequest: (req, res, next) => friendsController.sendRequest(req, res, next),
acceptRequest: (req, res, next) => friendsController.acceptRequest(req, res, next),
rejectRequest: (req, res, next) => friendsController.rejectRequest(req, res, next),
};
router.get('/', controller.getFriends);
router.get('/pending', controller.getPendingRequests);
router.post('/', validate(sendFriendRequestSchema), controller.sendRequest);
router.post('/:id/accept', controller.acceptRequest);
router.delete('/:id', controller.rejectRequest);
return router;
};
+31
View File
@@ -0,0 +1,31 @@
const express = require('express');
const { validate } = require('../../middleware/validation');
const {
createGroupSchema,
updateGroupSchema,
addMembersSchema,
} = require('../../shared/validators/schemas/group.schema');
module.exports = ({ groupsController }) => {
const router = express.Router();
const controller = {
getAllGroups: (req, res, next) => groupsController.getAllGroups(req, res, next),
getGroupById: (req, res, next) => groupsController.getGroupById(req, res, next),
createGroup: (req, res, next) => groupsController.createGroup(req, res, next),
updateGroup: (req, res, next) => groupsController.updateGroup(req, res, next),
deleteGroup: (req, res, next) => groupsController.deleteGroup(req, res, next),
addMembers: (req, res, next) => groupsController.addMembers(req, res, next),
removeMember: (req, res, next) => groupsController.removeMember(req, res, next),
};
router.get('/', controller.getAllGroups);
router.get('/:id', controller.getGroupById);
router.post('/', validate(createGroupSchema), controller.createGroup);
router.put('/:id', validate(updateGroupSchema), controller.updateGroup);
router.delete('/:id', controller.deleteGroup);
router.put('/:id/members', validate(addMembersSchema), controller.addMembers);
router.delete('/:id/members/:userId', controller.removeMember);
return router;
};
+21
View File
@@ -0,0 +1,21 @@
const express = require('express');
module.exports = (container) => {
const router = express.Router();
const controllers = {
groupsController: container.resolve('groupsController'),
betsController: container.resolve('betsController'),
usersController: container.resolve('usersController'),
friendsController: container.resolve('friendsController'),
initialDataController: container.resolve('initialDataController'),
};
router.use('/groups', require('./groups.routes')(controllers));
router.use('/bets', require('./bets.routes')(controllers));
router.use('/users', require('./users.routes')(controllers));
router.use('/friend-requests', require('./friends.routes')(controllers));
router.use('/initial-data', require('./initialData.routes')(controllers));
return router;
};
@@ -0,0 +1,13 @@
const express = require('express');
module.exports = ({ initialDataController }) => {
const router = express.Router();
const controller = {
getInitialData: (req, res, next) => initialDataController.getInitialData(req, res, next),
};
router.get('/', controller.getInitialData);
return router;
};
+15
View File
@@ -0,0 +1,15 @@
const express = require('express');
const { validate } = require('../../middleware/validation');
const { updateUserSchema } = require('../../shared/validators/schemas/user.schema');
module.exports = ({ usersController }) => {
const router = express.Router();
const controller = {
updateCurrentUser: (req, res, next) => usersController.updateCurrentUser(req, res, next),
};
router.put('/current', validate(updateUserSchema), controller.updateCurrentUser);
return router;
};