Bilder hinzugefügt
This commit is contained in:
@@ -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();
|
||||
Reference in New Issue
Block a user