Finished guestbook and gallery. started diary
This commit is contained in:
@@ -13,6 +13,16 @@ class SocialNetworkController {
|
||||
this.getFolderImageList = this.getFolderImageList.bind(this);
|
||||
this.getImageByHash = this.getImageByHash.bind(this);
|
||||
this.changeImage = this.changeImage.bind(this);
|
||||
this.getFoldersByUsername = this.getFoldersByUsername.bind(this);
|
||||
this.deleteFolder = this.deleteFolder.bind(this);
|
||||
this.createGuestbookEntry = this.createGuestbookEntry.bind(this);
|
||||
this.getGuestbookEntries = this.getGuestbookEntries.bind(this);
|
||||
this.deleteGuestbookEntry = this.deleteGuestbookEntry.bind(this);
|
||||
this.getGuestbookImage = this.getGuestbookImage.bind(this);
|
||||
this.createDiaryEntry = this.createDiaryEntry.bind(this);
|
||||
this.updateDiaryEntry = this.updateDiaryEntry.bind(this);
|
||||
this.deleteDiaryEntry = this.deleteDiaryEntry.bind(this);
|
||||
this.getDiaryEntries = this.getDiaryEntries.bind(this);
|
||||
}
|
||||
|
||||
async userSearch(req, res) {
|
||||
@@ -45,7 +55,8 @@ class SocialNetworkController {
|
||||
try {
|
||||
const userId = req.headers.userid;
|
||||
const folderData = req.body;
|
||||
const folder = await this.socialNetworkService.createFolder(userId, folderData);
|
||||
const { folderId } = req.params;
|
||||
const folder = await this.socialNetworkService.createFolder(userId, folderData, folderId);
|
||||
res.status(201).json(folder);
|
||||
} catch (error) {
|
||||
console.error('Error in createFolder:', error);
|
||||
@@ -115,7 +126,6 @@ class SocialNetworkController {
|
||||
const userId = req.headers.userid;
|
||||
const { hash } = req.params;
|
||||
const filePath = await this.socialNetworkService.getImageFilePath(userId, hash);
|
||||
console.log(filePath);
|
||||
res.sendFile(filePath, err => {
|
||||
if (err) {
|
||||
console.error('Error sending file:', err);
|
||||
@@ -141,6 +151,141 @@ class SocialNetworkController {
|
||||
res.status(403).json({ error: error.message || 'Access denied or image not found' });
|
||||
}
|
||||
}
|
||||
|
||||
async getFoldersByUsername(req, res) {
|
||||
try {
|
||||
const { username } = req.params;
|
||||
const requestingUserId = req.headers.userid;
|
||||
if (!username || !requestingUserId) {
|
||||
return res.status(400).json({ error: 'Invalid username or requesting user ID.' });
|
||||
}
|
||||
const folders = await this.socialNetworkService.getFoldersByUsername(username, requestingUserId);
|
||||
if (!folders) {
|
||||
return res.status(404).json({ error: 'No folders found or access denied.' });
|
||||
}
|
||||
res.status(200).json(folders);
|
||||
} catch (error) {
|
||||
console.error('Error in getFoldersByUsername:', error);
|
||||
res.status(500).json({ error: error.message });
|
||||
}
|
||||
}
|
||||
|
||||
async deleteFolder(req, res) {
|
||||
try {
|
||||
const userId = req.headers.userid;
|
||||
const { folderId } = req.params;
|
||||
await this.socialNetworkService.deleteFolder(userId, folderId);
|
||||
res.status(204).send();
|
||||
} catch (error) {
|
||||
console.error('Error in deleteFolder:', error);
|
||||
res.status(500).json({ error: error.message });
|
||||
}
|
||||
}
|
||||
|
||||
async createGuestbookEntry(req, res) {
|
||||
try {
|
||||
const { htmlContent, recipientName } = req.body;
|
||||
const hashedSenderId = req.headers.userid;
|
||||
const image = req.file ? req.file : null;
|
||||
const entry = await this.socialNetworkService.createGuestbookEntry(
|
||||
hashedSenderId,
|
||||
recipientName,
|
||||
htmlContent,
|
||||
image
|
||||
);
|
||||
res.status(201).json(entry);
|
||||
} catch (error) {
|
||||
console.error('Error in createGuestbookEntry:', error);
|
||||
res.status(500).json({ error: error.message });
|
||||
}
|
||||
}
|
||||
|
||||
async getGuestbookEntries(req, res) {
|
||||
try {
|
||||
const hashedUserId = req.headers.userid;
|
||||
const { username, page = 1 } = req.params;
|
||||
const entries = await this.socialNetworkService.getGuestbookEntries(hashedUserId, username, page);
|
||||
res.status(200).json(entries);
|
||||
} catch (error) {
|
||||
console.error('Error in getGuestbookEntries:', error);
|
||||
res.status(500).json({ error: error.message });
|
||||
}
|
||||
}
|
||||
|
||||
async deleteGuestbookEntry(req, res) {
|
||||
try {
|
||||
const hashedUserId = req.headers.userid;
|
||||
const { entryId } = req.params;
|
||||
await this.socialNetworkService.deleteGuestbookEntry(hashedUserId, entryId);
|
||||
res.status(200).json({ message: 'Entry deleted successfully' });
|
||||
} catch (error) {
|
||||
console.error('Error in deleteGuestbookEntry:', error);
|
||||
res.status(500).json({ error: error.message });
|
||||
}
|
||||
}
|
||||
|
||||
async getGuestbookImage(req, res) {
|
||||
try {
|
||||
const userId = req.headers.userid;
|
||||
const { guestbookUserName, entryId } = req.params;
|
||||
const filePath = await this.socialNetworkService.getGuestbookImageFilePath(userId, guestbookUserName, entryId);
|
||||
res.sendFile(filePath, err => {
|
||||
if (err) {
|
||||
console.error('Error sending file:', err);
|
||||
res.status(500).json({ error: 'Error sending file' });
|
||||
}
|
||||
});
|
||||
} catch (error) {
|
||||
console.error('Error in getImageByHash:', error);
|
||||
res.status(403).json({ error: error.message || 'Access denied or image not found' });
|
||||
}
|
||||
}
|
||||
|
||||
async createDiaryEntry(req, res) {
|
||||
try {
|
||||
const { userId, text } = req.body;
|
||||
const entry = await this.socialNetworkService.createDiaryEntry(userId, text);
|
||||
res.status(201).json(entry);
|
||||
} catch (error) {
|
||||
console.error('Error in createDiaryEntry:', error);
|
||||
res.status(500).json({ error: error.message });
|
||||
}
|
||||
}
|
||||
|
||||
async updateDiaryEntry(req, res) {
|
||||
try {
|
||||
const { diaryId } = req.params;
|
||||
const { userId, text } = req.body;
|
||||
const updatedEntry = await this.socialNetworkService.updateDiaryEntry(diaryId, userId, text);
|
||||
res.status(200).json(updatedEntry);
|
||||
} catch (error) {
|
||||
console.error('Error in updateDiaryEntry:', error);
|
||||
res.status(500).json({ error: error.message });
|
||||
}
|
||||
}
|
||||
|
||||
async deleteDiaryEntry(req, res) {
|
||||
try {
|
||||
const { diaryId } = req.params;
|
||||
const { userId } = req.body;
|
||||
const result = await this.socialNetworkService.deleteDiaryEntry(diaryId, userId);
|
||||
res.status(200).json({ message: 'Entry deleted successfully', result });
|
||||
} catch (error) {
|
||||
console.error('Error in deleteDiaryEntry:', error);
|
||||
res.status(500).json({ error: error.message });
|
||||
}
|
||||
}
|
||||
|
||||
async getDiaryEntries(req, res) {
|
||||
try {
|
||||
const { userId } = req.params;
|
||||
const entries = await this.socialNetworkService.getDiaryEntries(userId);
|
||||
res.status(200).json(entries);
|
||||
} catch (error) {
|
||||
console.error('Error in getDiaryEntries:', error);
|
||||
res.status(500).json({ error: error.message });
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export default SocialNetworkController;
|
||||
|
||||
Reference in New Issue
Block a user