Fix datetime

This commit is contained in:
Urtzi Alfaro
2025-07-18 07:46:56 +02:00
parent 7f9dfcc088
commit 9391368b83
3 changed files with 20 additions and 20 deletions

View File

@@ -6,7 +6,7 @@ Authentication service business logic - Complete implementation
""" """
import logging import logging
from datetime import datetime, timedelta from datetime import datetime, timedelta, timezone
from typing import Optional, Dict, Any from typing import Optional, Dict, Any
from sqlalchemy.ext.asyncio import AsyncSession from sqlalchemy.ext.asyncio import AsyncSession
from sqlalchemy import select, update from sqlalchemy import select, update
@@ -64,7 +64,7 @@ class AuthService:
UserRegisteredEvent( UserRegisteredEvent(
event_id=str(user.id), event_id=str(user.id),
service_name="auth-service", service_name="auth-service",
timestamp=datetime.now(datetime.timezone.utc), timestamp=datetime.now(timezone.utc),
data={ data={
"user_id": str(user.id), "user_id": str(user.id),
"email": user.email, "email": user.email,
@@ -114,7 +114,7 @@ class AuthService:
await db.execute( await db.execute(
update(User) update(User)
.where(User.id == user.id) .where(User.id == user.id)
.values(last_login=datetime.now(datetime.timezone.utc)) .values(last_login=datetime.now(timezone.utc))
) )
await db.commit() await db.commit()
@@ -139,7 +139,7 @@ class AuthService:
refresh_token_hash=security_manager.hash_token(refresh_token), refresh_token_hash=security_manager.hash_token(refresh_token),
ip_address=ip_address, ip_address=ip_address,
user_agent=user_agent, user_agent=user_agent,
expires_at=datetime.now(datetime.timezone.utc) + timedelta(days=settings.JWT_REFRESH_TOKEN_EXPIRE_DAYS) expires_at=datetime.now(timezone.utc) + timedelta(days=settings.JWT_REFRESH_TOKEN_EXPIRE_DAYS)
) )
db.add(session) db.add(session)
@@ -152,7 +152,7 @@ class AuthService:
UserLoginEvent( UserLoginEvent(
event_id=str(session.id), event_id=str(session.id),
service_name="auth-service", service_name="auth-service",
timestamp=datetime.now(datetime.timezone.utc), timestamp=datetime.now(timezone.utc),
data={ data={
"user_id": str(user.id), "user_id": str(user.id),
"email": user.email, "email": user.email,

View File

@@ -4,7 +4,7 @@ Training service business logic
import asyncio import asyncio
import logging import logging
from datetime import datetime, timedelta from datetime import datetime, timedelta, timezone
from typing import Dict, Any, List, Optional from typing import Dict, Any, List, Optional
from sqlalchemy.ext.asyncio import AsyncSession from sqlalchemy.ext.asyncio import AsyncSession
from sqlalchemy import select, update, and_ from sqlalchemy import select, update, and_
@@ -46,8 +46,8 @@ class TrainingService:
progress=0, progress=0,
current_step="Queued for training", current_step="Queued for training",
requested_by=user_data.get("user_id"), requested_by=user_data.get("user_id"),
training_data_from= datetime.now(datetime.timezone.utc) - timedelta(days=request.training_days), training_data_from= datetime.now(timezone.utc) - timedelta(days=request.training_days),
training_data_to= datetime.now(datetime.timezone.utc) training_data_to= datetime.now(timezone.utc)
) )
db.add(training_job) db.add(training_job)
@@ -64,7 +64,7 @@ class TrainingService:
TrainingStartedEvent( TrainingStartedEvent(
event_id=str(uuid.uuid4()), event_id=str(uuid.uuid4()),
service_name="training-service", service_name="training-service",
timestamp= datetime.now(datetime.timezone.utc), timestamp= datetime.now(timezone.utc),
data={ data={
"job_id": str(training_job.id), "job_id": str(training_job.id),
"tenant_id": tenant_id, "tenant_id": tenant_id,
@@ -206,7 +206,7 @@ class TrainingService:
async def _execute_training(self, job_id: str, request: TrainingRequest, db: AsyncSession): async def _execute_training(self, job_id: str, request: TrainingRequest, db: AsyncSession):
"""Execute training job""" """Execute training job"""
start_time = datetime.now(datetime.timezone.utc) start_time = datetime.now(timezone.utc)
try: try:
# Update job status # Update job status
@@ -229,7 +229,7 @@ class TrainingService:
await self._save_trained_models(job_id, models_result, validation_result, db) await self._save_trained_models(job_id, models_result, validation_result, db)
# Complete job # Complete job
duration = int(( datetime.now(datetime.timezone.utc) - start_time).total_seconds()) duration = int(( datetime.now(timezone.utc) - start_time).total_seconds())
await self._complete_job(job_id, models_result, validation_result, duration, db) await self._complete_job(job_id, models_result, validation_result, duration, db)
# Publish completion event # Publish completion event
@@ -239,7 +239,7 @@ class TrainingService:
TrainingCompletedEvent( TrainingCompletedEvent(
event_id=str(uuid.uuid4()), event_id=str(uuid.uuid4()),
service_name="training-service", service_name="training-service",
timestamp= datetime.now(datetime.timezone.utc), timestamp= datetime.now(timezone.utc),
data={ data={
"job_id": str(job_id), "job_id": str(job_id),
"models_trained": len(models_result), "models_trained": len(models_result),
@@ -263,7 +263,7 @@ class TrainingService:
TrainingFailedEvent( TrainingFailedEvent(
event_id=str(uuid.uuid4()), event_id=str(uuid.uuid4()),
service_name="training-service", service_name="training-service",
timestamp= datetime.now(datetime.timezone.utc), timestamp= datetime.now(timezone.utc),
data={ data={
"job_id": str(job_id), "job_id": str(job_id),
"error": str(e) "error": str(e)
@@ -281,7 +281,7 @@ class TrainingService:
status=status, status=status,
progress=progress, progress=progress,
current_step=current_step, current_step=current_step,
updated_at= datetime.now(datetime.timezone.utc) updated_at= datetime.now(timezone.utc)
) )
) )
await db.commit() await db.commit()
@@ -374,7 +374,7 @@ class TrainingService:
status="completed", status="completed",
progress=100, progress=100,
current_step="Training completed successfully", current_step="Training completed successfully",
completed_at= datetime.now(datetime.timezone.utc), completed_at= datetime.now(timezone.utc),
duration_seconds=duration, duration_seconds=duration,
models_trained=models_result, models_trained=models_result,
metrics=metrics, metrics=metrics,

View File

@@ -4,7 +4,7 @@ Used across all microservices for consistent authentication
""" """
from jose import jwt from jose import jwt
from datetime import datetime, timedelta from datetime import datetime, timedelta, timezone
from typing import Optional, Dict, Any from typing import Optional, Dict, Any
import logging import logging
@@ -22,9 +22,9 @@ class JWTHandler:
to_encode = data.copy() to_encode = data.copy()
if expires_delta: if expires_delta:
expire = datetime.now(datetime.timezone.utc) + expires_delta expire = datetime.now(timezone.utc) + expires_delta
else: else:
expire = datetime.now(datetime.timezone.utc) + timedelta(minutes=30) expire = datetime.now(timezone.utc) + timedelta(minutes=30)
to_encode.update({"exp": expire, "type": "access"}) to_encode.update({"exp": expire, "type": "access"})
@@ -36,9 +36,9 @@ class JWTHandler:
to_encode = data.copy() to_encode = data.copy()
if expires_delta: if expires_delta:
expire = datetime.now(datetime.timezone.utc) + expires_delta expire = datetime.now(timezone.utc) + expires_delta
else: else:
expire = datetime.now(datetime.timezone.utc) + timedelta(days=7) expire = datetime.now(timezone.utc) + timedelta(days=7)
to_encode.update({"exp": expire, "type": "refresh"}) to_encode.update({"exp": expire, "type": "refresh"})