fix
This commit is contained in:
parent
c6bd87f852
commit
d9e0e2e791
|
|
@ -35,11 +35,12 @@ class AuthAPI:
|
||||||
"""
|
"""
|
||||||
try:
|
try:
|
||||||
# 创建注册请求对象
|
# 创建注册请求对象
|
||||||
|
display_name = data.get("display_name", "") or ""
|
||||||
request = RegisterRequest(
|
request = RegisterRequest(
|
||||||
username=data.get("username", "").strip(),
|
username=data.get("username", "").strip(),
|
||||||
email=data.get("email", "").strip(),
|
email=data.get("email", "").strip(),
|
||||||
password=data.get("password", ""),
|
password=data.get("password", ""),
|
||||||
display_name=data.get("display_name", "").strip() or None
|
display_name=display_name.strip() or None
|
||||||
)
|
)
|
||||||
|
|
||||||
# 执行注册
|
# 执行注册
|
||||||
|
|
|
||||||
|
|
@ -161,6 +161,20 @@ PostgreSQL 驱动 psycopg2 未安装。请安装:
|
||||||
ADD COLUMN avatar_url TEXT DEFAULT ''
|
ADD COLUMN avatar_url TEXT DEFAULT ''
|
||||||
""")
|
""")
|
||||||
|
|
||||||
|
# 检查 last_login 字段是否存在
|
||||||
|
cursor.execute("""
|
||||||
|
SELECT column_name
|
||||||
|
FROM information_schema.columns
|
||||||
|
WHERE table_name = 'users' AND column_name = 'last_login'
|
||||||
|
""")
|
||||||
|
|
||||||
|
if not cursor.fetchone():
|
||||||
|
logger.info("Adding last_login column to users table")
|
||||||
|
cursor.execute("""
|
||||||
|
ALTER TABLE users
|
||||||
|
ADD COLUMN last_login TIMESTAMP
|
||||||
|
""")
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.error(f"Failed to migrate user table: {e}")
|
logger.error(f"Failed to migrate user table: {e}")
|
||||||
raise e
|
raise e
|
||||||
|
|
@ -251,12 +265,12 @@ PostgreSQL 驱动 psycopg2 未安装。请安装:
|
||||||
'username': row['username'],
|
'username': row['username'],
|
||||||
'email': row['email'],
|
'email': row['email'],
|
||||||
'password_hash': row['password_hash'],
|
'password_hash': row['password_hash'],
|
||||||
'display_name': row['display_name'],
|
'display_name': row.get('display_name', row['username']),
|
||||||
'avatar_url': row['avatar_url'],
|
'avatar_url': row.get('avatar_url', ''),
|
||||||
'is_active': row['is_active'],
|
'is_active': row['is_active'],
|
||||||
'last_login': row['last_login'].isoformat() if row['last_login'] else None,
|
'last_login': row.get('last_login').isoformat() if row.get('last_login') else None,
|
||||||
'created_at': row['created_at'].isoformat() if row['created_at'] else None,
|
'created_at': row.get('created_at').isoformat() if row.get('created_at') else None,
|
||||||
'updated_at': row['updated_at'].isoformat() if row['updated_at'] else None
|
'updated_at': row.get('updated_at').isoformat() if row.get('updated_at') else None
|
||||||
}
|
}
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
|
@ -286,12 +300,12 @@ PostgreSQL 驱动 psycopg2 未安装。请安装:
|
||||||
'username': row['username'],
|
'username': row['username'],
|
||||||
'email': row['email'],
|
'email': row['email'],
|
||||||
'password_hash': row['password_hash'],
|
'password_hash': row['password_hash'],
|
||||||
'display_name': row['display_name'],
|
'display_name': row.get('display_name', row['username']),
|
||||||
'avatar_url': row['avatar_url'],
|
'avatar_url': row.get('avatar_url', ''),
|
||||||
'is_active': row['is_active'],
|
'is_active': row['is_active'],
|
||||||
'last_login': row['last_login'].isoformat() if row['last_login'] else None,
|
'last_login': row.get('last_login').isoformat() if row.get('last_login') else None,
|
||||||
'created_at': row['created_at'].isoformat() if row['created_at'] else None,
|
'created_at': row.get('created_at').isoformat() if row.get('created_at') else None,
|
||||||
'updated_at': row['updated_at'].isoformat() if row['updated_at'] else None
|
'updated_at': row.get('updated_at').isoformat() if row.get('updated_at') else None
|
||||||
}
|
}
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
|
@ -321,12 +335,12 @@ PostgreSQL 驱动 psycopg2 未安装。请安装:
|
||||||
'username': row['username'],
|
'username': row['username'],
|
||||||
'email': row['email'],
|
'email': row['email'],
|
||||||
'password_hash': row['password_hash'],
|
'password_hash': row['password_hash'],
|
||||||
'display_name': row['display_name'],
|
'display_name': row.get('display_name', row['username']),
|
||||||
'avatar_url': row['avatar_url'],
|
'avatar_url': row.get('avatar_url', ''),
|
||||||
'is_active': row['is_active'],
|
'is_active': row['is_active'],
|
||||||
'last_login': row['last_login'].isoformat() if row['last_login'] else None,
|
'last_login': row.get('last_login').isoformat() if row.get('last_login') else None,
|
||||||
'created_at': row['created_at'].isoformat() if row['created_at'] else None,
|
'created_at': row.get('created_at').isoformat() if row.get('created_at') else None,
|
||||||
'updated_at': row['updated_at'].isoformat() if row['updated_at'] else None
|
'updated_at': row.get('updated_at').isoformat() if row.get('updated_at') else None
|
||||||
}
|
}
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue