arcade-mcp/toolkits/asana/arcade_asana/constants.py
2025-05-12 14:59:52 -03:00

139 lines
2.5 KiB
Python

import os
from enum import Enum
ASANA_BASE_URL = "https://app.asana.com/api"
ASANA_API_VERSION = "1.0"
try:
ASANA_MAX_CONCURRENT_REQUESTS = int(os.getenv("ASANA_MAX_CONCURRENT_REQUESTS", 3))
except ValueError:
ASANA_MAX_CONCURRENT_REQUESTS = 3
try:
ASANA_MAX_TIMEOUT_SECONDS = int(os.getenv("ASANA_MAX_TIMEOUT_SECONDS", 20))
except ValueError:
ASANA_MAX_TIMEOUT_SECONDS = 20
MAX_PROJECTS_TO_SCAN_BY_NAME = 1000
MAX_TAGS_TO_SCAN_BY_NAME = 1000
PROJECT_OPT_FIELDS = [
"gid",
"resource_type",
"name",
"workspace",
"color",
"created_at",
"current_status_update",
"due_on",
"members",
"notes",
"completed",
"completed_at",
"completed_by",
"owner",
"team",
"workspace",
"permalink_url",
]
TASK_OPT_FIELDS = [
"gid",
"name",
"notes",
"completed",
"completed_at",
"completed_by",
"created_at",
"created_by",
"due_on",
"start_on",
"owner",
"team",
"workspace",
"permalink_url",
"approval_status",
"assignee",
"assignee_status",
"dependencies",
"dependents",
"memberships",
"num_subtasks",
"resource_type",
"custom_type",
"custom_type_status_option",
"parent",
"tags",
"workspace",
]
TAG_OPT_FIELDS = [
"gid",
"name",
"workspace",
]
TEAM_OPT_FIELDS = [
"gid",
"name",
"description",
"organization",
"permalink_url",
]
USER_OPT_FIELDS = [
"gid",
"resource_type",
"name",
"email",
"photo",
"workspaces",
]
WORKSPACE_OPT_FIELDS = [
"gid",
"resource_type",
"name",
"email_domains",
"is_organization",
]
class TaskSortBy(Enum):
DUE_DATE = "due_date"
CREATED_AT = "created_at"
COMPLETED_AT = "completed_at"
MODIFIED_AT = "modified_at"
LIKES = "likes"
class SortOrder(Enum):
ASCENDING = "ascending"
DESCENDING = "descending"
class TagColor(Enum):
DARK_GREEN = "dark-green"
DARK_RED = "dark-red"
DARK_BLUE = "dark-blue"
DARK_PURPLE = "dark-purple"
DARK_PINK = "dark-pink"
DARK_ORANGE = "dark-orange"
DARK_TEAL = "dark-teal"
DARK_BROWN = "dark-brown"
DARK_WARM_GRAY = "dark-warm-gray"
LIGHT_GREEN = "light-green"
LIGHT_RED = "light-red"
LIGHT_BLUE = "light-blue"
LIGHT_PURPLE = "light-purple"
LIGHT_PINK = "light-pink"
LIGHT_ORANGE = "light-orange"
LIGHT_TEAL = "light-teal"
LIGHT_BROWN = "light-brown"
LIGHT_WARM_GRAY = "light-warm-gray"
class ReturnType(Enum):
FULL_ITEMS_DATA = "full_items_data"
ITEMS_COUNT = "items_count"