From 8edf88d0714d2420f22fa25f5ae7b7e58f598d9d Mon Sep 17 00:00:00 2001 From: ytqh Date: Sat, 8 Mar 2025 13:22:32 +0800 Subject: [PATCH] add new user mark in validate --- .../service_api_with_auth/auth/login.py | 23 ++++++++++++------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/api/controllers/service_api_with_auth/auth/login.py b/api/controllers/service_api_with_auth/auth/login.py index 2dae757264..b780f2085c 100644 --- a/api/controllers/service_api_with_auth/auth/login.py +++ b/api/controllers/service_api_with_auth/auth/login.py @@ -4,13 +4,13 @@ import flask_login # type: ignore from configs import dify_config from constants.languages import languages from controllers.service_api_with_auth import api -from controllers.service_api_with_auth.auth.error import EmailCodeError, InvalidEmailError, InvalidTokenError -from controllers.service_api_with_auth.error import ( - AccountInFreezeError, - AccountNotFound, - EmailSendIpLimitError, - TenantNotFoundError, -) +from controllers.service_api_with_auth.auth.error import (EmailCodeError, + InvalidEmailError, + InvalidTokenError) +from controllers.service_api_with_auth.error import (AccountInFreezeError, + AccountNotFound, + EmailSendIpLimitError, + TenantNotFoundError) from flask import request from flask_restful import Resource, reqparse # type: ignore from libs.helper import email, extract_remote_ip @@ -197,16 +197,23 @@ class EmailCodeLoginApi(Resource): name=user_email, interface_language=languages[0], ) + is_new_user = True except AccountRegisterError as are: raise AccountInFreezeError() else: + is_new_user = False connected_tenant = TenantService.get_join_tenants(account) if connected_tenant is None or tenant not in connected_tenant: TenantService.create_tenant_member(tenant, account, role="end_user") token_pair = AccountService.login(account, ip_address=extract_remote_ip(request)) AccountService.reset_login_error_rate_limit(args["email"]) - return {"result": "success", "data": token_pair.model_dump()} + + # Add is_new_user field to response data + response_data = token_pair.model_dump() + response_data["is_new_user"] = is_new_user + + return {"result": "success", "data": response_data} class RefreshTokenApi(Resource):