| # so we need to disable gevent in debug mode. | # so we need to disable gevent in debug mode. | ||||
| # If you are using debugpy and set GEVENT_SUPPORT=True, you can debug with gevent. | # If you are using debugpy and set GEVENT_SUPPORT=True, you can debug with gevent. | ||||
| if (flask_debug := os.environ.get("FLASK_DEBUG", "0")) and flask_debug.lower() in {"false", "0", "no"}: | if (flask_debug := os.environ.get("FLASK_DEBUG", "0")) and flask_debug.lower() in {"false", "0", "no"}: | ||||
| from gevent import monkey # type: ignore | |||||
| from gevent import monkey | |||||
| # gevent | # gevent | ||||
| monkey.patch_all() | monkey.patch_all() |
| click.echo(click.style("Starting database migration.", fg="green")) | click.echo(click.style("Starting database migration.", fg="green")) | ||||
| # run db migration | # run db migration | ||||
| import flask_migrate # type: ignore | |||||
| import flask_migrate | |||||
| flask_migrate.upgrade() | flask_migrate.upgrade() | ||||
| from flask_restful import fields # type: ignore | |||||
| from flask_restful import fields | |||||
| parameters__system_parameters = { | parameters__system_parameters = { | ||||
| "image_file_size_limit": fields.Integer, | "image_file_size_limit": fields.Integer, |
| from functools import wraps | from functools import wraps | ||||
| from flask import request | from flask import request | ||||
| from flask_restful import Resource, reqparse # type: ignore | |||||
| from flask_restful import Resource, reqparse | |||||
| from sqlalchemy import select | from sqlalchemy import select | ||||
| from sqlalchemy.orm import Session | from sqlalchemy.orm import Session | ||||
| from werkzeug.exceptions import NotFound, Unauthorized | from werkzeug.exceptions import NotFound, Unauthorized |
| from typing import Any | from typing import Any | ||||
| import flask_restful # type: ignore | |||||
| from flask_login import current_user # type: ignore | |||||
| import flask_restful | |||||
| from flask_login import current_user | |||||
| from flask_restful import Resource, fields, marshal_with | from flask_restful import Resource, fields, marshal_with | ||||
| from sqlalchemy import select | from sqlalchemy import select | ||||
| from sqlalchemy.orm import Session | from sqlalchemy.orm import Session |
| from flask_restful import Resource, reqparse # type: ignore | |||||
| from flask_restful import Resource, reqparse | |||||
| from controllers.console import api | from controllers.console import api | ||||
| from controllers.console.wraps import account_initialization_required, setup_required | from controllers.console.wraps import account_initialization_required, setup_required |
| from flask_restful import Resource, reqparse # type: ignore | |||||
| from flask_restful import Resource, reqparse | |||||
| from controllers.console import api | from controllers.console import api | ||||
| from controllers.console.app.wraps import get_app_model | from controllers.console.app.wraps import get_app_model |
| from flask import request | from flask import request | ||||
| from flask_login import current_user # type: ignore | |||||
| from flask_restful import Resource, marshal, marshal_with, reqparse # type: ignore | |||||
| from flask_login import current_user | |||||
| from flask_restful import Resource, marshal, marshal_with, reqparse | |||||
| from werkzeug.exceptions import Forbidden | from werkzeug.exceptions import Forbidden | ||||
| from controllers.console import api | from controllers.console import api |
| import uuid | import uuid | ||||
| from typing import cast | from typing import cast | ||||
| from flask_login import current_user # type: ignore | |||||
| from flask_restful import Resource, inputs, marshal, marshal_with, reqparse # type: ignore | |||||
| from flask_login import current_user | |||||
| from flask_restful import Resource, inputs, marshal, marshal_with, reqparse | |||||
| from sqlalchemy import select | from sqlalchemy import select | ||||
| from sqlalchemy.orm import Session | from sqlalchemy.orm import Session | ||||
| from werkzeug.exceptions import BadRequest, Forbidden, abort | from werkzeug.exceptions import BadRequest, Forbidden, abort |
| from typing import cast | from typing import cast | ||||
| from flask_login import current_user # type: ignore | |||||
| from flask_restful import Resource, marshal_with, reqparse # type: ignore | |||||
| from flask_login import current_user | |||||
| from flask_restful import Resource, marshal_with, reqparse | |||||
| from sqlalchemy.orm import Session | from sqlalchemy.orm import Session | ||||
| from werkzeug.exceptions import Forbidden | from werkzeug.exceptions import Forbidden | ||||
| import logging | import logging | ||||
| from flask import request | from flask import request | ||||
| from flask_restful import Resource, reqparse # type: ignore | |||||
| from flask_restful import Resource, reqparse | |||||
| from werkzeug.exceptions import InternalServerError | from werkzeug.exceptions import InternalServerError | ||||
| import services | import services |
| import logging | import logging | ||||
| import flask_login # type: ignore | |||||
| from flask_restful import Resource, reqparse # type: ignore | |||||
| import flask_login | |||||
| from flask_restful import Resource, reqparse | |||||
| from werkzeug.exceptions import InternalServerError, NotFound | from werkzeug.exceptions import InternalServerError, NotFound | ||||
| import services | import services |
| from datetime import UTC, datetime | from datetime import UTC, datetime | ||||
| import pytz # pip install pytz | import pytz # pip install pytz | ||||
| from flask_login import current_user # type: ignore | |||||
| from flask_restful import Resource, marshal_with, reqparse # type: ignore | |||||
| from flask_restful.inputs import int_range # type: ignore | |||||
| from flask_login import current_user | |||||
| from flask_restful import Resource, marshal_with, reqparse | |||||
| from flask_restful.inputs import int_range | |||||
| from sqlalchemy import func, or_ | from sqlalchemy import func, or_ | ||||
| from sqlalchemy.orm import joinedload | from sqlalchemy.orm import joinedload | ||||
| from werkzeug.exceptions import Forbidden, NotFound | from werkzeug.exceptions import Forbidden, NotFound |
| from flask_restful import Resource, marshal_with, reqparse # type: ignore | |||||
| from flask_restful import Resource, marshal_with, reqparse | |||||
| from sqlalchemy import select | from sqlalchemy import select | ||||
| from sqlalchemy.orm import Session | from sqlalchemy.orm import Session | ||||
| import os | import os | ||||
| from flask_login import current_user # type: ignore | |||||
| from flask_restful import Resource, reqparse # type: ignore | |||||
| from flask_login import current_user | |||||
| from flask_restful import Resource, reqparse | |||||
| from controllers.console import api | from controllers.console import api | ||||
| from controllers.console.app.error import ( | from controllers.console.app.error import ( |
| import logging | import logging | ||||
| from flask_login import current_user # type: ignore | |||||
| from flask_restful import Resource, fields, marshal_with, reqparse # type: ignore | |||||
| from flask_restful.inputs import int_range # type: ignore | |||||
| from flask_login import current_user | |||||
| from flask_restful import Resource, fields, marshal_with, reqparse | |||||
| from flask_restful.inputs import int_range | |||||
| from werkzeug.exceptions import Forbidden, InternalServerError, NotFound | from werkzeug.exceptions import Forbidden, InternalServerError, NotFound | ||||
| from controllers.console import api | from controllers.console import api |
| from typing import cast | from typing import cast | ||||
| from flask import request | from flask import request | ||||
| from flask_login import current_user # type: ignore | |||||
| from flask_restful import Resource # type: ignore | |||||
| from flask_login import current_user | |||||
| from flask_restful import Resource | |||||
| from controllers.console import api | from controllers.console import api | ||||
| from controllers.console.app.wraps import get_app_model | from controllers.console.app.wraps import get_app_model |
| from flask_restful import Resource, reqparse # type: ignore | |||||
| from flask_restful import Resource, reqparse | |||||
| from werkzeug.exceptions import BadRequest | from werkzeug.exceptions import BadRequest | ||||
| from controllers.console import api | from controllers.console import api |
| from datetime import UTC, datetime | from datetime import UTC, datetime | ||||
| from flask_login import current_user # type: ignore | |||||
| from flask_restful import Resource, marshal_with, reqparse # type: ignore | |||||
| from flask_login import current_user | |||||
| from flask_restful import Resource, marshal_with, reqparse | |||||
| from werkzeug.exceptions import Forbidden, NotFound | from werkzeug.exceptions import Forbidden, NotFound | ||||
| from constants.languages import supported_language | from constants.languages import supported_language |
| import pytz | import pytz | ||||
| from flask import jsonify | from flask import jsonify | ||||
| from flask_login import current_user # type: ignore | |||||
| from flask_restful import Resource, reqparse # type: ignore | |||||
| from flask_login import current_user | |||||
| from flask_restful import Resource, reqparse | |||||
| from controllers.console import api | from controllers.console import api | ||||
| from controllers.console.app.wraps import get_app_model | from controllers.console.app.wraps import get_app_model |
| from typing import cast | from typing import cast | ||||
| from flask import abort, request | from flask import abort, request | ||||
| from flask_restful import Resource, inputs, marshal_with, reqparse # type: ignore | |||||
| from flask_restful import Resource, inputs, marshal_with, reqparse | |||||
| from sqlalchemy.orm import Session | from sqlalchemy.orm import Session | ||||
| from werkzeug.exceptions import Forbidden, InternalServerError, NotFound | from werkzeug.exceptions import Forbidden, InternalServerError, NotFound | ||||
| from dateutil.parser import isoparse | from dateutil.parser import isoparse | ||||
| from flask_restful import Resource, marshal_with, reqparse # type: ignore | |||||
| from flask_restful.inputs import int_range # type: ignore | |||||
| from flask_restful import Resource, marshal_with, reqparse | |||||
| from flask_restful.inputs import int_range | |||||
| from sqlalchemy.orm import Session | from sqlalchemy.orm import Session | ||||
| from controllers.console import api | from controllers.console import api |
| from flask_restful import Resource, marshal_with, reqparse # type: ignore | |||||
| from flask_restful.inputs import int_range # type: ignore | |||||
| from flask_restful import Resource, marshal_with, reqparse | |||||
| from flask_restful.inputs import int_range | |||||
| from controllers.console import api | from controllers.console import api | ||||
| from controllers.console.app.wraps import get_app_model | from controllers.console.app.wraps import get_app_model |
| import pytz | import pytz | ||||
| from flask import jsonify | from flask import jsonify | ||||
| from flask_login import current_user # type: ignore | |||||
| from flask_restful import Resource, reqparse # type: ignore | |||||
| from flask_login import current_user | |||||
| from flask_restful import Resource, reqparse | |||||
| from controllers.console import api | from controllers.console import api | ||||
| from controllers.console.app.wraps import get_app_model | from controllers.console.app.wraps import get_app_model |
| import datetime | import datetime | ||||
| from flask import request | from flask import request | ||||
| from flask_restful import Resource, reqparse # type: ignore | |||||
| from flask_restful import Resource, reqparse | |||||
| from constants.languages import supported_language | from constants.languages import supported_language | ||||
| from controllers.console import api | from controllers.console import api |
| from flask_login import current_user # type: ignore | |||||
| from flask_restful import Resource, reqparse # type: ignore | |||||
| from flask_login import current_user | |||||
| from flask_restful import Resource, reqparse | |||||
| from werkzeug.exceptions import Forbidden | from werkzeug.exceptions import Forbidden | ||||
| from controllers.console import api | from controllers.console import api |
| import requests | import requests | ||||
| from flask import current_app, redirect, request | from flask import current_app, redirect, request | ||||
| from flask_login import current_user # type: ignore | |||||
| from flask_restful import Resource # type: ignore | |||||
| from flask_login import current_user | |||||
| from flask_restful import Resource | |||||
| from werkzeug.exceptions import Forbidden | from werkzeug.exceptions import Forbidden | ||||
| from configs import dify_config | from configs import dify_config |
| import secrets | import secrets | ||||
| from flask import request | from flask import request | ||||
| from flask_restful import Resource, reqparse # type: ignore | |||||
| from flask_restful import Resource, reqparse | |||||
| from sqlalchemy import select | from sqlalchemy import select | ||||
| from sqlalchemy.orm import Session | from sqlalchemy.orm import Session | ||||
| from typing import cast | from typing import cast | ||||
| import flask_login # type: ignore | |||||
| import flask_login | |||||
| from flask import request | from flask import request | ||||
| from flask_restful import Resource, reqparse # type: ignore | |||||
| from flask_restful import Resource, reqparse | |||||
| import services | import services | ||||
| from configs import dify_config | from configs import dify_config |
| import requests | import requests | ||||
| from flask import current_app, redirect, request | from flask import current_app, redirect, request | ||||
| from flask_restful import Resource # type: ignore | |||||
| from flask_restful import Resource | |||||
| from sqlalchemy import select | from sqlalchemy import select | ||||
| from sqlalchemy.orm import Session | from sqlalchemy.orm import Session | ||||
| from werkzeug.exceptions import Unauthorized | from werkzeug.exceptions import Unauthorized |
| from flask_login import current_user # type: ignore | |||||
| from flask_restful import Resource, reqparse # type: ignore | |||||
| from flask_login import current_user | |||||
| from flask_restful import Resource, reqparse | |||||
| from controllers.console import api | from controllers.console import api | ||||
| from controllers.console.wraps import account_initialization_required, only_edition_cloud, setup_required | from controllers.console.wraps import account_initialization_required, only_edition_cloud, setup_required |
| from flask import request | from flask import request | ||||
| from flask_login import current_user # type: ignore | |||||
| from flask_restful import Resource, reqparse # type: ignore | |||||
| from flask_login import current_user | |||||
| from flask_restful import Resource, reqparse | |||||
| from libs.helper import extract_remote_ip | from libs.helper import extract_remote_ip | ||||
| from libs.login import login_required | from libs.login import login_required |
| import json | import json | ||||
| from flask import request | from flask import request | ||||
| from flask_login import current_user # type: ignore | |||||
| from flask_restful import Resource, marshal_with, reqparse # type: ignore | |||||
| from flask_login import current_user | |||||
| from flask_restful import Resource, marshal_with, reqparse | |||||
| from sqlalchemy import select | from sqlalchemy import select | ||||
| from sqlalchemy.orm import Session | from sqlalchemy.orm import Session | ||||
| from werkzeug.exceptions import NotFound | from werkzeug.exceptions import NotFound |
| import flask_restful # type: ignore | |||||
| import flask_restful | |||||
| from flask import request | from flask import request | ||||
| from flask_login import current_user # type: ignore # type: ignore | |||||
| from flask_restful import Resource, marshal, marshal_with, reqparse # type: ignore | |||||
| from flask_login import current_user | |||||
| from flask_restful import Resource, marshal, marshal_with, reqparse | |||||
| from werkzeug.exceptions import Forbidden, NotFound | from werkzeug.exceptions import Forbidden, NotFound | ||||
| import services | import services |
| from typing import cast | from typing import cast | ||||
| from flask import request | from flask import request | ||||
| from flask_login import current_user # type: ignore | |||||
| from flask_restful import Resource, fields, marshal, marshal_with, reqparse # type: ignore | |||||
| from flask_login import current_user | |||||
| from flask_restful import Resource, fields, marshal, marshal_with, reqparse | |||||
| from sqlalchemy import asc, desc | from sqlalchemy import asc, desc | ||||
| from werkzeug.exceptions import Forbidden, NotFound | from werkzeug.exceptions import Forbidden, NotFound | ||||
| import pandas as pd | import pandas as pd | ||||
| from flask import request | from flask import request | ||||
| from flask_login import current_user # type: ignore | |||||
| from flask_restful import Resource, marshal, reqparse # type: ignore | |||||
| from flask_login import current_user | |||||
| from flask_restful import Resource, marshal, reqparse | |||||
| from werkzeug.exceptions import Forbidden, NotFound | from werkzeug.exceptions import Forbidden, NotFound | ||||
| import services | import services |
| from flask import request | from flask import request | ||||
| from flask_login import current_user # type: ignore | |||||
| from flask_restful import Resource, marshal, reqparse # type: ignore | |||||
| from flask_login import current_user | |||||
| from flask_restful import Resource, marshal, reqparse | |||||
| from werkzeug.exceptions import Forbidden, InternalServerError, NotFound | from werkzeug.exceptions import Forbidden, InternalServerError, NotFound | ||||
| import services | import services |
| from flask_restful import Resource # type: ignore | |||||
| from flask_restful import Resource | |||||
| from controllers.console import api | from controllers.console import api | ||||
| from controllers.console.datasets.hit_testing_base import DatasetsHitTestingBase | from controllers.console.datasets.hit_testing_base import DatasetsHitTestingBase |
| import logging | import logging | ||||
| from flask_login import current_user # type: ignore | |||||
| from flask_restful import marshal, reqparse # type: ignore | |||||
| from flask_login import current_user | |||||
| from flask_restful import marshal, reqparse | |||||
| from werkzeug.exceptions import Forbidden, InternalServerError, NotFound | from werkzeug.exceptions import Forbidden, InternalServerError, NotFound | ||||
| import services.dataset_service | import services.dataset_service |
| from flask_login import current_user # type: ignore # type: ignore | |||||
| from flask_restful import Resource, marshal_with, reqparse # type: ignore | |||||
| from flask_login import current_user | |||||
| from flask_restful import Resource, marshal_with, reqparse | |||||
| from werkzeug.exceptions import NotFound | from werkzeug.exceptions import NotFound | ||||
| from controllers.console import api | from controllers.console import api |
| from flask_restful import Resource, reqparse # type: ignore | |||||
| from flask_restful import Resource, reqparse | |||||
| from controllers.console import api | from controllers.console import api | ||||
| from controllers.console.datasets.error import WebsiteCrawlError | from controllers.console.datasets.error import WebsiteCrawlError |
| class ChatTextApi(InstalledAppResource): | class ChatTextApi(InstalledAppResource): | ||||
| def post(self, installed_app): | def post(self, installed_app): | ||||
| from flask_restful import reqparse # type: ignore | |||||
| from flask_restful import reqparse | |||||
| app_model = installed_app.app | app_model = installed_app.app | ||||
| try: | try: |
| import logging | import logging | ||||
| from datetime import UTC, datetime | from datetime import UTC, datetime | ||||
| from flask_login import current_user # type: ignore | |||||
| from flask_restful import reqparse # type: ignore | |||||
| from flask_login import current_user | |||||
| from flask_restful import reqparse | |||||
| from werkzeug.exceptions import InternalServerError, NotFound | from werkzeug.exceptions import InternalServerError, NotFound | ||||
| import services | import services |
| from flask_login import current_user # type: ignore | |||||
| from flask_restful import marshal_with, reqparse # type: ignore | |||||
| from flask_restful.inputs import int_range # type: ignore | |||||
| from flask_login import current_user | |||||
| from flask_restful import marshal_with, reqparse | |||||
| from flask_restful.inputs import int_range | |||||
| from sqlalchemy.orm import Session | from sqlalchemy.orm import Session | ||||
| from werkzeug.exceptions import NotFound | from werkzeug.exceptions import NotFound | ||||
| from typing import Any | from typing import Any | ||||
| from flask import request | from flask import request | ||||
| from flask_login import current_user # type: ignore | |||||
| from flask_restful import Resource, inputs, marshal_with, reqparse # type: ignore | |||||
| from flask_login import current_user | |||||
| from flask_restful import Resource, inputs, marshal_with, reqparse | |||||
| from sqlalchemy import and_ | from sqlalchemy import and_ | ||||
| from werkzeug.exceptions import BadRequest, Forbidden, NotFound | from werkzeug.exceptions import BadRequest, Forbidden, NotFound | ||||
| import logging | import logging | ||||
| from flask_login import current_user # type: ignore | |||||
| from flask_restful import marshal_with, reqparse # type: ignore | |||||
| from flask_restful.inputs import int_range # type: ignore | |||||
| from flask_login import current_user | |||||
| from flask_restful import marshal_with, reqparse | |||||
| from flask_restful.inputs import int_range | |||||
| from werkzeug.exceptions import InternalServerError, NotFound | from werkzeug.exceptions import InternalServerError, NotFound | ||||
| import services | import services |
| from flask_restful import marshal_with # type: ignore | |||||
| from flask_restful import marshal_with | |||||
| from controllers.common import fields | from controllers.common import fields | ||||
| from controllers.console import api | from controllers.console import api |
| from flask_login import current_user # type: ignore | |||||
| from flask_restful import Resource, fields, marshal_with, reqparse # type: ignore | |||||
| from flask_login import current_user | |||||
| from flask_restful import Resource, fields, marshal_with, reqparse | |||||
| from constants.languages import languages | from constants.languages import languages | ||||
| from controllers.console import api | from controllers.console import api |
| from flask_login import current_user # type: ignore | |||||
| from flask_restful import fields, marshal_with, reqparse # type: ignore | |||||
| from flask_restful.inputs import int_range # type: ignore | |||||
| from flask_login import current_user | |||||
| from flask_restful import fields, marshal_with, reqparse | |||||
| from flask_restful.inputs import int_range | |||||
| from werkzeug.exceptions import NotFound | from werkzeug.exceptions import NotFound | ||||
| from controllers.console import api | from controllers.console import api |
| import logging | import logging | ||||
| from flask_restful import reqparse # type: ignore | |||||
| from flask_restful import reqparse | |||||
| from werkzeug.exceptions import InternalServerError | from werkzeug.exceptions import InternalServerError | ||||
| from controllers.console.app.error import ( | from controllers.console.app.error import ( |
| from functools import wraps | from functools import wraps | ||||
| from flask_login import current_user # type: ignore | |||||
| from flask_restful import Resource # type: ignore | |||||
| from flask_login import current_user | |||||
| from flask_restful import Resource | |||||
| from werkzeug.exceptions import NotFound | from werkzeug.exceptions import NotFound | ||||
| from controllers.console.wraps import account_initialization_required | from controllers.console.wraps import account_initialization_required |
| from flask_login import current_user # type: ignore | |||||
| from flask_restful import Resource, marshal_with, reqparse # type: ignore | |||||
| from flask_login import current_user | |||||
| from flask_restful import Resource, marshal_with, reqparse | |||||
| from constants import HIDDEN_VALUE | from constants import HIDDEN_VALUE | ||||
| from controllers.console import api | from controllers.console import api |
| from flask_login import current_user # type: ignore | |||||
| from flask_restful import Resource # type: ignore | |||||
| from flask_login import current_user | |||||
| from flask_restful import Resource | |||||
| from libs.login import login_required | from libs.login import login_required | ||||
| from services.feature_service import FeatureService | from services.feature_service import FeatureService |
| from typing import Literal | from typing import Literal | ||||
| from flask import request | from flask import request | ||||
| from flask_login import current_user # type: ignore | |||||
| from flask_restful import Resource, marshal_with # type: ignore | |||||
| from flask_login import current_user | |||||
| from flask_restful import Resource, marshal_with | |||||
| from werkzeug.exceptions import Forbidden | from werkzeug.exceptions import Forbidden | ||||
| import services | import services |
| import os | import os | ||||
| from flask import session | from flask import session | ||||
| from flask_restful import Resource, reqparse # type: ignore | |||||
| from flask_restful import Resource, reqparse | |||||
| from sqlalchemy import select | from sqlalchemy import select | ||||
| from sqlalchemy.orm import Session | from sqlalchemy.orm import Session | ||||
| from flask_restful import Resource # type: ignore | |||||
| from flask_restful import Resource | |||||
| from controllers.console import api | from controllers.console import api | ||||
| from typing import cast | from typing import cast | ||||
| import httpx | import httpx | ||||
| from flask_login import current_user # type: ignore | |||||
| from flask_restful import Resource, marshal_with, reqparse # type: ignore | |||||
| from flask_login import current_user | |||||
| from flask_restful import Resource, marshal_with, reqparse | |||||
| import services | import services | ||||
| from controllers.common import helpers | from controllers.common import helpers |
| from flask import request | from flask import request | ||||
| from flask_restful import Resource, reqparse # type: ignore | |||||
| from flask_restful import Resource, reqparse | |||||
| from configs import dify_config | from configs import dify_config | ||||
| from libs.helper import StrLen, email, extract_remote_ip | from libs.helper import StrLen, email, extract_remote_ip |
| from flask import request | from flask import request | ||||
| from flask_login import current_user # type: ignore | |||||
| from flask_restful import Resource, marshal_with, reqparse # type: ignore | |||||
| from flask_login import current_user | |||||
| from flask_restful import Resource, marshal_with, reqparse | |||||
| from werkzeug.exceptions import Forbidden | from werkzeug.exceptions import Forbidden | ||||
| from controllers.console import api | from controllers.console import api |
| import logging | import logging | ||||
| import requests | import requests | ||||
| from flask_restful import Resource, reqparse # type: ignore | |||||
| from flask_restful import Resource, reqparse | |||||
| from packaging import version | from packaging import version | ||||
| from configs import dify_config | from configs import dify_config |
| from functools import wraps | from functools import wraps | ||||
| from flask_login import current_user # type: ignore | |||||
| from flask_login import current_user | |||||
| from sqlalchemy.orm import Session | from sqlalchemy.orm import Session | ||||
| from werkzeug.exceptions import Forbidden | from werkzeug.exceptions import Forbidden | ||||
| import pytz | import pytz | ||||
| from flask import request | from flask import request | ||||
| from flask_login import current_user # type: ignore | |||||
| from flask_restful import Resource, fields, marshal_with, reqparse # type: ignore | |||||
| from flask_login import current_user | |||||
| from flask_restful import Resource, fields, marshal_with, reqparse | |||||
| from configs import dify_config | from configs import dify_config | ||||
| from constants.languages import supported_language | from constants.languages import supported_language |
| from flask_login import current_user # type: ignore | |||||
| from flask_restful import Resource # type: ignore | |||||
| from flask_login import current_user | |||||
| from flask_restful import Resource | |||||
| from controllers.console import api | from controllers.console import api | ||||
| from controllers.console.wraps import account_initialization_required, setup_required | from controllers.console.wraps import account_initialization_required, setup_required |
| from flask_login import current_user # type: ignore | |||||
| from flask_restful import Resource, reqparse # type: ignore | |||||
| from flask_login import current_user | |||||
| from flask_restful import Resource, reqparse | |||||
| from werkzeug.exceptions import Forbidden | from werkzeug.exceptions import Forbidden | ||||
| from controllers.console import api | from controllers.console import api |
| from flask_restful import Resource, reqparse # type: ignore | |||||
| from flask_restful import Resource, reqparse | |||||
| from werkzeug.exceptions import Forbidden | from werkzeug.exceptions import Forbidden | ||||
| from controllers.console import api | from controllers.console import api |
| from urllib import parse | from urllib import parse | ||||
| from flask_login import current_user # type: ignore | |||||
| from flask_restful import Resource, abort, marshal_with, reqparse # type: ignore | |||||
| from flask_login import current_user | |||||
| from flask_restful import Resource, abort, marshal_with, reqparse | |||||
| import services | import services | ||||
| from configs import dify_config | from configs import dify_config |
| import io | import io | ||||
| from flask import send_file | from flask import send_file | ||||
| from flask_login import current_user # type: ignore | |||||
| from flask_restful import Resource, reqparse # type: ignore | |||||
| from flask_login import current_user | |||||
| from flask_restful import Resource, reqparse | |||||
| from werkzeug.exceptions import Forbidden | from werkzeug.exceptions import Forbidden | ||||
| from controllers.console import api | from controllers.console import api |
| import logging | import logging | ||||
| from flask_login import current_user # type: ignore | |||||
| from flask_restful import Resource, reqparse # type: ignore | |||||
| from flask_login import current_user | |||||
| from flask_restful import Resource, reqparse | |||||
| from werkzeug.exceptions import Forbidden | from werkzeug.exceptions import Forbidden | ||||
| from controllers.console import api | from controllers.console import api |
| import io | import io | ||||
| from flask import request, send_file | from flask import request, send_file | ||||
| from flask_login import current_user # type: ignore | |||||
| from flask_restful import Resource, reqparse # type: ignore | |||||
| from flask_login import current_user | |||||
| from flask_restful import Resource, reqparse | |||||
| from werkzeug.exceptions import Forbidden | from werkzeug.exceptions import Forbidden | ||||
| from configs import dify_config | from configs import dify_config |
| import io | import io | ||||
| from flask import send_file | from flask import send_file | ||||
| from flask_login import current_user # type: ignore | |||||
| from flask_restful import Resource, reqparse # type: ignore | |||||
| from flask_login import current_user | |||||
| from flask_restful import Resource, reqparse | |||||
| from sqlalchemy.orm import Session | from sqlalchemy.orm import Session | ||||
| from werkzeug.exceptions import Forbidden | from werkzeug.exceptions import Forbidden | ||||
| import logging | import logging | ||||
| from flask import request | from flask import request | ||||
| from flask_login import current_user # type: ignore | |||||
| from flask_restful import Resource, fields, inputs, marshal, marshal_with, reqparse # type: ignore | |||||
| from flask_login import current_user | |||||
| from flask_restful import Resource, fields, inputs, marshal, marshal_with, reqparse | |||||
| from werkzeug.exceptions import Unauthorized | from werkzeug.exceptions import Unauthorized | ||||
| import services | import services |
| from functools import wraps | from functools import wraps | ||||
| from flask import abort, request | from flask import abort, request | ||||
| from flask_login import current_user # type: ignore | |||||
| from flask_login import current_user | |||||
| from configs import dify_config | from configs import dify_config | ||||
| from controllers.console.workspace.error import AccountNotInitializedError | from controllers.console.workspace.error import AccountNotInitializedError |
| from urllib.parse import quote | from urllib.parse import quote | ||||
| from flask import Response, request | from flask import Response, request | ||||
| from flask_restful import Resource, reqparse # type: ignore | |||||
| from flask_restful import Resource, reqparse | |||||
| from werkzeug.exceptions import NotFound | from werkzeug.exceptions import NotFound | ||||
| import services | import services |
| from urllib.parse import quote | from urllib.parse import quote | ||||
| from flask import Response | from flask import Response | ||||
| from flask_restful import Resource, reqparse # type: ignore | |||||
| from flask_restful import Resource, reqparse | |||||
| from werkzeug.exceptions import Forbidden, NotFound | from werkzeug.exceptions import Forbidden, NotFound | ||||
| from controllers.files import api | from controllers.files import api |
| from mimetypes import guess_extension | from mimetypes import guess_extension | ||||
| from flask import request | from flask import request | ||||
| from flask_restful import Resource, marshal_with # type: ignore | |||||
| from flask_restful import Resource, marshal_with | |||||
| from werkzeug.exceptions import Forbidden | from werkzeug.exceptions import Forbidden | ||||
| import services | import services |
| from flask_restful import Resource # type: ignore | |||||
| from flask_restful import Resource | |||||
| from controllers.console.wraps import setup_required | from controllers.console.wraps import setup_required | ||||
| from controllers.inner_api import api | from controllers.inner_api import api |
| from typing import Optional | from typing import Optional | ||||
| from flask import request | from flask import request | ||||
| from flask_restful import reqparse # type: ignore | |||||
| from flask_restful import reqparse | |||||
| from pydantic import BaseModel | from pydantic import BaseModel | ||||
| from sqlalchemy.orm import Session | from sqlalchemy.orm import Session | ||||
| import json | import json | ||||
| from flask_restful import Resource, reqparse # type: ignore | |||||
| from flask_restful import Resource, reqparse | |||||
| from controllers.console.wraps import setup_required | from controllers.console.wraps import setup_required | ||||
| from controllers.inner_api import api | from controllers.inner_api import api |
| from flask import request | from flask import request | ||||
| from flask_restful import Resource, marshal, marshal_with, reqparse # type: ignore | |||||
| from flask_restful import Resource, marshal, marshal_with, reqparse | |||||
| from werkzeug.exceptions import Forbidden | from werkzeug.exceptions import Forbidden | ||||
| from controllers.service_api import api | from controllers.service_api import api |
| from flask_restful import Resource, marshal_with # type: ignore | |||||
| from flask_restful import Resource, marshal_with | |||||
| from controllers.common import fields | from controllers.common import fields | ||||
| from controllers.service_api import api | from controllers.service_api import api |
| import logging | import logging | ||||
| from flask import request | from flask import request | ||||
| from flask_restful import Resource, reqparse # type: ignore | |||||
| from flask_restful import Resource, reqparse | |||||
| from werkzeug.exceptions import InternalServerError | from werkzeug.exceptions import InternalServerError | ||||
| import services | import services |
| import logging | import logging | ||||
| from flask_restful import Resource, reqparse # type: ignore | |||||
| from flask_restful import Resource, reqparse | |||||
| from werkzeug.exceptions import InternalServerError, NotFound | from werkzeug.exceptions import InternalServerError, NotFound | ||||
| import services | import services |
| from flask_restful import Resource, marshal_with, reqparse # type: ignore | |||||
| from flask_restful.inputs import int_range # type: ignore | |||||
| from flask_restful import Resource, marshal_with, reqparse | |||||
| from flask_restful.inputs import int_range | |||||
| from sqlalchemy.orm import Session | from sqlalchemy.orm import Session | ||||
| from werkzeug.exceptions import NotFound | from werkzeug.exceptions import NotFound | ||||
| from flask import request | from flask import request | ||||
| from flask_restful import Resource, marshal_with # type: ignore | |||||
| from flask_restful import Resource, marshal_with | |||||
| import services | import services | ||||
| from controllers.common.errors import FilenameNotExistsError | from controllers.common.errors import FilenameNotExistsError |
| import json | import json | ||||
| import logging | import logging | ||||
| from flask_restful import Resource, fields, marshal_with, reqparse # type: ignore | |||||
| from flask_restful.inputs import int_range # type: ignore | |||||
| from flask_restful import Resource, fields, marshal_with, reqparse | |||||
| from flask_restful.inputs import int_range | |||||
| from werkzeug.exceptions import BadRequest, InternalServerError, NotFound | from werkzeug.exceptions import BadRequest, InternalServerError, NotFound | ||||
| import services | import services |
| import logging | import logging | ||||
| from dateutil.parser import isoparse | from dateutil.parser import isoparse | ||||
| from flask_restful import Resource, fields, marshal_with, reqparse # type: ignore | |||||
| from flask_restful.inputs import int_range # type: ignore | |||||
| from flask_restful import Resource, fields, marshal_with, reqparse | |||||
| from flask_restful.inputs import int_range | |||||
| from sqlalchemy.orm import Session | from sqlalchemy.orm import Session | ||||
| from werkzeug.exceptions import InternalServerError | from werkzeug.exceptions import InternalServerError | ||||
| from flask import request | from flask import request | ||||
| from flask_restful import marshal, reqparse # type: ignore | |||||
| from flask_restful import marshal, reqparse | |||||
| from werkzeug.exceptions import Forbidden, NotFound | from werkzeug.exceptions import Forbidden, NotFound | ||||
| import services.dataset_service | import services.dataset_service |
| import json | import json | ||||
| from flask import request | from flask import request | ||||
| from flask_restful import marshal, reqparse # type: ignore | |||||
| from flask_restful import marshal, reqparse | |||||
| from sqlalchemy import desc | from sqlalchemy import desc | ||||
| from werkzeug.exceptions import NotFound | from werkzeug.exceptions import NotFound | ||||
| from flask_login import current_user # type: ignore # type: ignore | |||||
| from flask_restful import marshal, reqparse # type: ignore | |||||
| from flask_login import current_user # type: ignore | |||||
| from flask_restful import marshal, reqparse | |||||
| from werkzeug.exceptions import NotFound | from werkzeug.exceptions import NotFound | ||||
| from controllers.service_api import api | from controllers.service_api import api |
| from flask import request | from flask import request | ||||
| from flask_login import current_user # type: ignore | |||||
| from flask_restful import marshal, reqparse # type: ignore | |||||
| from flask_login import current_user | |||||
| from flask_restful import marshal, reqparse | |||||
| from werkzeug.exceptions import NotFound | from werkzeug.exceptions import NotFound | ||||
| from controllers.service_api import api | from controllers.service_api import api |
| from flask_restful import Resource # type: ignore | |||||
| from flask_restful import Resource | |||||
| from configs import dify_config | from configs import dify_config | ||||
| from controllers.service_api import api | from controllers.service_api import api |
| from flask_login import current_user # type: ignore | |||||
| from flask_restful import Resource # type: ignore | |||||
| from flask_login import current_user | |||||
| from flask_restful import Resource | |||||
| from controllers.service_api import api | from controllers.service_api import api | ||||
| from controllers.service_api.wraps import validate_dataset_token | from controllers.service_api.wraps import validate_dataset_token |
| from flask import current_app, request | from flask import current_app, request | ||||
| from flask_login import user_logged_in # type: ignore | from flask_login import user_logged_in # type: ignore | ||||
| from flask_restful import Resource # type: ignore | |||||
| from flask_restful import Resource | |||||
| from pydantic import BaseModel | from pydantic import BaseModel | ||||
| from sqlalchemy import select, update | from sqlalchemy import select, update | ||||
| from sqlalchemy.orm import Session | from sqlalchemy.orm import Session |
| from flask_restful import marshal_with # type: ignore | |||||
| from flask_restful import marshal_with | |||||
| from controllers.common import fields | from controllers.common import fields | ||||
| from controllers.web import api | from controllers.web import api |
| class TextApi(WebApiResource): | class TextApi(WebApiResource): | ||||
| def post(self, app_model: App, end_user): | def post(self, app_model: App, end_user): | ||||
| from flask_restful import reqparse # type: ignore | |||||
| from flask_restful import reqparse | |||||
| try: | try: | ||||
| parser = reqparse.RequestParser() | parser = reqparse.RequestParser() |
| import logging | import logging | ||||
| from flask_restful import reqparse # type: ignore | |||||
| from flask_restful import reqparse | |||||
| from werkzeug.exceptions import InternalServerError, NotFound | from werkzeug.exceptions import InternalServerError, NotFound | ||||
| import services | import services |
| from flask_restful import marshal_with, reqparse # type: ignore | |||||
| from flask_restful.inputs import int_range # type: ignore | |||||
| from flask_restful import marshal_with, reqparse | |||||
| from flask_restful.inputs import int_range | |||||
| from sqlalchemy.orm import Session | from sqlalchemy.orm import Session | ||||
| from werkzeug.exceptions import NotFound | from werkzeug.exceptions import NotFound | ||||
| from flask_restful import Resource # type: ignore | |||||
| from flask_restful import Resource | |||||
| from controllers.web import api | from controllers.web import api | ||||
| from services.feature_service import FeatureService | from services.feature_service import FeatureService |
| from flask import request | from flask import request | ||||
| from flask_restful import marshal_with # type: ignore | |||||
| from flask_restful import marshal_with | |||||
| import services | import services | ||||
| from controllers.common.errors import FilenameNotExistsError | from controllers.common.errors import FilenameNotExistsError |