dv/backend/shared/types.py

74 lines
1.6 KiB
Python

from __future__ import annotations
from enum import StrEnum
class FieldType(StrEnum):
NUMBER = "number"
TEXT = "text"
DATE = "date"
PERCENTAGE = "percentage"
GEO = "geo"
class ChartType(StrEnum):
KPI = "kpi"
BAR = "bar"
GROUPED_BAR = "grouped-bar"
STACKED_BAR = "stacked-bar"
HORIZONTAL_BAR = "horizontal-bar"
LINE = "line"
AREA = "area"
PIE = "pie"
DONUT = "donut"
SCATTER = "scatter"
RADAR = "radar"
WORDCLOUD = "wordcloud"
BOSTON_MATRIX = "boston-matrix"
HEATMAP = "heatmap"
MAP = "map"
COMBO = "combo"
DATA_TABLE = "data-table"
class DataStructureType(StrEnum):
TOTAL = "total"
YOY_MOM = "yoy-mom"
SINGLE_DIM_SINGLE_METRIC = "single-dim-single-metric"
SINGLE_DIM_MULTI_METRIC = "single-dim-multi-metric"
DUAL_DIM_SINGLE_METRIC = "dual-dim-single-metric"
DUAL_DIM_MULTI_METRIC = "dual-dim-multi-metric"
TIME_SERIES = "time-series"
GEO = "geo"
TEXT_FREQUENCY = "text-frequency"
TWO_DIM_EVALUATION = "two-dim-evaluation"
class ExportFormat(StrEnum):
PNG = "png"
JPG = "jpg"
SVG = "svg"
PDF = "pdf"
EXCEL = "excel"
PPT = "ppt"
HTML = "html"
TEMPLATE = "template"
class ExportStatus(StrEnum):
PENDING = "pending"
PROCESSING = "processing"
DONE = "done"
FAILED = "failed"
class TemplateType(StrEnum):
BUILTIN = "builtin"
CUSTOM = "custom"
class AggregationType(StrEnum):
SUM = "sum"
COUNT = "count"
AVG = "avg"
MAX = "max"
MIN = "min"
class FileFormat(StrEnum):
XLSX = "xlsx"
XLS = "xls"
CSV = "csv"
JSON = "json"