Update file permissions for multiple backend and frontend files to executable mode (755)

This commit is contained in:
Torsten Schulz (local)
2026-08-26 11:22:28 +02:00
parent 62fcdb821e
commit 6a329583ea
245 changed files with 14 additions and 7 deletions

0
backend/.gitignore vendored Normal file → Executable file
View File

0
backend/ARCHITECTURE.md Normal file → Executable file
View File

0
backend/DATABASE.md Normal file → Executable file
View File

0
backend/DB_SETUP.md Normal file → Executable file
View File

0
backend/ID_HASHING.md Normal file → Executable file
View File

0
backend/MIGRATION_timewish_dates.md Normal file → Executable file
View File

0
backend/MYSQL_SETUP.md Normal file → Executable file
View File

0
backend/README.md Normal file → Executable file
View File

0
backend/SEQUELIZE.md Normal file → Executable file
View File

0
backend/SQL_EXECUTION_ORDER.md Normal file → Executable file
View File

0
backend/add-missing-wednesday.sql Normal file → Executable file
View File

0
backend/add-sick-index.sql Normal file → Executable file
View File

0
backend/add-timewish-dates.sql Normal file → Executable file
View File

0
backend/add-vacation-index.sql Normal file → Executable file
View File

0
backend/adjust-overtime-offset-to-3h.sql Normal file → Executable file
View File

0
backend/create-invitation-table.sql Normal file → Executable file
View File

0
backend/create-watcher-table.sql Normal file → Executable file
View File

0
backend/database-schema.sql Normal file → Executable file
View File

0
backend/env.production.template Normal file → Executable file
View File

0
backend/fix-timezone-correct.js Normal file → Executable file
View File

0
backend/fix-timezone.js Normal file → Executable file
View File

0
backend/fix-worklog-timezone.sql Normal file → Executable file
View File

0
backend/migrate-timewish-simple.sql Normal file → Executable file
View File

0
backend/migrate-timewish.sql Normal file → Executable file
View File

0
backend/nodemon.json Normal file → Executable file
View File

0
backend/package.json Normal file → Executable file
View File

0
backend/replace-thursday-data.sql Normal file → Executable file
View File

0
backend/rollback-timezone.js Normal file → Executable file
View File

0
backend/set-password.js Normal file → Executable file
View File

0
backend/set-user-admin.sql Normal file → Executable file
View File

0
backend/setup-timewish-complete.sql Normal file → Executable file
View File

0
backend/src/config/database.js Normal file → Executable file
View File

0
backend/src/config/passport.js Normal file → Executable file
View File

0
backend/src/controllers/AuthController.js Normal file → Executable file
View File

0
backend/src/controllers/CalendarController.js Normal file → Executable file
View File

0
backend/src/controllers/ExportController.js Normal file → Executable file
View File

0
backend/src/controllers/HolidayController.js Normal file → Executable file
View File

0
backend/src/controllers/InviteController.js Normal file → Executable file
View File

0
backend/src/controllers/OAuthController.js Normal file → Executable file
View File

0
backend/src/controllers/PasswordController.js Normal file → Executable file
View File

0
backend/src/controllers/ProfileController.js Normal file → Executable file
View File

0
backend/src/controllers/RolesController.js Normal file → Executable file
View File

0
backend/src/controllers/SickController.js Normal file → Executable file
View File

0
backend/src/controllers/TimeEntryController.js Normal file → Executable file
View File

0
backend/src/controllers/TimefixController.js Normal file → Executable file
View File

0
backend/src/controllers/TimewishController.js Normal file → Executable file
View File

0
backend/src/controllers/VacationController.js Normal file → Executable file
View File

0
backend/src/controllers/WatcherController.js Normal file → Executable file
View File

0
backend/src/controllers/WeekOverviewController.js Normal file → Executable file
View File

0
backend/src/controllers/WorkdaysController.js Normal file → Executable file
View File

0
backend/src/index.js Normal file → Executable file
View File

0
backend/src/middleware/auth.js Normal file → Executable file
View File

0
backend/src/middleware/hashResponse.js Normal file → Executable file
View File

0
backend/src/middleware/unhashRequest.js Normal file → Executable file
View File

0
backend/src/models/AuthIdentity.js Normal file → Executable file
View File

0
backend/src/models/AuthInfo.js Normal file → Executable file
View File

0
backend/src/models/AuthToken.js Normal file → Executable file
View File

0
backend/src/models/Holiday.js Normal file → Executable file
View File

0
backend/src/models/HolidayState.js Normal file → Executable file
View File

0
backend/src/models/Invitation.js Normal file → Executable file
View File

0
backend/src/models/Sick.js Normal file → Executable file
View File

0
backend/src/models/SickType.js Normal file → Executable file
View File

0
backend/src/models/State.js Normal file → Executable file
View File

0
backend/src/models/Timefix.js Normal file → Executable file
View File

0
backend/src/models/Timewish.js Normal file → Executable file
View File

0
backend/src/models/User.js Normal file → Executable file
View File

0
backend/src/models/Vacation.js Normal file → Executable file
View File

0
backend/src/models/Watcher.js Normal file → Executable file
View File

0
backend/src/models/WeeklyWorktime.js Normal file → Executable file
View File

