import User from '../models/community/user.js';
import { updateUserTimestamp } from '../utils/redis.js';

export const authenticate = async (req, res, next) => {
    const { userid: userId, authcode: authCode } = req.headers;
    if (!userId || !authCode) {
        return res.status(401).json({ error: 'Unauthorized: Missing credentials' });
    }
    const user = await User.findOne({ where: { hashedId: userId, authCode } });
    if (!user) {
        return res.status(401).json({ error: 'Unauthorized: Invalid credentials' });
    }
    try {
        await updateUserTimestamp(user.id);
    } catch (error) {
        console.error('Fehler beim Aktualisieren des Zeitstempels:', error);
    }
    next();
};

// Default export für Kompatibilität
export default { authenticate };
