Changed controllers to classes, added image functionality

This commit is contained in:
Torsten Schulz
2024-09-21 15:26:29 +02:00
parent e494fe41db
commit f1b6dd74f7
20 changed files with 836 additions and 581 deletions

View File

@@ -1,16 +1,15 @@
import { Router } from 'express';
import { authenticate } from '../middleware/authMiddleware.js';
import { getOpenInterests, changeInterest, deleteInterest, changeTranslation, getOpenContacts, answerContact } from '../controllers/adminController.js';
import AdminController from '../controllers/adminController.js';
const router = Router();
const adminController = new AdminController();
router.get('/interests/open', authenticate, getOpenInterests);
router.post('/interest', authenticate, changeInterest);
router.post('/interest/translation', authenticate, changeTranslation);
router.delete('/interest/:id', authenticate, deleteInterest);
router.get('/interests/open', authenticate, adminController.getOpenInterests);
router.post('/interest', authenticate, adminController.changeInterest);
router.post('/interest/translation', authenticate, adminController.changeTranslation);
router.delete('/interest/:id', authenticate, adminController.deleteInterest);
router.get('/opencontacts', authenticate, adminController.getOpenContacts);
router.post('/contacts/answer', authenticate, adminController.answerContact);
router.get('/opencontacts', authenticate, getOpenContacts);
router.post('/contacts/answer', answerContact);
export default router;
export default router;

View File

@@ -1,11 +1,12 @@
import { Router } from 'express';
import { register, login, forgotPassword, activateAccount } from '../controllers/authController.js';
import AuthController from '../controllers/authController.js';
const router = Router();
const authController = new AuthController();
router.post('/register', register);
router.post('/login', login);
router.post('/forgot-password', forgotPassword);
router.post('/activate', activateAccount);
router.post('/register', authController.register);
router.post('/login', authController.login);
router.post('/forgot-password', authController.forgotPassword);
router.post('/activate', authController.activateAccount);
export default router;

View File

@@ -1,14 +1,14 @@
import { Router } from 'express';
import { getMessages, findRandomChatMatch, registerUser, sendMessage, stopChat, removeUser } from '../controllers/chatController.js';
import ChatController from '../controllers/chatController.js';
const router = Router();
const chatController = new ChatController();
router.get('/messages', getMessages);
router.post('/findMatch', findRandomChatMatch);
router.post('/register', registerUser);
router.post('/sendMessage', sendMessage);
router.post('/getMessages', getMessages);
router.post('/leave', stopChat);
router.post('/exit', removeUser);
router.get('/messages', chatController.getMessages);
router.post('/findMatch', chatController.findRandomChatMatch);
router.post('/register', chatController.registerUser);
router.post('/sendMessage', chatController.sendMessage);
router.post('/leave', chatController.stopChat);
router.post('/exit', chatController.removeUser);
export default router;

View File

@@ -1,8 +1,19 @@
import { Router } from 'express';
import { addContactMessage } from '../controllers/contactController.js';
import ContactService from '../services/ContactService.js';
const router = Router();
class ContactController {
constructor() {
this.addContactMessage = this.addContactMessage.bind(this);
}
router.post('/', addContactMessage);
async addContactMessage(req, res) {
try {
const { email, name, message, acceptDataSave } = req.body;
await ContactService.addContactMessage(email, name, message, acceptDataSave);
res.status(200).json({ status: 'ok' });
} catch (error) {
res.status(409).json({ error: error.message });
}
}
}
export default router;
export default ContactController;

View File

@@ -1,10 +1,11 @@
import { Router } from 'express';
import { menu } from '../controllers/navigationController.js';
import NavigationController from '../controllers/navigationController.js';
import { authenticate } from '../middleware/authMiddleware.js';
const router = Router();
const navigationController = new NavigationController();
router.use(authenticate);
router.get('/:userid', menu);
router.get('/:userid', navigationController.menu);
export default router;
export default router;

View File

@@ -1,24 +1,22 @@
import { Router } from 'express';
import { filterSettings, updateSetting, getTypeParamValueId, getTypeParamValues, getTypeParamValue, getAccountSettings,
getPossibleInterests, getInterests, addInterest, addUserInterest, removeInterest, getVisibilities, updateVisibility }
from '../controllers/settingsController.js';
import SettingsController from '../controllers/settingsController.js';
import { authenticate } from '../middleware/authMiddleware.js';
const router = Router();
const settingsController = new SettingsController();
router.post('/filter', authenticate, filterSettings);
router.post('/update', authenticate, updateSetting);
router.post('/account', authenticate, getAccountSettings);
router.post('/getparamvalues', getTypeParamValues);
router.post('/getparamvalueid', getTypeParamValueId);
router.post('/getparamvalue/:id', getTypeParamValue);
router.get('/getpossibleinterests', authenticate, getPossibleInterests);
router.get('/getuserinterests', authenticate, getInterests);
router.post('/addinterest', authenticate, addInterest);
router.post('/setinterest', authenticate, addUserInterest);
router.get('/removeinterest/:id', authenticate, removeInterest);
router.get('/visibilities', authenticate, getVisibilities);
router.post('/update-visibility', authenticate, updateVisibility);
router.post('/filter', authenticate, settingsController.filterSettings.bind(settingsController));
router.post('/update', authenticate, settingsController.updateSetting.bind(settingsController));
router.post('/account', authenticate, settingsController.getAccountSettings.bind(settingsController));
router.post('/getparamvalues', settingsController.getTypeParamValues.bind(settingsController));
router.post('/getparamvalueid', settingsController.getTypeParamValueId.bind(settingsController));
router.post('/getparamvalue/:id', settingsController.getTypeParamValue.bind(settingsController));
router.get('/getpossibleinterests', authenticate, settingsController.getPossibleInterests.bind(settingsController));
router.get('/getuserinterests', authenticate, settingsController.getInterests.bind(settingsController));
router.post('/addinterest', authenticate, settingsController.addInterest.bind(settingsController));
router.post('/setinterest', authenticate, settingsController.addUserInterest.bind(settingsController));
router.get('/removeinterest/:id', authenticate, settingsController.removeInterest.bind(settingsController));
router.get('/visibilities', authenticate, settingsController.getVisibilities.bind(settingsController));
router.post('/update-visibility', authenticate, settingsController.updateVisibility.bind(settingsController));
export default router;

View File

@@ -7,5 +7,11 @@ const socialNetworkController = new SocialNetworkController();
router.post('/usersearch', authenticate, socialNetworkController.userSearch);
router.get('/profile/:userId', authenticate, socialNetworkController.profile);
router.post('/usersearch', authenticate, socialNetworkController.userSearch);
router.get('/profile/:userId', authenticate, socialNetworkController.profile);
router.post('/folders', authenticate, socialNetworkController.createFolder);
router.get('/folders', authenticate, socialNetworkController.getFolders);
router.post('/images', authenticate, socialNetworkController.uploadImage);
router.get('/images/:imageId', authenticate, socialNetworkController.getImage);
export default router;