feat: improve user token handling and add club selection clearing button in settings
All checks were successful
Deploy tt-tagebuch / deploy (push) Successful in 43s
All checks were successful
Deploy tt-tagebuch / deploy (push) Successful in 43s
This commit is contained in:
@@ -1,11 +1,16 @@
|
||||
import fs from 'fs';
|
||||
import diaryDateActivityService from '../services/diaryDateActivityService.js';
|
||||
import { emitActivityChanged } from '../services/socketService.js';
|
||||
import DiaryDate from '../models/DiaryDates.js';
|
||||
|
||||
import { devLog } from '../utils/logger.js';
|
||||
import { devLog, errorLog } from '../utils/logger.js';
|
||||
export const createDiaryDateActivity = async (req, res) => {
|
||||
try {
|
||||
const { authcode: userToken } = req.headers;
|
||||
let userToken = req.headers['authcode'] || req.headers['auth-code'] || null;
|
||||
const authHeader = req.headers['authorization'] || req.headers['Authorization'];
|
||||
if (!userToken && authHeader && typeof authHeader === 'string' && authHeader.startsWith('Bearer ')) {
|
||||
userToken = authHeader.split(' ')[1];
|
||||
}
|
||||
const { clubId } = req.params;
|
||||
const { diaryDateId, activity, predefinedActivityId, duration, durationText, orderId, isTimeblock, groupId } = req.body;
|
||||
const activityItem = await diaryDateActivityService.createActivity(userToken, clubId, {
|
||||
@@ -34,7 +39,11 @@ export const createDiaryDateActivity = async (req, res) => {
|
||||
|
||||
export const updateDiaryDateActivity = async (req, res) => {
|
||||
try {
|
||||
const { authcode: userToken } = req.headers;
|
||||
let userToken = req.headers['authcode'] || req.headers['auth-code'] || null;
|
||||
const authHeader = req.headers['authorization'] || req.headers['Authorization'];
|
||||
if (!userToken && authHeader && typeof authHeader === 'string' && authHeader.startsWith('Bearer ')) {
|
||||
userToken = authHeader.split(' ')[1];
|
||||
}
|
||||
const { clubId, id } = req.params;
|
||||
const { predefinedActivityId, customActivityName, duration, durationText, orderId, groupId } = req.body; // Add groupId
|
||||
const updatedActivity = await diaryDateActivityService.updateActivity(userToken, clubId, id, {
|
||||
@@ -62,7 +71,11 @@ export const updateDiaryDateActivity = async (req, res) => {
|
||||
|
||||
export const deleteDiaryDateActivity = async (req, res) => {
|
||||
try {
|
||||
const { authcode: userToken } = req.headers;
|
||||
let userToken = req.headers['authcode'] || req.headers['auth-code'] || null;
|
||||
const authHeader = req.headers['authorization'] || req.headers['Authorization'];
|
||||
if (!userToken && authHeader && typeof authHeader === 'string' && authHeader.startsWith('Bearer ')) {
|
||||
userToken = authHeader.split(' ')[1];
|
||||
}
|
||||
const { clubId, id } = req.params;
|
||||
|
||||
// Hole diaryDateId vor dem Löschen
|
||||
@@ -88,7 +101,11 @@ export const deleteDiaryDateActivity = async (req, res) => {
|
||||
|
||||
export const updateDiaryDateActivityOrder = async (req, res) => {
|
||||
try {
|
||||
const { authcode: userToken } = req.headers;
|
||||
let userToken = req.headers['authcode'] || req.headers['auth-code'] || null;
|
||||
const authHeader = req.headers['authorization'] || req.headers['Authorization'];
|
||||
if (!userToken && authHeader && typeof authHeader === 'string' && authHeader.startsWith('Bearer ')) {
|
||||
userToken = authHeader.split(' ')[1];
|
||||
}
|
||||
const { clubId, id } = req.params;
|
||||
const { orderId } = req.body;
|
||||
const updatedActivity = await diaryDateActivityService.updateActivityOrder(userToken, clubId, id, orderId);
|
||||
@@ -110,19 +127,35 @@ export const updateDiaryDateActivityOrder = async (req, res) => {
|
||||
|
||||
export const getDiaryDateActivities = async (req, res) => {
|
||||
try {
|
||||
const { authcode: userToken } = req.headers;
|
||||
let userToken = req.headers['authcode'] || req.headers['auth-code'] || null;
|
||||
const authHeader = req.headers['authorization'] || req.headers['Authorization'];
|
||||
if (!userToken && authHeader && typeof authHeader === 'string' && authHeader.startsWith('Bearer ')) {
|
||||
userToken = authHeader.split(' ')[1];
|
||||
}
|
||||
const { clubId, diaryDateId } = req.params;
|
||||
const activities = await diaryDateActivityService.getActivities(userToken, clubId, diaryDateId);
|
||||
res.status(200).json(activities);
|
||||
} catch (error) {
|
||||
// Fallback-Logging: schreibe Stacktrace in eine Datei, falls STDOUT/STDERR nicht sichtbar ist
|
||||
try {
|
||||
const msg = `${new Date().toISOString()} - getDiaryDateActivities error: ${error && error.stack ? error.stack : JSON.stringify(error)}\n`;
|
||||
fs.appendFileSync('/tmp/diary-activity-error.log', msg);
|
||||
} catch (e) {
|
||||
// ignore
|
||||
}
|
||||
devLog(error);
|
||||
errorLog(error);
|
||||
res.status(500).json({ error: 'Error getting activities' });
|
||||
}
|
||||
}
|
||||
|
||||
export const addGroupActivity = async(req, res) => {
|
||||
try {
|
||||
const { authcode: userToken } = req.headers;
|
||||
let userToken = req.headers['authcode'] || req.headers['auth-code'] || null;
|
||||
const authHeader = req.headers['authorization'] || req.headers['Authorization'];
|
||||
if (!userToken && authHeader && typeof authHeader === 'string' && authHeader.startsWith('Bearer ')) {
|
||||
userToken = authHeader.split(' ')[1];
|
||||
}
|
||||
const { clubId, diaryDateId, groupId, activity, predefinedActivityId, timeblockId, duration, durationText } = req.body;
|
||||
const activityItem = await diaryDateActivityService.addGroupActivity(
|
||||
userToken,
|
||||
|
||||
Reference in New Issue
Block a user