mirror of
https://github.com/langgenius/dify.git
synced 2026-04-29 12:37:20 +08:00
refactor: split changes for api/controllers/web/app.py (#29857)
This commit is contained in:
parent
eaf4146e2f
commit
95c58eac83
@ -1,14 +1,13 @@
|
|||||||
import logging
|
import logging
|
||||||
|
|
||||||
from flask import request
|
from flask import request
|
||||||
from flask_restx import Resource, marshal_with, reqparse
|
from flask_restx import Resource, marshal_with
|
||||||
|
from pydantic import BaseModel, ConfigDict, Field
|
||||||
from werkzeug.exceptions import Unauthorized
|
from werkzeug.exceptions import Unauthorized
|
||||||
|
|
||||||
from constants import HEADER_NAME_APP_CODE
|
from constants import HEADER_NAME_APP_CODE
|
||||||
from controllers.common import fields
|
from controllers.common import fields
|
||||||
from controllers.web import web_ns
|
from controllers.common.schema import register_schema_models
|
||||||
from controllers.web.error import AppUnavailableError
|
|
||||||
from controllers.web.wraps import WebApiResource
|
|
||||||
from core.app.app_config.common.parameters_mapping import get_parameters_from_feature_dict
|
from core.app.app_config.common.parameters_mapping import get_parameters_from_feature_dict
|
||||||
from libs.passport import PassportService
|
from libs.passport import PassportService
|
||||||
from libs.token import extract_webapp_passport
|
from libs.token import extract_webapp_passport
|
||||||
@ -18,9 +17,23 @@ from services.enterprise.enterprise_service import EnterpriseService
|
|||||||
from services.feature_service import FeatureService
|
from services.feature_service import FeatureService
|
||||||
from services.webapp_auth_service import WebAppAuthService
|
from services.webapp_auth_service import WebAppAuthService
|
||||||
|
|
||||||
|
from . import web_ns
|
||||||
|
from .error import AppUnavailableError
|
||||||
|
from .wraps import WebApiResource
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
|
class AppAccessModeQuery(BaseModel):
|
||||||
|
model_config = ConfigDict(populate_by_name=True)
|
||||||
|
|
||||||
|
app_id: str | None = Field(default=None, alias="appId", description="Application ID")
|
||||||
|
app_code: str | None = Field(default=None, alias="appCode", description="Application code")
|
||||||
|
|
||||||
|
|
||||||
|
register_schema_models(web_ns, AppAccessModeQuery)
|
||||||
|
|
||||||
|
|
||||||
@web_ns.route("/parameters")
|
@web_ns.route("/parameters")
|
||||||
class AppParameterApi(WebApiResource):
|
class AppParameterApi(WebApiResource):
|
||||||
"""Resource for app variables."""
|
"""Resource for app variables."""
|
||||||
@ -96,21 +109,16 @@ class AppAccessMode(Resource):
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
def get(self):
|
def get(self):
|
||||||
parser = (
|
raw_args = request.args.to_dict()
|
||||||
reqparse.RequestParser()
|
args = AppAccessModeQuery.model_validate(raw_args)
|
||||||
.add_argument("appId", type=str, required=False, location="args")
|
|
||||||
.add_argument("appCode", type=str, required=False, location="args")
|
|
||||||
)
|
|
||||||
args = parser.parse_args()
|
|
||||||
|
|
||||||
features = FeatureService.get_system_features()
|
features = FeatureService.get_system_features()
|
||||||
if not features.webapp_auth.enabled:
|
if not features.webapp_auth.enabled:
|
||||||
return {"accessMode": "public"}
|
return {"accessMode": "public"}
|
||||||
|
|
||||||
app_id = args.get("appId")
|
app_id = args.app_id
|
||||||
if args.get("appCode"):
|
if args.app_code:
|
||||||
app_code = args["appCode"]
|
app_id = AppService.get_app_id_by_code(args.app_code)
|
||||||
app_id = AppService.get_app_id_by_code(app_code)
|
|
||||||
|
|
||||||
if not app_id:
|
if not app_id:
|
||||||
raise ValueError("appId or appCode must be provided")
|
raise ValueError("appId or appCode must be provided")
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user