0
backend/src/models/Worklog.js Normal file → Executable file
View File

0
backend/src/models/index.js Normal file → Executable file
View File

0
backend/src/repositories/UserRepository.js Normal file → Executable file
View File

0
backend/src/repositories/WorklogRepository.js Normal file → Executable file
View File

0
backend/src/routes/auth.js Normal file → Executable file
View File

0
backend/src/routes/calendar.js Normal file → Executable file
View File

0
backend/src/routes/export.js Normal file → Executable file
View File

0
backend/src/routes/holidays.js Normal file → Executable file
View File

0
backend/src/routes/invite.js Normal file → Executable file
View File

0
backend/src/routes/password.js Normal file → Executable file
View File

0
backend/src/routes/profile.js Normal file → Executable file
View File

0
backend/src/routes/roles.js Normal file → Executable file
View File

0
backend/src/routes/sick.js Normal file → Executable file
View File

0
backend/src/routes/timeEntries.js Normal file → Executable file
View File

0
backend/src/routes/timefix.js Normal file → Executable file
View File

0
backend/src/routes/timewish.js Normal file → Executable file
View File

0
backend/src/routes/vacation.js Normal file → Executable file
View File

0
backend/src/routes/watcher.js Normal file → Executable file
View File

0
backend/src/routes/weekOverview.js Normal file → Executable file
View File

0
backend/src/routes/workdays.js Normal file → Executable file
View File

0
backend/src/services/AuthService.js Normal file → Executable file
View File

0
backend/src/services/CalendarService.js Normal file → Executable file
View File

0
backend/src/services/ExportService.js Normal file → Executable file
View File

0
backend/src/services/HolidayService.js Normal file → Executable file
View File

0
backend/src/services/InviteService.js Normal file → Executable file
View File

0
backend/src/services/OAuthService.js Normal file → Executable file
View File

0
backend/src/services/PasswordService.js Normal file → Executable file
View File

0
backend/src/services/ProfileService.js Normal file → Executable file
View File

0
backend/src/services/RolesService.js Normal file → Executable file
View File

0
backend/src/services/SickService.js Normal file → Executable file
View File

21
backend/src/services/TimeEntryService.js Normal file → Executable file
View File

@@ -1361,7 +1361,15 @@ class TimeEntryService {
(Array.isArray(pairs) ? pairs : []).forEach(pair => {
if (!pair.start_time) return;
const startDate = new Date(pair.start_time);
// Der Start kann durch eine Korrektur auf einen anderen Zeitpunkt (und
// damit auch auf einen anderen Kalendertag) verschoben worden sein.
const startFix = timefixMap.get(pair.id)?.find(f => f.fix_type === 'start work');
const effectiveStartTime = startFix
? (typeof startFix.fix_date_time === 'string'
? startFix.fix_date_time.replace(' ', 'T') + 'Z'
: startFix.fix_date_time)
: pair.start_time;
const startDate = new Date(effectiveStartTime);
const dayKey = `${startDate.getFullYear()}-${(startDate.getMonth()+1).toString().padStart(2,'0')}-${startDate.getDate().toString().padStart(2,'0')}`;
if (!dayData[dayKey]) return;
@@ -1379,7 +1387,6 @@ class TimeEntryService {
let workEndUTC = new Date(pair.end_time);
// Prüfe auf Timefix-Korrekturen
const startFix = timefixMap.get(pair.id)?.find(f => f.fix_type === 'start work');
const endFixEntry = allEntries.find(e => {
const action = (typeof e.state === 'string' ? JSON.parse(e.state) : e.state)?.action || e.state;
return action === 'stop work' && e.relatedTo_id === pair.id;
@@ -1433,9 +1440,11 @@ class TimeEntryService {
const originalEndHours = origEnd.hours;
const originalEndMinutes = origEnd.minutes;
// Berechne Arbeitszeit (Dauer bleibt gleich, da beide gleich verschoben sind)
const workStartMs = typeof pair.start_time === 'string' ? new Date(pair.start_time).getTime() : workStartUTC.getTime();
const workEndMs = typeof pair.end_time === 'string' ? new Date(pair.end_time).getTime() : workEndUTC.getTime();
// Die Dauer muss ebenfalls die korrigierten Stempel verwenden. Zuvor
// wurden hier stets die Originalwerte aus dem Worklog verwendet;
// dadurch waren Nettozeit und Wochensumme trotz korrekter Anzeige falsch.
const workStartMs = workStartUTC.getTime();
const workEndMs = workEndUTC.getTime();
const workDuration = workEndMs - workStartMs;
const workHours = Math.floor(workDuration / (1000 * 60 * 60));
const workMinutes = Math.floor((workDuration % (1000 * 60 * 60)) / (1000 * 60));
@@ -1609,8 +1618,6 @@ class TimeEntryService {
// Laufender Arbeitstag
// Prüfe auf Timefix-Korrektur für Start
const startFix = timefixMap.get(pair.id)?.find(f => f.fix_type === 'start work');
const parseTimeString = (timeStr) => {
if (typeof timeStr === 'string') {
const parts = timeStr.split(' ')[1]; // "HH:MM:SS"

Some files were not shown because too many files have changed in this diff Show More