2026-04-28 23:43:03,873 - main - INFO - === Logging system initialized ===
2026-04-28 23:43:03,873 - main - INFO - Log file: logs/app_20260428_234303.log
2026-04-28 23:43:03,873 - main - INFO - Log level: INFO
2026-04-28 23:43:03,874 - main - INFO - Timestamp: 20260428_234303
2026-04-28 23:43:04,744 - main - INFO - Included router: routers.aihub.router
2026-04-28 23:43:04,762 - main - INFO - Included router: routers.auth.router
2026-04-28 23:43:04,766 - main - INFO - Included router: routers.health.router
2026-04-28 23:43:04,785 - main - INFO - Included router: routers.settings.router
2026-04-28 23:43:04,830 - main - INFO - Included router: routers.storage.router
2026-04-28 23:43:04,839 - main - INFO - Included router: routers.user.router
2026-04-28 23:43:04,892 - main - INFO - Included router: routers.user_profiles.router
2026-04-28 23:43:04,981 - main - INFO - Included router: routers.whmcs.router
2026-04-28 23:43:04,983 - main - INFO - === Application startup initiated ===
2026-04-28 23:43:04,983 - services.database - INFO - Ignore creating tables
2026-04-28 23:43:04,983 - services.mock_data - INFO - Ignore initialize data
2026-04-28 23:43:04,983 - services.auth - INFO - Ignore initialize admin
2026-04-28 23:43:04,983 - main - INFO - === Application startup completed successfully ===
2026-04-28 23:43:16,745 - core.config - DEBUG - Read dynamic attribute jwt_secret_key from environment variable JWT_SECRET_KEY
2026-04-28 23:43:16,746 - core.config - DEBUG - Read dynamic attribute jwt_algorithm from environment variable JWT_ALGORITHM
2026-04-28 23:43:16,756 - core.auth - DEBUG - Authentication token validated for user hash: 8c5e6440
2026-04-28 23:43:16,760 - core.auth - DEBUG - Authentication token validated for user hash: 8c5e6440
2026-04-28 23:43:16,851 - httpcore.connection - DEBUG - connect_tcp.started host='client.doiteasy.net' port=443 local_address=None timeout=25.0 socket_options=None
2026-04-28 23:43:17,039 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7fa791775e40>
2026-04-28 23:43:17,040 - httpcore.connection - DEBUG - start_tls.started ssl_context=<ssl.SSLContext object at 0x7fa7918cbf40> server_hostname='client.doiteasy.net' timeout=25.0
2026-04-28 23:43:17,042 - core.auth - DEBUG - Authentication token validated for user hash: 8c5e6440
2026-04-28 23:43:17,042 - core.config - DEBUG - Read dynamic attribute oss_service_url from environment variable OSS_SERVICE_URL
2026-04-28 23:43:17,042 - core.config - DEBUG - Read dynamic attribute oss_api_key from environment variable OSS_API_KEY
2026-04-28 23:43:17,066 - httpcore.connection - DEBUG - connect_tcp.started host='atoms.dev' port=443 local_address=None timeout=120.0 socket_options=None
2026-04-28 23:43:17,084 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7fa7917b3af0>
2026-04-28 23:43:17,085 - httpcore.connection - DEBUG - start_tls.started ssl_context=<ssl.SSLContext object at 0x7fa79170fb40> server_hostname='atoms.dev' timeout=120.0
2026-04-28 23:43:17,097 - httpcore.connection - DEBUG - start_tls.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7fa7917b3850>
2026-04-28 23:43:17,098 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'GET']>
2026-04-28 23:43:17,098 - httpcore.http11 - DEBUG - send_request_headers.complete
2026-04-28 23:43:17,099 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'GET']>
2026-04-28 23:43:17,099 - httpcore.http11 - DEBUG - send_request_body.complete
2026-04-28 23:43:17,099 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'GET']>
2026-04-28 23:43:17,221 - httpcore.connection - DEBUG - start_tls.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7fa79188a290>
2026-04-28 23:43:17,222 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'POST']>
2026-04-28 23:43:17,223 - httpcore.http11 - DEBUG - send_request_headers.complete
2026-04-28 23:43:17,223 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'POST']>
2026-04-28 23:43:17,224 - httpcore.http11 - DEBUG - send_request_body.complete
2026-04-28 23:43:17,225 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'POST']>
2026-04-28 23:43:17,257 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Wed, 29 Apr 2026 06:43:17 GMT'), (b'Content-Type', b'application/json; charset=utf-8'), (b'Transfer-Encoding', b'chunked'), (b'Connection', b'keep-alive'), (b'Access-Control-Allow-Headers', b'Origin, Content-Type, Accept, Authorization'), (b'Access-Control-Allow-Methods', b'GET, POST, PUT, DELETE, OPTIONS'), (b'Access-Control-Allow-Origin', b'*'), (b'Access-Control-Max-Age', b'86400'), (b'X-Request-Id', b'76b459cda923afb18953fb5abb447ca8'), (b'X-Trace-Id', b'a8151c5e57804fcb95cd72faa128842b'), (b'Content-Security-Policy', b"frame-ancestors 'self' https://atoms.dev"), (b'Strict-Transport-Security', b'max-age=63072000; includeSubDomains; preload'), (b'X-Content-Type-Options', b'nosniff'), (b'X-XSS-Protection', b'1; mode=block'), (b'Referrer-Policy', b'strict-origin-when-cross-origin'), (b'cf-cache-status', b'DYNAMIC'), (b'Content-Encoding', b'gzip'), (b'Server', b'cloudflare'), (b'CF-RAY', b'9f3c54dfecb8af4b-LAX')])
2026-04-28 23:43:17,258 - httpx - INFO - HTTP Request: GET https://atoms.dev/api/v1/infra/client/oss/buckets/user-avatars/objects "HTTP/1.1 200 OK"
2026-04-28 23:43:17,258 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'GET']>
2026-04-28 23:43:17,259 - httpcore.http11 - DEBUG - receive_response_body.complete
2026-04-28 23:43:17,259 - httpcore.http11 - DEBUG - response_closed.started
2026-04-28 23:43:17,260 - httpcore.http11 - DEBUG - response_closed.complete
2026-04-28 23:43:17,260 - httpcore.connection - DEBUG - close.started
2026-04-28 23:43:17,261 - httpcore.connection - DEBUG - close.complete
2026-04-28 23:43:17,624 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Server', b'nginx'), (b'Date', b'Wed, 29 Apr 2026 06:43:17 GMT'), (b'Content-Type', b'application/json'), (b'Transfer-Encoding', b'chunked'), (b'Connection', b'keep-alive'), (b'Expires', b'Thu, 19 Nov 1981 08:52:00 GMT'), (b'Cache-Control', b'no-store, no-cache, must-revalidate'), (b'Pragma', b'no-cache'), (b'Set-Cookie', b'WHMCShaXcqDDHD9SP=f679fa6476e4bb1d62a56b07cd33fc7e; path=/; secure; HttpOnly'), (b'X-Content-Type-Options', b'nosniff'), (b'X-Frame-Options', b'SAMEORIGIN'), (b'Referrer-Policy', b'strict-origin-when-cross-origin'), (b'X-XSS-Protection', b'1; mode=block')])
2026-04-28 23:43:17,625 - httpx - INFO - HTTP Request: POST https://client.doiteasy.net/includes/api.php "HTTP/1.1 200 OK"
2026-04-28 23:43:17,625 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'POST']>
2026-04-28 23:43:17,625 - httpcore.http11 - DEBUG - receive_response_body.complete
2026-04-28 23:43:17,625 - httpcore.http11 - DEBUG - response_closed.started
2026-04-28 23:43:17,626 - httpcore.http11 - DEBUG - response_closed.complete
2026-04-28 23:43:17,626 - httpcore.connection - DEBUG - close.started
2026-04-28 23:43:17,626 - httpcore.connection - DEBUG - close.complete
2026-04-28 23:43:17,871 - core.auth - DEBUG - Authentication token validated for user hash: 8c5e6440
2026-04-28 23:43:17,894 - httpcore.connection - DEBUG - connect_tcp.started host='client.doiteasy.net' port=443 local_address=None timeout=25.0 socket_options=None
2026-04-28 23:43:17,897 - core.auth - DEBUG - Authentication token validated for user hash: 8c5e6440
2026-04-28 23:43:17,924 - httpcore.connection - DEBUG - connect_tcp.started host='client.doiteasy.net' port=443 local_address=None timeout=25.0 socket_options=None
2026-04-28 23:43:17,927 - core.auth - DEBUG - Authentication token validated for user hash: 8c5e6440
2026-04-28 23:43:17,951 - httpcore.connection - DEBUG - connect_tcp.started host='client.doiteasy.net' port=443 local_address=None timeout=25.0 socket_options=None
2026-04-28 23:43:17,953 - core.auth - DEBUG - Authentication token validated for user hash: 8c5e6440
2026-04-28 23:43:17,977 - httpcore.connection - DEBUG - connect_tcp.started host='client.doiteasy.net' port=443 local_address=None timeout=25.0 socket_options=None
2026-04-28 23:43:18,123 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7fa7917b0790>
2026-04-28 23:43:18,123 - httpcore.connection - DEBUG - start_tls.started ssl_context=<ssl.SSLContext object at 0x7fa79170edc0> server_hostname='client.doiteasy.net' timeout=25.0
2026-04-28 23:43:18,145 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7fa7917e6cb0>
2026-04-28 23:43:18,145 - httpcore.connection - DEBUG - start_tls.started ssl_context=<ssl.SSLContext object at 0x7fa7917b8ac0> server_hostname='client.doiteasy.net' timeout=25.0
2026-04-28 23:43:18,154 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7fa7917e7b50>
2026-04-28 23:43:18,154 - httpcore.connection - DEBUG - start_tls.started ssl_context=<ssl.SSLContext object at 0x7fa7917b85c0> server_hostname='client.doiteasy.net' timeout=25.0
2026-04-28 23:43:18,268 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7fa791776e90>
2026-04-28 23:43:18,269 - httpcore.connection - DEBUG - start_tls.started ssl_context=<ssl.SSLContext object at 0x7fa7918c82c0> server_hostname='client.doiteasy.net' timeout=25.0
2026-04-28 23:43:18,299 - httpcore.connection - DEBUG - start_tls.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7fa7917b13f0>
2026-04-28 23:43:18,300 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'POST']>
2026-04-28 23:43:18,301 - httpcore.http11 - DEBUG - send_request_headers.complete
2026-04-28 23:43:18,301 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'POST']>
2026-04-28 23:43:18,301 - httpcore.http11 - DEBUG - send_request_body.complete
2026-04-28 23:43:18,301 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'POST']>
2026-04-28 23:43:18,316 - httpcore.connection - DEBUG - start_tls.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7fa7917b3b50>
2026-04-28 23:43:18,316 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'POST']>
2026-04-28 23:43:18,317 - httpcore.http11 - DEBUG - send_request_headers.complete
2026-04-28 23:43:18,318 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'POST']>
2026-04-28 23:43:18,319 - httpcore.http11 - DEBUG - send_request_body.complete
2026-04-28 23:43:18,319 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'POST']>
2026-04-28 23:43:18,331 - httpcore.connection - DEBUG - start_tls.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7fa7917e78e0>
2026-04-28 23:43:18,331 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'POST']>
2026-04-28 23:43:18,332 - httpcore.http11 - DEBUG - send_request_headers.complete
2026-04-28 23:43:18,332 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'POST']>
2026-04-28 23:43:18,332 - httpcore.http11 - DEBUG - send_request_body.complete
2026-04-28 23:43:18,332 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'POST']>
2026-04-28 23:43:18,441 - httpcore.connection - DEBUG - start_tls.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7fa79188a290>
2026-04-28 23:43:18,442 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'POST']>
2026-04-28 23:43:18,442 - httpcore.http11 - DEBUG - send_request_headers.complete
2026-04-28 23:43:18,443 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'POST']>
2026-04-28 23:43:18,443 - httpcore.http11 - DEBUG - send_request_body.complete
2026-04-28 23:43:18,443 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'POST']>
2026-04-28 23:43:18,713 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Server', b'nginx'), (b'Date', b'Wed, 29 Apr 2026 06:43:18 GMT'), (b'Content-Type', b'application/json'), (b'Transfer-Encoding', b'chunked'), (b'Connection', b'keep-alive'), (b'Expires', b'Thu, 19 Nov 1981 08:52:00 GMT'), (b'Cache-Control', b'no-store, no-cache, must-revalidate'), (b'Pragma', b'no-cache'), (b'Set-Cookie', b'WHMCShaXcqDDHD9SP=030ce30be603ae3746d44d2c5f7d01a8; path=/; secure; HttpOnly'), (b'X-Content-Type-Options', b'nosniff'), (b'X-Frame-Options', b'SAMEORIGIN'), (b'Referrer-Policy', b'strict-origin-when-cross-origin'), (b'X-XSS-Protection', b'1; mode=block')])
2026-04-28 23:43:18,714 - httpx - INFO - HTTP Request: POST https://client.doiteasy.net/includes/api.php "HTTP/1.1 200 OK"
2026-04-28 23:43:18,714 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'POST']>
2026-04-28 23:43:18,714 - httpcore.http11 - DEBUG - receive_response_body.complete
2026-04-28 23:43:18,714 - httpcore.http11 - DEBUG - response_closed.started
2026-04-28 23:43:18,714 - httpcore.http11 - DEBUG - response_closed.complete
2026-04-28 23:43:18,715 - httpcore.connection - DEBUG - close.started
2026-04-28 23:43:18,716 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Server', b'nginx'), (b'Date', b'Wed, 29 Apr 2026 06:43:18 GMT'), (b'Content-Type', b'application/json'), (b'Transfer-Encoding', b'chunked'), (b'Connection', b'keep-alive'), (b'Expires', b'Thu, 19 Nov 1981 08:52:00 GMT'), (b'Cache-Control', b'no-store, no-cache, must-revalidate'), (b'Pragma', b'no-cache'), (b'Set-Cookie', b'WHMCShaXcqDDHD9SP=b92c00eef3870f11dd88a95d1febe348; path=/; secure; HttpOnly'), (b'X-Content-Type-Options', b'nosniff'), (b'X-Frame-Options', b'SAMEORIGIN'), (b'Referrer-Policy', b'strict-origin-when-cross-origin'), (b'X-XSS-Protection', b'1; mode=block')])
2026-04-28 23:43:18,716 - httpx - INFO - HTTP Request: POST https://client.doiteasy.net/includes/api.php "HTTP/1.1 200 OK"
2026-04-28 23:43:18,717 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'POST']>
2026-04-28 23:43:18,717 - httpcore.http11 - DEBUG - receive_response_body.complete
2026-04-28 23:43:18,717 - httpcore.http11 - DEBUG - response_closed.started
2026-04-28 23:43:18,717 - httpcore.connection - DEBUG - close.complete
2026-04-28 23:43:18,761 - httpcore.http11 - DEBUG - response_closed.complete
2026-04-28 23:43:18,762 - httpcore.connection - DEBUG - close.started
2026-04-28 23:43:18,762 - httpcore.connection - DEBUG - connect_tcp.started host='client.doiteasy.net' port=443 local_address=None timeout=25.0 socket_options=None
2026-04-28 23:43:18,763 - httpcore.connection - DEBUG - close.complete
2026-04-28 23:43:18,789 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Server', b'nginx'), (b'Date', b'Wed, 29 Apr 2026 06:43:18 GMT'), (b'Content-Type', b'application/json'), (b'Transfer-Encoding', b'chunked'), (b'Connection', b'keep-alive'), (b'Expires', b'Thu, 19 Nov 1981 08:52:00 GMT'), (b'Cache-Control', b'no-store, no-cache, must-revalidate'), (b'Pragma', b'no-cache'), (b'Set-Cookie', b'WHMCShaXcqDDHD9SP=b6d83528fe35eb249a80562ef0a183e8; path=/; secure; HttpOnly'), (b'X-Content-Type-Options', b'nosniff'), (b'X-Frame-Options', b'SAMEORIGIN'), (b'Referrer-Policy', b'strict-origin-when-cross-origin'), (b'X-XSS-Protection', b'1; mode=block')])
2026-04-28 23:43:18,790 - httpx - INFO - HTTP Request: POST https://client.doiteasy.net/includes/api.php "HTTP/1.1 200 OK"
2026-04-28 23:43:18,790 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'POST']>
2026-04-28 23:43:18,791 - httpcore.http11 - DEBUG - receive_response_body.complete
2026-04-28 23:43:18,791 - httpcore.http11 - DEBUG - response_closed.started
2026-04-28 23:43:18,791 - httpcore.connection - DEBUG - connect_tcp.started host='client.doiteasy.net' port=443 local_address=None timeout=25.0 socket_options=None
2026-04-28 23:43:18,791 - httpcore.http11 - DEBUG - response_closed.complete
2026-04-28 23:43:18,792 - httpcore.connection - DEBUG - close.started
2026-04-28 23:43:18,792 - httpcore.connection - DEBUG - close.complete
2026-04-28 23:43:18,816 - httpcore.connection - DEBUG - connect_tcp.started host='client.doiteasy.net' port=443 local_address=None timeout=25.0 socket_options=None
2026-04-28 23:43:18,851 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Server', b'nginx'), (b'Date', b'Wed, 29 Apr 2026 06:43:18 GMT'), (b'Content-Type', b'application/json'), (b'Transfer-Encoding', b'chunked'), (b'Connection', b'keep-alive'), (b'Expires', b'Thu, 19 Nov 1981 08:52:00 GMT'), (b'Cache-Control', b'no-store, no-cache, must-revalidate'), (b'Pragma', b'no-cache'), (b'Set-Cookie', b'WHMCShaXcqDDHD9SP=ae355312506641521fe652e3185a767f; path=/; secure; HttpOnly'), (b'X-Content-Type-Options', b'nosniff'), (b'X-Frame-Options', b'SAMEORIGIN'), (b'Referrer-Policy', b'strict-origin-when-cross-origin'), (b'X-XSS-Protection', b'1; mode=block')])
2026-04-28 23:43:18,852 - httpx - INFO - HTTP Request: POST https://client.doiteasy.net/includes/api.php "HTTP/1.1 200 OK"
2026-04-28 23:43:18,853 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'POST']>
2026-04-28 23:43:18,853 - httpcore.http11 - DEBUG - receive_response_body.complete
2026-04-28 23:43:18,854 - httpcore.http11 - DEBUG - response_closed.started
2026-04-28 23:43:18,854 - httpcore.http11 - DEBUG - response_closed.complete
2026-04-28 23:43:18,854 - httpcore.connection - DEBUG - close.started
2026-04-28 23:43:18,854 - httpcore.connection - DEBUG - close.complete
2026-04-28 23:43:18,882 - httpcore.connection - DEBUG - connect_tcp.started host='client.doiteasy.net' port=443 local_address=None timeout=25.0 socket_options=None
2026-04-28 23:43:18,989 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7fa7917e5f90>
2026-04-28 23:43:18,990 - httpcore.connection - DEBUG - start_tls.started ssl_context=<ssl.SSLContext object at 0x7fa79170e1c0> server_hostname='client.doiteasy.net' timeout=25.0
2026-04-28 23:43:18,991 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7fa7917e64a0>
2026-04-28 23:43:18,991 - httpcore.connection - DEBUG - start_tls.started ssl_context=<ssl.SSLContext object at 0x7fa7917b88c0> server_hostname='client.doiteasy.net' timeout=25.0
2026-04-28 23:43:18,994 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7fa7917e7f40>
2026-04-28 23:43:18,995 - httpcore.connection - DEBUG - start_tls.started ssl_context=<ssl.SSLContext object at 0x7fa7917b8940> server_hostname='client.doiteasy.net' timeout=25.0
2026-04-28 23:43:19,065 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7fa7917e43d0>
2026-04-28 23:43:19,066 - httpcore.connection - DEBUG - start_tls.started ssl_context=<ssl.SSLContext object at 0x7fa7918cbf40> server_hostname='client.doiteasy.net' timeout=25.0
2026-04-28 23:43:19,169 - httpcore.connection - DEBUG - start_tls.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7fa7917e60e0>
2026-04-28 23:43:19,170 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'POST']>
2026-04-28 23:43:19,171 - httpcore.connection - DEBUG - start_tls.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7fa7917e7e80>
2026-04-28 23:43:19,172 - httpcore.http11 - DEBUG - send_request_headers.complete
2026-04-28 23:43:19,172 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'POST']>
2026-04-28 23:43:19,172 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'POST']>
2026-04-28 23:43:19,172 - httpcore.http11 - DEBUG - send_request_body.complete
2026-04-28 23:43:19,173 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'POST']>
2026-04-28 23:43:19,173 - httpcore.http11 - DEBUG - send_request_headers.complete
2026-04-28 23:43:19,173 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'POST']>
2026-04-28 23:43:19,175 - httpcore.http11 - DEBUG - send_request_body.complete
2026-04-28 23:43:19,175 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'POST']>
2026-04-28 23:43:19,176 - httpcore.connection - DEBUG - start_tls.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7fa7917e6320>
2026-04-28 23:43:19,176 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'POST']>
2026-04-28 23:43:19,176 - httpcore.http11 - DEBUG - send_request_headers.complete
2026-04-28 23:43:19,177 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'POST']>
2026-04-28 23:43:19,177 - httpcore.http11 - DEBUG - send_request_body.complete
2026-04-28 23:43:19,177 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'POST']>
2026-04-28 23:43:19,252 - httpcore.connection - DEBUG - start_tls.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7fa7917e4190>
2026-04-28 23:43:19,253 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'POST']>
2026-04-28 23:43:19,253 - httpcore.http11 - DEBUG - send_request_headers.complete
2026-04-28 23:43:19,253 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'POST']>
2026-04-28 23:43:19,253 - httpcore.http11 - DEBUG - send_request_body.complete
2026-04-28 23:43:19,254 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'POST']>
2026-04-28 23:43:19,555 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Server', b'nginx'), (b'Date', b'Wed, 29 Apr 2026 06:43:19 GMT'), (b'Content-Type', b'application/json'), (b'Transfer-Encoding', b'chunked'), (b'Connection', b'keep-alive'), (b'Expires', b'Thu, 19 Nov 1981 08:52:00 GMT'), (b'Cache-Control', b'no-store, no-cache, must-revalidate'), (b'Pragma', b'no-cache'), (b'Set-Cookie', b'WHMCShaXcqDDHD9SP=38138ca88781c150f09aa5dc17ed7c2d; path=/; secure; HttpOnly'), (b'X-Content-Type-Options', b'nosniff'), (b'X-Frame-Options', b'SAMEORIGIN'), (b'Referrer-Policy', b'strict-origin-when-cross-origin'), (b'X-XSS-Protection', b'1; mode=block')])
2026-04-28 23:43:19,555 - httpx - INFO - HTTP Request: POST https://client.doiteasy.net/includes/api.php "HTTP/1.1 200 OK"
2026-04-28 23:43:19,556 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'POST']>
2026-04-28 23:43:19,556 - httpcore.http11 - DEBUG - receive_response_body.complete
2026-04-28 23:43:19,557 - httpcore.http11 - DEBUG - response_closed.started
2026-04-28 23:43:19,557 - httpcore.http11 - DEBUG - response_closed.complete
2026-04-28 23:43:19,558 - httpcore.connection - DEBUG - close.started
2026-04-28 23:43:19,558 - httpcore.connection - DEBUG - close.complete
2026-04-28 23:43:19,576 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 403, b'Forbidden', [(b'Server', b'nginx'), (b'Date', b'Wed, 29 Apr 2026 06:43:19 GMT'), (b'Content-Type', b'application/json'), (b'Transfer-Encoding', b'chunked'), (b'Connection', b'keep-alive'), (b'Expires', b'Thu, 19 Nov 1981 08:52:00 GMT'), (b'Cache-Control', b'no-store, no-cache, must-revalidate'), (b'Pragma', b'no-cache'), (b'Set-Cookie', b'WHMCShaXcqDDHD9SP=454597430bc13199af49fad3e91692d7; path=/; secure; HttpOnly'), (b'X-Content-Type-Options', b'nosniff'), (b'X-Frame-Options', b'SAMEORIGIN'), (b'Referrer-Policy', b'strict-origin-when-cross-origin'), (b'X-XSS-Protection', b'1; mode=block')])
2026-04-28 23:43:19,577 - httpx - INFO - HTTP Request: POST https://client.doiteasy.net/includes/api.php "HTTP/1.1 403 Forbidden"
2026-04-28 23:43:19,577 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'POST']>
2026-04-28 23:43:19,577 - httpcore.http11 - DEBUG - receive_response_body.complete
2026-04-28 23:43:19,577 - httpcore.http11 - DEBUG - response_closed.started
2026-04-28 23:43:19,578 - httpcore.http11 - DEBUG - response_closed.complete
2026-04-28 23:43:19,578 - httpcore.connection - DEBUG - close.started
2026-04-28 23:43:19,578 - httpcore.connection - DEBUG - close.complete
2026-04-28 23:43:19,578 - services.whmcs - ERROR - WHMCS API returned HTTP 403 for action GetInvoices: {"result":"error","message":"Invalid Permissions: API action \u0022getinvoices\u0022 is not allowed"}
2026-04-28 23:43:19,626 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Server', b'nginx'), (b'Date', b'Wed, 29 Apr 2026 06:43:19 GMT'), (b'Content-Type', b'application/json'), (b'Transfer-Encoding', b'chunked'), (b'Connection', b'keep-alive'), (b'Expires', b'Thu, 19 Nov 1981 08:52:00 GMT'), (b'Cache-Control', b'no-store, no-cache, must-revalidate'), (b'Pragma', b'no-cache'), (b'Set-Cookie', b'WHMCShaXcqDDHD9SP=6c0444e7882fa8f0da19732016893029; path=/; secure; HttpOnly'), (b'X-Content-Type-Options', b'nosniff'), (b'X-Frame-Options', b'SAMEORIGIN'), (b'Referrer-Policy', b'strict-origin-when-cross-origin'), (b'X-XSS-Protection', b'1; mode=block')])
2026-04-28 23:43:19,627 - httpx - INFO - HTTP Request: POST https://client.doiteasy.net/includes/api.php "HTTP/1.1 200 OK"
2026-04-28 23:43:19,628 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'POST']>
2026-04-28 23:43:19,628 - httpcore.http11 - DEBUG - receive_response_body.complete
2026-04-28 23:43:19,628 - httpcore.http11 - DEBUG - response_closed.started
2026-04-28 23:43:19,628 - httpcore.http11 - DEBUG - response_closed.complete
2026-04-28 23:43:19,629 - httpcore.connection - DEBUG - close.started
2026-04-28 23:43:19,629 - httpcore.connection - DEBUG - close.complete
2026-04-28 23:43:19,671 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Server', b'nginx'), (b'Date', b'Wed, 29 Apr 2026 06:43:19 GMT'), (b'Content-Type', b'application/json'), (b'Transfer-Encoding', b'chunked'), (b'Connection', b'keep-alive'), (b'Expires', b'Thu, 19 Nov 1981 08:52:00 GMT'), (b'Cache-Control', b'no-store, no-cache, must-revalidate'), (b'Pragma', b'no-cache'), (b'Set-Cookie', b'WHMCShaXcqDDHD9SP=906b15a447a335f826c8103466119f23; path=/; secure; HttpOnly'), (b'X-Content-Type-Options', b'nosniff'), (b'X-Frame-Options', b'SAMEORIGIN'), (b'Referrer-Policy', b'strict-origin-when-cross-origin'), (b'X-XSS-Protection', b'1; mode=block')])
2026-04-28 23:43:19,671 - httpx - INFO - HTTP Request: POST https://client.doiteasy.net/includes/api.php "HTTP/1.1 200 OK"
2026-04-28 23:43:19,671 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'POST']>
2026-04-28 23:43:19,671 - httpcore.http11 - DEBUG - receive_response_body.complete
2026-04-28 23:43:19,672 - httpcore.http11 - DEBUG - response_closed.started
2026-04-28 23:43:19,672 - httpcore.http11 - DEBUG - response_closed.complete
2026-04-28 23:43:19,672 - httpcore.connection - DEBUG - close.started
2026-04-28 23:43:19,672 - httpcore.connection - DEBUG - close.complete
2026-04-28 23:44:48,649 - core.auth - DEBUG - Authentication token validated for user hash: 8c5e6440
2026-04-28 23:44:48,898 - core.auth - DEBUG - Authentication token validated for user hash: 8c5e6440
2026-04-28 23:44:48,927 - httpcore.connection - DEBUG - connect_tcp.started host='atoms.dev' port=443 local_address=None timeout=120.0 socket_options=None
2026-04-28 23:44:48,934 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7fa7917e6530>
2026-04-28 23:44:48,935 - httpcore.connection - DEBUG - start_tls.started ssl_context=<ssl.SSLContext object at 0x7fa791969540> server_hostname='atoms.dev' timeout=120.0
2026-04-28 23:44:48,942 - httpcore.connection - DEBUG - start_tls.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7fa7917e7340>
2026-04-28 23:44:48,942 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'GET']>
2026-04-28 23:44:48,942 - httpcore.http11 - DEBUG - send_request_headers.complete
2026-04-28 23:44:48,943 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'GET']>
2026-04-28 23:44:48,943 - httpcore.http11 - DEBUG - send_request_body.complete
2026-04-28 23:44:48,943 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'GET']>
2026-04-28 23:44:49,139 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Wed, 29 Apr 2026 06:44:49 GMT'), (b'Content-Type', b'application/json; charset=utf-8'), (b'Transfer-Encoding', b'chunked'), (b'Connection', b'keep-alive'), (b'Access-Control-Allow-Headers', b'Origin, Content-Type, Accept, Authorization'), (b'Access-Control-Allow-Methods', b'GET, POST, PUT, DELETE, OPTIONS'), (b'Access-Control-Allow-Origin', b'*'), (b'Access-Control-Max-Age', b'86400'), (b'X-Request-Id', b'b9f68d88c8e345d5234fb5ceb5fffc3d'), (b'X-Trace-Id', b'66e835f22735408983990d29d37f1a33'), (b'Content-Security-Policy', b"frame-ancestors 'self' https://atoms.dev"), (b'Strict-Transport-Security', b'max-age=63072000; includeSubDomains; preload'), (b'X-Content-Type-Options', b'nosniff'), (b'X-XSS-Protection', b'1; mode=block'), (b'Referrer-Policy', b'strict-origin-when-cross-origin'), (b'cf-cache-status', b'DYNAMIC'), (b'Content-Encoding', b'gzip'), (b'Server', b'cloudflare'), (b'CF-RAY', b'9f3c571def644cbb-LAX')])
2026-04-28 23:44:49,140 - httpx - INFO - HTTP Request: GET https://atoms.dev/api/v1/infra/client/oss/buckets/user-avatars/objects "HTTP/1.1 200 OK"
2026-04-28 23:44:49,140 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'GET']>
2026-04-28 23:44:49,140 - httpcore.http11 - DEBUG - receive_response_body.complete
2026-04-28 23:44:49,140 - httpcore.http11 - DEBUG - response_closed.started
2026-04-28 23:44:49,141 - httpcore.http11 - DEBUG - response_closed.complete
2026-04-28 23:44:49,141 - httpcore.connection - DEBUG - close.started
2026-04-28 23:44:49,141 - httpcore.connection - DEBUG - close.complete
2026-04-28 23:45:15,571 - core.auth - DEBUG - Authentication token validated for user hash: 8c5e6440
2026-04-28 23:45:15,854 - core.auth - DEBUG - Authentication token validated for user hash: 8c5e6440
2026-04-28 23:45:15,880 - httpcore.connection - DEBUG - connect_tcp.started host='atoms.dev' port=443 local_address=None timeout=120.0 socket_options=None
2026-04-28 23:45:15,891 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7fa7917b1900>
2026-04-28 23:45:15,891 - httpcore.connection - DEBUG - start_tls.started ssl_context=<ssl.SSLContext object at 0x7fa7918c82c0> server_hostname='atoms.dev' timeout=120.0
2026-04-28 23:45:15,905 - httpcore.connection - DEBUG - start_tls.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7fa7917b3730>
2026-04-28 23:45:15,906 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'GET']>
2026-04-28 23:45:15,906 - httpcore.http11 - DEBUG - send_request_headers.complete
2026-04-28 23:45:15,906 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'GET']>
2026-04-28 23:45:15,907 - httpcore.http11 - DEBUG - send_request_body.complete
2026-04-28 23:45:15,907 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'GET']>
2026-04-28 23:45:16,065 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Wed, 29 Apr 2026 06:45:16 GMT'), (b'Content-Type', b'application/json; charset=utf-8'), (b'Transfer-Encoding', b'chunked'), (b'Connection', b'keep-alive'), (b'Access-Control-Allow-Headers', b'Origin, Content-Type, Accept, Authorization'), (b'Access-Control-Allow-Methods', b'GET, POST, PUT, DELETE, OPTIONS'), (b'Access-Control-Allow-Origin', b'*'), (b'Access-Control-Max-Age', b'86400'), (b'X-Request-Id', b'8e5fa94031174b966c957fd47e85c2b7'), (b'X-Trace-Id', b'c31bbf77fdda44ba9420ecfc6497f35d'), (b'Content-Security-Policy', b"frame-ancestors 'self' https://atoms.dev"), (b'Strict-Transport-Security', b'max-age=63072000; includeSubDomains; preload'), (b'X-Content-Type-Options', b'nosniff'), (b'X-XSS-Protection', b'1; mode=block'), (b'Referrer-Policy', b'strict-origin-when-cross-origin'), (b'cf-cache-status', b'DYNAMIC'), (b'Content-Encoding', b'gzip'), (b'Server', b'cloudflare'), (b'CF-RAY', b'9f3c57c668002f2e-LAX')])
2026-04-28 23:45:16,066 - httpx - INFO - HTTP Request: GET https://atoms.dev/api/v1/infra/client/oss/buckets/user-avatars/objects "HTTP/1.1 200 OK"
2026-04-28 23:45:16,066 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'GET']>
2026-04-28 23:45:16,067 - httpcore.http11 - DEBUG - receive_response_body.complete
2026-04-28 23:45:16,067 - httpcore.http11 - DEBUG - response_closed.started
2026-04-28 23:45:16,067 - httpcore.http11 - DEBUG - response_closed.complete
2026-04-28 23:45:16,067 - httpcore.connection - DEBUG - close.started
2026-04-28 23:45:16,068 - httpcore.connection - DEBUG - close.complete
2026-04-28 23:45:23,332 - core.auth - DEBUG - Authentication token validated for user hash: 8c5e6440
2026-04-28 23:45:23,578 - core.auth - DEBUG - Authentication token validated for user hash: 8c5e6440
2026-04-28 23:45:23,618 - httpcore.connection - DEBUG - connect_tcp.started host='atoms.dev' port=443 local_address=None timeout=120.0 socket_options=None
2026-04-28 23:45:23,633 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7fa78ee21a50>
2026-04-28 23:45:23,633 - httpcore.connection - DEBUG - start_tls.started ssl_context=<ssl.SSLContext object at 0x7fa7917b8bc0> server_hostname='atoms.dev' timeout=120.0
2026-04-28 23:45:23,645 - httpcore.connection - DEBUG - start_tls.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7fa78ee20a00>
2026-04-28 23:45:23,646 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'GET']>
2026-04-28 23:45:23,646 - httpcore.http11 - DEBUG - send_request_headers.complete
2026-04-28 23:45:23,646 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'GET']>
2026-04-28 23:45:23,647 - httpcore.http11 - DEBUG - send_request_body.complete
2026-04-28 23:45:23,647 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'GET']>
2026-04-28 23:45:23,820 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Wed, 29 Apr 2026 06:45:23 GMT'), (b'Content-Type', b'application/json; charset=utf-8'), (b'Transfer-Encoding', b'chunked'), (b'Connection', b'keep-alive'), (b'Access-Control-Allow-Headers', b'Origin, Content-Type, Accept, Authorization'), (b'Access-Control-Allow-Methods', b'GET, POST, PUT, DELETE, OPTIONS'), (b'Access-Control-Allow-Origin', b'*'), (b'Access-Control-Max-Age', b'86400'), (b'X-Request-Id', b'5b2822cb3c230d665028fdb9727304d2'), (b'X-Trace-Id', b'63e77b3f08dc48dcb827386f7bd2218e'), (b'Content-Security-Policy', b"frame-ancestors 'self' https://atoms.dev"), (b'Strict-Transport-Security', b'max-age=63072000; includeSubDomains; preload'), (b'X-Content-Type-Options', b'nosniff'), (b'X-XSS-Protection', b'1; mode=block'), (b'Referrer-Policy', b'strict-origin-when-cross-origin'), (b'cf-cache-status', b'DYNAMIC'), (b'Content-Encoding', b'gzip'), (b'Server', b'cloudflare'), (b'CF-RAY', b'9f3c57f6ca7f2f44-LAX')])
2026-04-28 23:45:23,821 - httpx - INFO - HTTP Request: GET https://atoms.dev/api/v1/infra/client/oss/buckets/user-avatars/objects "HTTP/1.1 200 OK"
2026-04-28 23:45:23,821 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'GET']>
2026-04-28 23:45:23,821 - httpcore.http11 - DEBUG - receive_response_body.complete
2026-04-28 23:45:23,821 - httpcore.http11 - DEBUG - response_closed.started
2026-04-28 23:45:23,822 - httpcore.http11 - DEBUG - response_closed.complete
2026-04-28 23:45:23,822 - httpcore.connection - DEBUG - close.started
2026-04-28 23:45:23,822 - httpcore.connection - DEBUG - close.complete
2026-04-28 23:45:30,573 - services.database - DEBUG - [DB_OP] Starting database close
2026-04-28 23:45:30,573 - services.database - INFO - Database connections closed
2026-04-28 23:45:30,573 - services.database - DEBUG - [DB_OP] Database close completed in 0.0008s
