Bilder hinzugefügt

This commit is contained in:
Torsten Schulz
2024-09-11 17:57:56 +02:00
parent 543a2f9259
commit 3b1021f7c8
7 changed files with 250 additions and 56 deletions

View File

@@ -1,9 +1,10 @@
import UserClub from "../models/UserClub.js";
import { checkAccess } from "../utils/userUtils.js";
import { getUserByToken } from "../utils/userUtils.js";
import HttpError from "../exceptions/HttpError.js";
import Member from "../models/Member.js";
import { response } from "express";
import path from 'path';
import fs from 'fs';
import sharp from 'sharp';
class MemberService {
async getApprovalRequests(userToken, clubId) {
@@ -79,6 +80,45 @@ class MemberService {
}
}
}
async uploadMemberImage(userToken, clubId, memberId, imageBuffer) {
try {
console.log('------>', userToken, clubId, memberId, imageBuffer);
await checkAccess(userToken, clubId);
const member = await Member.findOne({ where: { id: memberId, clubId: clubId } });
if (!member) {
return { status: 404, error: 'Member not found in this club' };
}
const imagePath = path.join('images', 'members', `${memberId}.jpg`);
await sharp(imageBuffer)
.resize(600, 600)
.jpeg({ quality: 80 })
.toFile(imagePath);
return { status: 200, message: 'Image uploaded successfully' };
} catch (error) {
console.error('[uploadMemberImage] - Error:', error);
return { status: 500, error: 'Failed to upload image' };
}
}
async getMemberImage(userToken, clubId, memberId) {
try {
await checkAccess(userToken, clubId);
const member = await Member.findOne({ where: { id: memberId, clubId: clubId } });
if (!member) {
return { status: 404, error: 'Member not found in this club' };
}
const imagePath = path.join('images', 'members', `${memberId}.jpg`);
if (!fs.existsSync(imagePath)) {
return { status: 404, error: 'Image not found' };
}
return { status: 200, imagePath: path.resolve(imagePath) };
} catch (error) {
console.error('[getMemberImage] - Error:', error);
return { status: 500, error: 'Failed to retrieve image' };
}
}
}
export default new MemberService();