Fix user delete flow 10
This commit is contained in:
@@ -31,7 +31,7 @@ class User(Base):
|
|||||||
phone = Column(String(20))
|
phone = Column(String(20))
|
||||||
language = Column(String(10), default="es")
|
language = Column(String(10), default="es")
|
||||||
timezone = Column(String(50), default="Europe/Madrid")
|
timezone = Column(String(50), default="Europe/Madrid")
|
||||||
role = Column(String(20), default="user")
|
role = Column(String(20), nullable=False)
|
||||||
|
|
||||||
# REMOVED: All tenant relationships - these are handled by tenant service
|
# REMOVED: All tenant relationships - these are handled by tenant service
|
||||||
# No tenant_memberships, tenants relationships
|
# No tenant_memberships, tenants relationships
|
||||||
@@ -50,6 +50,7 @@ class User(Base):
|
|||||||
"phone": self.phone,
|
"phone": self.phone,
|
||||||
"language": self.language,
|
"language": self.language,
|
||||||
"timezone": self.timezone,
|
"timezone": self.timezone,
|
||||||
|
"role": self.role,
|
||||||
"created_at": self.created_at.isoformat() if self.created_at else None,
|
"created_at": self.created_at.isoformat() if self.created_at else None,
|
||||||
"updated_at": self.updated_at.isoformat() if self.updated_at else None,
|
"updated_at": self.updated_at.isoformat() if self.updated_at else None,
|
||||||
"last_login": self.last_login.isoformat() if self.last_login else None
|
"last_login": self.last_login.isoformat() if self.last_login else None
|
||||||
|
|||||||
@@ -38,6 +38,8 @@ class AuthService:
|
|||||||
detail="User with this email already exists"
|
detail="User with this email already exists"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
user_role = user_data.role if user_data.role else "user"
|
||||||
|
|
||||||
# Create new user
|
# Create new user
|
||||||
hashed_password = SecurityManager.hash_password(user_data.password)
|
hashed_password = SecurityManager.hash_password(user_data.password)
|
||||||
new_user = User(
|
new_user = User(
|
||||||
@@ -49,12 +51,14 @@ class AuthService:
|
|||||||
is_verified=False,
|
is_verified=False,
|
||||||
created_at=datetime.now(timezone.utc),
|
created_at=datetime.now(timezone.utc),
|
||||||
updated_at=datetime.now(timezone.utc),
|
updated_at=datetime.now(timezone.utc),
|
||||||
role=user_data.role
|
role=user_role
|
||||||
)
|
)
|
||||||
|
|
||||||
db.add(new_user)
|
db.add(new_user)
|
||||||
await db.flush() # Get user ID without committing
|
await db.flush() # Get user ID without committing
|
||||||
|
|
||||||
|
logger.debug(f"User created with role: {new_user.role} for {user_data.email}")
|
||||||
|
|
||||||
# ✅ FIX 1: Create SEPARATE access and refresh tokens with different payloads
|
# ✅ FIX 1: Create SEPARATE access and refresh tokens with different payloads
|
||||||
access_token_data = {
|
access_token_data = {
|
||||||
"user_id": str(new_user.id),
|
"user_id": str(new_user.id),
|
||||||
@@ -99,6 +103,7 @@ class AuthService:
|
|||||||
"user_id": str(new_user.id),
|
"user_id": str(new_user.id),
|
||||||
"email": new_user.email,
|
"email": new_user.email,
|
||||||
"full_name": new_user.full_name,
|
"full_name": new_user.full_name,
|
||||||
|
"role": new_user.role,
|
||||||
"registered_at": datetime.now(timezone.utc).isoformat()
|
"registered_at": datetime.now(timezone.utc).isoformat()
|
||||||
})
|
})
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
|||||||
Reference in New Issue
Block a user