From 64691be7498e684a7f1066749d06653cc9a91cdf Mon Sep 17 00:00:00 2001 From: Till Tomczak Date: Thu, 12 Jun 2025 15:10:31 +0200 Subject: [PATCH] The provided text appears to be a log of changes made in a software project, likely using version control systems like Git. Here's a breakdown: --- backend/__pycache__/models.cpython-313.pyc | Bin 87073 -> 89103 bytes backend/backend/database/myp.db | Bin 90112 -> 90112 bytes backend/backend/database/myp.db-shm | Bin 0 -> 32768 bytes backend/backend/database/myp.db-wal | Bin 0 -> 45352 bytes .../__pycache__/settings.cpython-313.pyc | Bin 7667 -> 7921 bytes ...47a7d573147b29d6a7e2eaf7f8ebc_activity.pkl | Bin 0 -> 60 bytes ...684394a01d519672fbf7e12439d9f_activity.pkl | Bin 0 -> 60 bytes ...ab2214f61ca4408b6446a9fe37ee5_activity.pkl | Bin 0 -> 60 bytes ...83bc914835c78aaadae8bfe47dd32_activity.pkl | Bin 0 -> 60 bytes ...665007d23e4a6d5c7ef531eb27c33_activity.pkl | Bin 0 -> 60 bytes ...f64c879aae1a872c4b6aeedeb5336_activity.pkl | Bin 0 -> 60 bytes ...13988ce83a468d17a2a8e2833b3d4_activity.pkl | Bin 0 -> 60 bytes ...c520112ffb55ee1d18c9db8c75bde_activity.pkl | Bin 0 -> 60 bytes ...9480f4a9a7691180f1233c285aff0_activity.pkl | Bin 0 -> 60 bytes ...1ae1e34f7d05b064e0ed467d28a5f_activity.pkl | Bin 0 -> 60 bytes ...f444e5cf5c4d232c4ead0239531b9_activity.pkl | Bin 0 -> 60 bytes ...268200e22ad4624f462493691f466_activity.pkl | Bin 0 -> 60 bytes ...682d1c23deac4d2405d718204a8f3_activity.pkl | Bin 0 -> 60 bytes ...878887b7b72c20b774a390c9ec4b7_activity.pkl | Bin 0 -> 60 bytes ...51163953ed058185aad605ef7353c_activity.pkl | Bin 0 -> 60 bytes ...23037dcfcd1e99e1ac39f1a39aab7_activity.pkl | Bin 0 -> 60 bytes ...a40c5b6151922bfc24c60df0f0dac_activity.pkl | Bin 0 -> 60 bytes ...89359e2083f2582e599d4f2d67784_activity.pkl | Bin 0 -> 60 bytes ...fa67d22235d2b6f9cc0b62b981a67_activity.pkl | Bin 0 -> 60 bytes ...882cb6a59627835190fa2ecbeac5a_activity.pkl | Bin 0 -> 60 bytes ...0f9fd4dcd047546f50415b5e804f1_activity.pkl | Bin 0 -> 60 bytes ...6994d429dd37d5954fa8322f8e804_activity.pkl | Bin 0 -> 60 bytes ...79e89ab9d76dbdf03170a32c3fb58_activity.pkl | Bin 0 -> 60 bytes ...9c222c972718c37e03a881da124ed_activity.pkl | Bin 0 -> 60 bytes ...710898db1bcd81647be735ef8bed4_activity.pkl | Bin 0 -> 60 bytes ...7f0f2fc468fac3dd50f3ddb27cf2f_activity.pkl | Bin 0 -> 60 bytes ...f5a05342435a20adf22d8e4ca44ad_activity.pkl | Bin 0 -> 60 bytes ...4f1b42089fc9ac0d10cc6bc52f94c_activity.pkl | Bin 0 -> 60 bytes ...9ab800fb6086a2d9b22ca01f165a4_activity.pkl | Bin 0 -> 60 bytes ...2239fbad2057fbe004d2d1eade64f_activity.pkl | Bin 0 -> 60 bytes ...30354306f9f47b61af0b65686ce34_activity.pkl | Bin 0 -> 60 bytes ...4fc572ad42b7bd26091a1f8a795aa_activity.pkl | Bin 0 -> 60 bytes ...384013f96343ea92145b43ead7c2f_activity.pkl | Bin 0 -> 60 bytes ...aafe4dfcc60706046d06b79558090_activity.pkl | Bin 0 -> 60 bytes ...fbdd3afda9a503bae57a72ebee5d6_activity.pkl | Bin 0 -> 60 bytes ...4f0b2bfd77cbf7e1e9a082e974443_activity.pkl | Bin 0 -> 60 bytes ...673ed824d2c5158dc896fcc511ed6_activity.pkl | Bin 0 -> 60 bytes ...7cd05d3f5af2736433ed083195d37_activity.pkl | Bin 0 -> 60 bytes ...7a3c26a073e0d1a80aeb033c866c1_activity.pkl | Bin 0 -> 60 bytes ...af436b82392fce85a03cbfc32a029_activity.pkl | Bin 0 -> 60 bytes ...4d86a030ca8b959470646142d856f_activity.pkl | Bin 0 -> 60 bytes ...c05b046965ec406f00b39c3e8b11d_activity.pkl | Bin 0 -> 60 bytes ...6dccf27b8a6059afdfa10a5d85bd5_activity.pkl | Bin 0 -> 60 bytes ...27735a07465230a8fca4305c9da80_activity.pkl | Bin 0 -> 60 bytes ...917fe8eed0fde5ab0b43acf452dbb_activity.pkl | Bin 0 -> 60 bytes ...fc7a47a68a19c1ab9b85be5b2c344_activity.pkl | Bin 0 -> 60 bytes ...9a77db36eafa65c1c19ef13cf74bc_activity.pkl | Bin 0 -> 60 bytes ...d95840ed25e248869eee7f2f8eae1_activity.pkl | Bin 0 -> 60 bytes ...92abe146e67b0e3b9a1bae7f9ffbc_activity.pkl | Bin 0 -> 60 bytes ...d7c60026c1a32bb4c3459f5dc53ff_activity.pkl | Bin 0 -> 60 bytes ...f5a3a391900f5ce6ed2e78dd9aa4d_activity.pkl | Bin 0 -> 60 bytes ...ade5f8105837c0e5c0f7a269fae95_activity.pkl | Bin 0 -> 60 bytes ...633e89cf83979d2ca87ad38971875_activity.pkl | Bin 0 -> 60 bytes ...d15369f1415a469371ebfda0f7ded_activity.pkl | Bin 0 -> 60 bytes ...dca6acf8d84065a1bee4d811ed408_activity.pkl | Bin 0 -> 60 bytes ...65dd94f1343bde9e05e31230081ab_activity.pkl | Bin 0 -> 60 bytes ...dcd1f91dd2dfcce4d4d8e736a37c2_activity.pkl | Bin 0 -> 60 bytes ...c4ac8025af667c97a98ad1d077e35_activity.pkl | Bin 0 -> 60 bytes ...f83054fceef54a76b43bd70a885bd_activity.pkl | Bin 0 -> 60 bytes ...cfafcb73a629404b19e6cf396484f_activity.pkl | Bin 0 -> 60 bytes ...7c6b32bfec79b4035e82b7fb21812_activity.pkl | Bin 0 -> 60 bytes ...e7e3574d17ec15b7e745af5b1b832_activity.pkl | Bin 0 -> 60 bytes ...14b220a8636a06fcf193740534b6f_activity.pkl | Bin 0 -> 60 bytes ...96f6ab66460c6d5bafbda53782f94_activity.pkl | Bin 0 -> 60 bytes ...9306580079fc74e2b286a420671ab_activity.pkl | Bin 0 -> 60 bytes ...0ab779719c8d1d947cdd29ae721e3_activity.pkl | Bin 0 -> 60 bytes ...8e07be459341cdd22fb6206cbfdae_activity.pkl | Bin 0 -> 60 bytes ...b65527f09a3e71d4e80ca1b6e1cb3_activity.pkl | Bin 0 -> 60 bytes ...370507d144d85b4ec0b156656086e_activity.pkl | Bin 0 -> 60 bytes ...a13cea23516f87ac8e9966a46c967_activity.pkl | Bin 0 -> 60 bytes ...45eec823a93d59c28eccc8cb3f643_activity.pkl | Bin 0 -> 60 bytes ...ed08fc3807a90215007f0749119c3_activity.pkl | Bin 0 -> 60 bytes ...f773da442102d2f533bdae58c364d_activity.pkl | Bin 0 -> 60 bytes ...f6dca83d0b9dd84dac08de1735f9c_activity.pkl | Bin 0 -> 60 bytes ...5b67eaf5aac3b0bfe6ffda173fc86_activity.pkl | Bin 0 -> 60 bytes ...e37ae7a2cf45ad4eada5001d3631b_activity.pkl | Bin 0 -> 60 bytes ...4b2bf37b1e09a6381b2276fd3be75_activity.pkl | Bin 0 -> 60 bytes ...98e437ca1a420c09cc8b69862a0b3_activity.pkl | Bin 0 -> 60 bytes ...8c2d863eed5950fb747c07e51de0d_activity.pkl | Bin 0 -> 60 bytes ...b48bc49cb2099aba7d586ac6ac59c_activity.pkl | Bin 0 -> 60 bytes ...ed33a152b3b7d19fbacc1f0f7621c_activity.pkl | Bin 0 -> 60 bytes ...ca8d0263a78b5063c9f6c7b55d99c_activity.pkl | Bin 0 -> 60 bytes ...27f1486c6162f38d23f75c1f152f7_activity.pkl | Bin 0 -> 60 bytes ...d17bc91e6783304e3a469c0bc18c3_activity.pkl | Bin 0 -> 60 bytes ...74b72ba9d2d91ffb542d4929d2c62_activity.pkl | Bin 0 -> 60 bytes ...d77c6878fd0bbe3dffdb15a4b7ca7_activity.pkl | Bin 0 -> 60 bytes ...34b1cb7dc093662d36a40f59ec4d3_activity.pkl | Bin 0 -> 60 bytes ...4fe561a91b406c8d6f332d0a0b3e1_activity.pkl | Bin 0 -> 60 bytes ...6a684763b66d54eb7b827fd4a9330_activity.pkl | Bin 0 -> 60 bytes ...1e2732f45b5b2c57113ff13961119_activity.pkl | Bin 0 -> 60 bytes ...58e1e229627393f8d071d41c3713d_activity.pkl | Bin 0 -> 60 bytes ...b3d25f40fa3ec53d7e93549efc865_activity.pkl | Bin 0 -> 60 bytes ...643aef3087c952fe6fc65413c1e09_activity.pkl | Bin 0 -> 60 bytes ...91f0a0e42f47ed4439382fb4275a3_activity.pkl | Bin 0 -> 60 bytes ...f333e2cd29abab4ed014425ba517d_activity.pkl | Bin 0 -> 60 bytes ...fabb9937cc888a0ea1d4a93f4121a_activity.pkl | Bin 0 -> 60 bytes ...8015001ede22b7ebc4066db150820_activity.pkl | Bin 0 -> 60 bytes ...e5ea870bc7d75805069e76a561a53_activity.pkl | Bin 0 -> 60 bytes ...b70f0ff5e474caeb33048d99e4cc8_activity.pkl | Bin 0 -> 60 bytes ...e29df8c380565dae1e5e926e9eb89_activity.pkl | Bin 0 -> 60 bytes ...b89f2d35589f66cc166c9ff59427c_activity.pkl | Bin 0 -> 60 bytes ...15a271f2286130afd4ac4439bb860_activity.pkl | Bin 0 -> 60 bytes ...97cf2b68e9d28bf2bb46e46399d6c_activity.pkl | Bin 0 -> 60 bytes ...7420c3477454f5cb9e617320cae82_activity.pkl | Bin 0 -> 60 bytes ...7fb576406d534b691954d49279c3c_activity.pkl | Bin 0 -> 60 bytes ...058c7d89e05c6f054bb36f29abb24_activity.pkl | Bin 0 -> 60 bytes ...231021c9918d79e94568f0df1a3f4_activity.pkl | Bin 0 -> 60 bytes ...c4a9720985022b9dcde9390fcdc93_activity.pkl | Bin 0 -> 60 bytes ...dd480f2669145d087e747423432c5_activity.pkl | Bin 0 -> 60 bytes ...1a5b3e602f40def8ead41470f286a_activity.pkl | Bin 0 -> 60 bytes ...a9b037d5b92bc080906ded36367f2_activity.pkl | Bin 0 -> 60 bytes ...abc1c7e6ca01b1fea1d772ff52066_activity.pkl | Bin 0 -> 60 bytes ...bff6ec8fac82a564d9eb28382c185_activity.pkl | Bin 0 -> 60 bytes ...30513f39f652e51b42fb64bdcb667_activity.pkl | Bin 0 -> 60 bytes ...b40665f5c1301819b4ef038d92a5a_activity.pkl | Bin 0 -> 60 bytes ...463f7c45324cae08c935d13650563_activity.pkl | Bin 0 -> 60 bytes ...2152d5b513956bef0f088d6ed10f0_activity.pkl | Bin 0 -> 60 bytes ...fe14fbf667b35bbee837d83640c2b_activity.pkl | Bin 0 -> 60 bytes ...828025b76f524128bc04eda7f5679_activity.pkl | Bin 0 -> 60 bytes ...64a00ac751700069ff31e1858e46f_activity.pkl | Bin 0 -> 60 bytes ...0c99d0562c109ccf3dc5f913ea067_activity.pkl | Bin 0 -> 60 bytes ...29c44e9e2147591bf3efe388d4cb7_activity.pkl | Bin 0 -> 60 bytes ...8419bc8a9b87cc56bc4501300ed49_activity.pkl | Bin 0 -> 60 bytes ...dbd2bc7b91fdacd9a4f95a552d1b3_activity.pkl | Bin 0 -> 60 bytes ...2655c9a58ef9d9a5469ca6a3dc12b_activity.pkl | Bin 0 -> 60 bytes ...8dd6c7279a7a5462b3bfc425fd02d_activity.pkl | Bin 0 -> 60 bytes ...73c02994be621c93964cd949c4ad6_activity.pkl | Bin 0 -> 60 bytes ...db6139db7cf2daabf65ab2a6febc0_activity.pkl | Bin 0 -> 60 bytes ...2c7b5cfb815443d195c0fbbd62d93_activity.pkl | Bin 0 -> 60 bytes ...02b564f15356f56d1f787df056fc7_activity.pkl | Bin 0 -> 60 bytes ...760d3ddd45fbf01a674259bb8c20f_activity.pkl | Bin 0 -> 60 bytes ...c0bf8711f326b0e0a83759292d7cd_activity.pkl | Bin 0 -> 60 bytes ...753d8658e52d0770f0f8e4848001d_activity.pkl | Bin 0 -> 60 bytes ...51348f9eb90c1849cf8673cb12d0d_activity.pkl | Bin 0 -> 60 bytes ...4ee0847330d96082c4ffe67ec2790_activity.pkl | Bin 0 -> 60 bytes ...514b777c91de5086c5ca0037baaba_activity.pkl | Bin 0 -> 60 bytes ...16b5fa4b45b3b20a7045ae24756ad_activity.pkl | Bin 0 -> 60 bytes ...66c84c2013a2b091a3dcbb4ca9972_activity.pkl | Bin 0 -> 60 bytes ...1973066c4f2ace5ab23822723e78e_activity.pkl | Bin 0 -> 60 bytes ...705192c81733acb24eb0f28fb0e1d_activity.pkl | Bin 0 -> 60 bytes ...c6aaa8a1a491f69ba27173cdd0403_activity.pkl | Bin 0 -> 60 bytes ...90ba8772d2beb98c9fd5b33bb2ba7_activity.pkl | Bin 0 -> 60 bytes ...32048a2cdbba99ff74356e0906851_activity.pkl | Bin 0 -> 60 bytes ...a2638c61bb814841ad017e5a2fe2a_activity.pkl | Bin 0 -> 60 bytes ...b4b2ec944e92bdfefa9302f39d61d_activity.pkl | Bin 0 -> 60 bytes ...4a2b0228564873c9f9f9d72ece948_activity.pkl | Bin 0 -> 60 bytes ...d4f60b789b3f7dbeb4de842d1f13e_activity.pkl | Bin 0 -> 60 bytes ...1c764e06f431d84eee1af60b0a442_activity.pkl | Bin 0 -> 60 bytes ...7ad41ff7cb40a17d33689f2e25fef_activity.pkl | Bin 0 -> 60 bytes ...c6b17a2eeea42c23af70e423139a9_activity.pkl | Bin 0 -> 60 bytes ...04fed51176d60d4187ec2fa9ca1d0_activity.pkl | Bin 0 -> 60 bytes ...fe78b5d990e8f38e68672529e6916_activity.pkl | Bin 0 -> 60 bytes ...48b6aa29e2d8af177d083f68488a3_activity.pkl | Bin 0 -> 60 bytes ...d2ce38addda61a3e0db7c436a6870_activity.pkl | Bin 0 -> 60 bytes ...d893f77dbd177d2d85d2281f87b88_activity.pkl | Bin 0 -> 60 bytes ...97aeb302189b17b5206d81a38f617_activity.pkl | Bin 0 -> 60 bytes backend/logs/app/app.log | 508 ++++++++++++++++++ backend/logs/core_system/core_system.log | 16 + .../logs/data_management/data_management.log | 16 + backend/logs/guest/guest.log | 5 + .../hardware_integration.log | 32 ++ .../job_queue_system/job_queue_system.log | 27 + .../monitoring_analytics.log | 16 + backend/logs/printers/printers.log | 9 + backend/logs/scheduler/scheduler.log | 20 + .../logs/security_suite/security_suite.log | 23 + backend/logs/sessions/sessions.log | 4 + backend/logs/startup/startup.log | 72 +++ backend/logs/tapo_control/tapo_control.log | 8 + .../logs/tapo_controller/tapo_controller.log | 8 + .../tapo_status_manager.log | 8 + backend/logs/user/user.log | 5 + .../utilities_collection.log | 20 + .../utils.database_cleanup.log | 0 backend/logs/windows_fixes/windows_fixes.log | 16 + backend/models.py | 60 ++- backend/templates/includes/navbar.html | 8 +- .../database_cleanup.cpython-313.pyc | Bin 16139 -> 4075 bytes backend/utils/database_cleanup.py | 84 +++ 184 files changed, 958 insertions(+), 7 deletions(-) create mode 100644 backend/backend/database/myp.db-shm create mode 100644 backend/backend/database/myp.db-wal create mode 100644 backend/instance/sessions/01647a7d573147b29d6a7e2eaf7f8ebc_activity.pkl create mode 100644 backend/instance/sessions/039684394a01d519672fbf7e12439d9f_activity.pkl create mode 100644 backend/instance/sessions/06dab2214f61ca4408b6446a9fe37ee5_activity.pkl create mode 100644 backend/instance/sessions/07783bc914835c78aaadae8bfe47dd32_activity.pkl create mode 100644 backend/instance/sessions/082665007d23e4a6d5c7ef531eb27c33_activity.pkl create mode 100644 backend/instance/sessions/085f64c879aae1a872c4b6aeedeb5336_activity.pkl create mode 100644 backend/instance/sessions/0b613988ce83a468d17a2a8e2833b3d4_activity.pkl create mode 100644 backend/instance/sessions/0ccc520112ffb55ee1d18c9db8c75bde_activity.pkl create mode 100644 backend/instance/sessions/0cd9480f4a9a7691180f1233c285aff0_activity.pkl create mode 100644 backend/instance/sessions/0d21ae1e34f7d05b064e0ed467d28a5f_activity.pkl create mode 100644 backend/instance/sessions/0ecf444e5cf5c4d232c4ead0239531b9_activity.pkl create mode 100644 backend/instance/sessions/0fc268200e22ad4624f462493691f466_activity.pkl create mode 100644 backend/instance/sessions/117682d1c23deac4d2405d718204a8f3_activity.pkl create mode 100644 backend/instance/sessions/13d878887b7b72c20b774a390c9ec4b7_activity.pkl create mode 100644 backend/instance/sessions/13f51163953ed058185aad605ef7353c_activity.pkl create mode 100644 backend/instance/sessions/15e23037dcfcd1e99e1ac39f1a39aab7_activity.pkl create mode 100644 backend/instance/sessions/18fa40c5b6151922bfc24c60df0f0dac_activity.pkl create mode 100644 backend/instance/sessions/1b189359e2083f2582e599d4f2d67784_activity.pkl create mode 100644 backend/instance/sessions/1b1fa67d22235d2b6f9cc0b62b981a67_activity.pkl create mode 100644 backend/instance/sessions/217882cb6a59627835190fa2ecbeac5a_activity.pkl create mode 100644 backend/instance/sessions/2520f9fd4dcd047546f50415b5e804f1_activity.pkl create mode 100644 backend/instance/sessions/2596994d429dd37d5954fa8322f8e804_activity.pkl create mode 100644 backend/instance/sessions/28579e89ab9d76dbdf03170a32c3fb58_activity.pkl create mode 100644 backend/instance/sessions/2c29c222c972718c37e03a881da124ed_activity.pkl create mode 100644 backend/instance/sessions/2e7710898db1bcd81647be735ef8bed4_activity.pkl create mode 100644 backend/instance/sessions/2e77f0f2fc468fac3dd50f3ddb27cf2f_activity.pkl create mode 100644 backend/instance/sessions/2eef5a05342435a20adf22d8e4ca44ad_activity.pkl create mode 100644 backend/instance/sessions/31b4f1b42089fc9ac0d10cc6bc52f94c_activity.pkl create mode 100644 backend/instance/sessions/32e9ab800fb6086a2d9b22ca01f165a4_activity.pkl create mode 100644 backend/instance/sessions/3562239fbad2057fbe004d2d1eade64f_activity.pkl create mode 100644 backend/instance/sessions/35a30354306f9f47b61af0b65686ce34_activity.pkl create mode 100644 backend/instance/sessions/35d4fc572ad42b7bd26091a1f8a795aa_activity.pkl create mode 100644 backend/instance/sessions/374384013f96343ea92145b43ead7c2f_activity.pkl create mode 100644 backend/instance/sessions/378aafe4dfcc60706046d06b79558090_activity.pkl create mode 100644 backend/instance/sessions/3b1fbdd3afda9a503bae57a72ebee5d6_activity.pkl create mode 100644 backend/instance/sessions/3c24f0b2bfd77cbf7e1e9a082e974443_activity.pkl create mode 100644 backend/instance/sessions/3e9673ed824d2c5158dc896fcc511ed6_activity.pkl create mode 100644 backend/instance/sessions/4037cd05d3f5af2736433ed083195d37_activity.pkl create mode 100644 backend/instance/sessions/4077a3c26a073e0d1a80aeb033c866c1_activity.pkl create mode 100644 backend/instance/sessions/44eaf436b82392fce85a03cbfc32a029_activity.pkl create mode 100644 backend/instance/sessions/4664d86a030ca8b959470646142d856f_activity.pkl create mode 100644 backend/instance/sessions/472c05b046965ec406f00b39c3e8b11d_activity.pkl create mode 100644 backend/instance/sessions/49e6dccf27b8a6059afdfa10a5d85bd5_activity.pkl create mode 100644 backend/instance/sessions/4bf27735a07465230a8fca4305c9da80_activity.pkl create mode 100644 backend/instance/sessions/4d2917fe8eed0fde5ab0b43acf452dbb_activity.pkl create mode 100644 backend/instance/sessions/4dffc7a47a68a19c1ab9b85be5b2c344_activity.pkl create mode 100644 backend/instance/sessions/5009a77db36eafa65c1c19ef13cf74bc_activity.pkl create mode 100644 backend/instance/sessions/51ed95840ed25e248869eee7f2f8eae1_activity.pkl create mode 100644 backend/instance/sessions/53d92abe146e67b0e3b9a1bae7f9ffbc_activity.pkl create mode 100644 backend/instance/sessions/544d7c60026c1a32bb4c3459f5dc53ff_activity.pkl create mode 100644 backend/instance/sessions/55ef5a3a391900f5ce6ed2e78dd9aa4d_activity.pkl create mode 100644 backend/instance/sessions/563ade5f8105837c0e5c0f7a269fae95_activity.pkl create mode 100644 backend/instance/sessions/591633e89cf83979d2ca87ad38971875_activity.pkl create mode 100644 backend/instance/sessions/597d15369f1415a469371ebfda0f7ded_activity.pkl create mode 100644 backend/instance/sessions/5d2dca6acf8d84065a1bee4d811ed408_activity.pkl create mode 100644 backend/instance/sessions/5f165dd94f1343bde9e05e31230081ab_activity.pkl create mode 100644 backend/instance/sessions/5f2dcd1f91dd2dfcce4d4d8e736a37c2_activity.pkl create mode 100644 backend/instance/sessions/5f9c4ac8025af667c97a98ad1d077e35_activity.pkl create mode 100644 backend/instance/sessions/5f9f83054fceef54a76b43bd70a885bd_activity.pkl create mode 100644 backend/instance/sessions/60dcfafcb73a629404b19e6cf396484f_activity.pkl create mode 100644 backend/instance/sessions/6307c6b32bfec79b4035e82b7fb21812_activity.pkl create mode 100644 backend/instance/sessions/637e7e3574d17ec15b7e745af5b1b832_activity.pkl create mode 100644 backend/instance/sessions/63a14b220a8636a06fcf193740534b6f_activity.pkl create mode 100644 backend/instance/sessions/63e96f6ab66460c6d5bafbda53782f94_activity.pkl create mode 100644 backend/instance/sessions/6429306580079fc74e2b286a420671ab_activity.pkl create mode 100644 backend/instance/sessions/6790ab779719c8d1d947cdd29ae721e3_activity.pkl create mode 100644 backend/instance/sessions/6808e07be459341cdd22fb6206cbfdae_activity.pkl create mode 100644 backend/instance/sessions/6ccb65527f09a3e71d4e80ca1b6e1cb3_activity.pkl create mode 100644 backend/instance/sessions/714370507d144d85b4ec0b156656086e_activity.pkl create mode 100644 backend/instance/sessions/718a13cea23516f87ac8e9966a46c967_activity.pkl create mode 100644 backend/instance/sessions/74445eec823a93d59c28eccc8cb3f643_activity.pkl create mode 100644 backend/instance/sessions/758ed08fc3807a90215007f0749119c3_activity.pkl create mode 100644 backend/instance/sessions/775f773da442102d2f533bdae58c364d_activity.pkl create mode 100644 backend/instance/sessions/78ef6dca83d0b9dd84dac08de1735f9c_activity.pkl create mode 100644 backend/instance/sessions/7a55b67eaf5aac3b0bfe6ffda173fc86_activity.pkl create mode 100644 backend/instance/sessions/7b9e37ae7a2cf45ad4eada5001d3631b_activity.pkl create mode 100644 backend/instance/sessions/7bb4b2bf37b1e09a6381b2276fd3be75_activity.pkl create mode 100644 backend/instance/sessions/7d698e437ca1a420c09cc8b69862a0b3_activity.pkl create mode 100644 backend/instance/sessions/7ea8c2d863eed5950fb747c07e51de0d_activity.pkl create mode 100644 backend/instance/sessions/7f1b48bc49cb2099aba7d586ac6ac59c_activity.pkl create mode 100644 backend/instance/sessions/838ed33a152b3b7d19fbacc1f0f7621c_activity.pkl create mode 100644 backend/instance/sessions/846ca8d0263a78b5063c9f6c7b55d99c_activity.pkl create mode 100644 backend/instance/sessions/86827f1486c6162f38d23f75c1f152f7_activity.pkl create mode 100644 backend/instance/sessions/869d17bc91e6783304e3a469c0bc18c3_activity.pkl create mode 100644 backend/instance/sessions/87074b72ba9d2d91ffb542d4929d2c62_activity.pkl create mode 100644 backend/instance/sessions/875d77c6878fd0bbe3dffdb15a4b7ca7_activity.pkl create mode 100644 backend/instance/sessions/89d34b1cb7dc093662d36a40f59ec4d3_activity.pkl create mode 100644 backend/instance/sessions/8aa4fe561a91b406c8d6f332d0a0b3e1_activity.pkl create mode 100644 backend/instance/sessions/8b16a684763b66d54eb7b827fd4a9330_activity.pkl create mode 100644 backend/instance/sessions/8bc1e2732f45b5b2c57113ff13961119_activity.pkl create mode 100644 backend/instance/sessions/8c358e1e229627393f8d071d41c3713d_activity.pkl create mode 100644 backend/instance/sessions/8e3b3d25f40fa3ec53d7e93549efc865_activity.pkl create mode 100644 backend/instance/sessions/8ea643aef3087c952fe6fc65413c1e09_activity.pkl create mode 100644 backend/instance/sessions/8ec91f0a0e42f47ed4439382fb4275a3_activity.pkl create mode 100644 backend/instance/sessions/8faf333e2cd29abab4ed014425ba517d_activity.pkl create mode 100644 backend/instance/sessions/93afabb9937cc888a0ea1d4a93f4121a_activity.pkl create mode 100644 backend/instance/sessions/9518015001ede22b7ebc4066db150820_activity.pkl create mode 100644 backend/instance/sessions/96de5ea870bc7d75805069e76a561a53_activity.pkl create mode 100644 backend/instance/sessions/972b70f0ff5e474caeb33048d99e4cc8_activity.pkl create mode 100644 backend/instance/sessions/98fe29df8c380565dae1e5e926e9eb89_activity.pkl create mode 100644 backend/instance/sessions/9aab89f2d35589f66cc166c9ff59427c_activity.pkl create mode 100644 backend/instance/sessions/9b215a271f2286130afd4ac4439bb860_activity.pkl create mode 100644 backend/instance/sessions/9e697cf2b68e9d28bf2bb46e46399d6c_activity.pkl create mode 100644 backend/instance/sessions/a147420c3477454f5cb9e617320cae82_activity.pkl create mode 100644 backend/instance/sessions/a147fb576406d534b691954d49279c3c_activity.pkl create mode 100644 backend/instance/sessions/a27058c7d89e05c6f054bb36f29abb24_activity.pkl create mode 100644 backend/instance/sessions/a35231021c9918d79e94568f0df1a3f4_activity.pkl create mode 100644 backend/instance/sessions/a70c4a9720985022b9dcde9390fcdc93_activity.pkl create mode 100644 backend/instance/sessions/a83dd480f2669145d087e747423432c5_activity.pkl create mode 100644 backend/instance/sessions/aa91a5b3e602f40def8ead41470f286a_activity.pkl create mode 100644 backend/instance/sessions/aa9a9b037d5b92bc080906ded36367f2_activity.pkl create mode 100644 backend/instance/sessions/ab3abc1c7e6ca01b1fea1d772ff52066_activity.pkl create mode 100644 backend/instance/sessions/abfbff6ec8fac82a564d9eb28382c185_activity.pkl create mode 100644 backend/instance/sessions/ac230513f39f652e51b42fb64bdcb667_activity.pkl create mode 100644 backend/instance/sessions/ac8b40665f5c1301819b4ef038d92a5a_activity.pkl create mode 100644 backend/instance/sessions/acc463f7c45324cae08c935d13650563_activity.pkl create mode 100644 backend/instance/sessions/ad62152d5b513956bef0f088d6ed10f0_activity.pkl create mode 100644 backend/instance/sessions/adcfe14fbf667b35bbee837d83640c2b_activity.pkl create mode 100644 backend/instance/sessions/ae7828025b76f524128bc04eda7f5679_activity.pkl create mode 100644 backend/instance/sessions/b3d64a00ac751700069ff31e1858e46f_activity.pkl create mode 100644 backend/instance/sessions/b600c99d0562c109ccf3dc5f913ea067_activity.pkl create mode 100644 backend/instance/sessions/b8d29c44e9e2147591bf3efe388d4cb7_activity.pkl create mode 100644 backend/instance/sessions/bba8419bc8a9b87cc56bc4501300ed49_activity.pkl create mode 100644 backend/instance/sessions/be0dbd2bc7b91fdacd9a4f95a552d1b3_activity.pkl create mode 100644 backend/instance/sessions/bf82655c9a58ef9d9a5469ca6a3dc12b_activity.pkl create mode 100644 backend/instance/sessions/c1f8dd6c7279a7a5462b3bfc425fd02d_activity.pkl create mode 100644 backend/instance/sessions/c3073c02994be621c93964cd949c4ad6_activity.pkl create mode 100644 backend/instance/sessions/c6cdb6139db7cf2daabf65ab2a6febc0_activity.pkl create mode 100644 backend/instance/sessions/c6f2c7b5cfb815443d195c0fbbd62d93_activity.pkl create mode 100644 backend/instance/sessions/c7d02b564f15356f56d1f787df056fc7_activity.pkl create mode 100644 backend/instance/sessions/c87760d3ddd45fbf01a674259bb8c20f_activity.pkl create mode 100644 backend/instance/sessions/c91c0bf8711f326b0e0a83759292d7cd_activity.pkl create mode 100644 backend/instance/sessions/cee753d8658e52d0770f0f8e4848001d_activity.pkl create mode 100644 backend/instance/sessions/d0b51348f9eb90c1849cf8673cb12d0d_activity.pkl create mode 100644 backend/instance/sessions/d304ee0847330d96082c4ffe67ec2790_activity.pkl create mode 100644 backend/instance/sessions/d4f514b777c91de5086c5ca0037baaba_activity.pkl create mode 100644 backend/instance/sessions/d6116b5fa4b45b3b20a7045ae24756ad_activity.pkl create mode 100644 backend/instance/sessions/d6166c84c2013a2b091a3dcbb4ca9972_activity.pkl create mode 100644 backend/instance/sessions/d631973066c4f2ace5ab23822723e78e_activity.pkl create mode 100644 backend/instance/sessions/d66705192c81733acb24eb0f28fb0e1d_activity.pkl create mode 100644 backend/instance/sessions/d6fc6aaa8a1a491f69ba27173cdd0403_activity.pkl create mode 100644 backend/instance/sessions/d9090ba8772d2beb98c9fd5b33bb2ba7_activity.pkl create mode 100644 backend/instance/sessions/dcf32048a2cdbba99ff74356e0906851_activity.pkl create mode 100644 backend/instance/sessions/e23a2638c61bb814841ad017e5a2fe2a_activity.pkl create mode 100644 backend/instance/sessions/e47b4b2ec944e92bdfefa9302f39d61d_activity.pkl create mode 100644 backend/instance/sessions/e484a2b0228564873c9f9f9d72ece948_activity.pkl create mode 100644 backend/instance/sessions/e7ed4f60b789b3f7dbeb4de842d1f13e_activity.pkl create mode 100644 backend/instance/sessions/e871c764e06f431d84eee1af60b0a442_activity.pkl create mode 100644 backend/instance/sessions/ed07ad41ff7cb40a17d33689f2e25fef_activity.pkl create mode 100644 backend/instance/sessions/ef5c6b17a2eeea42c23af70e423139a9_activity.pkl create mode 100644 backend/instance/sessions/f4404fed51176d60d4187ec2fa9ca1d0_activity.pkl create mode 100644 backend/instance/sessions/fd8fe78b5d990e8f38e68672529e6916_activity.pkl create mode 100644 backend/instance/sessions/fdf48b6aa29e2d8af177d083f68488a3_activity.pkl create mode 100644 backend/instance/sessions/febd2ce38addda61a3e0db7c436a6870_activity.pkl create mode 100644 backend/instance/sessions/ff0d893f77dbd177d2d85d2281f87b88_activity.pkl create mode 100644 backend/instance/sessions/ffa97aeb302189b17b5206d81a38f617_activity.pkl create mode 100644 backend/logs/utils.database_cleanup/utils.database_cleanup.log create mode 100644 backend/utils/database_cleanup.py diff --git a/backend/__pycache__/models.cpython-313.pyc b/backend/__pycache__/models.cpython-313.pyc index 10d43856c45f2c7ecac485dc534b125c5246d2dc..598007797facbfac39a7c24a0480ba700eefebdc 100644 GIT binary patch delta 17264 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 CkYdRI diff --git a/backend/backend/database/myp.db b/backend/backend/database/myp.db index cf164cf32b7508200e4e48681333688e49bda1eb..731863fbb6f7269cf48ca0fe57600ffe30c974ef 100644 GIT binary patch delta 90 zcmZoTz}j$tb%V3Kshg3bzF~MoQMylhMQFZ}aX@ZBQHH-^hQEGMkWqPPhNYiputlh6 unSNE7XL)&LaZq@8Vd~@x`5<0XD+6OI6GJ^?Gb2Ou=Iip?ugf!PIsgD;^c{cz delta 90 zcmZoTz}j$tb%V3KX^5U#x|^x7cT!YQNsqwS+IwZuZNFelAlLGR<31= uX=!MhOHpD}ft!9rnAzkC`5;~sD^qhT14}(aBTIA3=Iip?ugf!PIsgDbpd6wA diff --git a/backend/backend/database/myp.db-shm b/backend/backend/database/myp.db-shm new file mode 100644 index 0000000000000000000000000000000000000000..36be49967cf80ab6524c384a3a43ebf136b50b46 GIT binary patch literal 32768 zcmeI)F-ikb5CG6wH6~F4>9U1Q`gnlUf;ohhSmX$?%}rt*F|uHj zlrC>zn7_;L`ST7i_1krn7-UuvUlfB*pk1PBlyK!5-N0t5&UAV7cs0Rja62z&$1hbQg; literal 0 HcmV?d00001 diff --git a/backend/backend/database/myp.db-wal b/backend/backend/database/myp.db-wal new file mode 100644 index 0000000000000000000000000000000000000000..0cc0c6b97d0223629000f87b69f467383b072cf5 GIT binary patch literal 45352 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 L9}5=xm2>((xtkm*2^?^1tMjEYBFz1%2Y)Fht z6E(9jaqnYc)Ld5>{RJklG{zLj97^XjUV_QRTGNRwFYETo5fbZ}L zFZgkY)iMl$Tw|jU(&0&vat07{hOhyGPT{rzM&nGaVWqHIzOE`S^-pwL0iP5I{kBLGL7y}_?&D_os2MnFN=MD$<`HeA z!pB$PZK=BAU2I_lTRF6GXyVY!;6OE7O*!f{Zr06XajjfHw^XCS8V%KGxJDy2I;y-j zZ4kv%mnFnW@0lZHoW3=8i&HG!va(|?5Zh^<{uBpoB9k=UAc=8imz2$hdNO>5(TrEb zV+SFsX{Cs3*GmP}5|3qLXJe4a&&RUo@GO0A35zKfCo2_8j`*umV@--l=2R^J>HKtJ zF{{Z`W8r>LF3U__wg$uui+G^Cv5t^|s{EhKnAYSM=hJhscs@CojwcqG?2pYWE;7%S zGTc-)xU@ESB+l~i2A*v;u~e-wLqE6W#2j-xQe1YMo@A-t;ULR2<>)(iT#LBW|B8<+$hL0USpQbN9uOFv7Vi{bO5jDN5?x7rYla#s1=i>FPwhk zB=^tIU8iiU{y9x`E_GaHx2g>i0I9i5KAlP?vZ)IRoTuBJbM+Uwgm;0LXlvK>4Dz`l z9}eaoev`pU*?VG18IldvsY>DR80{+9OV*4?JTZ_W1q NI_bOaKXltQ_7_N>5ZeF% diff --git a/backend/instance/sessions/01647a7d573147b29d6a7e2eaf7f8ebc_activity.pkl b/backend/instance/sessions/01647a7d573147b29d6a7e2eaf7f8ebc_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..b9867b23adf84d370d1394bb6a1d693c3123425c GIT binary patch literal 60 zcmZo*nQF)Y0kuKU3C LnwT0)Db@o3@wgBz literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/039684394a01d519672fbf7e12439d9f_activity.pkl b/backend/instance/sessions/039684394a01d519672fbf7e12439d9f_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..97b75164707eb4d6640c9597ef4f634665da2b5e GIT binary patch literal 60 zcmZo*nQF)Y0kuKPfC Ln_HMpDb@o3@xl-` literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/06dab2214f61ca4408b6446a9fe37ee5_activity.pkl b/backend/instance/sessions/06dab2214f61ca4408b6446a9fe37ee5_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..40e4b4efc120b27155640ffb4c5e69289520305c GIT binary patch literal 60 zcmZo*nQF)Y0kuKT|C LnOc}kDb@o3@#7FS literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/07783bc914835c78aaadae8bfe47dd32_activity.pkl b/backend/instance/sessions/07783bc914835c78aaadae8bfe47dd32_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..616bd70caba91c67449966c72b1177202d9b3d68 GIT binary patch literal 60 zcmZo*nQF)Y0kuKPlG L8d;i5Db@o3@$3*c literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/082665007d23e4a6d5c7ef531eb27c33_activity.pkl b/backend/instance/sessions/082665007d23e4a6d5c7ef531eb27c33_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..f3668f4dda4513a0042287079de2063b6847673d GIT binary patch literal 60 zcmZo*nQF)Y0kuKPfB LT3VP*Db@o3@w5;% literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/085f64c879aae1a872c4b6aeedeb5336_activity.pkl b/backend/instance/sessions/085f64c879aae1a872c4b6aeedeb5336_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..1ed46027b69a0d112282d720df0e8e35f1b7fcb2 GIT binary patch literal 60 zcmZo*nQF)Y0kulvDu L7+ac5Db@o3@&OPz literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/0b613988ce83a468d17a2a8e2833b3d4_activity.pkl b/backend/instance/sessions/0b613988ce83a468d17a2a8e2833b3d4_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..860268f842c23654ff3dcbc7a44df8fdf3d9ada6 GIT binary patch literal 60 zcmZo*nQF)Y0kulvCF L8(Nx7Db@o3@%9im literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/0ccc520112ffb55ee1d18c9db8c75bde_activity.pkl b/backend/instance/sessions/0ccc520112ffb55ee1d18c9db8c75bde_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..c2c6fbf6f0d1c28a25c8c2ba0c2ad93a42a74e49 GIT binary patch literal 60 zcmZo*nQF)Y0ku6u%Y Lm>C*PDb@o3@(d6- literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/0cd9480f4a9a7691180f1233c285aff0_activity.pkl b/backend/instance/sessions/0cd9480f4a9a7691180f1233c285aff0_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..f28444d3b4fb20e618e622547ac290f66ebe9dd0 GIT binary patch literal 60 zcmZo*nQF)Y0kuKR!Y LTACV7Db@o3@xc%? literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/0ecf444e5cf5c4d232c4ead0239531b9_activity.pkl b/backend/instance/sessions/0ecf444e5cf5c4d232c4ead0239531b9_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..d476224e76cff2205d2dcc84a919067de79f8f95 GIT binary patch literal 60 zcmZo*nQF)Y0kuKPfB L8d#W4Db@o3@p=#| literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/0fc268200e22ad4624f462493691f466_activity.pkl b/backend/instance/sessions/0fc268200e22ad4624f462493691f466_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..c409d0b5d7d082a296bea45e5fc6849918989655 GIT binary patch literal 60 zcmZo*nQF)Y0kuY19G Ln;Dx=Db@o3@Y11t L8ylKVDb@o3@$C>a literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/18fa40c5b6151922bfc24c60df0f0dac_activity.pkl b/backend/instance/sessions/18fa40c5b6151922bfc24c60df0f0dac_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..66ae4b89e4d1735e4988593bdbf24438b6aa1330 GIT binary patch literal 60 zcmZo*nQF)Y0kuY19D LS{NBkDb@o3@)Hm_ literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/2520f9fd4dcd047546f50415b5e804f1_activity.pkl b/backend/instance/sessions/2520f9fd4dcd047546f50415b5e804f1_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..4186343c1660d06d9872e0c091e7824875c8296e GIT binary patch literal 60 zcmZo*nQF)Y0kuX}$r Lm>L>QDb@o3@+c5H literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/2596994d429dd37d5954fa8322f8e804_activity.pkl b/backend/instance/sessions/2596994d429dd37d5954fa8322f8e804_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..e32626c59b1be81e84959b0b49697f7011ac0c7d GIT binary patch literal 60 zcmZo*nQF)Y0kulqoE Ln;2M5Db@o3@$?Wk literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/28579e89ab9d76dbdf03170a32c3fb58_activity.pkl b/backend/instance/sessions/28579e89ab9d76dbdf03170a32c3fb58_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..8fdff8336d45709a836ca6774006cb56a937ec97 GIT binary patch literal 60 zcmZo*nQF)Y0ku6w`u L8(Nx7Db@o3@&*t( literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/2c29c222c972718c37e03a881da124ed_activity.pkl b/backend/instance/sessions/2c29c222c972718c37e03a881da124ed_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..d5ab969fc9735f8671add04c2e05965d45efdf99 GIT binary patch literal 60 zcmZo*nQF)Y0ku6x1t Lm|2=nDb@o3@vsm! literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/2e7710898db1bcd81647be735ef8bed4_activity.pkl b/backend/instance/sessions/2e7710898db1bcd81647be735ef8bed4_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..9fd4e238a10d9a3cfdaf20d2ee7f13a61522b507 GIT binary patch literal 60 zcmZo*nQF)Y0kuY12W L8kt*8Db@o3@;4Ad literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/2eef5a05342435a20adf22d8e4ca44ad_activity.pkl b/backend/instance/sessions/2eef5a05342435a20adf22d8e4ca44ad_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..d219e49c1e65c3f549e18664b59160af6e593970 GIT binary patch literal 60 zcmZo*nQF)Y0kulqrF L7@HYRDb@o3@y-x1 literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/31b4f1b42089fc9ac0d10cc6bc52f94c_activity.pkl b/backend/instance/sessions/31b4f1b42089fc9ac0d10cc6bc52f94c_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..79cdf20adfd40319552506d0b6cc6a33420ee649 GIT binary patch literal 60 zcmZo*nQF)Y0kuU^QDb@o3@y!r2 literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/32e9ab800fb6086a2d9b22ca01f165a4_activity.pkl b/backend/instance/sessions/32e9ab800fb6086a2d9b22ca01f165a4_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..0916b76117a9362078ba8cba79c13d10ac8c7d14 GIT binary patch literal 60 zcmZo*nQF)Y0kuX}%Y L8d{i7Db@o3@;VSf literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/35d4fc572ad42b7bd26091a1f8a795aa_activity.pkl b/backend/instance/sessions/35d4fc572ad42b7bd26091a1f8a795aa_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..0af0b07074a89995df1d762778e6135055c100b6 GIT binary patch literal 60 zcmZo*nQF)Y0kuY11u Lm>L;RDb@o3@$nEe literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/378aafe4dfcc60706046d06b79558090_activity.pkl b/backend/instance/sessions/378aafe4dfcc60706046d06b79558090_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..58038c80a5b037f7d641930c87c9860e5f49edd4 GIT binary patch literal 60 zcmZo*nQF)Y0kulqoD Ln41|+Db@o3@%Iom literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/3c24f0b2bfd77cbf7e1e9a082e974443_activity.pkl b/backend/instance/sessions/3c24f0b2bfd77cbf7e1e9a082e974443_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..28313f038ca83fd030496826f52f1d812bfd8e4f GIT binary patch literal 60 zcmZo*nQF)Y0kuKU1v LSQr^kDb@o3@wE^! literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/3e9673ed824d2c5158dc896fcc511ed6_activity.pkl b/backend/instance/sessions/3e9673ed824d2c5158dc896fcc511ed6_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..bf2127041897db1ab4d6da3f44eae1985d507408 GIT binary patch literal 60 zcmZo*nQF)Y0kuls>D L8W@;ODb@o3@(mC; literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/4037cd05d3f5af2736433ed083195d37_activity.pkl b/backend/instance/sessions/4037cd05d3f5af2736433ed083195d37_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..939f56927b6721c2f7b589b8b87b69ffaa524ea8 GIT binary patch literal 60 zcmZo*nQF)Y0kulvCF Ln;BV7Db@o3@&yn& literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/44eaf436b82392fce85a03cbfc32a029_activity.pkl b/backend/instance/sessions/44eaf436b82392fce85a03cbfc32a029_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..bc35406b0dce3c7ac43e7b08e27f2f47fc4a4271 GIT binary patch literal 60 zcmZo*nQF)Y0kuX{l@ LS{hhRDb@o3@;4Ac literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/4664d86a030ca8b959470646142d856f_activity.pkl b/backend/instance/sessions/4664d86a030ca8b959470646142d856f_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..f5602af60bc801193daf588ab77b8ce45cab0e63 GIT binary patch literal 60 zcmZo*nQF)Y0kuKR&C L7#kZ*Db@o3@v9In literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/472c05b046965ec406f00b39c3e8b11d_activity.pkl b/backend/instance/sessions/472c05b046965ec406f00b39c3e8b11d_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..028e4fdb6a7023710478628b474ce3df1f4d1d28 GIT binary patch literal 60 zcmZo*nQF)Y0kuKPeW Lni?BTDb@o3@sAKJ literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/4d2917fe8eed0fde5ab0b43acf452dbb_activity.pkl b/backend/instance/sessions/4d2917fe8eed0fde5ab0b43acf452dbb_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..aa1821a324f26d36eed3cbba83956224ddf2b4f1 GIT binary patch literal 60 zcmZo*nQF)Y0kuKU0C LTN)ToDb@o3@uCne literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/4dffc7a47a68a19c1ab9b85be5b2c344_activity.pkl b/backend/instance/sessions/4dffc7a47a68a19c1ab9b85be5b2c344_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..e8d73823c5f59372f85651fb7975237d6a244a30 GIT binary patch literal 60 zcmZo*nQF)Y0kuls>@ L8k-wVDb@o3@)8g^ literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/5009a77db36eafa65c1c19ef13cf74bc_activity.pkl b/backend/instance/sessions/5009a77db36eafa65c1c19ef13cf74bc_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..082c77a36738b0b4800bf713630270025ed9a4a3 GIT binary patch literal 60 zcmZo*nQF)Y0kuY13B L7+M%iDb@o3@$V2c literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/51ed95840ed25e248869eee7f2f8eae1_activity.pkl b/backend/instance/sessions/51ed95840ed25e248869eee7f2f8eae1_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..73ace22059c5623f16a754df4e9d3201a3699744 GIT binary patch literal 60 zcmZo*nQF)Y0kuY11s L7@3(*Db@o3@%s=s literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/53d92abe146e67b0e3b9a1bae7f9ffbc_activity.pkl b/backend/instance/sessions/53d92abe146e67b0e3b9a1bae7f9ffbc_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..cc43c5ff61dd63f4bc7c6f6c20d5e2e8103cff85 GIT binary patch literal 60 zcmZo*nQF)Y0kuY L8dw-jDb@o3@(>U@ literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/55ef5a3a391900f5ce6ed2e78dd9aa4d_activity.pkl b/backend/instance/sessions/55ef5a3a391900f5ce6ed2e78dd9aa4d_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..6eb8c180f52455ffe428bfbdd56b8efd07d1affe GIT binary patch literal 60 zcmZo*nQF)Y0kuY19D LnOhi6Db@o3@-7fQ literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/563ade5f8105837c0e5c0f7a269fae95_activity.pkl b/backend/instance/sessions/563ade5f8105837c0e5c0f7a269fae95_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..7e9c604bb6ecec4372308a6c63e7d6041490278b GIT binary patch literal 60 zcmZo*nQF)Y0kulvC@ LSelwnDb@o3@-YxV literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/591633e89cf83979d2ca87ad38971875_activity.pkl b/backend/instance/sessions/591633e89cf83979d2ca87ad38971875_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..ec3d62a3e66aa4f08c13709da7326b0e220a419c GIT binary patch literal 60 zcmZo*nQF)Y0kulqmv Lm|K`kDb@o3@%a!q literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/5d2dca6acf8d84065a1bee4d811ed408_activity.pkl b/backend/instance/sessions/5d2dca6acf8d84065a1bee4d811ed408_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..80313088644d5dd87bd755480b5bbb6e73772496 GIT binary patch literal 60 zcmZo*nQF)Y0kuX{fB Lni!Z*Db@o3@z4-4 literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/5f165dd94f1343bde9e05e31230081ab_activity.pkl b/backend/instance/sessions/5f165dd94f1343bde9e05e31230081ab_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..a9b1f8cea94673e3599ec0197606bfad1578399a GIT binary patch literal 60 zcmZo*nQF)Y0kuY11u LnVDElDb@o3@+S~K literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/60dcfafcb73a629404b19e6cf396484f_activity.pkl b/backend/instance/sessions/60dcfafcb73a629404b19e6cf396484f_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..f3fff7e1a6e8b368b38f9984276674c6468bedd3 GIT binary patch literal 60 zcmZo*nQF)Y0kuKU0B Lni!i*Db@o3@p%v_ literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/6307c6b32bfec79b4035e82b7fb21812_activity.pkl b/backend/instance/sessions/6307c6b32bfec79b4035e82b7fb21812_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..8a6863cae6be2e55107c7ceec99a4b1f7b4506ef GIT binary patch literal 60 zcmZo*nQF)Y0kuKPju LnHrc+Db@o3@q7>} literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/637e7e3574d17ec15b7e745af5b1b832_activity.pkl b/backend/instance/sessions/637e7e3574d17ec15b7e745af5b1b832_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..8863c47bcc3aae1991128095bf19302a88a8a064 GIT binary patch literal 60 zcmZo*nQF)Y0kuX{fB L8Cn`lDb@o3@zxMA literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/63a14b220a8636a06fcf193740534b6f_activity.pkl b/backend/instance/sessions/63a14b220a8636a06fcf193740534b6f_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..080ea3f0e5a25f93d1be45535a7fd1dc986b3a91 GIT binary patch literal 60 zcmZo*nQF)Y0kuCE+ literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/63e96f6ab66460c6d5bafbda53782f94_activity.pkl b/backend/instance/sessions/63e96f6ab66460c6d5bafbda53782f94_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..34d9f353fb42c5b6589edef70111551670fea74b GIT binary patch literal 60 zcmZo*nQF)Y0kuU_ literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/6429306580079fc74e2b286a420671ab_activity.pkl b/backend/instance/sessions/6429306580079fc74e2b286a420671ab_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..da4315e71d91768aae750c5cda6858965f3a7541 GIT binary patch literal 60 zcmZo*nQF)Y0kuKU1t LTbi3qDb@o3@$C>i literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/6808e07be459341cdd22fb6206cbfdae_activity.pkl b/backend/instance/sessions/6808e07be459341cdd22fb6206cbfdae_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..f781aa7dc704a80fd88f0448b5aaf97a99447174 GIT binary patch literal 60 zcmZo*nQF)Y0kuX{fB L8d#c5Db@o3@!=3P literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/6ccb65527f09a3e71d4e80ca1b6e1cb3_activity.pkl b/backend/instance/sessions/6ccb65527f09a3e71d4e80ca1b6e1cb3_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..620ea5a89bc4be741b695b1a1cb3691e9f252709 GIT binary patch literal 60 zcmZo*nQF)Y0kulv6C L8k?C+Db@o3@#GLR literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/714370507d144d85b4ec0b156656086e_activity.pkl b/backend/instance/sessions/714370507d144d85b4ec0b156656086e_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..783124cb5f2886b4f50c39faffa4ceefa42baee2 GIT binary patch literal 60 zcmZo*nQF)Y0kuKU6_ J0@0LWJpl3A5IFz< literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/718a13cea23516f87ac8e9966a46c967_activity.pkl b/backend/instance/sessions/718a13cea23516f87ac8e9966a46c967_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..2ce5df7ccd572600c5e5d9a41f8b0f289da71381 GIT binary patch literal 60 zcmZo*nQF)Y0kuKPjv LnwptSDb@o3@rMvC literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/758ed08fc3807a90215007f0749119c3_activity.pkl b/backend/instance/sessions/758ed08fc3807a90215007f0749119c3_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..ca0da5f5203e76e5cb1a4d5043ab209502167073 GIT binary patch literal 60 zcmZo*nQF)Y0ku6u#? LnHd{SDb@o3@&ph! literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/775f773da442102d2f533bdae58c364d_activity.pkl b/backend/instance/sessions/775f773da442102d2f533bdae58c364d_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..8a025ca5abc2a56a5dfd89de03de042a4f634153 GIT binary patch literal 60 zcmZo*nQF)Y0kulvCD Ln-~~PDb@o3@yie{ literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/78ef6dca83d0b9dd84dac08de1735f9c_activity.pkl b/backend/instance/sessions/78ef6dca83d0b9dd84dac08de1735f9c_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..6006bc719a3b9ade66950a259134e484d18398dc GIT binary patch literal 60 zcmZo*nQF)Y0kuX{fB LTAEl)Db@o3@&*t) literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/7a55b67eaf5aac3b0bfe6ffda173fc86_activity.pkl b/backend/instance/sessions/7a55b67eaf5aac3b0bfe6ffda173fc86_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..088c5258fd4a87e2519674b37ea84a08a09d08c3 GIT binary patch literal 60 zcmZo*nQF)Y0kuKPeZ LnwwipDb@o3@!t?T literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/7b9e37ae7a2cf45ad4eada5001d3631b_activity.pkl b/backend/instance/sessions/7b9e37ae7a2cf45ad4eada5001d3631b_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..3cdd20f77566c4e8043f3b5044127bd7b9504321 GIT binary patch literal 60 zcmZo*nQF)Y0kuls>D Lm>HW*Db@o3@;MMd literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/7bb4b2bf37b1e09a6381b2276fd3be75_activity.pkl b/backend/instance/sessions/7bb4b2bf37b1e09a6381b2276fd3be75_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..e8649e63a43d12e9a6b4b1f94f4771b66b96237e GIT binary patch literal 60 zcmZo*nQF)Y0kuY17w LSr}MODb@o3@+c5K literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/7ea8c2d863eed5950fb747c07e51de0d_activity.pkl b/backend/instance/sessions/7ea8c2d863eed5950fb747c07e51de0d_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..ab4868d1f80c237a4ce21bc31dbaf8bdf36dbccb GIT binary patch literal 60 zcmZo*nQF)Y0kuX{fB LnVMKkDb@o3@%0cm literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/7f1b48bc49cb2099aba7d586ac6ac59c_activity.pkl b/backend/instance/sessions/7f1b48bc49cb2099aba7d586ac6ac59c_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..be3667dff1029bd74a855a6a75357f66d015b30d GIT binary patch literal 60 zcmZo*nQF)Y0kuX{lD LSeh73Db@o3@$e8e literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/846ca8d0263a78b5063c9f6c7b55d99c_activity.pkl b/backend/instance/sessions/846ca8d0263a78b5063c9f6c7b55d99c_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..8ce9377edb94c9eafd5497fe43d3ed54cac7b0ba GIT binary patch literal 60 zcmZo*nQF)Y0kuX}#= LSs0j1Db@o3@)Hm_ literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/86827f1486c6162f38d23f75c1f152f7_activity.pkl b/backend/instance/sessions/86827f1486c6162f38d23f75c1f152f7_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..af06704fb989da9d9de3356b5577b5c308102752 GIT binary patch literal 60 zcmZo*nQF)Y0kuXM6Db@o3@+lBN literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/869d17bc91e6783304e3a469c0bc18c3_activity.pkl b/backend/instance/sessions/869d17bc91e6783304e3a469c0bc18c3_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..aab743d6f08d084af93c5e4151f11d50cd12608a GIT binary patch literal 60 zcmZo*nQF)Y0kuX{f@ L7#bK&Db@o3@#7FN literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/87074b72ba9d2d91ffb542d4929d2c62_activity.pkl b/backend/instance/sessions/87074b72ba9d2d91ffb542d4929d2c62_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..7537a836c0ab83bfcfac04d4d5dc15b4cd369cc2 GIT binary patch literal 60 zcmZo*nQF)Y0kuKPfB Lnpl`mDb@o3@tP1Z literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/89d34b1cb7dc093662d36a40f59ec4d3_activity.pkl b/backend/instance/sessions/89d34b1cb7dc093662d36a40f59ec4d3_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..2b955a6581fb02944622127e489b4a05244ef937 GIT binary patch literal 60 zcmZo*nQF)Y0kuY LS{Ry6Db@o3@+lBL literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/8aa4fe561a91b406c8d6f332d0a0b3e1_activity.pkl b/backend/instance/sessions/8aa4fe561a91b406c8d6f332d0a0b3e1_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..69f9ac5f482b2222d671490dc44c8936a16dbed4 GIT binary patch literal 60 zcmZo*nQF)Y0kulqnY Lnps#(Db@o3@;VSh literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/8b16a684763b66d54eb7b827fd4a9330_activity.pkl b/backend/instance/sessions/8b16a684763b66d54eb7b827fd4a9330_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..6c86dc63a4f3f071b6c2a4ac8830c58d464d7b34 GIT binary patch literal 60 zcmZo*nQF)Y0kuKU0E L7#J8&Db@o3@m~-l literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/8bc1e2732f45b5b2c57113ff13961119_activity.pkl b/backend/instance/sessions/8bc1e2732f45b5b2c57113ff13961119_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..54b12058b6f92b1dae9fc237b501327ba78d3e52 GIT binary patch literal 60 zcmZo*nQF)Y0kulqpv LSXdZMDb@o3@!k+L literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/8c358e1e229627393f8d071d41c3713d_activity.pkl b/backend/instance/sessions/8c358e1e229627393f8d071d41c3713d_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..20d09e8be9f04418a87843aeae82a49db9d41e05 GIT binary patch literal 60 zcmZo*nQF)Y0kulvDv Ln;IERDb@o3@&6Dt literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/8e3b3d25f40fa3ec53d7e93549efc865_activity.pkl b/backend/instance/sessions/8e3b3d25f40fa3ec53d7e93549efc865_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..22f6f13cf552c7bfd14e72f87f1cc4c04addef2f GIT binary patch literal 60 zcmZo*nQF)Y0ku3#NDb@o3@x~A> literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/8ec91f0a0e42f47ed4439382fb4275a3_activity.pkl b/backend/instance/sessions/8ec91f0a0e42f47ed4439382fb4275a3_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..519f7f1d23fd135aefa79b18e56d49d0392ceb33 GIT binary patch literal 60 zcmZo*nQF)Y0kuls-X L85mehDb@o3@$C>a literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/93afabb9937cc888a0ea1d4a93f4121a_activity.pkl b/backend/instance/sessions/93afabb9937cc888a0ea1d4a93f4121a_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..695f9f08566c5dcbc7745d674d55c2b52acc1989 GIT binary patch literal 60 zcmZo*nQF)Y0kuX}$r Lm>XM8Db@o3@>&o^ literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/96de5ea870bc7d75805069e76a561a53_activity.pkl b/backend/instance/sessions/96de5ea870bc7d75805069e76a561a53_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..7ed581875aba1e587b2ad14bd8f0c5f28b186c14 GIT binary patch literal 60 zcmZo*nQF)Y0kulqrF Lni^S7Db@o3@$C>d literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/972b70f0ff5e474caeb33048d99e4cc8_activity.pkl b/backend/instance/sessions/972b70f0ff5e474caeb33048d99e4cc8_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..950d819895e63d4f91e26973db1d35392705e3e2 GIT binary patch literal 60 zcmZo*nQF)Y0kulqrE LTN;^6Db@o3@&^z( literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/98fe29df8c380565dae1e5e926e9eb89_activity.pkl b/backend/instance/sessions/98fe29df8c380565dae1e5e926e9eb89_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..c092a5e58f686891159016f49e28c4e15d6dec1e GIT binary patch literal 60 zcmZo*nQF)Y0kuls>@ Lnj4r-Db@o3@)r;~ literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/9b215a271f2286130afd4ac4439bb860_activity.pkl b/backend/instance/sessions/9b215a271f2286130afd4ac4439bb860_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..3e4f0d0c5ad7e8dad96f814618f125fdcea16699 GIT binary patch literal 60 zcmZo*nQF)Y0kuY12W Lni`uKU0^ LnwgkRDb@o3@!k+P literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/a147420c3477454f5cb9e617320cae82_activity.pkl b/backend/instance/sessions/a147420c3477454f5cb9e617320cae82_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..4bf5209bf4fe6fd59e9c72d04497dea072ed3ec2 GIT binary patch literal 60 zcmZo*nQF)Y0ku&o@ literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/a147fb576406d534b691954d49279c3c_activity.pkl b/backend/instance/sessions/a147fb576406d534b691954d49279c3c_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..cc6c07cd8b341f81539145ef8886efb523689a6d GIT binary patch literal 60 zcmZo*nQF)Y0kua>KPjw LnV1?(Db@o3@hlJ{ literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/a27058c7d89e05c6f054bb36f29abb24_activity.pkl b/backend/instance/sessions/a27058c7d89e05c6f054bb36f29abb24_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..0de8b39fab81b8334223469dc9750434c3941ff9 GIT binary patch literal 60 zcmZo*nQF)Y0kulv9? Ln3@_)Db@o3@j?(N literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/a35231021c9918d79e94568f0df1a3f4_activity.pkl b/backend/instance/sessions/a35231021c9918d79e94568f0df1a3f4_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..1677bdd54ef76839885cb270669b845f789d94e6 GIT binary patch literal 60 zcmZo*nQF)Y0kuKT|? L8X8+nDb@o3@$(Qk literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/a83dd480f2669145d087e747423432c5_activity.pkl b/backend/instance/sessions/a83dd480f2669145d087e747423432c5_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..0d63a8e009b89bd0b5ec982c78eb3ecfb32a2438 GIT binary patch literal 60 zcmZo*nQF)Y0kulvDv Lm>8K)Db@o3@&FJx literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/aa91a5b3e602f40def8ead41470f286a_activity.pkl b/backend/instance/sessions/aa91a5b3e602f40def8ead41470f286a_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..743261daafe5ed14da896d7164237de90ec1f2e2 GIT binary patch literal 60 zcmZo*nQF)Y0kuX{fB LSQwg2Db@o3@!AkF literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/aa9a9b037d5b92bc080906ded36367f2_activity.pkl b/backend/instance/sessions/aa9a9b037d5b92bc080906ded36367f2_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..126c3a4c36e0f4068075adbe2db406feb1b4b7ff GIT binary patch literal 60 zcmZo*nQF)Y0kuKR#@ LnwlC;Db@o3@xc%> literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/abfbff6ec8fac82a564d9eb28382c185_activity.pkl b/backend/instance/sessions/abfbff6ec8fac82a564d9eb28382c185_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..aad264e2c2de1cf3228b0f59f5f654d0c9fc8291 GIT binary patch literal 60 zcmZo*nQF)Y0kuKU1s LTbLV7Db@o3@y8G~ literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/ac230513f39f652e51b42fb64bdcb667_activity.pkl b/backend/instance/sessions/ac230513f39f652e51b42fb64bdcb667_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..07d67dbc7725e71fc64557bf1fd4d9bd5a82bc00 GIT binary patch literal 60 zcmZo*nQF)Y0kuKT}u LSr}SQDb@o3@)8g| literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/acc463f7c45324cae08c935d13650563_activity.pkl b/backend/instance/sessions/acc463f7c45324cae08c935d13650563_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..266331bbe4e78903a20001b9af9d612ead17c40b GIT binary patch literal 60 zcmZo*nQF)Y0kuKPdu L8k(C;Db@o3@p}*} literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/adcfe14fbf667b35bbee837d83640c2b_activity.pkl b/backend/instance/sessions/adcfe14fbf667b35bbee837d83640c2b_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..ce9c35fa5a6cfdfc9f9e37eba5fd1e2bad7c9400 GIT binary patch literal 60 zcmZo*nQF)Y0kulvCD LTbh|oDb@o3@)r<2 literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/ae7828025b76f524128bc04eda7f5679_activity.pkl b/backend/instance/sessions/ae7828025b76f524128bc04eda7f5679_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..176e3c7cf0b6d3f2339396ab4c3d09298ac67f01 GIT binary patch literal 60 zcmZo*nQF)Y0kuH)j41qU=Sw& literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/b3d64a00ac751700069ff31e1858e46f_activity.pkl b/backend/instance/sessions/b3d64a00ac751700069ff31e1858e46f_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..3fef7126521080e7d0da123b09bb1da98e02e6ef GIT binary patch literal 60 zcmZo*nQF)Y0kuKU6E L7?>JQDb@o3@zD@4 literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/b600c99d0562c109ccf3dc5f913ea067_activity.pkl b/backend/instance/sessions/b600c99d0562c109ccf3dc5f913ea067_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..f4ec9c61eb9a329d248409e8032aaaca5be4369f GIT binary patch literal 60 zcmZo*nQF)Y0ku6u#? L7?~SRDb@o3@$wKg literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/b8d29c44e9e2147591bf3efe388d4cb7_activity.pkl b/backend/instance/sessions/b8d29c44e9e2147591bf3efe388d4cb7_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..9ebeda955e6e5d215b9caa8a020eeaccfb55be9a GIT binary patch literal 60 zcmZo*nQF)Y0kuKPeX L7#N#QDb@o3@rDp9 literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/bba8419bc8a9b87cc56bc4501300ed49_activity.pkl b/backend/instance/sessions/bba8419bc8a9b87cc56bc4501300ed49_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..75e126c1309bb9b1151a7882c666af8f7a5064f9 GIT binary patch literal 60 zcmZo*nQF)Y0ku Ln;Dr*Db@o3@*og9 literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/bf82655c9a58ef9d9a5469ca6a3dc12b_activity.pkl b/backend/instance/sessions/bf82655c9a58ef9d9a5469ca6a3dc12b_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..669dc68f922258392c961a377e69200e57402f64 GIT binary patch literal 60 zcmZo*nQF)Y0kuKU1s LnwuC+Db@o3@uUzh literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/c1f8dd6c7279a7a5462b3bfc425fd02d_activity.pkl b/backend/instance/sessions/c1f8dd6c7279a7a5462b3bfc425fd02d_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..5e93d022a65f046022855106c65ae14f40860526 GIT binary patch literal 60 zcmZo*nQF)Y0kulqpu L8JJj1Db@o3@yHM{ literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/c7d02b564f15356f56d1f787df056fc7_activity.pkl b/backend/instance/sessions/c7d02b564f15356f56d1f787df056fc7_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..9e8519e0e3c4fbb6305fa73497733cf68dd00f56 GIT binary patch literal 60 zcmZo*nQF)Y0kuKPha L8k?9*Db@o3@$C>c literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/c87760d3ddd45fbf01a674259bb8c20f_activity.pkl b/backend/instance/sessions/c87760d3ddd45fbf01a674259bb8c20f_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..78cdad1a967f58ec93ebbd52b99e380777fddf1b GIT binary patch literal 60 zcmZo*nQF)Y0kuY11r LSz4G(Db@o3@*xmD literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/c91c0bf8711f326b0e0a83759292d7cd_activity.pkl b/backend/instance/sessions/c91c0bf8711f326b0e0a83759292d7cd_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..f189591a1e646bfaf236cc416277a4cdbe406343 GIT binary patch literal 60 zcmZo*nQF)Y0ku L7+ac7Db@o3@&6Dy literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/cee753d8658e52d0770f0f8e4848001d_activity.pkl b/backend/instance/sessions/cee753d8658e52d0770f0f8e4848001d_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..27cc357967796ae203c4d1cc3c86fd1517e34d8b GIT binary patch literal 60 zcmZo*nQF)Y0kulvCG L8kks2Db@o3@#zpX literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/d304ee0847330d96082c4ffe67ec2790_activity.pkl b/backend/instance/sessions/d304ee0847330d96082c4ffe67ec2790_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..7c3770134f93f5fb9fd27fc8da99a38f87bfa87e GIT binary patch literal 60 zcmZo*nQF)Y0ku6x2b Lnpm1oDb@o3@>dW? literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/d4f514b777c91de5086c5ca0037baaba_activity.pkl b/backend/instance/sessions/d4f514b777c91de5086c5ca0037baaba_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..e4bb8181d69e3d1f25a28c9231cd60624cdee7c4 GIT binary patch literal 60 zcmZo*nQF)Y0kuX{gr L8W>nkDb@o3@yrl0 literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/d6166c84c2013a2b091a3dcbb4ca9972_activity.pkl b/backend/instance/sessions/d6166c84c2013a2b091a3dcbb4ca9972_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..a2c7c97c535b670b96c4df279e96dfee68146c90 GIT binary patch literal 60 zcmZo*nQF)Y0kuKPju L7#o;QDb@o3@mdfh literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/d631973066c4f2ace5ab23822723e78e_activity.pkl b/backend/instance/sessions/d631973066c4f2ace5ab23822723e78e_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..c7987e622a9fc172768db6c9519fb182188f8a80 GIT binary patch literal 60 zcmZo*nQF)Y0kulvDx LnOK@mDb@o3@-YxV literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/d9090ba8772d2beb98c9fd5b33bb2ba7_activity.pkl b/backend/instance/sessions/d9090ba8772d2beb98c9fd5b33bb2ba7_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..c5d976fc9fd16686c0a2df93c4645e26909b217d GIT binary patch literal 60 zcmZo*nQF)Y0kuX{iC Ln^_u9Db@o3@sSWQ literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/dcf32048a2cdbba99ff74356e0906851_activity.pkl b/backend/instance/sessions/dcf32048a2cdbba99ff74356e0906851_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..014be4f52c9d478d0b2988a8082e347d3a928935 GIT binary patch literal 60 zcmZo*nQF)Y0kuKU0^ LSeh73Db@o3@!b$N literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/e23a2638c61bb814841ad017e5a2fe2a_activity.pkl b/backend/instance/sessions/e23a2638c61bb814841ad017e5a2fe2a_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..ea1c7a70d11e2700ea32bde1b6079cdc09bdc8eb GIT binary patch literal 60 zcmZo*nQF)Y0kuKT}u Ln;RHUDb@o3@%9il literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/e47b4b2ec944e92bdfefa9302f39d61d_activity.pkl b/backend/instance/sessions/e47b4b2ec944e92bdfefa9302f39d61d_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..2165473ed6d294ef348e77d2f8f286e71e738864 GIT binary patch literal 60 zcmZo*nQF)Y0kulqrG LSsEEkDb@o3@%Rum literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/e484a2b0228564873c9f9f9d72ece948_activity.pkl b/backend/instance/sessions/e484a2b0228564873c9f9f9d72ece948_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..8075f1f6cb3a9ea2a9621194941f70483403cb41 GIT binary patch literal 60 zcmZo*nQF)Y0kuX}$t L8WKT|@ L7#JH)Db@o3@!AkE literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/ed07ad41ff7cb40a17d33689f2e25fef_activity.pkl b/backend/instance/sessions/ed07ad41ff7cb40a17d33689f2e25fef_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..19ce1605628cb140286e6799039d77fa58e0bd7e GIT binary patch literal 60 zcmZo*nQF)Y0kuKPfB L85>wmDb@o3@p}*} literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/ef5c6b17a2eeea42c23af70e423139a9_activity.pkl b/backend/instance/sessions/ef5c6b17a2eeea42c23af70e423139a9_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..3d5762115291ec1cb73590b04627f1b96360adea GIT binary patch literal 60 zcmZo*nQF)Y0kuY19D Lm>HN&Db@o3@&*t% literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/f4404fed51176d60d4187ec2fa9ca1d0_activity.pkl b/backend/instance/sessions/f4404fed51176d60d4187ec2fa9ca1d0_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..970bfa0623f955c18423cb32e61abb18f0667a9e GIT binary patch literal 60 zcmZo*nQF)Y0kulqrF Lm>ZZ)Db@o3@!SwI literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/fd8fe78b5d990e8f38e68672529e6916_activity.pkl b/backend/instance/sessions/fd8fe78b5d990e8f38e68672529e6916_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..771560839fc69c13a28052f5084b49c784b3d1ab GIT binary patch literal 60 zcmZo*nQF)Y0kulqpw Ln^>ApDb@o3@&ph& literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/fdf48b6aa29e2d8af177d083f68488a3_activity.pkl b/backend/instance/sessions/fdf48b6aa29e2d8af177d083f68488a3_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..ea145f8f594a239aacd2399ae2e673ffd35079a6 GIT binary patch literal 60 zcmZo*nQF)Y0kuLK< literal 0 HcmV?d00001 diff --git a/backend/instance/sessions/febd2ce38addda61a3e0db7c436a6870_activity.pkl b/backend/instance/sessions/febd2ce38addda61a3e0db7c436a6870_activity.pkl new file mode 100644 index 0000000000000000000000000000000000000000..ddcf00b45b2976f90b137bbe127d7d45c8ca209c GIT binary patch literal 60 zcmZo*nQF)Y0ku L8dw@kDb@o3@#PRR literal 0 HcmV?d00001 diff --git a/backend/logs/app/app.log b/backend/logs/app/app.log index ae34ff0ad..92c4239d7 100644 --- a/backend/logs/app/app.log +++ b/backend/logs/app/app.log @@ -19723,3 +19723,511 @@ werkzeug.routing.exceptions.BuildError: Could not build url for endpoint 'calend 2025-06-12 14:57:09 - [app] app - [INFO] INFO - [STARTUP] Starte Job Scheduler... 2025-06-12 14:57:09 - [app] app - [INFO] INFO - [STARTUP] โœ… Job Scheduler gestartet 2025-06-12 14:57:09 - [app] app - [INFO] INFO - [STARTUP] ๐ŸŒ Server startet auf http://0.0.0.0:5000 +2025-06-12 15:00:09 - [app] app - [WARNING] WARNING - DatabaseCleanupManager nicht verfรผgbar - Fallback auf Legacy-Cleanup +2025-06-12 15:00:09 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: backend/database/myp.db +2025-06-12 15:00:10 - [app] app - [INFO] INFO - [CONFIG] Erkannte Umgebung: development +2025-06-12 15:00:10 - [app] app - [INFO] INFO - [CONFIG] Production-Modus: False +2025-06-12 15:00:10 - [app] app - [INFO] INFO - [CONFIG] Verwende Development-Konfiguration +2025-06-12 15:00:10 - [app] app - [INFO] INFO - [DEVELOPMENT] Aktiviere Development-Konfiguration +2025-06-12 15:00:10 - [app] app - [INFO] INFO - [DEVELOPMENT] โœ… MYP Development Environment Konfiguration aktiviert +2025-06-12 15:00:10 - [app] app - [INFO] INFO - [DEVELOPMENT] โœ… Environment: Development/Testing +2025-06-12 15:00:10 - [app] app - [INFO] INFO - [DEVELOPMENT] โœ… Debug Mode: True +2025-06-12 15:00:10 - [app] app - [INFO] INFO - [DEVELOPMENT] โœ… SQL Echo: True +2025-06-12 15:00:10 - [app] app - [INFO] INFO - [STARTUP] ๐Ÿš€ Starte MYP DEVELOPMENT-Umgebung +2025-06-12 15:00:10 - [app] app - [INFO] INFO - [STARTUP] ๐Ÿข Mercedes-Benz TBA Marienfelde +2025-06-12 15:00:10 - [app] app - [INFO] INFO - [STARTUP] ๐Ÿ”’ Air-Gapped: True +2025-06-12 15:00:10 - [app] app - [INFO] INFO - [STARTUP] Initialisiere Datenbank... +2025-06-12 15:00:10 - [app] app - [INFO] INFO - SQLite fรผr Raspberry Pi optimiert (reduzierte Cache-GrรถรŸe, SD-Karten I/O) +2025-06-12 15:00:10 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert +2025-06-12 15:00:10 - [app] app - [INFO] INFO - [STARTUP] โœ… Datenbank initialisiert +2025-06-12 15:00:10 - [app] app - [INFO] INFO - [STARTUP] Prรผfe Initial-Admin... +2025-06-12 15:00:10 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurรผckgesetzt. +2025-06-12 15:00:10 - [app] app - [INFO] INFO - [STARTUP] โœ… Admin-Benutzer geprรผft +2025-06-12 15:00:10 - [app] app - [INFO] INFO - [STARTUP] Starte Queue Manager... +2025-06-12 15:00:10 - [app] app - [INFO] INFO - [STARTUP] โœ… Queue Manager gestartet +2025-06-12 15:00:10 - [app] app - [INFO] INFO - [STARTUP] Starte Job Scheduler... +2025-06-12 15:00:10 - [app] app - [INFO] INFO - [STARTUP] โœ… Job Scheduler gestartet +2025-06-12 15:00:10 - [app] app - [INFO] INFO - [STARTUP] ๐ŸŒ Server startet auf http://0.0.0.0:5000 +2025-06-12 15:00:11 - [app] app - [WARNING] WARNING - DatabaseCleanupManager nicht verfรผgbar - Fallback auf Legacy-Cleanup +2025-06-12 15:00:11 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: backend/database/myp.db +2025-06-12 15:00:12 - [app] app - [INFO] INFO - [CONFIG] Erkannte Umgebung: development +2025-06-12 15:00:12 - [app] app - [INFO] INFO - [CONFIG] Production-Modus: False +2025-06-12 15:00:12 - [app] app - [INFO] INFO - [CONFIG] Verwende Development-Konfiguration +2025-06-12 15:00:12 - [app] app - [INFO] INFO - [DEVELOPMENT] Aktiviere Development-Konfiguration +2025-06-12 15:00:12 - [app] app - [INFO] INFO - [DEVELOPMENT] โœ… MYP Development Environment Konfiguration aktiviert +2025-06-12 15:00:12 - [app] app - [INFO] INFO - [DEVELOPMENT] โœ… Environment: Development/Testing +2025-06-12 15:00:12 - [app] app - [INFO] INFO - [DEVELOPMENT] โœ… Debug Mode: True +2025-06-12 15:00:12 - [app] app - [INFO] INFO - [DEVELOPMENT] โœ… SQL Echo: True +2025-06-12 15:00:12 - [app] app - [INFO] INFO - [STARTUP] ๐Ÿš€ Starte MYP DEVELOPMENT-Umgebung +2025-06-12 15:00:12 - [app] app - [INFO] INFO - [STARTUP] ๐Ÿข Mercedes-Benz TBA Marienfelde +2025-06-12 15:00:12 - [app] app - [INFO] INFO - [STARTUP] ๐Ÿ”’ Air-Gapped: True +2025-06-12 15:00:12 - [app] app - [INFO] INFO - [STARTUP] Initialisiere Datenbank... +2025-06-12 15:00:12 - [app] app - [INFO] INFO - SQLite fรผr Raspberry Pi optimiert (reduzierte Cache-GrรถรŸe, SD-Karten I/O) +2025-06-12 15:00:12 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert +2025-06-12 15:00:12 - [app] app - [INFO] INFO - [STARTUP] โœ… Datenbank initialisiert +2025-06-12 15:00:12 - [app] app - [INFO] INFO - [STARTUP] Prรผfe Initial-Admin... +2025-06-12 15:00:13 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurรผckgesetzt. +2025-06-12 15:00:13 - [app] app - [INFO] INFO - [STARTUP] โœ… Admin-Benutzer geprรผft +2025-06-12 15:00:13 - [app] app - [INFO] INFO - [STARTUP] Starte Queue Manager... +2025-06-12 15:00:13 - [app] app - [INFO] INFO - [STARTUP] โœ… Queue Manager gestartet +2025-06-12 15:00:13 - [app] app - [INFO] INFO - [STARTUP] Starte Job Scheduler... +2025-06-12 15:00:13 - [app] app - [INFO] INFO - [STARTUP] โœ… Job Scheduler gestartet +2025-06-12 15:00:13 - [app] app - [INFO] INFO - [STARTUP] ๐ŸŒ Server startet auf http://0.0.0.0:5000 +2025-06-12 15:00:13 - [app] app - [INFO] INFO - Locating template 'dashboard.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates + -> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\dashboard.html') +2025-06-12 15:00:13 - [app] app - [INFO] INFO - Locating template 'base.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates + -> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\base.html') +2025-06-12 15:00:13 - [app] app - [INFO] INFO - Locating template 'includes/navbar.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates + -> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\includes\\navbar.html') +2025-06-12 15:00:13 - [app] app - [ERROR] ERROR - Unhandled Exception - ID: 20250612_150013 +2025-06-12 15:00:13 - [app] app - [ERROR] ERROR - URL: http://127.0.0.1:5000/dashboard +2025-06-12 15:00:13 - [app] app - [ERROR] ERROR - Method: GET +2025-06-12 15:00:13 - [app] app - [ERROR] ERROR - User: admin +2025-06-12 15:00:13 - [app] app - [ERROR] ERROR - Exception Type: UndefinedError +2025-06-12 15:00:13 - [app] app - [ERROR] ERROR - Exception: 'models.User object' has no attribute 'has_role' +2025-06-12 15:00:13 - [app] app - [ERROR] ERROR - Traceback: Traceback (most recent call last): + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\app.py", line 1484, in full_dispatch_request + rv = self.dispatch_request() + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\app.py", line 1469, in dispatch_request + return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask_login\utils.py", line 290, in decorated_view + return current_app.ensure_sync(func)(*args, **kwargs) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\app.py", line 779, in dashboard + return render_template("dashboard.html") + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\templating.py", line 151, in render_template + return _render(app, template, context) + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\templating.py", line 132, in _render + rv = template.render(context) + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\jinja2\environment.py", line 1295, in render + self.environment.handle_exception() + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^ + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\jinja2\environment.py", line 942, in handle_exception + raise rewrite_traceback_stack(source=source) + File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates\dashboard.html", line 1, in top-level template code + {% extends "base.html" %} + File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates\base.html", line 276, in top-level template code + {% include 'includes/navbar.html' %} + ^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates\includes\navbar.html", line 66, in top-level template code + {% if current_user.is_authenticated and current_user.has_role('admin') %} + ^^^^^^^^^^^^^ + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\jinja2\utils.py", line 92, in from_obj + if hasattr(obj, "jinja_pass_arg"): + ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^ +jinja2.exceptions.UndefinedError: 'models.User object' has no attribute 'has_role' + +2025-06-12 15:00:13 - [app] app - [INFO] INFO - Locating template 'errors/500.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates + -> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\errors\\500.html') +2025-06-12 15:00:14 - [app] app - [INFO] INFO - [SHUTDOWN] ๐Ÿงน Cleanup wird ausgefรผhrt... +2025-06-12 15:00:14 - [app] app - [INFO] INFO - [SHUTDOWN] โœ… Queue Manager gestoppt +2025-06-12 15:00:14 - [app] app - [ERROR] ERROR - [SHUTDOWN] โŒ Cleanup-Fehler: 'BackgroundTaskScheduler' object has no attribute 'shutdown' +2025-06-12 15:00:15 - [app] app - [WARNING] WARNING - DatabaseCleanupManager nicht verfรผgbar - Fallback auf Legacy-Cleanup +2025-06-12 15:00:15 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: backend/database/myp.db +2025-06-12 15:02:23 - [app] app - [WARNING] WARNING - DatabaseCleanupManager nicht verfรผgbar - Fallback auf Legacy-Cleanup +2025-06-12 15:02:23 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: backend/database/myp.db +2025-06-12 15:02:43 - [app] app - [WARNING] WARNING - DatabaseCleanupManager nicht verfรผgbar - Fallback auf Legacy-Cleanup +2025-06-12 15:02:43 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: backend/database/myp.db +2025-06-12 15:03:37 - [app] app - [WARNING] WARNING - DatabaseCleanupManager nicht verfรผgbar - Fallback auf Legacy-Cleanup +2025-06-12 15:03:37 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: backend/database/myp.db +2025-06-12 15:03:38 - [app] app - [INFO] INFO - [CONFIG] Erkannte Umgebung: development +2025-06-12 15:03:38 - [app] app - [INFO] INFO - [CONFIG] Production-Modus: False +2025-06-12 15:03:38 - [app] app - [INFO] INFO - [CONFIG] Verwende Development-Konfiguration +2025-06-12 15:03:38 - [app] app - [INFO] INFO - [DEVELOPMENT] Aktiviere Development-Konfiguration +2025-06-12 15:03:38 - [app] app - [INFO] INFO - [DEVELOPMENT] โœ… MYP Development Environment Konfiguration aktiviert +2025-06-12 15:03:38 - [app] app - [INFO] INFO - [DEVELOPMENT] โœ… Environment: Development/Testing +2025-06-12 15:03:38 - [app] app - [INFO] INFO - [DEVELOPMENT] โœ… Debug Mode: True +2025-06-12 15:03:38 - [app] app - [INFO] INFO - [DEVELOPMENT] โœ… SQL Echo: True +2025-06-12 15:03:38 - [app] app - [INFO] INFO - [STARTUP] ๐Ÿš€ Starte MYP DEVELOPMENT-Umgebung +2025-06-12 15:03:38 - [app] app - [INFO] INFO - [STARTUP] ๐Ÿข Mercedes-Benz TBA Marienfelde +2025-06-12 15:03:38 - [app] app - [INFO] INFO - [STARTUP] ๐Ÿ”’ Air-Gapped: True +2025-06-12 15:03:38 - [app] app - [INFO] INFO - [STARTUP] Initialisiere Datenbank... +2025-06-12 15:03:38 - [app] app - [INFO] INFO - SQLite fรผr Raspberry Pi optimiert (reduzierte Cache-GrรถรŸe, SD-Karten I/O) +2025-06-12 15:03:38 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert +2025-06-12 15:03:38 - [app] app - [INFO] INFO - [STARTUP] โœ… Datenbank initialisiert +2025-06-12 15:03:38 - [app] app - [INFO] INFO - [STARTUP] Prรผfe Initial-Admin... +2025-06-12 15:03:38 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurรผckgesetzt. +2025-06-12 15:03:38 - [app] app - [INFO] INFO - [STARTUP] โœ… Admin-Benutzer geprรผft +2025-06-12 15:03:38 - [app] app - [INFO] INFO - [STARTUP] Starte Queue Manager... +2025-06-12 15:03:38 - [app] app - [INFO] INFO - [STARTUP] โœ… Queue Manager gestartet +2025-06-12 15:03:38 - [app] app - [INFO] INFO - [STARTUP] Starte Job Scheduler... +2025-06-12 15:03:38 - [app] app - [INFO] INFO - [STARTUP] โœ… Job Scheduler gestartet +2025-06-12 15:03:38 - [app] app - [INFO] INFO - [STARTUP] ๐ŸŒ Server startet auf http://0.0.0.0:5000 +2025-06-12 15:03:39 - [app] app - [WARNING] WARNING - DatabaseCleanupManager nicht verfรผgbar - Fallback auf Legacy-Cleanup +2025-06-12 15:03:39 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: backend/database/myp.db +2025-06-12 15:03:41 - [app] app - [INFO] INFO - [CONFIG] Erkannte Umgebung: development +2025-06-12 15:03:41 - [app] app - [INFO] INFO - [CONFIG] Production-Modus: False +2025-06-12 15:03:41 - [app] app - [INFO] INFO - [CONFIG] Verwende Development-Konfiguration +2025-06-12 15:03:41 - [app] app - [INFO] INFO - [DEVELOPMENT] Aktiviere Development-Konfiguration +2025-06-12 15:03:41 - [app] app - [INFO] INFO - [DEVELOPMENT] โœ… MYP Development Environment Konfiguration aktiviert +2025-06-12 15:03:41 - [app] app - [INFO] INFO - [DEVELOPMENT] โœ… Environment: Development/Testing +2025-06-12 15:03:41 - [app] app - [INFO] INFO - [DEVELOPMENT] โœ… Debug Mode: True +2025-06-12 15:03:41 - [app] app - [INFO] INFO - [DEVELOPMENT] โœ… SQL Echo: True +2025-06-12 15:03:41 - [app] app - [INFO] INFO - [STARTUP] ๐Ÿš€ Starte MYP DEVELOPMENT-Umgebung +2025-06-12 15:03:41 - [app] app - [INFO] INFO - [STARTUP] ๐Ÿข Mercedes-Benz TBA Marienfelde +2025-06-12 15:03:41 - [app] app - [INFO] INFO - [STARTUP] ๐Ÿ”’ Air-Gapped: True +2025-06-12 15:03:41 - [app] app - [INFO] INFO - [STARTUP] Initialisiere Datenbank... +2025-06-12 15:03:41 - [app] app - [INFO] INFO - SQLite fรผr Raspberry Pi optimiert (reduzierte Cache-GrรถรŸe, SD-Karten I/O) +2025-06-12 15:03:41 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert +2025-06-12 15:03:41 - [app] app - [INFO] INFO - [STARTUP] โœ… Datenbank initialisiert +2025-06-12 15:03:41 - [app] app - [INFO] INFO - [STARTUP] Prรผfe Initial-Admin... +2025-06-12 15:03:41 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurรผckgesetzt. +2025-06-12 15:03:41 - [app] app - [INFO] INFO - [STARTUP] โœ… Admin-Benutzer geprรผft +2025-06-12 15:03:41 - [app] app - [INFO] INFO - [STARTUP] Starte Queue Manager... +2025-06-12 15:03:41 - [app] app - [INFO] INFO - [STARTUP] โœ… Queue Manager gestartet +2025-06-12 15:03:41 - [app] app - [INFO] INFO - [STARTUP] Starte Job Scheduler... +2025-06-12 15:03:41 - [app] app - [INFO] INFO - [STARTUP] โœ… Job Scheduler gestartet +2025-06-12 15:03:41 - [app] app - [INFO] INFO - [STARTUP] ๐ŸŒ Server startet auf http://0.0.0.0:5000 +2025-06-12 15:03:41 - [app] app - [INFO] INFO - Locating template 'dashboard.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates + -> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\dashboard.html') +2025-06-12 15:03:41 - [app] app - [INFO] INFO - Locating template 'base.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates + -> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\base.html') +2025-06-12 15:03:41 - [app] app - [INFO] INFO - Locating template 'includes/navbar.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates + -> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\includes\\navbar.html') +2025-06-12 15:03:41 - [app] app - [ERROR] ERROR - Unhandled Exception - ID: 20250612_150341 +2025-06-12 15:03:41 - [app] app - [ERROR] ERROR - URL: http://127.0.0.1:5000/dashboard +2025-06-12 15:03:41 - [app] app - [ERROR] ERROR - Method: GET +2025-06-12 15:03:41 - [app] app - [ERROR] ERROR - User: admin +2025-06-12 15:03:41 - [app] app - [ERROR] ERROR - Exception Type: BuildError +2025-06-12 15:03:41 - [app] app - [ERROR] ERROR - Exception: Could not build url for endpoint 'users.profile'. Did you mean 'users.user_profile' instead? +2025-06-12 15:03:41 - [app] app - [ERROR] ERROR - Traceback: Traceback (most recent call last): + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\app.py", line 1484, in full_dispatch_request + rv = self.dispatch_request() + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\app.py", line 1469, in dispatch_request + return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask_login\utils.py", line 290, in decorated_view + return current_app.ensure_sync(func)(*args, **kwargs) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\app.py", line 779, in dashboard + return render_template("dashboard.html") + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\templating.py", line 151, in render_template + return _render(app, template, context) + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\templating.py", line 132, in _render + rv = template.render(context) + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\jinja2\environment.py", line 1295, in render + self.environment.handle_exception() + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^ + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\jinja2\environment.py", line 942, in handle_exception + raise rewrite_traceback_stack(source=source) + File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates\dashboard.html", line 1, in top-level template code + {% extends "base.html" %} + File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates\base.html", line 276, in top-level template code + {% include 'includes/navbar.html' %} + ^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates\includes\navbar.html", line 128, in top-level template code + + ^^^^^ + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\app.py", line 1697, in url_for + return self.handle_url_build_error(error, endpoint, values) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\app.py", line 1686, in url_for + rv = url_adapter.build( # type: ignore[union-attr] + endpoint, + ...<3 lines>... + force_external=_external, + ) + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\werkzeug\routing\map.py", line 924, in build + raise BuildError(endpoint, values, method, self) +werkzeug.routing.exceptions.BuildError: Could not build url for endpoint 'users.profile'. Did you mean 'users.user_profile' instead? + +2025-06-12 15:03:41 - [app] app - [INFO] INFO - Locating template 'errors/500.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates + -> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\errors\\500.html') +2025-06-12 15:03:42 - [app] app - [DEBUG] DEBUG - Request: GET /dashboard +2025-06-12 15:03:42 - [app] app - [ERROR] ERROR - Unhandled Exception - ID: 20250612_150342 +2025-06-12 15:03:42 - [app] app - [ERROR] ERROR - URL: http://127.0.0.1:5000/dashboard +2025-06-12 15:03:42 - [app] app - [ERROR] ERROR - Method: GET +2025-06-12 15:03:42 - [app] app - [ERROR] ERROR - User: admin +2025-06-12 15:03:42 - [app] app - [ERROR] ERROR - Exception Type: BuildError +2025-06-12 15:03:42 - [app] app - [ERROR] ERROR - Exception: Could not build url for endpoint 'users.profile'. Did you mean 'users.user_profile' instead? +2025-06-12 15:03:42 - [app] app - [ERROR] ERROR - Traceback: Traceback (most recent call last): + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\app.py", line 1484, in full_dispatch_request + rv = self.dispatch_request() + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\app.py", line 1469, in dispatch_request + return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask_login\utils.py", line 290, in decorated_view + return current_app.ensure_sync(func)(*args, **kwargs) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ + File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\app.py", line 779, in dashboard + return render_template("dashboard.html") + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\templating.py", line 151, in render_template + return _render(app, template, context) + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\templating.py", line 132, in _render + rv = template.render(context) + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\jinja2\environment.py", line 1295, in render + self.environment.handle_exception() + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^ + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\jinja2\environment.py", line 942, in handle_exception + raise rewrite_traceback_stack(source=source) + File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates\dashboard.html", line 1, in top-level template code + {% extends "base.html" %} + File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates\base.html", line 276, in top-level template code + {% include 'includes/navbar.html' %} + ^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates\includes\navbar.html", line 128, in top-level template code + + ^^^^^ + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\app.py", line 1697, in url_for + return self.handle_url_build_error(error, endpoint, values) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\app.py", line 1686, in url_for + rv = url_adapter.build( # type: ignore[union-attr] + endpoint, + ...<3 lines>... + force_external=_external, + ) + File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\werkzeug\routing\map.py", line 924, in build + raise BuildError(endpoint, values, method, self) +werkzeug.routing.exceptions.BuildError: Could not build url for endpoint 'users.profile'. Did you mean 'users.user_profile' instead? + +2025-06-12 15:08:09 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: backend/database/myp.db +2025-06-12 15:08:10 - [app] app - [INFO] INFO - [CONFIG] Erkannte Umgebung: development +2025-06-12 15:08:10 - [app] app - [INFO] INFO - [CONFIG] Production-Modus: False +2025-06-12 15:08:10 - [app] app - [INFO] INFO - [CONFIG] Verwende Development-Konfiguration +2025-06-12 15:08:10 - [app] app - [INFO] INFO - [DEVELOPMENT] Aktiviere Development-Konfiguration +2025-06-12 15:08:10 - [app] app - [INFO] INFO - [DEVELOPMENT] โœ… MYP Development Environment Konfiguration aktiviert +2025-06-12 15:08:10 - [app] app - [INFO] INFO - [DEVELOPMENT] โœ… Environment: Development/Testing +2025-06-12 15:08:10 - [app] app - [INFO] INFO - [DEVELOPMENT] โœ… Debug Mode: True +2025-06-12 15:08:10 - [app] app - [INFO] INFO - [DEVELOPMENT] โœ… SQL Echo: True +2025-06-12 15:08:48 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: backend/database/myp.db +2025-06-12 15:08:49 - [app] app - [INFO] INFO - [CONFIG] Erkannte Umgebung: development +2025-06-12 15:08:49 - [app] app - [INFO] INFO - [CONFIG] Production-Modus: False +2025-06-12 15:08:49 - [app] app - [INFO] INFO - [CONFIG] Verwende Development-Konfiguration +2025-06-12 15:08:49 - [app] app - [INFO] INFO - [DEVELOPMENT] Aktiviere Development-Konfiguration +2025-06-12 15:08:49 - [app] app - [INFO] INFO - [DEVELOPMENT] โœ… MYP Development Environment Konfiguration aktiviert +2025-06-12 15:08:49 - [app] app - [INFO] INFO - [DEVELOPMENT] โœ… Environment: Development/Testing +2025-06-12 15:08:49 - [app] app - [INFO] INFO - [DEVELOPMENT] โœ… Debug Mode: True +2025-06-12 15:08:49 - [app] app - [INFO] INFO - [DEVELOPMENT] โœ… SQL Echo: True +2025-06-12 15:08:49 - [app] app - [INFO] INFO - [STARTUP] ๐Ÿš€ Starte MYP DEVELOPMENT-Umgebung +2025-06-12 15:08:49 - [app] app - [INFO] INFO - [STARTUP] ๐Ÿข Mercedes-Benz TBA Marienfelde +2025-06-12 15:08:49 - [app] app - [INFO] INFO - [STARTUP] ๐Ÿ”’ Air-Gapped: True +2025-06-12 15:08:49 - [app] app - [INFO] INFO - [STARTUP] Initialisiere Datenbank... +2025-06-12 15:08:49 - [app] app - [INFO] INFO - SQLite fรผr Raspberry Pi optimiert (reduzierte Cache-GrรถรŸe, SD-Karten I/O) +2025-06-12 15:08:49 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert +2025-06-12 15:08:49 - [app] app - [INFO] INFO - [STARTUP] โœ… Datenbank initialisiert +2025-06-12 15:08:49 - [app] app - [INFO] INFO - [STARTUP] Prรผfe Initial-Admin... +2025-06-12 15:08:50 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurรผckgesetzt. +2025-06-12 15:08:50 - [app] app - [INFO] INFO - [STARTUP] โœ… Admin-Benutzer geprรผft +2025-06-12 15:08:50 - [app] app - [INFO] INFO - [STARTUP] Starte Queue Manager... +2025-06-12 15:08:50 - [app] app - [INFO] INFO - [STARTUP] โœ… Queue Manager gestartet +2025-06-12 15:08:50 - [app] app - [INFO] INFO - [STARTUP] Starte Job Scheduler... +2025-06-12 15:08:50 - [app] app - [INFO] INFO - [STARTUP] โœ… Job Scheduler gestartet +2025-06-12 15:08:50 - [app] app - [INFO] INFO - [STARTUP] ๐ŸŒ Server startet auf http://0.0.0.0:5000 +2025-06-12 15:08:50 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: backend/database/myp.db +2025-06-12 15:08:51 - [app] app - [INFO] INFO - [CONFIG] Erkannte Umgebung: development +2025-06-12 15:08:51 - [app] app - [INFO] INFO - [CONFIG] Production-Modus: False +2025-06-12 15:08:51 - [app] app - [INFO] INFO - [CONFIG] Verwende Development-Konfiguration +2025-06-12 15:08:51 - [app] app - [INFO] INFO - [DEVELOPMENT] Aktiviere Development-Konfiguration +2025-06-12 15:08:51 - [app] app - [INFO] INFO - [DEVELOPMENT] โœ… MYP Development Environment Konfiguration aktiviert +2025-06-12 15:08:51 - [app] app - [INFO] INFO - [DEVELOPMENT] โœ… Environment: Development/Testing +2025-06-12 15:08:51 - [app] app - [INFO] INFO - [DEVELOPMENT] โœ… Debug Mode: True +2025-06-12 15:08:51 - [app] app - [INFO] INFO - [DEVELOPMENT] โœ… SQL Echo: True +2025-06-12 15:08:51 - [app] app - [INFO] INFO - [STARTUP] ๐Ÿš€ Starte MYP DEVELOPMENT-Umgebung +2025-06-12 15:08:51 - [app] app - [INFO] INFO - [STARTUP] ๐Ÿข Mercedes-Benz TBA Marienfelde +2025-06-12 15:08:51 - [app] app - [INFO] INFO - [STARTUP] ๐Ÿ”’ Air-Gapped: True +2025-06-12 15:08:51 - [app] app - [INFO] INFO - [STARTUP] Initialisiere Datenbank... +2025-06-12 15:08:51 - [app] app - [INFO] INFO - SQLite fรผr Raspberry Pi optimiert (reduzierte Cache-GrรถรŸe, SD-Karten I/O) +2025-06-12 15:08:51 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert +2025-06-12 15:08:51 - [app] app - [INFO] INFO - [STARTUP] โœ… Datenbank initialisiert +2025-06-12 15:08:51 - [app] app - [INFO] INFO - [STARTUP] Prรผfe Initial-Admin... +2025-06-12 15:08:52 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurรผckgesetzt. +2025-06-12 15:08:52 - [app] app - [INFO] INFO - [STARTUP] โœ… Admin-Benutzer geprรผft +2025-06-12 15:08:52 - [app] app - [INFO] INFO - [STARTUP] Starte Queue Manager... +2025-06-12 15:08:52 - [app] app - [INFO] INFO - [STARTUP] โœ… Queue Manager gestartet +2025-06-12 15:08:52 - [app] app - [INFO] INFO - [STARTUP] Starte Job Scheduler... +2025-06-12 15:08:52 - [app] app - [INFO] INFO - [STARTUP] โœ… Job Scheduler gestartet +2025-06-12 15:08:52 - [app] app - [INFO] INFO - [STARTUP] ๐ŸŒ Server startet auf http://0.0.0.0:5000 +2025-06-12 15:08:54 - [app] app - [INFO] INFO - Locating template 'dashboard.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates + -> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\dashboard.html') +2025-06-12 15:08:54 - [app] app - [INFO] INFO - Locating template 'base.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates + -> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\base.html') +2025-06-12 15:08:54 - [app] app - [INFO] INFO - Locating template 'includes/navbar.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates + -> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\includes\\navbar.html') +2025-06-12 15:08:54 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-12 15:08:55 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications +2025-06-12 15:08:55 - [app] app - [ERROR] ERROR - Datenbank-Transaktion fehlgeschlagen: Entity namespace for "notifications" has no property "read" +2025-06-12 15:08:55 - [app] app - [DEBUG] DEBUG - Response: 500 +2025-06-12 15:08:55 - [app] app - [DEBUG] DEBUG - Request: GET /api/session/status +2025-06-12 15:08:55 - [app] app - [DEBUG] DEBUG - Request: GET /api/printers/monitor/live-status +2025-06-12 15:08:55 - [app] app - [DEBUG] DEBUG - Request: GET /api/user/settings +2025-06-12 15:08:55 - [app] app - [DEBUG] DEBUG - Response: 500 +2025-06-12 15:08:55 - [app] app - [DEBUG] DEBUG - Response: 500 +2025-06-12 15:08:55 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-12 15:08:57 - [app] app - [DEBUG] DEBUG - Request: GET /printers +2025-06-12 15:08:57 - [app] app - [INFO] INFO - Locating template 'printers.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates + -> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\printers.html') +2025-06-12 15:08:57 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-12 15:08:57 - [app] app - [DEBUG] DEBUG - Request: GET /api/printers +2025-06-12 15:08:57 - [app] app - [INFO] INFO - โœ… API: 6 Drucker abgerufen +2025-06-12 15:08:57 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-12 15:08:57 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications +2025-06-12 15:08:57 - [app] app - [ERROR] ERROR - Datenbank-Transaktion fehlgeschlagen: Entity namespace for "notifications" has no property "read" +2025-06-12 15:08:57 - [app] app - [DEBUG] DEBUG - Response: 500 +2025-06-12 15:08:57 - [app] app - [DEBUG] DEBUG - Request: GET /api/printers/monitor/live-status +2025-06-12 15:08:57 - [app] app - [DEBUG] DEBUG - Request: GET /api/session/status +2025-06-12 15:08:57 - [app] app - [DEBUG] DEBUG - Request: GET /api/user/settings +2025-06-12 15:08:57 - [app] app - [DEBUG] DEBUG - Response: 500 +2025-06-12 15:08:57 - [app] app - [DEBUG] DEBUG - Response: 500 +2025-06-12 15:08:57 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-12 15:08:58 - [app] app - [DEBUG] DEBUG - Request: GET /tapo/ +2025-06-12 15:09:11 - [app] app - [INFO] INFO - Locating template 'tapo_control.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates + -> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\tapo_control.html') +2025-06-12 15:09:11 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-12 15:09:11 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications +2025-06-12 15:09:11 - [app] app - [ERROR] ERROR - Datenbank-Transaktion fehlgeschlagen: Entity namespace for "notifications" has no property "read" +2025-06-12 15:09:11 - [app] app - [DEBUG] DEBUG - Request: GET /api/session/status +2025-06-12 15:09:11 - [app] app - [DEBUG] DEBUG - Response: 500 +2025-06-12 15:09:11 - [app] app - [DEBUG] DEBUG - Request: GET /api/user/settings +2025-06-12 15:09:11 - [app] app - [DEBUG] DEBUG - Response: 500 +2025-06-12 15:09:11 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-12 15:09:16 - [app] app - [DEBUG] DEBUG - Request: GET /admin/ +2025-06-12 15:09:16 - [app] app - [INFO] INFO - Locating template 'admin.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates + -> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\admin.html') +2025-06-12 15:09:16 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-12 15:09:16 - [app] app - [ERROR] ERROR - Fehler beim Laden des Benutzers 1: (sqlite3.InterfaceError) bad parameter or other API misuse +[SQL: SELECT users.id AS users_id, users.email AS users_email, users.username AS users_username, users.password_hash AS users_password_hash, users.name AS users_name, users.role AS users_role, users.active AS users_active, users.created_at AS users_created_at, users.last_login AS users_last_login, users.updated_at AS users_updated_at, users.settings AS users_settings, users.last_activity AS users_last_activity, users.department AS users_department, users.position AS users_position, users.phone AS users_phone, users.bio AS users_bio, users.theme_preference AS users_theme_preference, users.language_preference AS users_language_preference, users.email_notifications AS users_email_notifications, users.browser_notifications AS users_browser_notifications, users.dashboard_layout AS users_dashboard_layout, users.compact_mode AS users_compact_mode, users.show_completed_jobs AS users_show_completed_jobs, users.auto_refresh_interval AS users_auto_refresh_interval, users.auto_logout_timeout AS users_auto_logout_timeout +FROM users +WHERE users.id = ? + LIMIT ? OFFSET ?] +[parameters: (1, 1, 0)] +(Background on this error at: https://sqlalche.me/e/20/rvf5) +2025-06-12 15:09:16 - [app] app - [ERROR] ERROR - Fehler beim Laden des Benutzers 1: tuple index out of range +2025-06-12 15:09:16 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications +2025-06-12 15:09:16 - [app] app - [ERROR] ERROR - Datenbank-Transaktion fehlgeschlagen: Entity namespace for "notifications" has no property "read" +2025-06-12 15:09:16 - [app] app - [DEBUG] DEBUG - Response: 500 +2025-06-12 15:09:16 - [app] app - [DEBUG] DEBUG - Request: GET /api/stats +2025-06-12 15:09:16 - [app] app - [DEBUG] DEBUG - Request: GET /api/printers/monitor/live-status +2025-06-12 15:09:16 - [app] app - [INFO] INFO - Not Found (404): http://127.0.0.1:5000/api/stats +2025-06-12 15:09:16 - [app] app - [DEBUG] DEBUG - Request: GET /api/session/status +2025-06-12 15:09:16 - [app] app - [DEBUG] DEBUG - Response: 302 +2025-06-12 15:09:16 - [app] app - [DEBUG] DEBUG - Request: GET /api/user/settings +2025-06-12 15:09:16 - [app] app - [INFO] INFO - Locating template 'errors/404.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates + -> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\errors\\404.html') +2025-06-12 15:09:16 - [app] app - [DEBUG] DEBUG - Response: 404 +2025-06-12 15:09:16 - [app] app - [DEBUG] DEBUG - Response: 500 +2025-06-12 15:09:16 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-12 15:09:16 - [app] app - [DEBUG] DEBUG - Request: GET /auth/login +2025-06-12 15:09:16 - [app] app - [DEBUG] DEBUG - Response: 302 +2025-06-12 15:09:16 - [app] app - [DEBUG] DEBUG - Request: GET /api/admin/system-health +2025-06-12 15:09:16 - [app] app - [INFO] INFO - Not Found (404): http://127.0.0.1:5000/api/admin/system-health +2025-06-12 15:09:16 - [app] app - [DEBUG] DEBUG - Response: 404 +2025-06-12 15:09:16 - [app] app - [DEBUG] DEBUG - Request: GET / +2025-06-12 15:09:16 - [app] app - [DEBUG] DEBUG - Response: 302 +2025-06-12 15:09:16 - [app] app - [DEBUG] DEBUG - Request: GET /dashboard +2025-06-12 15:09:16 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-12 15:09:19 - [app] app - [DEBUG] DEBUG - Request: GET /jobs +2025-06-12 15:09:19 - [app] app - [INFO] INFO - Locating template 'jobs.html': + 1: trying loader of application '__main__' + class: jinja2.loaders.FileSystemLoader + encoding: 'utf-8' + followlinks: False + searchpath: + - C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates + -> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\jobs.html') +2025-06-12 15:09:19 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-12 15:09:19 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications +2025-06-12 15:09:19 - [app] app - [ERROR] ERROR - Datenbank-Transaktion fehlgeschlagen: Entity namespace for "notifications" has no property "read" +2025-06-12 15:09:19 - [app] app - [DEBUG] DEBUG - Response: 500 +2025-06-12 15:09:19 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs +2025-06-12 15:09:19 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs +2025-06-12 15:09:19 - [app] app - [DEBUG] DEBUG - Request: GET /api/session/status +2025-06-12 15:09:19 - [app] app - [DEBUG] DEBUG - Request: GET /api/user/settings +2025-06-12 15:09:19 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-12 15:09:19 - [app] app - [DEBUG] DEBUG - Response: 500 +2025-06-12 15:09:19 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-12 15:09:19 - [app] app - [DEBUG] DEBUG - Response: 200 +2025-06-12 15:09:19 - [app] app - [DEBUG] DEBUG - Request: GET /api/printers +2025-06-12 15:09:19 - [app] app - [INFO] INFO - โœ… API: 6 Drucker abgerufen +2025-06-12 15:09:19 - [app] app - [DEBUG] DEBUG - Response: 200 diff --git a/backend/logs/core_system/core_system.log b/backend/logs/core_system/core_system.log index 34c7317e7..3ebcfff26 100644 --- a/backend/logs/core_system/core_system.log +++ b/backend/logs/core_system/core_system.log @@ -142,3 +142,19 @@ 2025-06-12 14:57:00 - [core_system] core_system - [INFO] INFO - ๐Ÿ“Š Massive Konsolidierung: 6 Dateien โ†’ 1 Datei (88% Reduktion) 2025-06-12 14:57:07 - [core_system] core_system - [INFO] INFO - โœ… Core System Management Module erfolgreich initialisiert 2025-06-12 14:57:07 - [core_system] core_system - [INFO] INFO - ๐Ÿ“Š Massive Konsolidierung: 6 Dateien โ†’ 1 Datei (88% Reduktion) +2025-06-12 15:00:09 - [core_system] core_system - [INFO] INFO - โœ… Core System Management Module erfolgreich initialisiert +2025-06-12 15:00:09 - [core_system] core_system - [INFO] INFO - ๐Ÿ“Š Massive Konsolidierung: 6 Dateien โ†’ 1 Datei (88% Reduktion) +2025-06-12 15:00:11 - [core_system] core_system - [INFO] INFO - โœ… Core System Management Module erfolgreich initialisiert +2025-06-12 15:00:11 - [core_system] core_system - [INFO] INFO - ๐Ÿ“Š Massive Konsolidierung: 6 Dateien โ†’ 1 Datei (88% Reduktion) +2025-06-12 15:00:15 - [core_system] core_system - [INFO] INFO - โœ… Core System Management Module erfolgreich initialisiert +2025-06-12 15:00:15 - [core_system] core_system - [INFO] INFO - ๐Ÿ“Š Massive Konsolidierung: 6 Dateien โ†’ 1 Datei (88% Reduktion) +2025-06-12 15:03:37 - [core_system] core_system - [INFO] INFO - โœ… Core System Management Module erfolgreich initialisiert +2025-06-12 15:03:37 - [core_system] core_system - [INFO] INFO - ๐Ÿ“Š Massive Konsolidierung: 6 Dateien โ†’ 1 Datei (88% Reduktion) +2025-06-12 15:03:39 - [core_system] core_system - [INFO] INFO - โœ… Core System Management Module erfolgreich initialisiert +2025-06-12 15:03:39 - [core_system] core_system - [INFO] INFO - ๐Ÿ“Š Massive Konsolidierung: 6 Dateien โ†’ 1 Datei (88% Reduktion) +2025-06-12 15:08:09 - [core_system] core_system - [INFO] INFO - โœ… Core System Management Module erfolgreich initialisiert +2025-06-12 15:08:09 - [core_system] core_system - [INFO] INFO - ๐Ÿ“Š Massive Konsolidierung: 6 Dateien โ†’ 1 Datei (88% Reduktion) +2025-06-12 15:08:48 - [core_system] core_system - [INFO] INFO - โœ… Core System Management Module erfolgreich initialisiert +2025-06-12 15:08:48 - [core_system] core_system - [INFO] INFO - ๐Ÿ“Š Massive Konsolidierung: 6 Dateien โ†’ 1 Datei (88% Reduktion) +2025-06-12 15:08:50 - [core_system] core_system - [INFO] INFO - โœ… Core System Management Module erfolgreich initialisiert +2025-06-12 15:08:50 - [core_system] core_system - [INFO] INFO - ๐Ÿ“Š Massive Konsolidierung: 6 Dateien โ†’ 1 Datei (88% Reduktion) diff --git a/backend/logs/data_management/data_management.log b/backend/logs/data_management/data_management.log index c2c758bc7..4c58cb617 100644 --- a/backend/logs/data_management/data_management.log +++ b/backend/logs/data_management/data_management.log @@ -142,3 +142,19 @@ 2025-06-12 14:57:00 - [data_management] data_management - [INFO] INFO - ๐Ÿ“Š Massive Konsolidierung: 3 Dateien โ†’ 1 Datei (67% Reduktion) 2025-06-12 14:57:07 - [data_management] data_management - [INFO] INFO - โœ… Data Management Module initialisiert 2025-06-12 14:57:07 - [data_management] data_management - [INFO] INFO - ๐Ÿ“Š Massive Konsolidierung: 3 Dateien โ†’ 1 Datei (67% Reduktion) +2025-06-12 15:00:09 - [data_management] data_management - [INFO] INFO - โœ… Data Management Module initialisiert +2025-06-12 15:00:09 - [data_management] data_management - [INFO] INFO - ๐Ÿ“Š Massive Konsolidierung: 3 Dateien โ†’ 1 Datei (67% Reduktion) +2025-06-12 15:00:11 - [data_management] data_management - [INFO] INFO - โœ… Data Management Module initialisiert +2025-06-12 15:00:11 - [data_management] data_management - [INFO] INFO - ๐Ÿ“Š Massive Konsolidierung: 3 Dateien โ†’ 1 Datei (67% Reduktion) +2025-06-12 15:00:15 - [data_management] data_management - [INFO] INFO - โœ… Data Management Module initialisiert +2025-06-12 15:00:15 - [data_management] data_management - [INFO] INFO - ๐Ÿ“Š Massive Konsolidierung: 3 Dateien โ†’ 1 Datei (67% Reduktion) +2025-06-12 15:03:37 - [data_management] data_management - [INFO] INFO - โœ… Data Management Module initialisiert +2025-06-12 15:03:37 - [data_management] data_management - [INFO] INFO - ๐Ÿ“Š Massive Konsolidierung: 3 Dateien โ†’ 1 Datei (67% Reduktion) +2025-06-12 15:03:39 - [data_management] data_management - [INFO] INFO - โœ… Data Management Module initialisiert +2025-06-12 15:03:39 - [data_management] data_management - [INFO] INFO - ๐Ÿ“Š Massive Konsolidierung: 3 Dateien โ†’ 1 Datei (67% Reduktion) +2025-06-12 15:08:09 - [data_management] data_management - [INFO] INFO - โœ… Data Management Module initialisiert +2025-06-12 15:08:09 - [data_management] data_management - [INFO] INFO - ๐Ÿ“Š Massive Konsolidierung: 3 Dateien โ†’ 1 Datei (67% Reduktion) +2025-06-12 15:08:48 - [data_management] data_management - [INFO] INFO - โœ… Data Management Module initialisiert +2025-06-12 15:08:48 - [data_management] data_management - [INFO] INFO - ๐Ÿ“Š Massive Konsolidierung: 3 Dateien โ†’ 1 Datei (67% Reduktion) +2025-06-12 15:08:50 - [data_management] data_management - [INFO] INFO - โœ… Data Management Module initialisiert +2025-06-12 15:08:50 - [data_management] data_management - [INFO] INFO - ๐Ÿ“Š Massive Konsolidierung: 3 Dateien โ†’ 1 Datei (67% Reduktion) diff --git a/backend/logs/guest/guest.log b/backend/logs/guest/guest.log index f799078f1..29903e22c 100644 --- a/backend/logs/guest/guest.log +++ b/backend/logs/guest/guest.log @@ -4,3 +4,8 @@ FROM users JOIN user_permissions ON users.id = user_permissions.user_id WHERE user_permissions.can_approve_jobs = 1] (Background on this error at: https://sqlalche.me/e/20/e3q8) 2025-06-12 08:33:21 - [guest] guest - [INFO] INFO - Neue Gastanfrage erstellt: ID 1, Name: Till Tomczak, OTP generiert +2025-06-12 15:08:55 - [guest] guest - [ERROR] ERROR - Fehler beim Abrufen der Benachrichtigungen: Entity namespace for "notifications" has no property "read" +2025-06-12 15:08:57 - [guest] guest - [ERROR] ERROR - Fehler beim Abrufen der Benachrichtigungen: Entity namespace for "notifications" has no property "read" +2025-06-12 15:09:11 - [guest] guest - [ERROR] ERROR - Fehler beim Abrufen der Benachrichtigungen: Entity namespace for "notifications" has no property "read" +2025-06-12 15:09:16 - [guest] guest - [ERROR] ERROR - Fehler beim Abrufen der Benachrichtigungen: Entity namespace for "notifications" has no property "read" +2025-06-12 15:09:19 - [guest] guest - [ERROR] ERROR - Fehler beim Abrufen der Benachrichtigungen: Entity namespace for "notifications" has no property "read" diff --git a/backend/logs/hardware_integration/hardware_integration.log b/backend/logs/hardware_integration/hardware_integration.log index 41033ee3d..738a86f33 100644 --- a/backend/logs/hardware_integration/hardware_integration.log +++ b/backend/logs/hardware_integration/hardware_integration.log @@ -290,3 +290,35 @@ 2025-06-12 14:57:07 - [hardware_integration] hardware_integration - [INFO] INFO - โœ… Printer Monitor initialisiert 2025-06-12 14:57:07 - [hardware_integration] hardware_integration - [INFO] INFO - โœ… Hardware Integration Module initialisiert 2025-06-12 14:57:07 - [hardware_integration] hardware_integration - [INFO] INFO - ๐Ÿ“Š Massive Konsolidierung: 2 Dateien โ†’ 1 Datei (50% Reduktion) +2025-06-12 15:00:09 - [hardware_integration] hardware_integration - [INFO] INFO - โœ… PyP100 (TP-Link Tapo) verfรผgbar +2025-06-12 15:00:09 - [hardware_integration] hardware_integration - [INFO] INFO - โœ… Printer Monitor initialisiert +2025-06-12 15:00:09 - [hardware_integration] hardware_integration - [INFO] INFO - โœ… Hardware Integration Module initialisiert +2025-06-12 15:00:09 - [hardware_integration] hardware_integration - [INFO] INFO - ๐Ÿ“Š Massive Konsolidierung: 2 Dateien โ†’ 1 Datei (50% Reduktion) +2025-06-12 15:00:11 - [hardware_integration] hardware_integration - [INFO] INFO - โœ… PyP100 (TP-Link Tapo) verfรผgbar +2025-06-12 15:00:11 - [hardware_integration] hardware_integration - [INFO] INFO - โœ… Printer Monitor initialisiert +2025-06-12 15:00:11 - [hardware_integration] hardware_integration - [INFO] INFO - โœ… Hardware Integration Module initialisiert +2025-06-12 15:00:11 - [hardware_integration] hardware_integration - [INFO] INFO - ๐Ÿ“Š Massive Konsolidierung: 2 Dateien โ†’ 1 Datei (50% Reduktion) +2025-06-12 15:00:15 - [hardware_integration] hardware_integration - [INFO] INFO - โœ… PyP100 (TP-Link Tapo) verfรผgbar +2025-06-12 15:00:15 - [hardware_integration] hardware_integration - [INFO] INFO - โœ… Printer Monitor initialisiert +2025-06-12 15:00:15 - [hardware_integration] hardware_integration - [INFO] INFO - โœ… Hardware Integration Module initialisiert +2025-06-12 15:00:15 - [hardware_integration] hardware_integration - [INFO] INFO - ๐Ÿ“Š Massive Konsolidierung: 2 Dateien โ†’ 1 Datei (50% Reduktion) +2025-06-12 15:03:37 - [hardware_integration] hardware_integration - [INFO] INFO - โœ… PyP100 (TP-Link Tapo) verfรผgbar +2025-06-12 15:03:37 - [hardware_integration] hardware_integration - [INFO] INFO - โœ… Printer Monitor initialisiert +2025-06-12 15:03:37 - [hardware_integration] hardware_integration - [INFO] INFO - โœ… Hardware Integration Module initialisiert +2025-06-12 15:03:37 - [hardware_integration] hardware_integration - [INFO] INFO - ๐Ÿ“Š Massive Konsolidierung: 2 Dateien โ†’ 1 Datei (50% Reduktion) +2025-06-12 15:03:39 - [hardware_integration] hardware_integration - [INFO] INFO - โœ… PyP100 (TP-Link Tapo) verfรผgbar +2025-06-12 15:03:39 - [hardware_integration] hardware_integration - [INFO] INFO - โœ… Printer Monitor initialisiert +2025-06-12 15:03:39 - [hardware_integration] hardware_integration - [INFO] INFO - โœ… Hardware Integration Module initialisiert +2025-06-12 15:03:39 - [hardware_integration] hardware_integration - [INFO] INFO - ๐Ÿ“Š Massive Konsolidierung: 2 Dateien โ†’ 1 Datei (50% Reduktion) +2025-06-12 15:08:09 - [hardware_integration] hardware_integration - [INFO] INFO - โœ… PyP100 (TP-Link Tapo) verfรผgbar +2025-06-12 15:08:09 - [hardware_integration] hardware_integration - [INFO] INFO - โœ… Printer Monitor initialisiert +2025-06-12 15:08:09 - [hardware_integration] hardware_integration - [INFO] INFO - โœ… Hardware Integration Module initialisiert +2025-06-12 15:08:09 - [hardware_integration] hardware_integration - [INFO] INFO - ๐Ÿ“Š Massive Konsolidierung: 2 Dateien โ†’ 1 Datei (50% Reduktion) +2025-06-12 15:08:48 - [hardware_integration] hardware_integration - [INFO] INFO - โœ… PyP100 (TP-Link Tapo) verfรผgbar +2025-06-12 15:08:48 - [hardware_integration] hardware_integration - [INFO] INFO - โœ… Printer Monitor initialisiert +2025-06-12 15:08:48 - [hardware_integration] hardware_integration - [INFO] INFO - โœ… Hardware Integration Module initialisiert +2025-06-12 15:08:48 - [hardware_integration] hardware_integration - [INFO] INFO - ๐Ÿ“Š Massive Konsolidierung: 2 Dateien โ†’ 1 Datei (50% Reduktion) +2025-06-12 15:08:50 - [hardware_integration] hardware_integration - [INFO] INFO - โœ… PyP100 (TP-Link Tapo) verfรผgbar +2025-06-12 15:08:50 - [hardware_integration] hardware_integration - [INFO] INFO - โœ… Printer Monitor initialisiert +2025-06-12 15:08:50 - [hardware_integration] hardware_integration - [INFO] INFO - โœ… Hardware Integration Module initialisiert +2025-06-12 15:08:50 - [hardware_integration] hardware_integration - [INFO] INFO - ๐Ÿ“Š Massive Konsolidierung: 2 Dateien โ†’ 1 Datei (50% Reduktion) diff --git a/backend/logs/job_queue_system/job_queue_system.log b/backend/logs/job_queue_system/job_queue_system.log index be06d6107..41f4bb24e 100644 --- a/backend/logs/job_queue_system/job_queue_system.log +++ b/backend/logs/job_queue_system/job_queue_system.log @@ -271,3 +271,30 @@ 2025-06-12 14:57:09 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestartet (Legacy-Kompatibilitรคt) 2025-06-12 15:00:06 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestoppt (Legacy-Kompatibilitรคt) 2025-06-12 15:00:06 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestoppt (Legacy-Kompatibilitรคt) +2025-06-12 15:00:09 - [job_queue_system] job_queue_system - [INFO] INFO - โœ… Job & Queue System Module initialisiert +2025-06-12 15:00:09 - [job_queue_system] job_queue_system - [INFO] INFO - ๐Ÿ“Š MASSIVE Konsolidierung: 4 Dateien โ†’ 1 Datei (75% Reduktion) +2025-06-12 15:00:10 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestartet (Legacy-Kompatibilitรคt) +2025-06-12 15:00:11 - [job_queue_system] job_queue_system - [INFO] INFO - โœ… Job & Queue System Module initialisiert +2025-06-12 15:00:11 - [job_queue_system] job_queue_system - [INFO] INFO - ๐Ÿ“Š MASSIVE Konsolidierung: 4 Dateien โ†’ 1 Datei (75% Reduktion) +2025-06-12 15:00:13 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestartet (Legacy-Kompatibilitรคt) +2025-06-12 15:00:14 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestoppt (Legacy-Kompatibilitรคt) +2025-06-12 15:00:15 - [job_queue_system] job_queue_system - [INFO] INFO - โœ… Job & Queue System Module initialisiert +2025-06-12 15:00:15 - [job_queue_system] job_queue_system - [INFO] INFO - ๐Ÿ“Š MASSIVE Konsolidierung: 4 Dateien โ†’ 1 Datei (75% Reduktion) +2025-06-12 15:00:16 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestoppt (Legacy-Kompatibilitรคt) +2025-06-12 15:00:16 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestoppt (Legacy-Kompatibilitรคt) +2025-06-12 15:03:37 - [job_queue_system] job_queue_system - [INFO] INFO - โœ… Job & Queue System Module initialisiert +2025-06-12 15:03:37 - [job_queue_system] job_queue_system - [INFO] INFO - ๐Ÿ“Š MASSIVE Konsolidierung: 4 Dateien โ†’ 1 Datei (75% Reduktion) +2025-06-12 15:03:38 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestartet (Legacy-Kompatibilitรคt) +2025-06-12 15:03:39 - [job_queue_system] job_queue_system - [INFO] INFO - โœ… Job & Queue System Module initialisiert +2025-06-12 15:03:39 - [job_queue_system] job_queue_system - [INFO] INFO - ๐Ÿ“Š MASSIVE Konsolidierung: 4 Dateien โ†’ 1 Datei (75% Reduktion) +2025-06-12 15:03:41 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestartet (Legacy-Kompatibilitรคt) +2025-06-12 15:03:53 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestoppt (Legacy-Kompatibilitรคt) +2025-06-12 15:03:53 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestoppt (Legacy-Kompatibilitรคt) +2025-06-12 15:08:09 - [job_queue_system] job_queue_system - [INFO] INFO - โœ… Job & Queue System Module initialisiert +2025-06-12 15:08:09 - [job_queue_system] job_queue_system - [INFO] INFO - ๐Ÿ“Š MASSIVE Konsolidierung: 4 Dateien โ†’ 1 Datei (75% Reduktion) +2025-06-12 15:08:48 - [job_queue_system] job_queue_system - [INFO] INFO - โœ… Job & Queue System Module initialisiert +2025-06-12 15:08:48 - [job_queue_system] job_queue_system - [INFO] INFO - ๐Ÿ“Š MASSIVE Konsolidierung: 4 Dateien โ†’ 1 Datei (75% Reduktion) +2025-06-12 15:08:50 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestartet (Legacy-Kompatibilitรคt) +2025-06-12 15:08:50 - [job_queue_system] job_queue_system - [INFO] INFO - โœ… Job & Queue System Module initialisiert +2025-06-12 15:08:50 - [job_queue_system] job_queue_system - [INFO] INFO - ๐Ÿ“Š MASSIVE Konsolidierung: 4 Dateien โ†’ 1 Datei (75% Reduktion) +2025-06-12 15:08:52 - [job_queue_system] job_queue_system - [INFO] INFO - Queue Manager gestartet (Legacy-Kompatibilitรคt) diff --git a/backend/logs/monitoring_analytics/monitoring_analytics.log b/backend/logs/monitoring_analytics/monitoring_analytics.log index 8415c4758..33c22e297 100644 --- a/backend/logs/monitoring_analytics/monitoring_analytics.log +++ b/backend/logs/monitoring_analytics/monitoring_analytics.log @@ -142,3 +142,19 @@ 2025-06-12 14:57:01 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - ๐Ÿ“Š MASSIVE Konsolidierung: 3 Dateien โ†’ 1 Datei (67% Reduktion) 2025-06-12 14:57:08 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - โœ… Monitoring & Analytics Module initialisiert 2025-06-12 14:57:08 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - ๐Ÿ“Š MASSIVE Konsolidierung: 3 Dateien โ†’ 1 Datei (67% Reduktion) +2025-06-12 15:00:10 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - โœ… Monitoring & Analytics Module initialisiert +2025-06-12 15:00:10 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - ๐Ÿ“Š MASSIVE Konsolidierung: 3 Dateien โ†’ 1 Datei (67% Reduktion) +2025-06-12 15:00:12 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - โœ… Monitoring & Analytics Module initialisiert +2025-06-12 15:00:12 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - ๐Ÿ“Š MASSIVE Konsolidierung: 3 Dateien โ†’ 1 Datei (67% Reduktion) +2025-06-12 15:00:16 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - โœ… Monitoring & Analytics Module initialisiert +2025-06-12 15:00:16 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - ๐Ÿ“Š MASSIVE Konsolidierung: 3 Dateien โ†’ 1 Datei (67% Reduktion) +2025-06-12 15:03:38 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - โœ… Monitoring & Analytics Module initialisiert +2025-06-12 15:03:38 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - ๐Ÿ“Š MASSIVE Konsolidierung: 3 Dateien โ†’ 1 Datei (67% Reduktion) +2025-06-12 15:03:41 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - โœ… Monitoring & Analytics Module initialisiert +2025-06-12 15:03:41 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - ๐Ÿ“Š MASSIVE Konsolidierung: 3 Dateien โ†’ 1 Datei (67% Reduktion) +2025-06-12 15:08:10 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - โœ… Monitoring & Analytics Module initialisiert +2025-06-12 15:08:10 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - ๐Ÿ“Š MASSIVE Konsolidierung: 3 Dateien โ†’ 1 Datei (67% Reduktion) +2025-06-12 15:08:49 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - โœ… Monitoring & Analytics Module initialisiert +2025-06-12 15:08:49 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - ๐Ÿ“Š MASSIVE Konsolidierung: 3 Dateien โ†’ 1 Datei (67% Reduktion) +2025-06-12 15:08:51 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - โœ… Monitoring & Analytics Module initialisiert +2025-06-12 15:08:51 - [monitoring_analytics] monitoring_analytics - [INFO] INFO - ๐Ÿ“Š MASSIVE Konsolidierung: 3 Dateien โ†’ 1 Datei (67% Reduktion) diff --git a/backend/logs/printers/printers.log b/backend/logs/printers/printers.log index be6376182..34fa98287 100644 --- a/backend/logs/printers/printers.log +++ b/backend/logs/printers/printers.log @@ -259,3 +259,12 @@ 2025-06-12 11:21:27 - [printers] printers - [INFO] INFO - ๐Ÿ”„ Live-Status-Abfrage von Benutzer Administrator (ID: 1) 2025-06-12 11:21:27 - [printers] printers - [ERROR] ERROR - โŒ Fehler bei Live-Status-Abfrage: PrinterMonitor.get_live_printer_status() got an unexpected keyword argument 'use_session_cache' 2025-06-12 11:21:27 - [printers] printers - [INFO] INFO - [OK] API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 1.52ms +2025-06-12 15:08:55 - [printers] printers - [INFO] INFO - ๐Ÿ”„ Live-Status-Abfrage von Benutzer Administrator (ID: 1) +2025-06-12 15:08:55 - [printers] printers - [ERROR] ERROR - โŒ Fehler bei Live-Status-Abfrage: PrinterMonitor.get_live_printer_status() got an unexpected keyword argument 'use_session_cache' +2025-06-12 15:08:55 - [printers] printers - [INFO] INFO - [OK] API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 1.52ms +2025-06-12 15:08:57 - [printers] printers - [INFO] INFO - ๐Ÿ”„ Live-Status-Abfrage von Benutzer Administrator (ID: 1) +2025-06-12 15:08:57 - [printers] printers - [ERROR] ERROR - โŒ Fehler bei Live-Status-Abfrage: PrinterMonitor.get_live_printer_status() got an unexpected keyword argument 'use_session_cache' +2025-06-12 15:08:57 - [printers] printers - [INFO] INFO - [OK] API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 0.85ms +2025-06-12 15:09:16 - [printers] printers - [INFO] INFO - ๐Ÿ”„ Live-Status-Abfrage von Benutzer Administrator (ID: 1) +2025-06-12 15:09:16 - [printers] printers - [ERROR] ERROR - โŒ Fehler bei Live-Status-Abfrage: PrinterMonitor.get_live_printer_status() got an unexpected keyword argument 'use_session_cache' +2025-06-12 15:09:16 - [printers] printers - [INFO] INFO - [OK] API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 2.64ms diff --git a/backend/logs/scheduler/scheduler.log b/backend/logs/scheduler/scheduler.log index 9ba95051e..455f92c49 100644 --- a/backend/logs/scheduler/scheduler.log +++ b/backend/logs/scheduler/scheduler.log @@ -200,3 +200,23 @@ 2025-06-12 14:57:07 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True 2025-06-12 14:57:09 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet 2025-06-12 14:57:09 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet +2025-06-12 15:00:09 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True +2025-06-12 15:00:10 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet +2025-06-12 15:00:10 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet +2025-06-12 15:00:11 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True +2025-06-12 15:00:13 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet +2025-06-12 15:00:13 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet +2025-06-12 15:00:15 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True +2025-06-12 15:03:37 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True +2025-06-12 15:03:38 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet +2025-06-12 15:03:38 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet +2025-06-12 15:03:39 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True +2025-06-12 15:03:41 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet +2025-06-12 15:03:41 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet +2025-06-12 15:08:09 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True +2025-06-12 15:08:48 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True +2025-06-12 15:08:50 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet +2025-06-12 15:08:50 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet +2025-06-12 15:08:50 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True +2025-06-12 15:08:52 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet +2025-06-12 15:08:52 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet diff --git a/backend/logs/security_suite/security_suite.log b/backend/logs/security_suite/security_suite.log index 0a0dce8fb..e5ce37ecd 100644 --- a/backend/logs/security_suite/security_suite.log +++ b/backend/logs/security_suite/security_suite.log @@ -214,3 +214,26 @@ 2025-06-12 14:57:07 - [security_suite] security_suite - [INFO] INFO - โœ… Security Suite Module initialisiert 2025-06-12 14:57:07 - [security_suite] security_suite - [INFO] INFO - ๐Ÿ“Š Massive Konsolidierung: 3 Dateien โ†’ 1 Datei (67% Reduktion) 2025-06-12 14:57:08 - [security_suite] security_suite - [INFO] INFO - ๐Ÿ”’ Security Suite initialisiert +2025-06-12 15:00:09 - [security_suite] security_suite - [INFO] INFO - โœ… Security Suite Module initialisiert +2025-06-12 15:00:09 - [security_suite] security_suite - [INFO] INFO - ๐Ÿ“Š Massive Konsolidierung: 3 Dateien โ†’ 1 Datei (67% Reduktion) +2025-06-12 15:00:10 - [security_suite] security_suite - [INFO] INFO - ๐Ÿ”’ Security Suite initialisiert +2025-06-12 15:00:11 - [security_suite] security_suite - [INFO] INFO - โœ… Security Suite Module initialisiert +2025-06-12 15:00:11 - [security_suite] security_suite - [INFO] INFO - ๐Ÿ“Š Massive Konsolidierung: 3 Dateien โ†’ 1 Datei (67% Reduktion) +2025-06-12 15:00:12 - [security_suite] security_suite - [INFO] INFO - ๐Ÿ”’ Security Suite initialisiert +2025-06-12 15:00:15 - [security_suite] security_suite - [INFO] INFO - โœ… Security Suite Module initialisiert +2025-06-12 15:00:15 - [security_suite] security_suite - [INFO] INFO - ๐Ÿ“Š Massive Konsolidierung: 3 Dateien โ†’ 1 Datei (67% Reduktion) +2025-06-12 15:03:37 - [security_suite] security_suite - [INFO] INFO - โœ… Security Suite Module initialisiert +2025-06-12 15:03:37 - [security_suite] security_suite - [INFO] INFO - ๐Ÿ“Š Massive Konsolidierung: 3 Dateien โ†’ 1 Datei (67% Reduktion) +2025-06-12 15:03:38 - [security_suite] security_suite - [INFO] INFO - ๐Ÿ”’ Security Suite initialisiert +2025-06-12 15:03:39 - [security_suite] security_suite - [INFO] INFO - โœ… Security Suite Module initialisiert +2025-06-12 15:03:39 - [security_suite] security_suite - [INFO] INFO - ๐Ÿ“Š Massive Konsolidierung: 3 Dateien โ†’ 1 Datei (67% Reduktion) +2025-06-12 15:03:41 - [security_suite] security_suite - [INFO] INFO - ๐Ÿ”’ Security Suite initialisiert +2025-06-12 15:08:09 - [security_suite] security_suite - [INFO] INFO - โœ… Security Suite Module initialisiert +2025-06-12 15:08:09 - [security_suite] security_suite - [INFO] INFO - ๐Ÿ“Š Massive Konsolidierung: 3 Dateien โ†’ 1 Datei (67% Reduktion) +2025-06-12 15:08:10 - [security_suite] security_suite - [INFO] INFO - ๐Ÿ”’ Security Suite initialisiert +2025-06-12 15:08:48 - [security_suite] security_suite - [INFO] INFO - โœ… Security Suite Module initialisiert +2025-06-12 15:08:48 - [security_suite] security_suite - [INFO] INFO - ๐Ÿ“Š Massive Konsolidierung: 3 Dateien โ†’ 1 Datei (67% Reduktion) +2025-06-12 15:08:49 - [security_suite] security_suite - [INFO] INFO - ๐Ÿ”’ Security Suite initialisiert +2025-06-12 15:08:50 - [security_suite] security_suite - [INFO] INFO - โœ… Security Suite Module initialisiert +2025-06-12 15:08:50 - [security_suite] security_suite - [INFO] INFO - ๐Ÿ“Š Massive Konsolidierung: 3 Dateien โ†’ 1 Datei (67% Reduktion) +2025-06-12 15:08:51 - [security_suite] security_suite - [INFO] INFO - ๐Ÿ”’ Security Suite initialisiert diff --git a/backend/logs/sessions/sessions.log b/backend/logs/sessions/sessions.log index a5d1a31eb..8d96805dc 100644 --- a/backend/logs/sessions/sessions.log +++ b/backend/logs/sessions/sessions.log @@ -73,3 +73,7 @@ 2025-06-12 11:21:27 - [sessions] sessions - [ERROR] ERROR - Fehler beim Abrufen des Session-Status: 'int' object has no attribute 'total_seconds' 2025-06-12 11:21:33 - [sessions] sessions - [ERROR] ERROR - Fehler beim Abrufen des Session-Status: 'int' object has no attribute 'total_seconds' 2025-06-12 11:21:35 - [sessions] sessions - [ERROR] ERROR - Fehler beim Abrufen des Session-Status: 'int' object has no attribute 'total_seconds' +2025-06-12 15:08:55 - [sessions] sessions - [ERROR] ERROR - Fehler beim Abrufen des Session-Status: 'int' object has no attribute 'total_seconds' +2025-06-12 15:08:57 - [sessions] sessions - [ERROR] ERROR - Fehler beim Abrufen des Session-Status: 'int' object has no attribute 'total_seconds' +2025-06-12 15:09:11 - [sessions] sessions - [ERROR] ERROR - Fehler beim Abrufen des Session-Status: 'int' object has no attribute 'total_seconds' +2025-06-12 15:09:19 - [sessions] sessions - [ERROR] ERROR - Fehler beim Abrufen des Session-Status: 'int' object has no attribute 'total_seconds' diff --git a/backend/logs/startup/startup.log b/backend/logs/startup/startup.log index 121aa75bf..b668b576b 100644 --- a/backend/logs/startup/startup.log +++ b/backend/logs/startup/startup.log @@ -646,3 +646,75 @@ 2025-06-12 14:57:08 - [startup] startup - [INFO] INFO - ๐ŸชŸ Windows-Modus: Aktiviert 2025-06-12 14:57:08 - [startup] startup - [INFO] INFO - ๐Ÿ”’ Windows-sichere Log-Rotation: Aktiviert 2025-06-12 14:57:08 - [startup] startup - [INFO] INFO - ================================================== +2025-06-12 15:00:10 - [startup] startup - [INFO] INFO - ================================================== +2025-06-12 15:00:10 - [startup] startup - [INFO] INFO - [START] MYP Platform Backend wird gestartet... +2025-06-12 15:00:10 - [startup] startup - [INFO] INFO - ๐Ÿ Python Version: 3.13.3 (tags/v3.13.3:6280bb5, Apr 8 2025, 14:47:33) [MSC v.1943 64 bit (AMD64)] +2025-06-12 15:00:10 - [startup] startup - [INFO] INFO - ๐Ÿ’ป Betriebssystem: nt (win32) +2025-06-12 15:00:10 - [startup] startup - [INFO] INFO - ๐Ÿ“ Arbeitsverzeichnis: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend +2025-06-12 15:00:10 - [startup] startup - [INFO] INFO - โฐ Startzeit: 2025-06-12T15:00:10.459542 +2025-06-12 15:00:10 - [startup] startup - [INFO] INFO - ๐ŸชŸ Windows-Modus: Aktiviert +2025-06-12 15:00:10 - [startup] startup - [INFO] INFO - ๐Ÿ”’ Windows-sichere Log-Rotation: Aktiviert +2025-06-12 15:00:10 - [startup] startup - [INFO] INFO - ================================================== +2025-06-12 15:00:12 - [startup] startup - [INFO] INFO - ================================================== +2025-06-12 15:00:12 - [startup] startup - [INFO] INFO - [START] MYP Platform Backend wird gestartet... +2025-06-12 15:00:12 - [startup] startup - [INFO] INFO - ๐Ÿ Python Version: 3.13.3 (tags/v3.13.3:6280bb5, Apr 8 2025, 14:47:33) [MSC v.1943 64 bit (AMD64)] +2025-06-12 15:00:12 - [startup] startup - [INFO] INFO - ๐Ÿ’ป Betriebssystem: nt (win32) +2025-06-12 15:00:12 - [startup] startup - [INFO] INFO - ๐Ÿ“ Arbeitsverzeichnis: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend +2025-06-12 15:00:12 - [startup] startup - [INFO] INFO - โฐ Startzeit: 2025-06-12T15:00:12.806151 +2025-06-12 15:00:12 - [startup] startup - [INFO] INFO - ๐ŸชŸ Windows-Modus: Aktiviert +2025-06-12 15:00:12 - [startup] startup - [INFO] INFO - ๐Ÿ”’ Windows-sichere Log-Rotation: Aktiviert +2025-06-12 15:00:12 - [startup] startup - [INFO] INFO - ================================================== +2025-06-12 15:00:16 - [startup] startup - [INFO] INFO - ================================================== +2025-06-12 15:00:16 - [startup] startup - [INFO] INFO - [START] MYP Platform Backend wird gestartet... +2025-06-12 15:00:16 - [startup] startup - [INFO] INFO - ๐Ÿ Python Version: 3.13.3 (tags/v3.13.3:6280bb5, Apr 8 2025, 14:47:33) [MSC v.1943 64 bit (AMD64)] +2025-06-12 15:00:16 - [startup] startup - [INFO] INFO - ๐Ÿ’ป Betriebssystem: nt (win32) +2025-06-12 15:00:16 - [startup] startup - [INFO] INFO - ๐Ÿ“ Arbeitsverzeichnis: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend +2025-06-12 15:00:16 - [startup] startup - [INFO] INFO - โฐ Startzeit: 2025-06-12T15:00:16.426050 +2025-06-12 15:00:16 - [startup] startup - [INFO] INFO - ๐ŸชŸ Windows-Modus: Aktiviert +2025-06-12 15:00:16 - [startup] startup - [INFO] INFO - ๐Ÿ”’ Windows-sichere Log-Rotation: Aktiviert +2025-06-12 15:00:16 - [startup] startup - [INFO] INFO - ================================================== +2025-06-12 15:03:38 - [startup] startup - [INFO] INFO - ================================================== +2025-06-12 15:03:38 - [startup] startup - [INFO] INFO - [START] MYP Platform Backend wird gestartet... +2025-06-12 15:03:38 - [startup] startup - [INFO] INFO - ๐Ÿ Python Version: 3.13.3 (tags/v3.13.3:6280bb5, Apr 8 2025, 14:47:33) [MSC v.1943 64 bit (AMD64)] +2025-06-12 15:03:38 - [startup] startup - [INFO] INFO - ๐Ÿ’ป Betriebssystem: nt (win32) +2025-06-12 15:03:38 - [startup] startup - [INFO] INFO - ๐Ÿ“ Arbeitsverzeichnis: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend +2025-06-12 15:03:38 - [startup] startup - [INFO] INFO - โฐ Startzeit: 2025-06-12T15:03:38.514192 +2025-06-12 15:03:38 - [startup] startup - [INFO] INFO - ๐ŸชŸ Windows-Modus: Aktiviert +2025-06-12 15:03:38 - [startup] startup - [INFO] INFO - ๐Ÿ”’ Windows-sichere Log-Rotation: Aktiviert +2025-06-12 15:03:38 - [startup] startup - [INFO] INFO - ================================================== +2025-06-12 15:03:41 - [startup] startup - [INFO] INFO - ================================================== +2025-06-12 15:03:41 - [startup] startup - [INFO] INFO - [START] MYP Platform Backend wird gestartet... +2025-06-12 15:03:41 - [startup] startup - [INFO] INFO - ๐Ÿ Python Version: 3.13.3 (tags/v3.13.3:6280bb5, Apr 8 2025, 14:47:33) [MSC v.1943 64 bit (AMD64)] +2025-06-12 15:03:41 - [startup] startup - [INFO] INFO - ๐Ÿ’ป Betriebssystem: nt (win32) +2025-06-12 15:03:41 - [startup] startup - [INFO] INFO - ๐Ÿ“ Arbeitsverzeichnis: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend +2025-06-12 15:03:41 - [startup] startup - [INFO] INFO - โฐ Startzeit: 2025-06-12T15:03:41.058168 +2025-06-12 15:03:41 - [startup] startup - [INFO] INFO - ๐ŸชŸ Windows-Modus: Aktiviert +2025-06-12 15:03:41 - [startup] startup - [INFO] INFO - ๐Ÿ”’ Windows-sichere Log-Rotation: Aktiviert +2025-06-12 15:03:41 - [startup] startup - [INFO] INFO - ================================================== +2025-06-12 15:08:10 - [startup] startup - [INFO] INFO - ================================================== +2025-06-12 15:08:10 - [startup] startup - [INFO] INFO - [START] MYP Platform Backend wird gestartet... +2025-06-12 15:08:10 - [startup] startup - [INFO] INFO - ๐Ÿ Python Version: 3.13.3 (tags/v3.13.3:6280bb5, Apr 8 2025, 14:47:33) [MSC v.1943 64 bit (AMD64)] +2025-06-12 15:08:10 - [startup] startup - [INFO] INFO - ๐Ÿ’ป Betriebssystem: nt (win32) +2025-06-12 15:08:10 - [startup] startup - [INFO] INFO - ๐Ÿ“ Arbeitsverzeichnis: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend +2025-06-12 15:08:10 - [startup] startup - [INFO] INFO - โฐ Startzeit: 2025-06-12T15:08:10.175380 +2025-06-12 15:08:10 - [startup] startup - [INFO] INFO - ๐ŸชŸ Windows-Modus: Aktiviert +2025-06-12 15:08:10 - [startup] startup - [INFO] INFO - ๐Ÿ”’ Windows-sichere Log-Rotation: Aktiviert +2025-06-12 15:08:10 - [startup] startup - [INFO] INFO - ================================================== +2025-06-12 15:08:49 - [startup] startup - [INFO] INFO - ================================================== +2025-06-12 15:08:49 - [startup] startup - [INFO] INFO - [START] MYP Platform Backend wird gestartet... +2025-06-12 15:08:49 - [startup] startup - [INFO] INFO - ๐Ÿ Python Version: 3.13.3 (tags/v3.13.3:6280bb5, Apr 8 2025, 14:47:33) [MSC v.1943 64 bit (AMD64)] +2025-06-12 15:08:49 - [startup] startup - [INFO] INFO - ๐Ÿ’ป Betriebssystem: nt (win32) +2025-06-12 15:08:49 - [startup] startup - [INFO] INFO - ๐Ÿ“ Arbeitsverzeichnis: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend +2025-06-12 15:08:49 - [startup] startup - [INFO] INFO - โฐ Startzeit: 2025-06-12T15:08:49.724760 +2025-06-12 15:08:49 - [startup] startup - [INFO] INFO - ๐ŸชŸ Windows-Modus: Aktiviert +2025-06-12 15:08:49 - [startup] startup - [INFO] INFO - ๐Ÿ”’ Windows-sichere Log-Rotation: Aktiviert +2025-06-12 15:08:49 - [startup] startup - [INFO] INFO - ================================================== +2025-06-12 15:08:51 - [startup] startup - [INFO] INFO - ================================================== +2025-06-12 15:08:51 - [startup] startup - [INFO] INFO - [START] MYP Platform Backend wird gestartet... +2025-06-12 15:08:51 - [startup] startup - [INFO] INFO - ๐Ÿ Python Version: 3.13.3 (tags/v3.13.3:6280bb5, Apr 8 2025, 14:47:33) [MSC v.1943 64 bit (AMD64)] +2025-06-12 15:08:51 - [startup] startup - [INFO] INFO - ๐Ÿ’ป Betriebssystem: nt (win32) +2025-06-12 15:08:51 - [startup] startup - [INFO] INFO - ๐Ÿ“ Arbeitsverzeichnis: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend +2025-06-12 15:08:51 - [startup] startup - [INFO] INFO - โฐ Startzeit: 2025-06-12T15:08:51.758926 +2025-06-12 15:08:51 - [startup] startup - [INFO] INFO - ๐ŸชŸ Windows-Modus: Aktiviert +2025-06-12 15:08:51 - [startup] startup - [INFO] INFO - ๐Ÿ”’ Windows-sichere Log-Rotation: Aktiviert +2025-06-12 15:08:51 - [startup] startup - [INFO] INFO - ================================================== diff --git a/backend/logs/tapo_control/tapo_control.log b/backend/logs/tapo_control/tapo_control.log index 98c1f2420..57fe8300b 100644 --- a/backend/logs/tapo_control/tapo_control.log +++ b/backend/logs/tapo_control/tapo_control.log @@ -29,3 +29,11 @@ 2025-06-12 11:04:11 - [tapo_control] tapo_control - [INFO] INFO - Dashboard geladen: 0 Steckdosen, 0 online 2025-06-12 11:21:33 - [tapo_control] tapo_control - [INFO] INFO - Tapo Dashboard aufgerufen von Benutzer: Administrator 2025-06-12 11:21:33 - [tapo_control] tapo_control - [INFO] INFO - Dashboard geladen: 0 Steckdosen, 0 online +2025-06-12 15:08:58 - [tapo_control] tapo_control - [INFO] INFO - Tapo Dashboard aufgerufen von Benutzer: Administrator +2025-06-12 15:09:00 - [tapo_control] tapo_control - [WARNING] WARNING - โš ๏ธ Steckdose 1 (192.168.1.201) nicht erreichbar +2025-06-12 15:09:02 - [tapo_control] tapo_control - [WARNING] WARNING - โš ๏ธ Steckdose 2 (192.168.1.202) nicht erreichbar +2025-06-12 15:09:04 - [tapo_control] tapo_control - [WARNING] WARNING - โš ๏ธ Steckdose 3 (192.168.1.203) nicht erreichbar +2025-06-12 15:09:06 - [tapo_control] tapo_control - [WARNING] WARNING - โš ๏ธ Steckdose 4 (192.168.1.204) nicht erreichbar +2025-06-12 15:09:09 - [tapo_control] tapo_control - [WARNING] WARNING - โš ๏ธ Steckdose 5 (192.168.1.205) nicht erreichbar +2025-06-12 15:09:11 - [tapo_control] tapo_control - [WARNING] WARNING - โš ๏ธ Steckdose 6 (192.168.1.206) nicht erreichbar +2025-06-12 15:09:11 - [tapo_control] tapo_control - [INFO] INFO - Dashboard geladen: 6 Steckdosen konfiguriert, 0 online diff --git a/backend/logs/tapo_controller/tapo_controller.log b/backend/logs/tapo_controller/tapo_controller.log index 23981781d..0ed28851a 100644 --- a/backend/logs/tapo_controller/tapo_controller.log +++ b/backend/logs/tapo_controller/tapo_controller.log @@ -71,3 +71,11 @@ 2025-06-12 14:56:56 - [tapo_controller] tapo_controller - [INFO] INFO - โœ… tapo controller initialisiert 2025-06-12 14:57:00 - [tapo_controller] tapo_controller - [INFO] INFO - โœ… tapo controller initialisiert 2025-06-12 14:57:07 - [tapo_controller] tapo_controller - [INFO] INFO - โœ… tapo controller initialisiert +2025-06-12 15:00:09 - [tapo_controller] tapo_controller - [INFO] INFO - โœ… tapo controller initialisiert +2025-06-12 15:00:11 - [tapo_controller] tapo_controller - [INFO] INFO - โœ… tapo controller initialisiert +2025-06-12 15:00:15 - [tapo_controller] tapo_controller - [INFO] INFO - โœ… tapo controller initialisiert +2025-06-12 15:03:37 - [tapo_controller] tapo_controller - [INFO] INFO - โœ… tapo controller initialisiert +2025-06-12 15:03:39 - [tapo_controller] tapo_controller - [INFO] INFO - โœ… tapo controller initialisiert +2025-06-12 15:08:09 - [tapo_controller] tapo_controller - [INFO] INFO - โœ… tapo controller initialisiert +2025-06-12 15:08:48 - [tapo_controller] tapo_controller - [INFO] INFO - โœ… tapo controller initialisiert +2025-06-12 15:08:50 - [tapo_controller] tapo_controller - [INFO] INFO - โœ… tapo controller initialisiert diff --git a/backend/logs/tapo_status_manager/tapo_status_manager.log b/backend/logs/tapo_status_manager/tapo_status_manager.log index 7dde75c46..ccac9c59c 100644 --- a/backend/logs/tapo_status_manager/tapo_status_manager.log +++ b/backend/logs/tapo_status_manager/tapo_status_manager.log @@ -29,3 +29,11 @@ 2025-06-12 14:56:56 - [tapo_status_manager] tapo_status_manager - [INFO] INFO - TapoStatusManager initialisiert 2025-06-12 14:57:00 - [tapo_status_manager] tapo_status_manager - [INFO] INFO - TapoStatusManager initialisiert 2025-06-12 14:57:07 - [tapo_status_manager] tapo_status_manager - [INFO] INFO - TapoStatusManager initialisiert +2025-06-12 15:00:09 - [tapo_status_manager] tapo_status_manager - [INFO] INFO - TapoStatusManager initialisiert +2025-06-12 15:00:11 - [tapo_status_manager] tapo_status_manager - [INFO] INFO - TapoStatusManager initialisiert +2025-06-12 15:00:15 - [tapo_status_manager] tapo_status_manager - [INFO] INFO - TapoStatusManager initialisiert +2025-06-12 15:03:37 - [tapo_status_manager] tapo_status_manager - [INFO] INFO - TapoStatusManager initialisiert +2025-06-12 15:03:39 - [tapo_status_manager] tapo_status_manager - [INFO] INFO - TapoStatusManager initialisiert +2025-06-12 15:08:09 - [tapo_status_manager] tapo_status_manager - [INFO] INFO - TapoStatusManager initialisiert +2025-06-12 15:08:48 - [tapo_status_manager] tapo_status_manager - [INFO] INFO - TapoStatusManager initialisiert +2025-06-12 15:08:50 - [tapo_status_manager] tapo_status_manager - [INFO] INFO - TapoStatusManager initialisiert diff --git a/backend/logs/user/user.log b/backend/logs/user/user.log index 4c98d57cd..2919289a9 100644 --- a/backend/logs/user/user.log +++ b/backend/logs/user/user.log @@ -71,3 +71,8 @@ 2025-06-12 11:21:27 - [user] user - [INFO] INFO - User admin retrieved settings via API 2025-06-12 11:21:33 - [user] user - [INFO] INFO - User admin retrieved settings via API 2025-06-12 11:21:35 - [user] user - [INFO] INFO - User admin retrieved settings via API +2025-06-12 15:08:55 - [user] user - [INFO] INFO - User admin retrieved settings via API +2025-06-12 15:08:57 - [user] user - [INFO] INFO - User admin retrieved settings via API +2025-06-12 15:09:11 - [user] user - [INFO] INFO - User admin retrieved settings via API +2025-06-12 15:09:16 - [user] user - [INFO] INFO - User admin retrieved settings via API +2025-06-12 15:09:19 - [user] user - [INFO] INFO - User admin retrieved settings via API diff --git a/backend/logs/utilities_collection/utilities_collection.log b/backend/logs/utilities_collection/utilities_collection.log index 3ea679f90..471e5b037 100644 --- a/backend/logs/utilities_collection/utilities_collection.log +++ b/backend/logs/utilities_collection/utilities_collection.log @@ -146,3 +146,23 @@ 2025-06-12 14:57:00 - [utilities_collection] utilities_collection - [INFO] INFO - ๐Ÿšจ ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien โ†’ 1 Datei (90%+ Reduktion) 2025-06-12 14:57:07 - [utilities_collection] utilities_collection - [INFO] INFO - โœ… Utilities Collection initialisiert 2025-06-12 14:57:07 - [utilities_collection] utilities_collection - [INFO] INFO - ๐Ÿšจ ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien โ†’ 1 Datei (90%+ Reduktion) +2025-06-12 15:00:09 - [utilities_collection] utilities_collection - [INFO] INFO - โœ… Utilities Collection initialisiert +2025-06-12 15:00:09 - [utilities_collection] utilities_collection - [INFO] INFO - ๐Ÿšจ ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien โ†’ 1 Datei (90%+ Reduktion) +2025-06-12 15:00:11 - [utilities_collection] utilities_collection - [INFO] INFO - โœ… Utilities Collection initialisiert +2025-06-12 15:00:11 - [utilities_collection] utilities_collection - [INFO] INFO - ๐Ÿšจ ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien โ†’ 1 Datei (90%+ Reduktion) +2025-06-12 15:00:15 - [utilities_collection] utilities_collection - [INFO] INFO - โœ… Utilities Collection initialisiert +2025-06-12 15:00:15 - [utilities_collection] utilities_collection - [INFO] INFO - ๐Ÿšจ ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien โ†’ 1 Datei (90%+ Reduktion) +2025-06-12 15:02:23 - [utilities_collection] utilities_collection - [INFO] INFO - โœ… Utilities Collection initialisiert +2025-06-12 15:02:23 - [utilities_collection] utilities_collection - [INFO] INFO - ๐Ÿšจ ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien โ†’ 1 Datei (90%+ Reduktion) +2025-06-12 15:02:43 - [utilities_collection] utilities_collection - [INFO] INFO - โœ… Utilities Collection initialisiert +2025-06-12 15:02:43 - [utilities_collection] utilities_collection - [INFO] INFO - ๐Ÿšจ ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien โ†’ 1 Datei (90%+ Reduktion) +2025-06-12 15:03:37 - [utilities_collection] utilities_collection - [INFO] INFO - โœ… Utilities Collection initialisiert +2025-06-12 15:03:37 - [utilities_collection] utilities_collection - [INFO] INFO - ๐Ÿšจ ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien โ†’ 1 Datei (90%+ Reduktion) +2025-06-12 15:03:39 - [utilities_collection] utilities_collection - [INFO] INFO - โœ… Utilities Collection initialisiert +2025-06-12 15:03:39 - [utilities_collection] utilities_collection - [INFO] INFO - ๐Ÿšจ ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien โ†’ 1 Datei (90%+ Reduktion) +2025-06-12 15:08:09 - [utilities_collection] utilities_collection - [INFO] INFO - โœ… Utilities Collection initialisiert +2025-06-12 15:08:09 - [utilities_collection] utilities_collection - [INFO] INFO - ๐Ÿšจ ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien โ†’ 1 Datei (90%+ Reduktion) +2025-06-12 15:08:48 - [utilities_collection] utilities_collection - [INFO] INFO - โœ… Utilities Collection initialisiert +2025-06-12 15:08:48 - [utilities_collection] utilities_collection - [INFO] INFO - ๐Ÿšจ ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien โ†’ 1 Datei (90%+ Reduktion) +2025-06-12 15:08:50 - [utilities_collection] utilities_collection - [INFO] INFO - โœ… Utilities Collection initialisiert +2025-06-12 15:08:50 - [utilities_collection] utilities_collection - [INFO] INFO - ๐Ÿšจ ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien โ†’ 1 Datei (90%+ Reduktion) diff --git a/backend/logs/utils.database_cleanup/utils.database_cleanup.log b/backend/logs/utils.database_cleanup/utils.database_cleanup.log new file mode 100644 index 000000000..e69de29bb diff --git a/backend/logs/windows_fixes/windows_fixes.log b/backend/logs/windows_fixes/windows_fixes.log index 5492a6dd3..1d67b9748 100644 --- a/backend/logs/windows_fixes/windows_fixes.log +++ b/backend/logs/windows_fixes/windows_fixes.log @@ -145,3 +145,19 @@ 2025-06-12 14:57:00 - [windows_fixes] windows_fixes - [INFO] INFO - โœ… Alle Windows-Fixes erfolgreich angewendet 2025-06-12 14:57:07 - [windows_fixes] windows_fixes - [INFO] INFO - ๐Ÿ”ง Wende Windows-spezifische Fixes an... 2025-06-12 14:57:07 - [windows_fixes] windows_fixes - [INFO] INFO - โœ… Alle Windows-Fixes erfolgreich angewendet +2025-06-12 15:00:09 - [windows_fixes] windows_fixes - [INFO] INFO - ๐Ÿ”ง Wende Windows-spezifische Fixes an... +2025-06-12 15:00:09 - [windows_fixes] windows_fixes - [INFO] INFO - โœ… Alle Windows-Fixes erfolgreich angewendet +2025-06-12 15:00:11 - [windows_fixes] windows_fixes - [INFO] INFO - ๐Ÿ”ง Wende Windows-spezifische Fixes an... +2025-06-12 15:00:11 - [windows_fixes] windows_fixes - [INFO] INFO - โœ… Alle Windows-Fixes erfolgreich angewendet +2025-06-12 15:00:15 - [windows_fixes] windows_fixes - [INFO] INFO - ๐Ÿ”ง Wende Windows-spezifische Fixes an... +2025-06-12 15:00:15 - [windows_fixes] windows_fixes - [INFO] INFO - โœ… Alle Windows-Fixes erfolgreich angewendet +2025-06-12 15:03:37 - [windows_fixes] windows_fixes - [INFO] INFO - ๐Ÿ”ง Wende Windows-spezifische Fixes an... +2025-06-12 15:03:37 - [windows_fixes] windows_fixes - [INFO] INFO - โœ… Alle Windows-Fixes erfolgreich angewendet +2025-06-12 15:03:39 - [windows_fixes] windows_fixes - [INFO] INFO - ๐Ÿ”ง Wende Windows-spezifische Fixes an... +2025-06-12 15:03:39 - [windows_fixes] windows_fixes - [INFO] INFO - โœ… Alle Windows-Fixes erfolgreich angewendet +2025-06-12 15:08:09 - [windows_fixes] windows_fixes - [INFO] INFO - ๐Ÿ”ง Wende Windows-spezifische Fixes an... +2025-06-12 15:08:09 - [windows_fixes] windows_fixes - [INFO] INFO - โœ… Alle Windows-Fixes erfolgreich angewendet +2025-06-12 15:08:48 - [windows_fixes] windows_fixes - [INFO] INFO - ๐Ÿ”ง Wende Windows-spezifische Fixes an... +2025-06-12 15:08:48 - [windows_fixes] windows_fixes - [INFO] INFO - โœ… Alle Windows-Fixes erfolgreich angewendet +2025-06-12 15:08:50 - [windows_fixes] windows_fixes - [INFO] INFO - ๐Ÿ”ง Wende Windows-spezifische Fixes an... +2025-06-12 15:08:50 - [windows_fixes] windows_fixes - [INFO] INFO - โœ… Alle Windows-Fixes erfolgreich angewendet diff --git a/backend/models.py b/backend/models.py index ea4b1a943..9651defc5 100644 --- a/backend/models.py +++ b/backend/models.py @@ -6,7 +6,7 @@ from datetime import datetime, timedelta from typing import Optional, List, Dict, Any from contextlib import contextmanager -from sqlalchemy import create_engine, Column, Integer, String, Boolean, DateTime, ForeignKey, Float, event, text, Text +from sqlalchemy import create_engine, Column, Integer, String, Boolean, DateTime, ForeignKey, Float, event, text, Text, func from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import relationship, sessionmaker, Session, Mapped, mapped_column, scoped_session from sqlalchemy.pool import StaticPool, QueuePool @@ -376,6 +376,50 @@ class User(UserMixin, Base): def is_admin(self) -> bool: return self.role == "admin" + def has_role(self, role: str) -> bool: + """ + รœberprรผft, ob der Benutzer eine bestimmte Rolle hat. + + Args: + role: Name der Rolle (z.B. 'admin', 'user') + + Returns: + bool: True wenn Rolle vorhanden, sonst False + """ + return self.role == role + + def get_initials(self) -> str: + """ + Generiert Initialen aus dem Benutzernamen fรผr Avatar-Anzeige. + + Returns: + str: Initialen des Benutzers (max. 2 Zeichen) + """ + if self.name: + # Aus dem vollstรคndigen Namen Initialen erstellen + name_parts = self.name.strip().split() + if len(name_parts) >= 2: + return (name_parts[0][0] + name_parts[-1][0]).upper() + elif len(name_parts) == 1: + return name_parts[0][:2].upper() + + # Fallback: Aus Username Initialen erstellen + if self.username: + return self.username[:2].upper() + + # Notfall-Fallback + return "??" + + @property + def display_name(self) -> str: + """ + Gibt den Anzeigenamen des Benutzers zurรผck. + + Returns: + str: Name oder Username als Fallback + """ + return self.name if self.name else self.username + @property def is_active(self) -> bool: """Required for Flask-Login""" @@ -485,6 +529,10 @@ class User(UserMixin, Base): if permission_name == 'ADMIN': return self.is_admin + # Standard-Berechtigungen fรผr alle aktiven Benutzer + if permission_name in ['VIEW_JOBS', 'VIEW_CALENDAR']: + return True # Alle aktiven Benutzer kรถnnen Jobs und Kalender ansehen + # รœberprรผfe spezifische Berechtigungen รผber UserPermission if self.permissions: if permission_name == 'CONTROL_PRINTER': @@ -851,10 +899,13 @@ class Notification(Base): id = Column(Integer, primary_key=True) user_id = Column(Integer, ForeignKey("users.id"), nullable=False) + title = Column(String(255), nullable=True) # Titel der Benachrichtigung + message = Column(Text, nullable=True) # Inhalt der Benachrichtigung type = Column(String(50), nullable=False) payload = Column(Text) # JSON-Daten als String created_at = Column(DateTime, default=datetime.now) - read = Column(Boolean, default=False) + is_read = Column(Boolean, default=False) # Korrigiert: is_read statt read + read_at = Column(DateTime, nullable=True) # Zeitpunkt des Lesens user = relationship("User", back_populates="notifications") @@ -865,10 +916,13 @@ class Notification(Base): return { "id": self.id, "user_id": self.user_id, + "title": self.title, + "message": self.message, "type": self.type, "payload": self.payload, "created_at": self.created_at.isoformat() if self.created_at else None, - "read": self.read + "is_read": self.is_read, + "read_at": self.read_at.isoformat() if self.read_at else None } @classmethod diff --git a/backend/templates/includes/navbar.html b/backend/templates/includes/navbar.html index 9f01a7b69..e10b5596e 100644 --- a/backend/templates/includes/navbar.html +++ b/backend/templates/includes/navbar.html @@ -125,12 +125,12 @@ {{ current_user.display_name or current_user.username }} - + Mein Profil - + Einstellungen @@ -219,13 +219,13 @@ {% if current_user.is_authenticated %} - Mein Profil - Einstellungen diff --git a/backend/utils/__pycache__/database_cleanup.cpython-313.pyc b/backend/utils/__pycache__/database_cleanup.cpython-313.pyc index 24a6b0698553ebcfc17d7a270e376416c7b245a6..a4695c0a6d841e7d5bfe5f59b8e9f63a51eb0628 100644 GIT binary patch literal 4075 zcmb_fTWs6b89pRMQKBVT@m2Aa&RuIPplyOBPA^bwH$i+!XT}?5Yvm~ENM=k^&LNdF z1_ERlFf>?GCk0X`dr5#j3A|KUZF1uuKq z5%izK!*l)r@B9CsThXY9p!}h7Ztizsg#Jz+{1WgQTMwXd2g!&anUUEshA>cbW9&JO zaOVOfAkqH77=JEEf=-(q6Nuo94UrJk{8;#$NJI%`#C<5!bewTlCXoc%hvZ-vl7-`} z*B6!9OR>qbOZ28MVQ~CBwiu zODh?sR5tSd9)sr>F;QtZHd5j@^o)~9)()Ltqp0-Hlx>?!2L=9&FXdjT%MG0KHPJm?cuQJbkO> ztfOyvu59H?S3o^E&-l(YIgs?f^%;meXx8bZV#-%QwFd!IeDhBuz50GO=nt6+`K?;L zV-D~4&qn;#RI}fz)iUD)R6<3RWG9yn?5;&gGc-$6b2Ix(8gjNr?e_etp@p0`wz#hNuZ@x%8sSv5D0jeMqTX}X!odqhxjt_f3% zSK%}YJ+h+M{kz{NG0Dlkc|d=UnSQ@98m zCe+Xp2B&r*AeOTE5n z2Hh7Dsck(ZO(uB~hXau)2%A&$c|y5NT0kUO(nfoO9_FY@C5g1tzGin7Oguo^hx~1J zdWKZPxE`2no&s?lZN^ZnWqIc3GtVON<%t^;Pb0lgBE5GD>yd*Sk(TB08{?Jk6AwEc zhAMm0>ygvjJc=cjXFi$v)@*|LH;<)7?y)GQ6T%J`Aiz5ZBVU02UxkrbI?5@47C$!m zT~PaWZbfI`MaW?K&@5fsDbo{S zcAiKh)C36H{ghL!4U53zuKQ7|H58fm?+8&gK!5(70Iz`oG#m3L2uR%zI$-P0Pf^lP zWNw<>$&h|n*I?7^#4nN8Dli4)GT{|m33yxymcI*Ii0`dFngg2nWN;#{szY3@Lozlz z+?!IqOmcH6(H8QWxmYss(jE`^-gACPTIzWZ&*>1w9b$Qe@zw`UEcN+d9`rX=vqfy? z=Jb+jVk6n)aK;XRtF~O`2y?2bS{5PwaN-(;?C|J^Iqbx3o5zHdh|TA~ff75Q8HG}k za~MXtVUo>YlR^?m?NY3X4uq6LfxFuK{1bTx^1^JYZp>krZ2krWP%Gq7Yon|0u66&~ zy=z}}4c-cFvizP=W}~z3?&SwppLV|fr1SM>iN5=>d$IMzkqu}??nNqxUCtd$f0a1> zoJWZ_Ky;@zTTpb5%hLWQk^c3_0Ojb|jj>AN#Cqi9b|;YYqnUrbjG)B87Gmf&ZCxwl zx5q2{-~B!F(5ws$KW!WNW828TH#z$D+wCaKxCvxF1}DC`cR0rV>g4IZz+>q+G{5W< zhns{ik0geJ!YT?v&uWl|p4BFfwqxROk6;H0w#vlV!TxH5Sb|mmAM7_FN20$PGY+6v zAeZrw%a-Z2#4}pflJXjs(#DcHr%QQ&-0q-VDwEYmx%reh37DV`+2(X?IM^bT;%)$U zff1)kp6ip9T&ZkW_Tm46j>dsB`!feX)I+4TEHwGK*?yG! zwKya|AfWEbIoD*eiN<|HUBD3cMMYUC<;yy4M-=5!S=GHa&5Bach-v8%+>8>u78E64 z$|(xzpi9v>Kqz8uPJ=A@C~dVXifKXKn^P#0v~1bJrlNd~NP-Tg4vf%KIfA+$6MPc- z8G6ogeCUP9@o&En!~8JwqNAA~+T6$UhaT+TMo_u)ovBHfk%ND=Q~~n^bk%2!IS5j- z)g*!@6}4#h=CZuEai#t;MD5(am5p(^Khv^PdQ6NB#c+RK}j# literal 16139 zcmc(GeRLbgb?@RE1OWmBKob1KlHwOcf|N{JvM5V3M1iFEDRBwO5-GzVxdb7B3wjsO z2in9wJx%MhX-y?|ExGBT-1r>Jt=san`GbA&AM{f!G4Hj`qJ&L$!=!qNo_pLs`lv{W za-@IWomniffFLpH>v>&?vxC{0J9qBfo%zkZckh`@1_G{zzj|So-bWBWLqDWTlgixt zH^{t2Py|a*3Q9SkU={eTWR>`?VpaIAX4P<44QTo`tcFB&)dSjo9joitv-g(&2C@NW+~RrK9X6_h2L# zI!DHsX%Z++0;L!eX>#pc7b zpdJiyQK(cj6#>#0qap#;r4-cYr(l|5X=v`JnP7;ap`z9+0GAd{6igT=Oh^Sgl{i&XhE%O0 z%0?AVn4VZui?jgGrkS!+rilXR#R9z)rAmt_Giwc6TqQy&OfR0c)Z`9f;j>>lpxgK# zqY1tc2!rTJE;Kbuv-#9vWS(Y0h!KWn$hlBdKDGZ33PRBw2Q=L&4nQ#sQz=CU)(8SA zxC;L6jY0AjF%GGCjiyvz`i<_HSHMSv)6Xdd{6aMF)lR@Kwe%}UxRk>^E{#wSodxZg z4lzN{Gf->6B+Wl42K=<9e@;c_KpUgE4c|8+H=<^fD*vMJ>Tr|K=(xIq(=+v=^$pE}c%=APIUOH|fR|nhX zF9~|TKg5Khe!t+%KbdV(g&OFdtA*q>Vzat&@uhcOTB~-yu1@MJHtL$t-MQhceO>*T zzUm&5gP;}Pn5neHpim2cSnlsZ<}HxfDBN=|B|#D|TJp`reh@*Rl0fa`R8s^-r3F_; z(5H|VIK245!YeIqBoS2960JmYs`fO{o>7v76M9F_4yc^OjKZaip$emP5LO8`gw`q= zmH|>+1IU>hAHf0@;Kn7)#$+=-JS+CxmsNTJ1-o0V5uUqO9mil!|OTyA} zy(ekuc%UJQNT~X`$@!2ggtmXw;!&tRRv0{HonV;@T=ZWEfEsW#EQ8aWpk?W3jAgPW zPY12=K8;jP6tf0vY) z27b3?x~;7(Zaos><|7;ciPYB9MaHXA02y}sIcY-@tI=KL@Rthc>!I2W2npB681?pKLT_kmf-2 z5sssov4>U(Tx1Y@45=}eAQ_0w$U!=4ho%g084QkWj;q>s&%~9S>tCS-T(=L!(DwGz zcdq@P&lrrX|jhaO9A2Lo;2Z%PweBNL?Lb zKuI#2xMrH3j0FYVG@bxjDDYmKqVX9*&|L_y48nFA1nOBhFaW25h6~g5Jd0KwLC3uU zhaI{@(80FK&{I)CM_;6;Vo_SqvypHZ;WN}a!qI{y4TS??FUv+)K?RUQ(9kIF(u)`Z zts59f2nrwpbL*cEL}vv(%&(X;aDe}!e#}Whl;)y-)HA1tc1YLJC4!Gi^eWJRKcR0w zC?T!~90F|SglC=rM4r;d1wC+|g3`T4Y}wrf<(o$98v|b-;2pzBdnXuhi>oE=+6 zqPRqYG&>WPok>gU12bW*zi%f@#c%ZgLI1)l-x#{DB^(Xc&L_&;ulH@1)u(cI%BvU4 z-zopo%Gdiht)*|fzUlf_%QZv7x|4SwShF73Qd){@?vPFIoB!PWUDL`d3G(Q|(G7d` zy1gM`Z{QpEChgDRpN$E7W76IX`L{;|>VJ;& z<8)$(=4V3u;934`m~WU%I+#sI)uQ1Y!?liYn}6aUZ#$|VZJB`5qx+?VrTiYD6enu% z>w|n{-)ixyiZ35b8izJ*jz?P>c=(X}1DMy}sqM28-?8-QRNrm(ma0Fls)6jsT^>|? zqsrs#DJQ=Fd^!C1q}0%()_p=cyoYq3Jg0+NpB&Oa$xXEi@;7yco>JY-Vm;KnS#Iw$ zt8ThIC4C0fs!|6;M3Vs`jMk@p8Z<>fOFD}Lejh-aj?$t74W;dR5w`xX z!q#s}u?x?nO_ zEj}H9Hnk)h0Q<=l*x#lPpE4!onQbLt%TWK#_2&t?V$aarP8u>f{Bu*a$0C)lvV+=CdPnL19&yX!+0D)G<;4wg7e+b%&^KxJ; zlTw}o2lO3+z6+_+@$@0Xmj?V8^!5T(y-(?eEsQF2gW592Z8&wneBvV&=w~?|b%oCe z`AWI2jw5>pzDCJZMs}+se8!9{@fZs|g}urlILLr3t9^y&c+jcjl+rU!NfPyF{7`R3 zktJPt6JUf@RLyp+q~nCEHnt4R79J8y?~sQ?Xa<-_jjmZxxLCA8vkfRgOJmFq2?D4&asd43>LO!k86hbE>wxobd^8Ct zp9NDe(@MtB*;{%NkFhsCnmPyIm5#=vaZ4_(7}5(MH-POtDRS|coZ<({vEdjxp}WBP zd>&vN7rpTwGaU*7D7U)E8L(T6*cf#WP(1DgJ0un`dBW4}^9=#$=g1xaT?qdH0v5Dl zIc5|MFjY;4w%Hcwj|HO$5wDQIS;|sQx)GX1^hrU{{!rfvl7wRm`B2RP?Vg8b>i8fC z#VsBey2ytmJ_cE4p-vQ#uv8o`O4DTmKr3D&kp+2%=H{R(6M=FV8rW>vsH<4eumJ|F z+vwcDBEXJ8FZ&$i1pN#hotg!+uAmCj42uvs3#J!>ZAVELN}fT7UN7VYU23}*)CkN9fN{ZQ47M|x1LP~_FA3VI7|Q`_2GbQ63rB_Gc@RJ6hsO*z z0}O*{wNNaA3UpK`l3MyP!e$Smo(ixP454QZ?Y4lHGna^)ZCqf624k6ASB0ID=&}vr zZF%ZW0$I)viv1b^h|y7f<)!tq*4KNtlpUt7J7qO*zxvHr-}}n)WTMQop#Hg*sOeKI z7=A|XTb$W`#a3$ffrUvzc;?R`+NQ+?b0iMTfmP}e3g51Z`bmkzx%C~p|5yU0M5hdI%D!l0C zRgR;ZdqVjOf~Y;CyaO$b?;82`Lo52_IDa(AyJwSR=ynyk*nhSE+k?Um_noS`#o?>N z0Kb=KmrwJ(r})z^^QQuQ%jD-(Q+Ia|wJlq10QcWETsFLEgoA^<@=D-a&u>a-+mo~( z-mI)!JoL_?4-c%=B`UoOM>gz^w+Al|UUMYvJ5j#>a{rry=@!o=?fd?@vf<|@!cN}x zDhP*rE36zihhjvzp3gpW&VAKkA32G?yZ30uoOLT7qz!`Ad+$MskKa?hG=_eO2qwcxu|OSS~r zxo{NmGkkfNZ#cA~Tdn=LaQQ2%o>hh)I>Vm<&>rFGd44|1?}#Ps=Qq(9zS)1}Qqu1F ziM{G}C3$UR$+OhK*X`vi_paObKDuKAE4#wfwNX~Zlg};%mMFevA78d_-LemzB1~Nm zxj9g@%XPgf<#!M7>M^Tt)GHu=qp1?|-&cAL!jGF~LocDbSzg(*Uw5-phf4NqpyU>z zg8VI&{b;4;R+-1#w_mgB)}pjS0Y$6(O_2UTuRU6-`9TpX`9Y}$QlSuzp2+7l7n!D~ z=Kw%59}&K(L=GlpiVp{OV+~%?D?VxRnV@MRsHW z7~7MA%%uPx!Mi|Jq#<+Wz?cTlpgO551!eVA(KzrdUOv49BGXXT>{DSVYr#;qU>h!r zeJaX|Hc#NghPkohV^>KQl&zBb8%={+sRa2Ad<7C0$h`$~sQ2h$oc|4=Y$;WS4s&TJ zi=U;SEY1UzB_&!gLIh>?(8{r0t2C6YjNOO!k3re~2$)O*VfPTM6>jQ62*ASjcviN) zbdje+bl5E?LpC4r4tmGDtq32sl7K(jTo}>*SHWPkj9?fXx1}KNS#i{Og~Z@C?(m$8 z#vrl*(3N~FfF#T1zrpwkCgdoG4WH}~5RTjP&^$04g98f2$XTsrKoV1ko5sIwRI?-MnDoM1*0n|pWF;c6#@MSv}2E<?q1okYo>B;zWd`=>eu2aB>k^Z>m?7<>wv7`SCw5shYmXdVoT!Kuq2 z0?{ed9-&e8BuZX{L@)y6WFgcV&~YdiMmjJwJS)=&KZoA} zq5WxCGEal|P!~UgEfoM|sT@$&nYuP}042aFvVQTmul_dQ>REFhUUv>8oC9mlq18ab zd2GSBX(@f%c-hE1_bwZkzRFjF&AD!CNZ1*ZsK^0Bq@6ARj(G`C&Z zbFKEBeM?6c^tUZ`5%PUutGuRvzv$hfHFDR|z|G;!(;arN^sRKQp5e*y zq4K+-*mQuOA^k-m!bBjo&Jg}zx+2wa3lP&lls62Vr855+mgL9wjV* zCB4f36i{~rCj0W?YHyYDzwbJ%gxmK!D^B3?s;gsjU!+RD!BEw;e?AbK*2G7!RY9Sc2&+JqBRO5|OAET1k zqyo5Sf)+=SQ}~=kleckiE`~ zG|A|-=QM(!RPz()rO)`;^n8|ldkDBa(q|<&&46x$+asez`BsNY?C?l)jZaV-(cv+? zMB!YPyF*SN5Ft}cxqQWlH^wUKDc=Zp`mEVwpjyy8`>gE>B*_1a`KDUi)YxUAVTwJ) z`6L7*f+zA3JuyU5lM0b^$G!*bNhiG6+)Mz4giO<1tK_-hGSMVb9QfnTipKy+7dbMS zbtp9!)M+g15k!~kzzRPFvB!cA49FbVp9Moi3UKCzW5|5J zwfO$ulMpzLEc7y2JuV@z-Qy^jt;KKs8HyKTL(wR?yDK+zD9!hIS)3EJWohWlrC{se z7O%!3Jtt%}Vs&UHhV1uQ+&t4oViy$zN@aVduv~zNFOg{tm_X;I zctuVn*`YM<%z2i5xC7@77|XKz?!b~j$JcBfiOoU3f>tyIe5pbm*UOK#`1~tA%~GT6 zTGFvImydX_oL2r?tz-aB>$xHUe~Ua84C`E$Fgrn*Aux&1*v~cxQEK2!qZu@n$dwj1 zr_TEk2tJw%#p$>$J@uqm1|F|?6>`$08b9WVV$qhtB5jY?gTULVz9Bav5`x!9HX9@y zX~AQ{M8!a=l*0{wX|Y|4$LUT&3=%yH9bo5CGjt2K4P7e9)=1z#ErkPC$+)STWGoBchworD5mL=pv9n>^TaW;voJWd2*tGxp|=&xol=aVQ>kt z^jzdTJsm^P26@}ka!fByGGPF>N^l|Kx)4(KcwMxTh(0v%^~HA%z}GmON|5cbhJ=$jb1P2uAV5nOY_d_?PH^!xohS(Bzaq?hxwj1xN$~ znmUnb@clugTWSD!zLC`><-5al{BvB8L&o%s#U-5+J$NPPTMHKHB!@n;K(Tx9VUo}a zQyru37Tf>IEMv7ANerE5v4Mvcm%R_u!Ptx8Cv2ev@A`62_%h1N&{p)*25_?B@ z|I0k2djkne=VMe3e`fENsML4!N5+uXtL{Y7e)5;#hHLoTwO_Kpkb_D4&_;X5di!9a zeQ@94p+kA;&&eV%yIlSIMYm5O?>m<>gm-%zVTGj zaXRf_n@>7e)InpKIhtwa@EeolUGkJzI64a>wRn0&n_4?A1nEytoEq4K|&!*!714;Yj?VW84 z>ZGL!=A*La%Gp0{zwSv?xYsMj`MrI~j=uGd)BLg1|1i9uLzcOwjk?y2n)=OJ*ZWm} zUiF=t_1b-j+I?%a`#0QsKdf1I^{*H{8opbot*|a=e`x`$mBd<|cV+rk=;IL3TI(6- zy%Rin<}>?Ch!b#&@;iD~qPH%6e2G7Pa;^78zULHQdpcmckQ3 z=#uNxyAoO%=bMhNJ4XM>F^aqd?bnUWr~idTl>n z-JZ1Uy6vnNhjhK*+HWOlo_Ty^cMCKQ>wQ8~Y<=)bij_xOXO%$u;e&Ii;4}2S3R>g- zsCDF^>SI+oN~@1_4woozT0MnB4a!^9-h=S#9~%tAR?R=QJBCe~Pjy--`P8I=l25HF zlrJ%i?ALti^yo+SXnxqFfFD0>Rs*dc?$Mz9eih0eG#oSP;1eF?FJkes3nw%52_f4H zcesHG1U~IzUqR1VNIp=ExoqegDkd;T!#7k0KeGMC!YFU_`(KF#!l@@_KWsiM7Y)PL zLrer7>-_%d$dupDRv=)f4I1QixH`#g}eCfF&@%FAFuX_BL01-;;Lc40XOzMN;*-p2PFswhzLg;y)+Mz z`r?a(Unwm-6AXZ3&{w|U&?KwF1rV?w2m@-FyTs~I>jG3-oGEP+ziPxUtYDUv&!acC z5Y;ZiUt6|8j8PQ2|!DM$N&mau>DLZ$eK_W=x{H-pIA;vo7g`_$r~s^qR7=k z{qy1~bC6wxr|3oCEE z^T$N}kBP?rjefTLuL2uyZ(J*AdQJO4O{*2wy97>;6%aPpnsw)E<}I~SQOQ?#+$Z3E XS8q_9P+T9|BG7$#?3ehC=i&bX%OQ~A diff --git a/backend/utils/database_cleanup.py b/backend/utils/database_cleanup.py new file mode 100644 index 000000000..c562186a7 --- /dev/null +++ b/backend/utils/database_cleanup.py @@ -0,0 +1,84 @@ +""" +Database Cleanup Manager fรผr sicheres Database-Management. +Zentrale Verwaltung von Database-Connections und Cleanup-Operationen. +""" + +import logging +from typing import Optional, List +from contextlib import contextmanager +import threading +import weakref + +from utils.logging_config import get_logger + +logger = get_logger(__name__) + + +class DatabaseCleanupManager: + """ + Manager fรผr sichere Database-Cleanup-Operationen. + Verwaltet Database-Engines und sorgt fรผr sauberes Shutdown. + """ + + def __init__(self): + self._engines = weakref.WeakSet() + self._lock = threading.Lock() + logger.debug("DatabaseCleanupManager initialisiert") + + def register_engine(self, engine): + """ + Registriert eine Database-Engine fรผr Cleanup beim Shutdown. + + Args: + engine: SQLAlchemy Engine-Objekt + """ + with self._lock: + self._engines.add(engine) + logger.debug(f"Database-Engine registriert: {engine}") + + def cleanup_all(self): + """ + Fรผhrt Cleanup fรผr alle registrierten Engines durch. + """ + with self._lock: + for engine in list(self._engines): + try: + if hasattr(engine, 'dispose'): + engine.dispose() + logger.debug(f"Engine disposed: {engine}") + except Exception as e: + logger.error(f"Fehler beim Engine-Cleanup: {e}") + + # Set leeren + self._engines.clear() + logger.info("Database-Cleanup abgeschlossen") + + def get_engine_count(self) -> int: + """ + Gibt die Anzahl der registrierten Engines zurรผck. + """ + with self._lock: + return len(self._engines) + + +# Globaler Cleanup-Manager +_cleanup_manager = None +_manager_lock = threading.Lock() + + +def get_cleanup_manager() -> DatabaseCleanupManager: + """ + Gibt den globalen DatabaseCleanupManager zurรผck (Singleton). + + Returns: + DatabaseCleanupManager: Der globale Cleanup-Manager + """ + global _cleanup_manager + + if _cleanup_manager is None: + with _manager_lock: + if _cleanup_manager is None: + _cleanup_manager = DatabaseCleanupManager() + logger.debug("Globaler DatabaseCleanupManager erstellt") + + return _cleanup_manager \ No newline at end of file