refactor: move out enums to specific file

This commit is contained in:
Yeuoly 2025-10-18 20:22:21 +08:00
parent e3c2345b21
commit fb8ecf7b5a
10 changed files with 54 additions and 44 deletions

View File

@ -12,8 +12,9 @@ from controllers.console.wraps import account_initialization_required, setup_req
from extensions.ext_database import db
from fields.workflow_trigger_fields import trigger_fields, triggers_list_fields, webhook_trigger_fields
from libs.login import current_user, login_required
from models.enums import AppTriggerStatus
from models.model import Account, AppMode
from models.trigger import AppTrigger, AppTriggerStatus, WorkflowWebhookTrigger
from models.trigger import AppTrigger, WorkflowWebhookTrigger
logger = logging.getLogger(__name__)

View File

@ -7,7 +7,8 @@ from core.workflow.nodes import NodeType
from events.app_event import app_published_workflow_was_updated
from extensions.ext_database import db
from models import AppMode
from models.trigger import AppTrigger, AppTriggerStatus
from models.enums import AppTriggerStatus
from models.trigger import AppTrigger
from models.workflow import Workflow

View File

@ -26,7 +26,14 @@ from .dataset import (
TidbAuthBinding,
Whitelist,
)
from .enums import CreatorUserRole, UserFrom, WorkflowRunTriggeredFrom
from .enums import (
AppTriggerStatus,
AppTriggerType,
CreatorUserRole,
UserFrom,
WorkflowRunTriggeredFrom,
WorkflowTriggerStatus,
)
from .model import (
ApiRequest,
ApiToken,
@ -81,8 +88,6 @@ from .tools import (
)
from .trigger import (
AppTrigger,
AppTriggerStatus,
AppTriggerType,
TriggerOAuthSystemClient,
TriggerOAuthTenantClient,
TriggerSubscription,
@ -196,5 +201,6 @@ __all__ = [
"WorkflowRunTriggeredFrom",
"WorkflowSchedulePlan",
"WorkflowToolProvider",
"WorkflowTriggerStatus",
"WorkflowType",
]

View File

@ -1,5 +1,7 @@
from enum import StrEnum
from core.workflow.enums import NodeType
class CreatorUserRole(StrEnum):
ACCOUNT = "account"
@ -41,3 +43,31 @@ class ExecutionOffLoadType(StrEnum):
INPUTS = "inputs"
PROCESS_DATA = "process_data"
OUTPUTS = "outputs"
class WorkflowTriggerStatus(StrEnum):
"""Workflow Trigger Execution Status"""
PENDING = "pending"
QUEUED = "queued"
RUNNING = "running"
SUCCEEDED = "succeeded"
FAILED = "failed"
RATE_LIMITED = "rate_limited"
RETRYING = "retrying"
class AppTriggerStatus(StrEnum):
"""App Trigger Status Enum"""
ENABLED = "enabled"
DISABLED = "disabled"
UNAUTHORIZED = "unauthorized"
class AppTriggerType(StrEnum):
"""App Trigger Type Enum"""
TRIGGER_WEBHOOK = NodeType.TRIGGER_WEBHOOK.value
TRIGGER_SCHEDULE = NodeType.TRIGGER_SCHEDULE.value
TRIGGER_PLUGIN = NodeType.TRIGGER_PLUGIN.value

View File

@ -2,7 +2,6 @@ import json
import time
from collections.abc import Mapping
from datetime import datetime
from enum import StrEnum
from typing import Any, Optional, cast
import sqlalchemy as sa
@ -13,11 +12,10 @@ from core.plugin.entities.plugin_daemon import CredentialType
from core.trigger.entities.api_entities import TriggerProviderSubscriptionApiEntity
from core.trigger.entities.entities import Subscription
from core.trigger.utils.endpoint import parse_endpoint_id
from core.workflow.enums import NodeType
from extensions.ext_database import db
from libs.datetime_utils import naive_utc_now
from models.base import Base
from models.enums import CreatorUserRole
from models.enums import AppTriggerStatus, AppTriggerType, CreatorUserRole, WorkflowTriggerStatus
from models.model import Account
from models.types import EnumText, StringUUID
@ -149,18 +147,6 @@ class TriggerOAuthTenantClient(Base):
return cast(Mapping[str, Any], json.loads(self.encrypted_oauth_params or "{}"))
class WorkflowTriggerStatus(StrEnum):
"""Workflow Trigger Execution Status"""
PENDING = "pending"
QUEUED = "queued"
RUNNING = "running"
SUCCEEDED = "succeeded"
FAILED = "failed"
RATE_LIMITED = "rate_limited"
RETRYING = "retrying"
class WorkflowTriggerLog(Base):
"""
Workflow Trigger Log
@ -349,22 +335,6 @@ class WorkflowPluginTrigger(Base):
)
class AppTriggerType(StrEnum):
"""App Trigger Type Enum"""
TRIGGER_WEBHOOK = NodeType.TRIGGER_WEBHOOK.value
TRIGGER_SCHEDULE = NodeType.TRIGGER_SCHEDULE.value
TRIGGER_PLUGIN = NodeType.TRIGGER_PLUGIN.value
class AppTriggerStatus(StrEnum):
"""App Trigger Status Enum"""
ENABLED = "enabled"
DISABLED = "disabled"
UNAUTHORIZED = "unauthorized"
class AppTrigger(Base):
"""
App Trigger

View File

@ -9,7 +9,8 @@ from typing import Any, Optional
from sqlalchemy import and_, delete, func, select, update
from sqlalchemy.orm import Session
from models.trigger import WorkflowTriggerLog, WorkflowTriggerStatus
from models.enums import WorkflowTriggerStatus
from models.trigger import WorkflowTriggerLog
from repositories.workflow_trigger_log_repository import TriggerLogOrderBy, WorkflowTriggerLogRepository

View File

@ -11,7 +11,8 @@ from datetime import datetime
from enum import StrEnum
from typing import Optional, Protocol
from models.trigger import WorkflowTriggerLog, WorkflowTriggerStatus
from models.enums import WorkflowTriggerStatus
from models.trigger import WorkflowTriggerLog
class TriggerLogOrderBy(StrEnum):

View File

@ -16,9 +16,9 @@ from sqlalchemy.orm import Session
from extensions.ext_database import db
from extensions.ext_redis import redis_client
from models.account import Account
from models.enums import CreatorUserRole
from models.enums import CreatorUserRole, WorkflowTriggerStatus
from models.model import App, EndUser
from models.trigger import WorkflowTriggerLog, WorkflowTriggerStatus
from models.trigger import WorkflowTriggerLog
from models.workflow import Workflow
from repositories.sqlalchemy_workflow_trigger_log_repository import SQLAlchemyWorkflowTriggerLogRepository
from services.errors.app import InvokeDailyRateLimitError, WorkflowNotFoundError

View File

@ -21,9 +21,9 @@ from core.workflow.enums import NodeType
from extensions.ext_database import db
from extensions.ext_redis import redis_client
from factories import file_factory
from models.enums import WorkflowRunTriggeredFrom
from models.enums import AppTriggerStatus, AppTriggerType, WorkflowRunTriggeredFrom
from models.model import App
from models.trigger import AppTrigger, AppTriggerStatus, AppTriggerType, WorkflowWebhookTrigger
from models.trigger import AppTrigger, WorkflowWebhookTrigger
from models.workflow import Workflow
from services.async_workflow_service import AsyncWorkflowService
from services.end_user_service import EndUserService

View File

@ -18,9 +18,9 @@ from core.app.apps.workflow.app_generator import WorkflowAppGenerator
from core.app.entities.app_invoke_entities import InvokeFrom
from extensions.ext_database import db
from models.account import Account
from models.enums import CreatorUserRole
from models.enums import CreatorUserRole, WorkflowTriggerStatus
from models.model import App, EndUser, Tenant
from models.trigger import WorkflowTriggerLog, WorkflowTriggerStatus
from models.trigger import WorkflowTriggerLog
from models.workflow import Workflow
from repositories.sqlalchemy_workflow_trigger_log_repository import SQLAlchemyWorkflowTriggerLogRepository
from services.errors.app import WorkflowNotFoundError