139 lines
2.5 KiB
Python
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"
|