fix: fix enum role

pull/21891/head
ytqh 1 year ago
parent bd676a8e7d
commit b63cfabd67

@ -8,9 +8,6 @@ from pathlib import Path
from typing import Optional from typing import Optional
import click import click
from flask import current_app
from werkzeug.exceptions import NotFound
from configs import dify_config from configs import dify_config
from constants.languages import languages from constants.languages import languages
from core.rag.datasource.vdb.vector_factory import Vector from core.rag.datasource.vdb.vector_factory import Vector
@ -21,18 +18,22 @@ from events.app_event import app_was_created
from extensions.ext_database import db from extensions.ext_database import db
from extensions.ext_redis import redis_client from extensions.ext_redis import redis_client
from extensions.ext_storage import storage from extensions.ext_storage import storage
from flask import current_app
from libs.helper import email as email_validate from libs.helper import email as email_validate
from libs.password import hash_password, password_pattern, valid_password from libs.password import hash_password, password_pattern, valid_password
from libs.rsa import generate_key_pair from libs.rsa import generate_key_pair
from models import Account, Tenant, TenantAccountJoin from models import Account, Tenant, TenantAccountJoin
from models.dataset import Dataset, DatasetCollectionBinding, DatasetMetadata, DatasetMetadataBinding, DocumentSegment from models.account import TenantAccountJoinRole
from models.dataset import Dataset, DatasetCollectionBinding, DatasetMetadata, DatasetMetadataBinding
from models.dataset import Document as DatasetDocument from models.dataset import Document as DatasetDocument
from models.dataset import DocumentSegment
from models.model import App, AppAnnotationSetting, AppMode, Conversation, MessageAnnotation, UploadFile from models.model import App, AppAnnotationSetting, AppMode, Conversation, MessageAnnotation, UploadFile
from models.provider import Provider, ProviderModel from models.provider import Provider, ProviderModel
from services.account_service import RegisterService, TenantService from services.account_service import RegisterService, TenantService
from services.clear_free_plan_tenant_expired_logs import ClearFreePlanTenantExpiredLogs from services.clear_free_plan_tenant_expired_logs import ClearFreePlanTenantExpiredLogs
from services.plugin.data_migration import PluginDataMigration from services.plugin.data_migration import PluginDataMigration
from services.plugin.plugin_migration import PluginMigration from services.plugin.plugin_migration import PluginMigration
from werkzeug.exceptions import NotFound
@click.command("reset-password", help="Reset the account password.") @click.command("reset-password", help="Reset the account password.")
@ -504,11 +505,10 @@ def add_qdrant_index(field: str):
click.echo(click.style("No dataset collection bindings found.", fg="red")) click.echo(click.style("No dataset collection bindings found.", fg="red"))
return return
import qdrant_client import qdrant_client
from core.rag.datasource.vdb.qdrant.qdrant_vector import QdrantConfig
from qdrant_client.http.exceptions import UnexpectedResponse from qdrant_client.http.exceptions import UnexpectedResponse
from qdrant_client.http.models import PayloadSchemaType from qdrant_client.http.models import PayloadSchemaType
from core.rag.datasource.vdb.qdrant.qdrant_vector import QdrantConfig
for binding in bindings: for binding in bindings:
if dify_config.QDRANT_URL is None: if dify_config.QDRANT_URL is None:
raise ValueError("Qdrant URL is required.") raise ValueError("Qdrant URL is required.")
@ -798,7 +798,7 @@ def create_admin_with_phone(name: str, phone: str, organization_id: str):
if not ta_join: if not ta_join:
# Add account to tenant with end_user role (organization role will control admin access) # Add account to tenant with end_user role (organization role will control admin access)
ta_join = TenantAccountJoin( ta_join = TenantAccountJoin(
tenant_id=tenant.id, account_id=account.id, role=TenantAccountJoin.END_USER.value tenant_id=tenant.id, account_id=account.id, role=TenantAccountJoinRole.END_USER.value
) )
db.session.add(ta_join) db.session.add(ta_join)
click.echo(f"Added account to tenant {tenant.name}") click.echo(f"Added account to tenant {tenant.name}")

@ -8,11 +8,6 @@ from datetime import UTC, datetime, timedelta
from hashlib import sha256 from hashlib import sha256
from typing import Any, Optional, cast from typing import Any, Optional, cast
from pydantic import BaseModel # type: ignore
from sqlalchemy import func # type: ignore
from sqlalchemy.orm import Session
from werkzeug.exceptions import Unauthorized
from configs import dify_config from configs import dify_config
from constants.languages import language_timezone_mapping, languages from constants.languages import language_timezone_mapping, languages
from events.tenant_event import tenant_was_created from events.tenant_event import tenant_was_created
@ -28,10 +23,12 @@ from models.account import (
AccountStatus, AccountStatus,
Tenant, Tenant,
TenantAccountJoin, TenantAccountJoin,
TenantAccountJoinRole,
TenantAccountRole, TenantAccountRole,
TenantStatus, TenantStatus,
) )
from models.model import DifySetup from models.model import DifySetup
from pydantic import BaseModel # type: ignore
from services.billing_service import BillingService from services.billing_service import BillingService
from services.errors.account import ( from services.errors.account import (
AccountAlreadyInTenantError, AccountAlreadyInTenantError,
@ -51,12 +48,15 @@ from services.errors.account import (
) )
from services.errors.workspace import WorkSpaceNotAllowedCreateError from services.errors.workspace import WorkSpaceNotAllowedCreateError
from services.feature_service import FeatureService from services.feature_service import FeatureService
from sqlalchemy import func # type: ignore
from sqlalchemy.orm import Session
from tasks.delete_account_task import delete_account_task from tasks.delete_account_task import delete_account_task
from tasks.mail_account_deletion_task import send_account_deletion_verification_code from tasks.mail_account_deletion_task import send_account_deletion_verification_code
from tasks.mail_email_code_login import send_email_code_login_mail_task from tasks.mail_email_code_login import send_email_code_login_mail_task
from tasks.mail_invite_member_task import send_invite_member_mail_task from tasks.mail_invite_member_task import send_invite_member_mail_task
from tasks.mail_reset_password_task import send_reset_password_mail_task from tasks.mail_reset_password_task import send_reset_password_mail_task
from tasks.phone_sms_code_login import send_phone_sms_code_login_task from tasks.phone_sms_code_login import send_phone_sms_code_login_task
from werkzeug.exceptions import Unauthorized
class TokenPair(BaseModel): class TokenPair(BaseModel):
@ -650,7 +650,7 @@ class AccountService:
db.session.query(Account) db.session.query(Account)
.join(TenantAccountJoin, Account.id == TenantAccountJoin.account_id) .join(TenantAccountJoin, Account.id == TenantAccountJoin.account_id)
.filter(Account.phone == phone) .filter(Account.phone == phone)
.filter(TenantAccountJoin.role == TenantAccountJoin.END_ADMIN.value) .filter(TenantAccountJoin.role == TenantAccountJoinRole.END_ADMIN.value)
.first() .first()
) )

Loading…
Cancel
Save