Files
yourpart3/backend/controllers/socialnetworkController.js
2024-09-21 00:25:42 +02:00

38 lines
1.3 KiB
JavaScript

import SocialNetworkService from '../services/socialnetworkService.js';
class SocialNetworkController {
constructor() {
this.socialNetworkService = new SocialNetworkService();
this.userSearch = this.userSearch.bind(this);
this.profile = this.profile.bind(this);
}
async userSearch(req, res) {
try {
const { username, ageFrom, ageTo, genders } = req.body;
const users = await this.socialNetworkService.searchUsers({ username, ageFrom, ageTo, genders });
res.status(200).json(users);
} catch (error) {
console.error('Error in userSearch:', error);
res.status(500).json({ error: error.message });
}
}
async profile(req, res) {
try {
const { userId } = req.params;
const requestingUserId = req.headers.userid;
if (!userId || !requestingUserId) {
return res.status(400).json({ error: 'Invalid user or requesting user ID.' });
}
const profile = await this.socialNetworkService.getProfile(userId, requestingUserId);
res.status(200).json(profile);
} catch (error) {
console.error('Error in profile:', error);
res.status(500).json({ error: error.message });
}
}
}
export default SocialNetworkController;