From 6a329583ea327f839752b206d77764f83c17013b Mon Sep 17 00:00:00 2001 From: "Torsten Schulz (local)" Date: Wed, 26 Aug 2026 11:22:28 +0200 Subject: [PATCH] Update file permissions for multiple backend and frontend files to executable mode (755) --- .deployment-files | 0 .deployment-info | 0 .gitignore | 0 .google.oauth | 0 ANDROID_FRONTEND_PLAN.md | 0 ANDROID_TECHNICAL_NEXT_STEPS.md | 0 APACHE2_DEPLOYMENT.md | 0 AUTH.md | 0 CHECK_SERVICES.md | 0 DEPLOYMENT.md | 0 DEPLOYMENT_CHECKLIST.md | 0 FIX_TERSER.md | 0 GOOGLE_OAUTH_MANUAL_STEPS.md | 0 OAUTH_SETUP.md | 0 PLAYSTORE_DATENSCHUTZERKLAERUNG.md | 0 QUICKSTART.md | 0 QUICKSTART_DEPLOYMENT.md | 0 README.md | 0 SETUP.md | 0 apache2.conf | 0 backend/.gitignore | 0 backend/ARCHITECTURE.md | 0 backend/DATABASE.md | 0 backend/DB_SETUP.md | 0 backend/ID_HASHING.md | 0 backend/MIGRATION_timewish_dates.md | 0 backend/MYSQL_SETUP.md | 0 backend/README.md | 0 backend/SEQUELIZE.md | 0 backend/SQL_EXECUTION_ORDER.md | 0 backend/add-missing-wednesday.sql | 0 backend/add-sick-index.sql | 0 backend/add-timewish-dates.sql | 0 backend/add-vacation-index.sql | 0 backend/adjust-overtime-offset-to-3h.sql | 0 backend/create-invitation-table.sql | 0 backend/create-watcher-table.sql | 0 backend/database-schema.sql | 0 backend/env.production.template | 0 backend/fix-timezone-correct.js | 0 backend/fix-timezone.js | 0 backend/fix-worklog-timezone.sql | 0 backend/migrate-timewish-simple.sql | 0 backend/migrate-timewish.sql | 0 backend/nodemon.json | 0 backend/package.json | 0 backend/replace-thursday-data.sql | 0 backend/rollback-timezone.js | 0 backend/set-password.js | 0 backend/set-user-admin.sql | 0 backend/setup-timewish-complete.sql | 0 backend/src/config/database.js | 0 backend/src/config/passport.js | 0 backend/src/controllers/AuthController.js | 0 backend/src/controllers/CalendarController.js | 0 backend/src/controllers/ExportController.js | 0 backend/src/controllers/HolidayController.js | 0 backend/src/controllers/InviteController.js | 0 backend/src/controllers/OAuthController.js | 0 backend/src/controllers/PasswordController.js | 0 backend/src/controllers/ProfileController.js | 0 backend/src/controllers/RolesController.js | 0 backend/src/controllers/SickController.js | 0 .../src/controllers/TimeEntryController.js | 0 backend/src/controllers/TimefixController.js | 0 backend/src/controllers/TimewishController.js | 0 backend/src/controllers/VacationController.js | 0 backend/src/controllers/WatcherController.js | 0 .../src/controllers/WeekOverviewController.js | 0 backend/src/controllers/WorkdaysController.js | 0 backend/src/index.js | 0 backend/src/middleware/auth.js | 0 backend/src/middleware/hashResponse.js | 0 backend/src/middleware/unhashRequest.js | 0 backend/src/models/AuthIdentity.js | 0 backend/src/models/AuthInfo.js | 0 backend/src/models/AuthToken.js | 0 backend/src/models/Holiday.js | 0 backend/src/models/HolidayState.js | 0 backend/src/models/Invitation.js | 0 backend/src/models/Sick.js | 0 backend/src/models/SickType.js | 0 backend/src/models/State.js | 0 backend/src/models/Timefix.js | 0 backend/src/models/Timewish.js | 0 backend/src/models/User.js | 0 backend/src/models/Vacation.js | 0 backend/src/models/Watcher.js | 0 backend/src/models/WeeklyWorktime.js | 0 backend/src/models/Worklog.js | 0 backend/src/models/index.js | 0 backend/src/repositories/UserRepository.js | 0 backend/src/repositories/WorklogRepository.js | 0 backend/src/routes/auth.js | 0 backend/src/routes/calendar.js | 0 backend/src/routes/export.js | 0 backend/src/routes/holidays.js | 0 backend/src/routes/invite.js | 0 backend/src/routes/password.js | 0 backend/src/routes/profile.js | 0 backend/src/routes/roles.js | 0 backend/src/routes/sick.js | 0 backend/src/routes/timeEntries.js | 0 backend/src/routes/timefix.js | 0 backend/src/routes/timewish.js | 0 backend/src/routes/vacation.js | 0 backend/src/routes/watcher.js | 0 backend/src/routes/weekOverview.js | 0 backend/src/routes/workdays.js | 0 backend/src/services/AuthService.js | 0 backend/src/services/CalendarService.js | 0 backend/src/services/ExportService.js | 0 backend/src/services/HolidayService.js | 0 backend/src/services/InviteService.js | 0 backend/src/services/OAuthService.js | 0 backend/src/services/PasswordService.js | 0 backend/src/services/ProfileService.js | 0 backend/src/services/RolesService.js | 0 backend/src/services/SickService.js | 0 backend/src/services/TimeEntryService.js | 21 ++++++++++++------ backend/src/services/TimefixService.js | 0 backend/src/services/TimewishService.js | 0 backend/src/services/VacationService.js | 0 backend/src/services/WatcherService.js | 0 backend/src/services/WorkdaysService.js | 0 backend/src/utils/hashId.js | 0 backend/test-password.js | 0 backend/update-overtime-offset.sql | 0 .../stechuhr3.tsschulz.de-le-ssl.conf | 0 deployment-configs/stechuhr3.tsschulz.de.conf | 0 ecosystem.config.js | 0 frontend/.env.development | 0 frontend/.env.production | 0 frontend/.gitignore | 0 frontend/README.md | 0 frontend/images/stechuhr.png | Bin frontend/index.html | 0 frontend/package.json | 0 frontend/public/favicon.ico | Bin frontend/public/stechuhr.png | Bin frontend/src/App.vue | 0 frontend/src/assets/main.css | 0 frontend/src/components/AppBrand.vue | 0 frontend/src/components/Modal.vue | 0 frontend/src/components/SideMenu.vue | 0 frontend/src/components/StatusBox.vue | 0 frontend/src/composables/useModal.js | 0 frontend/src/config/api.js | 0 frontend/src/config/version.js | 0 frontend/src/main.js | 0 frontend/src/router/index.js | 0 frontend/src/stores/authStore.js | 0 frontend/src/stores/timeStore.js | 0 frontend/src/views/AccountDeletion.vue | 0 frontend/src/views/Calendar.vue | 0 frontend/src/views/Dashboard.vue | 0 frontend/src/views/Entries.vue | 0 frontend/src/views/Export.vue | 0 frontend/src/views/Holidays.vue | 0 frontend/src/views/Invite.vue | 0 frontend/src/views/Login.vue | 0 frontend/src/views/OAuthCallback.vue | 0 frontend/src/views/PasswordChange.vue | 0 frontend/src/views/PasswordForgot.vue | 0 frontend/src/views/PasswordReset.vue | 0 frontend/src/views/Permissions.vue | 0 frontend/src/views/Privacy.vue | 0 frontend/src/views/Profile.vue | 0 frontend/src/views/Register.vue | 0 frontend/src/views/Roles.vue | 0 frontend/src/views/Sick.vue | 0 frontend/src/views/Stats.vue | 0 frontend/src/views/Timefix.vue | 0 frontend/src/views/Timewish.vue | 0 frontend/src/views/Vacation.vue | 0 frontend/src/views/WeekOverview.vue | 0 frontend/src/views/Workdays.vue | 0 frontend/vite.config.js | 0 mobile-app/README.md | 0 mobile-app/build.gradle.kts | 0 mobile-app/composeApp/build.gradle.kts | 0 .../composeApp/release/composeApp-release.aab | Bin .../composeApp/src/debug/AndroidManifest.xml | 0 .../composeApp/src/main/AndroidManifest.xml | 0 .../de/tsschulz/timeclock/MainActivity.kt | 0 .../timeclock/TimeClockApplication.kt | 0 .../de/tsschulz/timeclock/config/AppConfig.kt | 0 .../timeclock/data/admin/AdminRepository.kt | 0 .../tsschulz/timeclock/data/api/AdminDtos.kt | 0 .../timeclock/data/api/ApiException.kt | 0 .../tsschulz/timeclock/data/api/AuthDtos.kt | 0 .../timeclock/data/api/BookingDtos.kt | 0 .../data/api/FlexibleStringSerializer.kt | 0 .../timeclock/data/api/SettingsDtos.kt | 0 .../timeclock/data/api/TimeClockApiClient.kt | 0 .../tsschulz/timeclock/data/api/TimeDtos.kt | 0 .../timeclock/data/auth/AuthRepository.kt | 0 .../timeclock/data/auth/TokenStore.kt | 0 .../data/booking/BookingRepository.kt | 0 .../data/offline/OfflineClockQueue.kt | 0 .../data/settings/SettingsRepository.kt | 0 .../timeclock/data/time/TimeRepository.kt | 0 .../de/tsschulz/timeclock/ui/TimeClockApp.kt | 0 .../timeclock/ui/admin/AdminScreens.kt | 0 .../timeclock/ui/admin/AdminViewModel.kt | 0 .../timeclock/ui/auth/AuthViewModel.kt | 0 .../tsschulz/timeclock/ui/auth/LoginScreen.kt | 0 .../timeclock/ui/booking/BookingScreens.kt | 0 .../timeclock/ui/booking/BookingViewModel.kt | 0 .../timeclock/ui/components/TcBrandTitle.kt | 0 .../timeclock/ui/components/TcButton.kt | 0 .../timeclock/ui/components/TcCard.kt | 0 .../timeclock/ui/components/TcNavigation.kt | 0 .../timeclock/ui/components/TcScaffold.kt | 0 .../timeclock/ui/components/TcStateViews.kt | 0 .../timeclock/ui/components/TcStatusBox.kt | 0 .../timeclock/ui/components/TcTextField.kt | 0 .../tsschulz/timeclock/ui/model/MockData.kt | 0 .../tsschulz/timeclock/ui/model/UiModels.kt | 0 .../timeclock/ui/settings/SettingsScreens.kt | 0 .../ui/settings/SettingsViewModel.kt | 0 .../timeclock/ui/settings/VersionScreen.kt | 0 .../timeclock/ui/theme/TimeClockTheme.kt | 0 .../timeclock/ui/time/StatusDisplay.kt | 0 .../tsschulz/timeclock/ui/time/TimeScreens.kt | 0 .../timeclock/ui/time/TimeViewModel.kt | 0 .../res/drawable-nodpi/ic_stechuhr_logo.png | Bin .../res/mipmap-anydpi-v26/ic_launcher.xml | 0 .../mipmap-anydpi-v26/ic_launcher_round.xml | 0 .../composeApp/src/main/res/values/colors.xml | 0 .../composeApp/src/main/res/values/styles.xml | 0 .../data/api/ApiSerializationTest.kt | 0 .../data/offline/PendingClockActionTest.kt | 0 mobile-app/gradle.properties | 0 mobile-app/gradle/wrapper/gradle-wrapper.jar | Bin .../gradle/wrapper/gradle-wrapper.properties | 0 mobile-app/gradlew.bat | 0 mobile-app/settings.gradle.kts | 0 nginx.conf | 0 package-lock.json | 0 package.json | 0 renovate.json | 0 scripts/README.md | 0 timeclock.service | 0 worklog_backup_20251015_215729.sql | 0 245 files changed, 14 insertions(+), 7 deletions(-) mode change 100644 => 100755 .deployment-files mode change 100644 => 100755 .deployment-info mode change 100644 => 100755 .gitignore mode change 100644 => 100755 .google.oauth mode change 100644 => 100755 ANDROID_FRONTEND_PLAN.md mode change 100644 => 100755 ANDROID_TECHNICAL_NEXT_STEPS.md mode change 100644 => 100755 APACHE2_DEPLOYMENT.md mode change 100644 => 100755 AUTH.md mode change 100644 => 100755 CHECK_SERVICES.md mode change 100644 => 100755 DEPLOYMENT.md mode change 100644 => 100755 DEPLOYMENT_CHECKLIST.md mode change 100644 => 100755 FIX_TERSER.md mode change 100644 => 100755 GOOGLE_OAUTH_MANUAL_STEPS.md mode change 100644 => 100755 OAUTH_SETUP.md mode change 100644 => 100755 PLAYSTORE_DATENSCHUTZERKLAERUNG.md mode change 100644 => 100755 QUICKSTART.md mode change 100644 => 100755 QUICKSTART_DEPLOYMENT.md mode change 100644 => 100755 README.md mode change 100644 => 100755 SETUP.md mode change 100644 => 100755 apache2.conf mode change 100644 => 100755 backend/.gitignore mode change 100644 => 100755 backend/ARCHITECTURE.md mode change 100644 => 100755 backend/DATABASE.md mode change 100644 => 100755 backend/DB_SETUP.md mode change 100644 => 100755 backend/ID_HASHING.md mode change 100644 => 100755 backend/MIGRATION_timewish_dates.md mode change 100644 => 100755 backend/MYSQL_SETUP.md mode change 100644 => 100755 backend/README.md mode change 100644 => 100755 backend/SEQUELIZE.md mode change 100644 => 100755 backend/SQL_EXECUTION_ORDER.md mode change 100644 => 100755 backend/add-missing-wednesday.sql mode change 100644 => 100755 backend/add-sick-index.sql mode change 100644 => 100755 backend/add-timewish-dates.sql mode change 100644 => 100755 backend/add-vacation-index.sql mode change 100644 => 100755 backend/adjust-overtime-offset-to-3h.sql mode change 100644 => 100755 backend/create-invitation-table.sql mode change 100644 => 100755 backend/create-watcher-table.sql mode change 100644 => 100755 backend/database-schema.sql mode change 100644 => 100755 backend/env.production.template mode change 100644 => 100755 backend/fix-timezone-correct.js mode change 100644 => 100755 backend/fix-timezone.js mode change 100644 => 100755 backend/fix-worklog-timezone.sql mode change 100644 => 100755 backend/migrate-timewish-simple.sql mode change 100644 => 100755 backend/migrate-timewish.sql mode change 100644 => 100755 backend/nodemon.json mode change 100644 => 100755 backend/package.json mode change 100644 => 100755 backend/replace-thursday-data.sql mode change 100644 => 100755 backend/rollback-timezone.js mode change 100644 => 100755 backend/set-password.js mode change 100644 => 100755 backend/set-user-admin.sql mode change 100644 => 100755 backend/setup-timewish-complete.sql mode change 100644 => 100755 backend/src/config/database.js mode change 100644 => 100755 backend/src/config/passport.js mode change 100644 => 100755 backend/src/controllers/AuthController.js mode change 100644 => 100755 backend/src/controllers/CalendarController.js mode change 100644 => 100755 backend/src/controllers/ExportController.js mode change 100644 => 100755 backend/src/controllers/HolidayController.js mode change 100644 => 100755 backend/src/controllers/InviteController.js mode change 100644 => 100755 backend/src/controllers/OAuthController.js mode change 100644 => 100755 backend/src/controllers/PasswordController.js mode change 100644 => 100755 backend/src/controllers/ProfileController.js mode change 100644 => 100755 backend/src/controllers/RolesController.js mode change 100644 => 100755 backend/src/controllers/SickController.js mode change 100644 => 100755 backend/src/controllers/TimeEntryController.js mode change 100644 => 100755 backend/src/controllers/TimefixController.js mode change 100644 => 100755 backend/src/controllers/TimewishController.js mode change 100644 => 100755 backend/src/controllers/VacationController.js mode change 100644 => 100755 backend/src/controllers/WatcherController.js mode change 100644 => 100755 backend/src/controllers/WeekOverviewController.js mode change 100644 => 100755 backend/src/controllers/WorkdaysController.js mode change 100644 => 100755 backend/src/index.js mode change 100644 => 100755 backend/src/middleware/auth.js mode change 100644 => 100755 backend/src/middleware/hashResponse.js mode change 100644 => 100755 backend/src/middleware/unhashRequest.js mode change 100644 => 100755 backend/src/models/AuthIdentity.js mode change 100644 => 100755 backend/src/models/AuthInfo.js mode change 100644 => 100755 backend/src/models/AuthToken.js mode change 100644 => 100755 backend/src/models/Holiday.js mode change 100644 => 100755 backend/src/models/HolidayState.js mode change 100644 => 100755 backend/src/models/Invitation.js mode change 100644 => 100755 backend/src/models/Sick.js mode change 100644 => 100755 backend/src/models/SickType.js mode change 100644 => 100755 backend/src/models/State.js mode change 100644 => 100755 backend/src/models/Timefix.js mode change 100644 => 100755 backend/src/models/Timewish.js mode change 100644 => 100755 backend/src/models/User.js mode change 100644 => 100755 backend/src/models/Vacation.js mode change 100644 => 100755 backend/src/models/Watcher.js mode change 100644 => 100755 backend/src/models/WeeklyWorktime.js mode change 100644 => 100755 backend/src/models/Worklog.js mode change 100644 => 100755 backend/src/models/index.js mode change 100644 => 100755 backend/src/repositories/UserRepository.js mode change 100644 => 100755 backend/src/repositories/WorklogRepository.js mode change 100644 => 100755 backend/src/routes/auth.js mode change 100644 => 100755 backend/src/routes/calendar.js mode change 100644 => 100755 backend/src/routes/export.js mode change 100644 => 100755 backend/src/routes/holidays.js mode change 100644 => 100755 backend/src/routes/invite.js mode change 100644 => 100755 backend/src/routes/password.js mode change 100644 => 100755 backend/src/routes/profile.js mode change 100644 => 100755 backend/src/routes/roles.js mode change 100644 => 100755 backend/src/routes/sick.js mode change 100644 => 100755 backend/src/routes/timeEntries.js mode change 100644 => 100755 backend/src/routes/timefix.js mode change 100644 => 100755 backend/src/routes/timewish.js mode change 100644 => 100755 backend/src/routes/vacation.js mode change 100644 => 100755 backend/src/routes/watcher.js mode change 100644 => 100755 backend/src/routes/weekOverview.js mode change 100644 => 100755 backend/src/routes/workdays.js mode change 100644 => 100755 backend/src/services/AuthService.js mode change 100644 => 100755 backend/src/services/CalendarService.js mode change 100644 => 100755 backend/src/services/ExportService.js mode change 100644 => 100755 backend/src/services/HolidayService.js mode change 100644 => 100755 backend/src/services/InviteService.js mode change 100644 => 100755 backend/src/services/OAuthService.js mode change 100644 => 100755 backend/src/services/PasswordService.js mode change 100644 => 100755 backend/src/services/ProfileService.js mode change 100644 => 100755 backend/src/services/RolesService.js mode change 100644 => 100755 backend/src/services/SickService.js mode change 100644 => 100755 backend/src/services/TimeEntryService.js mode change 100644 => 100755 backend/src/services/TimefixService.js mode change 100644 => 100755 backend/src/services/TimewishService.js mode change 100644 => 100755 backend/src/services/VacationService.js mode change 100644 => 100755 backend/src/services/WatcherService.js mode change 100644 => 100755 backend/src/services/WorkdaysService.js mode change 100644 => 100755 backend/src/utils/hashId.js mode change 100644 => 100755 backend/test-password.js mode change 100644 => 100755 backend/update-overtime-offset.sql mode change 100644 => 100755 deployment-configs/stechuhr3.tsschulz.de-le-ssl.conf mode change 100644 => 100755 deployment-configs/stechuhr3.tsschulz.de.conf mode change 100644 => 100755 ecosystem.config.js mode change 100644 => 100755 frontend/.env.development mode change 100644 => 100755 frontend/.env.production mode change 100644 => 100755 frontend/.gitignore mode change 100644 => 100755 frontend/README.md mode change 100644 => 100755 frontend/images/stechuhr.png mode change 100644 => 100755 frontend/index.html mode change 100644 => 100755 frontend/package.json mode change 100644 => 100755 frontend/public/favicon.ico mode change 100644 => 100755 frontend/public/stechuhr.png mode change 100644 => 100755 frontend/src/App.vue mode change 100644 => 100755 frontend/src/assets/main.css mode change 100644 => 100755 frontend/src/components/AppBrand.vue mode change 100644 => 100755 frontend/src/components/Modal.vue mode change 100644 => 100755 frontend/src/components/SideMenu.vue mode change 100644 => 100755 frontend/src/components/StatusBox.vue mode change 100644 => 100755 frontend/src/composables/useModal.js mode change 100644 => 100755 frontend/src/config/api.js mode change 100644 => 100755 frontend/src/config/version.js mode change 100644 => 100755 frontend/src/main.js mode change 100644 => 100755 frontend/src/router/index.js mode change 100644 => 100755 frontend/src/stores/authStore.js mode change 100644 => 100755 frontend/src/stores/timeStore.js mode change 100644 => 100755 frontend/src/views/AccountDeletion.vue mode change 100644 => 100755 frontend/src/views/Calendar.vue mode change 100644 => 100755 frontend/src/views/Dashboard.vue mode change 100644 => 100755 frontend/src/views/Entries.vue mode change 100644 => 100755 frontend/src/views/Export.vue mode change 100644 => 100755 frontend/src/views/Holidays.vue mode change 100644 => 100755 frontend/src/views/Invite.vue mode change 100644 => 100755 frontend/src/views/Login.vue mode change 100644 => 100755 frontend/src/views/OAuthCallback.vue mode change 100644 => 100755 frontend/src/views/PasswordChange.vue mode change 100644 => 100755 frontend/src/views/PasswordForgot.vue mode change 100644 => 100755 frontend/src/views/PasswordReset.vue mode change 100644 => 100755 frontend/src/views/Permissions.vue mode change 100644 => 100755 frontend/src/views/Privacy.vue mode change 100644 => 100755 frontend/src/views/Profile.vue mode change 100644 => 100755 frontend/src/views/Register.vue mode change 100644 => 100755 frontend/src/views/Roles.vue mode change 100644 => 100755 frontend/src/views/Sick.vue mode change 100644 => 100755 frontend/src/views/Stats.vue mode change 100644 => 100755 frontend/src/views/Timefix.vue mode change 100644 => 100755 frontend/src/views/Timewish.vue mode change 100644 => 100755 frontend/src/views/Vacation.vue mode change 100644 => 100755 frontend/src/views/WeekOverview.vue mode change 100644 => 100755 frontend/src/views/Workdays.vue mode change 100644 => 100755 frontend/vite.config.js mode change 100644 => 100755 mobile-app/README.md mode change 100644 => 100755 mobile-app/build.gradle.kts mode change 100644 => 100755 mobile-app/composeApp/build.gradle.kts mode change 100644 => 100755 mobile-app/composeApp/release/composeApp-release.aab mode change 100644 => 100755 mobile-app/composeApp/src/debug/AndroidManifest.xml mode change 100644 => 100755 mobile-app/composeApp/src/main/AndroidManifest.xml mode change 100644 => 100755 mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/MainActivity.kt mode change 100644 => 100755 mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/TimeClockApplication.kt mode change 100644 => 100755 mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/config/AppConfig.kt mode change 100644 => 100755 mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/admin/AdminRepository.kt mode change 100644 => 100755 mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/api/AdminDtos.kt mode change 100644 => 100755 mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/api/ApiException.kt mode change 100644 => 100755 mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/api/AuthDtos.kt mode change 100644 => 100755 mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/api/BookingDtos.kt mode change 100644 => 100755 mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/api/FlexibleStringSerializer.kt mode change 100644 => 100755 mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/api/SettingsDtos.kt mode change 100644 => 100755 mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/api/TimeClockApiClient.kt mode change 100644 => 100755 mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/api/TimeDtos.kt mode change 100644 => 100755 mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/auth/AuthRepository.kt mode change 100644 => 100755 mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/auth/TokenStore.kt mode change 100644 => 100755 mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/booking/BookingRepository.kt mode change 100644 => 100755 mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/offline/OfflineClockQueue.kt mode change 100644 => 100755 mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/settings/SettingsRepository.kt mode change 100644 => 100755 mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/time/TimeRepository.kt mode change 100644 => 100755 mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/TimeClockApp.kt mode change 100644 => 100755 mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/admin/AdminScreens.kt mode change 100644 => 100755 mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/admin/AdminViewModel.kt mode change 100644 => 100755 mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/auth/AuthViewModel.kt mode change 100644 => 100755 mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/auth/LoginScreen.kt mode change 100644 => 100755 mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/booking/BookingScreens.kt mode change 100644 => 100755 mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/booking/BookingViewModel.kt mode change 100644 => 100755 mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/components/TcBrandTitle.kt mode change 100644 => 100755 mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/components/TcButton.kt mode change 100644 => 100755 mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/components/TcCard.kt mode change 100644 => 100755 mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/components/TcNavigation.kt mode change 100644 => 100755 mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/components/TcScaffold.kt mode change 100644 => 100755 mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/components/TcStateViews.kt mode change 100644 => 100755 mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/components/TcStatusBox.kt mode change 100644 => 100755 mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/components/TcTextField.kt mode change 100644 => 100755 mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/model/MockData.kt mode change 100644 => 100755 mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/model/UiModels.kt mode change 100644 => 100755 mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/settings/SettingsScreens.kt mode change 100644 => 100755 mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/settings/SettingsViewModel.kt mode change 100644 => 100755 mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/settings/VersionScreen.kt mode change 100644 => 100755 mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/theme/TimeClockTheme.kt mode change 100644 => 100755 mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/time/StatusDisplay.kt mode change 100644 => 100755 mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/time/TimeScreens.kt mode change 100644 => 100755 mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/time/TimeViewModel.kt mode change 100644 => 100755 mobile-app/composeApp/src/main/res/drawable-nodpi/ic_stechuhr_logo.png mode change 100644 => 100755 mobile-app/composeApp/src/main/res/mipmap-anydpi-v26/ic_launcher.xml mode change 100644 => 100755 mobile-app/composeApp/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml mode change 100644 => 100755 mobile-app/composeApp/src/main/res/values/colors.xml mode change 100644 => 100755 mobile-app/composeApp/src/main/res/values/styles.xml mode change 100644 => 100755 mobile-app/composeApp/src/test/kotlin/de/tsschulz/timeclock/data/api/ApiSerializationTest.kt mode change 100644 => 100755 mobile-app/composeApp/src/test/kotlin/de/tsschulz/timeclock/data/offline/PendingClockActionTest.kt mode change 100644 => 100755 mobile-app/gradle.properties mode change 100644 => 100755 mobile-app/gradle/wrapper/gradle-wrapper.jar mode change 100644 => 100755 mobile-app/gradle/wrapper/gradle-wrapper.properties mode change 100644 => 100755 mobile-app/gradlew.bat mode change 100644 => 100755 mobile-app/settings.gradle.kts mode change 100644 => 100755 nginx.conf mode change 100644 => 100755 package-lock.json mode change 100644 => 100755 package.json mode change 100644 => 100755 renovate.json mode change 100644 => 100755 scripts/README.md mode change 100644 => 100755 timeclock.service mode change 100644 => 100755 worklog_backup_20251015_215729.sql diff --git a/.deployment-files b/.deployment-files old mode 100644 new mode 100755 diff --git a/.deployment-info b/.deployment-info old mode 100644 new mode 100755 diff --git a/.gitignore b/.gitignore old mode 100644 new mode 100755 diff --git a/.google.oauth b/.google.oauth old mode 100644 new mode 100755 diff --git a/ANDROID_FRONTEND_PLAN.md b/ANDROID_FRONTEND_PLAN.md old mode 100644 new mode 100755 diff --git a/ANDROID_TECHNICAL_NEXT_STEPS.md b/ANDROID_TECHNICAL_NEXT_STEPS.md old mode 100644 new mode 100755 diff --git a/APACHE2_DEPLOYMENT.md b/APACHE2_DEPLOYMENT.md old mode 100644 new mode 100755 diff --git a/AUTH.md b/AUTH.md old mode 100644 new mode 100755 diff --git a/CHECK_SERVICES.md b/CHECK_SERVICES.md old mode 100644 new mode 100755 diff --git a/DEPLOYMENT.md b/DEPLOYMENT.md old mode 100644 new mode 100755 diff --git a/DEPLOYMENT_CHECKLIST.md b/DEPLOYMENT_CHECKLIST.md old mode 100644 new mode 100755 diff --git a/FIX_TERSER.md b/FIX_TERSER.md old mode 100644 new mode 100755 diff --git a/GOOGLE_OAUTH_MANUAL_STEPS.md b/GOOGLE_OAUTH_MANUAL_STEPS.md old mode 100644 new mode 100755 diff --git a/OAUTH_SETUP.md b/OAUTH_SETUP.md old mode 100644 new mode 100755 diff --git a/PLAYSTORE_DATENSCHUTZERKLAERUNG.md b/PLAYSTORE_DATENSCHUTZERKLAERUNG.md old mode 100644 new mode 100755 diff --git a/QUICKSTART.md b/QUICKSTART.md old mode 100644 new mode 100755 diff --git a/QUICKSTART_DEPLOYMENT.md b/QUICKSTART_DEPLOYMENT.md old mode 100644 new mode 100755 diff --git a/README.md b/README.md old mode 100644 new mode 100755 diff --git a/SETUP.md b/SETUP.md old mode 100644 new mode 100755 diff --git a/apache2.conf b/apache2.conf old mode 100644 new mode 100755 diff --git a/backend/.gitignore b/backend/.gitignore old mode 100644 new mode 100755 diff --git a/backend/ARCHITECTURE.md b/backend/ARCHITECTURE.md old mode 100644 new mode 100755 diff --git a/backend/DATABASE.md b/backend/DATABASE.md old mode 100644 new mode 100755 diff --git a/backend/DB_SETUP.md b/backend/DB_SETUP.md old mode 100644 new mode 100755 diff --git a/backend/ID_HASHING.md b/backend/ID_HASHING.md old mode 100644 new mode 100755 diff --git a/backend/MIGRATION_timewish_dates.md b/backend/MIGRATION_timewish_dates.md old mode 100644 new mode 100755 diff --git a/backend/MYSQL_SETUP.md b/backend/MYSQL_SETUP.md old mode 100644 new mode 100755 diff --git a/backend/README.md b/backend/README.md old mode 100644 new mode 100755 diff --git a/backend/SEQUELIZE.md b/backend/SEQUELIZE.md old mode 100644 new mode 100755 diff --git a/backend/SQL_EXECUTION_ORDER.md b/backend/SQL_EXECUTION_ORDER.md old mode 100644 new mode 100755 diff --git a/backend/add-missing-wednesday.sql b/backend/add-missing-wednesday.sql old mode 100644 new mode 100755 diff --git a/backend/add-sick-index.sql b/backend/add-sick-index.sql old mode 100644 new mode 100755 diff --git a/backend/add-timewish-dates.sql b/backend/add-timewish-dates.sql old mode 100644 new mode 100755 diff --git a/backend/add-vacation-index.sql b/backend/add-vacation-index.sql old mode 100644 new mode 100755 diff --git a/backend/adjust-overtime-offset-to-3h.sql b/backend/adjust-overtime-offset-to-3h.sql old mode 100644 new mode 100755 diff --git a/backend/create-invitation-table.sql b/backend/create-invitation-table.sql old mode 100644 new mode 100755 diff --git a/backend/create-watcher-table.sql b/backend/create-watcher-table.sql old mode 100644 new mode 100755 diff --git a/backend/database-schema.sql b/backend/database-schema.sql old mode 100644 new mode 100755 diff --git a/backend/env.production.template b/backend/env.production.template old mode 100644 new mode 100755 diff --git a/backend/fix-timezone-correct.js b/backend/fix-timezone-correct.js old mode 100644 new mode 100755 diff --git a/backend/fix-timezone.js b/backend/fix-timezone.js old mode 100644 new mode 100755 diff --git a/backend/fix-worklog-timezone.sql b/backend/fix-worklog-timezone.sql old mode 100644 new mode 100755 diff --git a/backend/migrate-timewish-simple.sql b/backend/migrate-timewish-simple.sql old mode 100644 new mode 100755 diff --git a/backend/migrate-timewish.sql b/backend/migrate-timewish.sql old mode 100644 new mode 100755 diff --git a/backend/nodemon.json b/backend/nodemon.json old mode 100644 new mode 100755 diff --git a/backend/package.json b/backend/package.json old mode 100644 new mode 100755 diff --git a/backend/replace-thursday-data.sql b/backend/replace-thursday-data.sql old mode 100644 new mode 100755 diff --git a/backend/rollback-timezone.js b/backend/rollback-timezone.js old mode 100644 new mode 100755 diff --git a/backend/set-password.js b/backend/set-password.js old mode 100644 new mode 100755 diff --git a/backend/set-user-admin.sql b/backend/set-user-admin.sql old mode 100644 new mode 100755 diff --git a/backend/setup-timewish-complete.sql b/backend/setup-timewish-complete.sql old mode 100644 new mode 100755 diff --git a/backend/src/config/database.js b/backend/src/config/database.js old mode 100644 new mode 100755 diff --git a/backend/src/config/passport.js b/backend/src/config/passport.js old mode 100644 new mode 100755 diff --git a/backend/src/controllers/AuthController.js b/backend/src/controllers/AuthController.js old mode 100644 new mode 100755 diff --git a/backend/src/controllers/CalendarController.js b/backend/src/controllers/CalendarController.js old mode 100644 new mode 100755 diff --git a/backend/src/controllers/ExportController.js b/backend/src/controllers/ExportController.js old mode 100644 new mode 100755 diff --git a/backend/src/controllers/HolidayController.js b/backend/src/controllers/HolidayController.js old mode 100644 new mode 100755 diff --git a/backend/src/controllers/InviteController.js b/backend/src/controllers/InviteController.js old mode 100644 new mode 100755 diff --git a/backend/src/controllers/OAuthController.js b/backend/src/controllers/OAuthController.js old mode 100644 new mode 100755 diff --git a/backend/src/controllers/PasswordController.js b/backend/src/controllers/PasswordController.js old mode 100644 new mode 100755 diff --git a/backend/src/controllers/ProfileController.js b/backend/src/controllers/ProfileController.js old mode 100644 new mode 100755 diff --git a/backend/src/controllers/RolesController.js b/backend/src/controllers/RolesController.js old mode 100644 new mode 100755 diff --git a/backend/src/controllers/SickController.js b/backend/src/controllers/SickController.js old mode 100644 new mode 100755 diff --git a/backend/src/controllers/TimeEntryController.js b/backend/src/controllers/TimeEntryController.js old mode 100644 new mode 100755 diff --git a/backend/src/controllers/TimefixController.js b/backend/src/controllers/TimefixController.js old mode 100644 new mode 100755 diff --git a/backend/src/controllers/TimewishController.js b/backend/src/controllers/TimewishController.js old mode 100644 new mode 100755 diff --git a/backend/src/controllers/VacationController.js b/backend/src/controllers/VacationController.js old mode 100644 new mode 100755 diff --git a/backend/src/controllers/WatcherController.js b/backend/src/controllers/WatcherController.js old mode 100644 new mode 100755 diff --git a/backend/src/controllers/WeekOverviewController.js b/backend/src/controllers/WeekOverviewController.js old mode 100644 new mode 100755 diff --git a/backend/src/controllers/WorkdaysController.js b/backend/src/controllers/WorkdaysController.js old mode 100644 new mode 100755 diff --git a/backend/src/index.js b/backend/src/index.js old mode 100644 new mode 100755 diff --git a/backend/src/middleware/auth.js b/backend/src/middleware/auth.js old mode 100644 new mode 100755 diff --git a/backend/src/middleware/hashResponse.js b/backend/src/middleware/hashResponse.js old mode 100644 new mode 100755 diff --git a/backend/src/middleware/unhashRequest.js b/backend/src/middleware/unhashRequest.js old mode 100644 new mode 100755 diff --git a/backend/src/models/AuthIdentity.js b/backend/src/models/AuthIdentity.js old mode 100644 new mode 100755 diff --git a/backend/src/models/AuthInfo.js b/backend/src/models/AuthInfo.js old mode 100644 new mode 100755 diff --git a/backend/src/models/AuthToken.js b/backend/src/models/AuthToken.js old mode 100644 new mode 100755 diff --git a/backend/src/models/Holiday.js b/backend/src/models/Holiday.js old mode 100644 new mode 100755 diff --git a/backend/src/models/HolidayState.js b/backend/src/models/HolidayState.js old mode 100644 new mode 100755 diff --git a/backend/src/models/Invitation.js b/backend/src/models/Invitation.js old mode 100644 new mode 100755 diff --git a/backend/src/models/Sick.js b/backend/src/models/Sick.js old mode 100644 new mode 100755 diff --git a/backend/src/models/SickType.js b/backend/src/models/SickType.js old mode 100644 new mode 100755 diff --git a/backend/src/models/State.js b/backend/src/models/State.js old mode 100644 new mode 100755 diff --git a/backend/src/models/Timefix.js b/backend/src/models/Timefix.js old mode 100644 new mode 100755 diff --git a/backend/src/models/Timewish.js b/backend/src/models/Timewish.js old mode 100644 new mode 100755 diff --git a/backend/src/models/User.js b/backend/src/models/User.js old mode 100644 new mode 100755 diff --git a/backend/src/models/Vacation.js b/backend/src/models/Vacation.js old mode 100644 new mode 100755 diff --git a/backend/src/models/Watcher.js b/backend/src/models/Watcher.js old mode 100644 new mode 100755 diff --git a/backend/src/models/WeeklyWorktime.js b/backend/src/models/WeeklyWorktime.js old mode 100644 new mode 100755 diff --git a/backend/src/models/Worklog.js b/backend/src/models/Worklog.js old mode 100644 new mode 100755 diff --git a/backend/src/models/index.js b/backend/src/models/index.js old mode 100644 new mode 100755 diff --git a/backend/src/repositories/UserRepository.js b/backend/src/repositories/UserRepository.js old mode 100644 new mode 100755 diff --git a/backend/src/repositories/WorklogRepository.js b/backend/src/repositories/WorklogRepository.js old mode 100644 new mode 100755 diff --git a/backend/src/routes/auth.js b/backend/src/routes/auth.js old mode 100644 new mode 100755 diff --git a/backend/src/routes/calendar.js b/backend/src/routes/calendar.js old mode 100644 new mode 100755 diff --git a/backend/src/routes/export.js b/backend/src/routes/export.js old mode 100644 new mode 100755 diff --git a/backend/src/routes/holidays.js b/backend/src/routes/holidays.js old mode 100644 new mode 100755 diff --git a/backend/src/routes/invite.js b/backend/src/routes/invite.js old mode 100644 new mode 100755 diff --git a/backend/src/routes/password.js b/backend/src/routes/password.js old mode 100644 new mode 100755 diff --git a/backend/src/routes/profile.js b/backend/src/routes/profile.js old mode 100644 new mode 100755 diff --git a/backend/src/routes/roles.js b/backend/src/routes/roles.js old mode 100644 new mode 100755 diff --git a/backend/src/routes/sick.js b/backend/src/routes/sick.js old mode 100644 new mode 100755 diff --git a/backend/src/routes/timeEntries.js b/backend/src/routes/timeEntries.js old mode 100644 new mode 100755 diff --git a/backend/src/routes/timefix.js b/backend/src/routes/timefix.js old mode 100644 new mode 100755 diff --git a/backend/src/routes/timewish.js b/backend/src/routes/timewish.js old mode 100644 new mode 100755 diff --git a/backend/src/routes/vacation.js b/backend/src/routes/vacation.js old mode 100644 new mode 100755 diff --git a/backend/src/routes/watcher.js b/backend/src/routes/watcher.js old mode 100644 new mode 100755 diff --git a/backend/src/routes/weekOverview.js b/backend/src/routes/weekOverview.js old mode 100644 new mode 100755 diff --git a/backend/src/routes/workdays.js b/backend/src/routes/workdays.js old mode 100644 new mode 100755 diff --git a/backend/src/services/AuthService.js b/backend/src/services/AuthService.js old mode 100644 new mode 100755 diff --git a/backend/src/services/CalendarService.js b/backend/src/services/CalendarService.js old mode 100644 new mode 100755 diff --git a/backend/src/services/ExportService.js b/backend/src/services/ExportService.js old mode 100644 new mode 100755 diff --git a/backend/src/services/HolidayService.js b/backend/src/services/HolidayService.js old mode 100644 new mode 100755 diff --git a/backend/src/services/InviteService.js b/backend/src/services/InviteService.js old mode 100644 new mode 100755 diff --git a/backend/src/services/OAuthService.js b/backend/src/services/OAuthService.js old mode 100644 new mode 100755 diff --git a/backend/src/services/PasswordService.js b/backend/src/services/PasswordService.js old mode 100644 new mode 100755 diff --git a/backend/src/services/ProfileService.js b/backend/src/services/ProfileService.js old mode 100644 new mode 100755 diff --git a/backend/src/services/RolesService.js b/backend/src/services/RolesService.js old mode 100644 new mode 100755 diff --git a/backend/src/services/SickService.js b/backend/src/services/SickService.js old mode 100644 new mode 100755 diff --git a/backend/src/services/TimeEntryService.js b/backend/src/services/TimeEntryService.js old mode 100644 new mode 100755 index 1688d81..ef37537 --- a/backend/src/services/TimeEntryService.js +++ b/backend/src/services/TimeEntryService.js @@ -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" diff --git a/backend/src/services/TimefixService.js b/backend/src/services/TimefixService.js old mode 100644 new mode 100755 diff --git a/backend/src/services/TimewishService.js b/backend/src/services/TimewishService.js old mode 100644 new mode 100755 diff --git a/backend/src/services/VacationService.js b/backend/src/services/VacationService.js old mode 100644 new mode 100755 diff --git a/backend/src/services/WatcherService.js b/backend/src/services/WatcherService.js old mode 100644 new mode 100755 diff --git a/backend/src/services/WorkdaysService.js b/backend/src/services/WorkdaysService.js old mode 100644 new mode 100755 diff --git a/backend/src/utils/hashId.js b/backend/src/utils/hashId.js old mode 100644 new mode 100755 diff --git a/backend/test-password.js b/backend/test-password.js old mode 100644 new mode 100755 diff --git a/backend/update-overtime-offset.sql b/backend/update-overtime-offset.sql old mode 100644 new mode 100755 diff --git a/deployment-configs/stechuhr3.tsschulz.de-le-ssl.conf b/deployment-configs/stechuhr3.tsschulz.de-le-ssl.conf old mode 100644 new mode 100755 diff --git a/deployment-configs/stechuhr3.tsschulz.de.conf b/deployment-configs/stechuhr3.tsschulz.de.conf old mode 100644 new mode 100755 diff --git a/ecosystem.config.js b/ecosystem.config.js old mode 100644 new mode 100755 diff --git a/frontend/.env.development b/frontend/.env.development old mode 100644 new mode 100755 diff --git a/frontend/.env.production b/frontend/.env.production old mode 100644 new mode 100755 diff --git a/frontend/.gitignore b/frontend/.gitignore old mode 100644 new mode 100755 diff --git a/frontend/README.md b/frontend/README.md old mode 100644 new mode 100755 diff --git a/frontend/images/stechuhr.png b/frontend/images/stechuhr.png old mode 100644 new mode 100755 diff --git a/frontend/index.html b/frontend/index.html old mode 100644 new mode 100755 diff --git a/frontend/package.json b/frontend/package.json old mode 100644 new mode 100755 diff --git a/frontend/public/favicon.ico b/frontend/public/favicon.ico old mode 100644 new mode 100755 diff --git a/frontend/public/stechuhr.png b/frontend/public/stechuhr.png old mode 100644 new mode 100755 diff --git a/frontend/src/App.vue b/frontend/src/App.vue old mode 100644 new mode 100755 diff --git a/frontend/src/assets/main.css b/frontend/src/assets/main.css old mode 100644 new mode 100755 diff --git a/frontend/src/components/AppBrand.vue b/frontend/src/components/AppBrand.vue old mode 100644 new mode 100755 diff --git a/frontend/src/components/Modal.vue b/frontend/src/components/Modal.vue old mode 100644 new mode 100755 diff --git a/frontend/src/components/SideMenu.vue b/frontend/src/components/SideMenu.vue old mode 100644 new mode 100755 diff --git a/frontend/src/components/StatusBox.vue b/frontend/src/components/StatusBox.vue old mode 100644 new mode 100755 diff --git a/frontend/src/composables/useModal.js b/frontend/src/composables/useModal.js old mode 100644 new mode 100755 diff --git a/frontend/src/config/api.js b/frontend/src/config/api.js old mode 100644 new mode 100755 diff --git a/frontend/src/config/version.js b/frontend/src/config/version.js old mode 100644 new mode 100755 diff --git a/frontend/src/main.js b/frontend/src/main.js old mode 100644 new mode 100755 diff --git a/frontend/src/router/index.js b/frontend/src/router/index.js old mode 100644 new mode 100755 diff --git a/frontend/src/stores/authStore.js b/frontend/src/stores/authStore.js old mode 100644 new mode 100755 diff --git a/frontend/src/stores/timeStore.js b/frontend/src/stores/timeStore.js old mode 100644 new mode 100755 diff --git a/frontend/src/views/AccountDeletion.vue b/frontend/src/views/AccountDeletion.vue old mode 100644 new mode 100755 diff --git a/frontend/src/views/Calendar.vue b/frontend/src/views/Calendar.vue old mode 100644 new mode 100755 diff --git a/frontend/src/views/Dashboard.vue b/frontend/src/views/Dashboard.vue old mode 100644 new mode 100755 diff --git a/frontend/src/views/Entries.vue b/frontend/src/views/Entries.vue old mode 100644 new mode 100755 diff --git a/frontend/src/views/Export.vue b/frontend/src/views/Export.vue old mode 100644 new mode 100755 diff --git a/frontend/src/views/Holidays.vue b/frontend/src/views/Holidays.vue old mode 100644 new mode 100755 diff --git a/frontend/src/views/Invite.vue b/frontend/src/views/Invite.vue old mode 100644 new mode 100755 diff --git a/frontend/src/views/Login.vue b/frontend/src/views/Login.vue old mode 100644 new mode 100755 diff --git a/frontend/src/views/OAuthCallback.vue b/frontend/src/views/OAuthCallback.vue old mode 100644 new mode 100755 diff --git a/frontend/src/views/PasswordChange.vue b/frontend/src/views/PasswordChange.vue old mode 100644 new mode 100755 diff --git a/frontend/src/views/PasswordForgot.vue b/frontend/src/views/PasswordForgot.vue old mode 100644 new mode 100755 diff --git a/frontend/src/views/PasswordReset.vue b/frontend/src/views/PasswordReset.vue old mode 100644 new mode 100755 diff --git a/frontend/src/views/Permissions.vue b/frontend/src/views/Permissions.vue old mode 100644 new mode 100755 diff --git a/frontend/src/views/Privacy.vue b/frontend/src/views/Privacy.vue old mode 100644 new mode 100755 diff --git a/frontend/src/views/Profile.vue b/frontend/src/views/Profile.vue old mode 100644 new mode 100755 diff --git a/frontend/src/views/Register.vue b/frontend/src/views/Register.vue old mode 100644 new mode 100755 diff --git a/frontend/src/views/Roles.vue b/frontend/src/views/Roles.vue old mode 100644 new mode 100755 diff --git a/frontend/src/views/Sick.vue b/frontend/src/views/Sick.vue old mode 100644 new mode 100755 diff --git a/frontend/src/views/Stats.vue b/frontend/src/views/Stats.vue old mode 100644 new mode 100755 diff --git a/frontend/src/views/Timefix.vue b/frontend/src/views/Timefix.vue old mode 100644 new mode 100755 diff --git a/frontend/src/views/Timewish.vue b/frontend/src/views/Timewish.vue old mode 100644 new mode 100755 diff --git a/frontend/src/views/Vacation.vue b/frontend/src/views/Vacation.vue old mode 100644 new mode 100755 diff --git a/frontend/src/views/WeekOverview.vue b/frontend/src/views/WeekOverview.vue old mode 100644 new mode 100755 diff --git a/frontend/src/views/Workdays.vue b/frontend/src/views/Workdays.vue old mode 100644 new mode 100755 diff --git a/frontend/vite.config.js b/frontend/vite.config.js old mode 100644 new mode 100755 diff --git a/mobile-app/README.md b/mobile-app/README.md old mode 100644 new mode 100755 diff --git a/mobile-app/build.gradle.kts b/mobile-app/build.gradle.kts old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/build.gradle.kts b/mobile-app/composeApp/build.gradle.kts old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/release/composeApp-release.aab b/mobile-app/composeApp/release/composeApp-release.aab old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/debug/AndroidManifest.xml b/mobile-app/composeApp/src/debug/AndroidManifest.xml old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/AndroidManifest.xml b/mobile-app/composeApp/src/main/AndroidManifest.xml old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/MainActivity.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/MainActivity.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/TimeClockApplication.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/TimeClockApplication.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/config/AppConfig.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/config/AppConfig.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/admin/AdminRepository.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/admin/AdminRepository.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/api/AdminDtos.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/api/AdminDtos.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/api/ApiException.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/api/ApiException.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/api/AuthDtos.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/api/AuthDtos.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/api/BookingDtos.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/api/BookingDtos.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/api/FlexibleStringSerializer.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/api/FlexibleStringSerializer.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/api/SettingsDtos.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/api/SettingsDtos.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/api/TimeClockApiClient.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/api/TimeClockApiClient.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/api/TimeDtos.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/api/TimeDtos.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/auth/AuthRepository.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/auth/AuthRepository.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/auth/TokenStore.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/auth/TokenStore.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/booking/BookingRepository.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/booking/BookingRepository.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/offline/OfflineClockQueue.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/offline/OfflineClockQueue.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/settings/SettingsRepository.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/settings/SettingsRepository.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/time/TimeRepository.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/data/time/TimeRepository.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/TimeClockApp.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/TimeClockApp.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/admin/AdminScreens.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/admin/AdminScreens.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/admin/AdminViewModel.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/admin/AdminViewModel.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/auth/AuthViewModel.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/auth/AuthViewModel.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/auth/LoginScreen.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/auth/LoginScreen.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/booking/BookingScreens.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/booking/BookingScreens.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/booking/BookingViewModel.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/booking/BookingViewModel.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/components/TcBrandTitle.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/components/TcBrandTitle.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/components/TcButton.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/components/TcButton.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/components/TcCard.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/components/TcCard.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/components/TcNavigation.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/components/TcNavigation.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/components/TcScaffold.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/components/TcScaffold.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/components/TcStateViews.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/components/TcStateViews.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/components/TcStatusBox.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/components/TcStatusBox.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/components/TcTextField.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/components/TcTextField.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/model/MockData.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/model/MockData.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/model/UiModels.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/model/UiModels.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/settings/SettingsScreens.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/settings/SettingsScreens.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/settings/SettingsViewModel.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/settings/SettingsViewModel.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/settings/VersionScreen.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/settings/VersionScreen.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/theme/TimeClockTheme.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/theme/TimeClockTheme.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/time/StatusDisplay.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/time/StatusDisplay.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/time/TimeScreens.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/time/TimeScreens.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/time/TimeViewModel.kt b/mobile-app/composeApp/src/main/kotlin/de/tsschulz/timeclock/ui/time/TimeViewModel.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/res/drawable-nodpi/ic_stechuhr_logo.png b/mobile-app/composeApp/src/main/res/drawable-nodpi/ic_stechuhr_logo.png old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/mobile-app/composeApp/src/main/res/mipmap-anydpi-v26/ic_launcher.xml old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/mobile-app/composeApp/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/res/values/colors.xml b/mobile-app/composeApp/src/main/res/values/colors.xml old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/main/res/values/styles.xml b/mobile-app/composeApp/src/main/res/values/styles.xml old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/test/kotlin/de/tsschulz/timeclock/data/api/ApiSerializationTest.kt b/mobile-app/composeApp/src/test/kotlin/de/tsschulz/timeclock/data/api/ApiSerializationTest.kt old mode 100644 new mode 100755 diff --git a/mobile-app/composeApp/src/test/kotlin/de/tsschulz/timeclock/data/offline/PendingClockActionTest.kt b/mobile-app/composeApp/src/test/kotlin/de/tsschulz/timeclock/data/offline/PendingClockActionTest.kt old mode 100644 new mode 100755 diff --git a/mobile-app/gradle.properties b/mobile-app/gradle.properties old mode 100644 new mode 100755 diff --git a/mobile-app/gradle/wrapper/gradle-wrapper.jar b/mobile-app/gradle/wrapper/gradle-wrapper.jar old mode 100644 new mode 100755 diff --git a/mobile-app/gradle/wrapper/gradle-wrapper.properties b/mobile-app/gradle/wrapper/gradle-wrapper.properties old mode 100644 new mode 100755 diff --git a/mobile-app/gradlew.bat b/mobile-app/gradlew.bat old mode 100644 new mode 100755 diff --git a/mobile-app/settings.gradle.kts b/mobile-app/settings.gradle.kts old mode 100644 new mode 100755 diff --git a/nginx.conf b/nginx.conf old mode 100644 new mode 100755 diff --git a/package-lock.json b/package-lock.json old mode 100644 new mode 100755 diff --git a/package.json b/package.json old mode 100644 new mode 100755 diff --git a/renovate.json b/renovate.json old mode 100644 new mode 100755 diff --git a/scripts/README.md b/scripts/README.md old mode 100644 new mode 100755 diff --git a/timeclock.service b/timeclock.service old mode 100644 new mode 100755 diff --git a/worklog_backup_20251015_215729.sql b/worklog_backup_20251015_215729.sql old mode 100644 new mode 100755