first commit

This commit is contained in:
Chris
2026-03-23 20:23:58 +08:00
commit 74d612aca1
3193 changed files with 692056 additions and 0 deletions

View File

@@ -0,0 +1,73 @@
from __future__ import annotations
from app.domain.admin import Experiment, ExperimentRelease, Goal, SdkConfig, Site, Variant
def to_site(raw: dict) -> Site:
return Site(
id=str(raw["id"]),
site_key=str(raw["site_key"]),
name=str(raw["name"]),
primary_domain=str(raw["primary_domain"]),
status=str(raw["status"]),
settings=raw.get("site_settings"),
)
def to_experiment(raw: dict) -> Experiment:
return Experiment(
id=str(raw["id"]),
site_id=str(raw["site_id"]),
experiment_key=str(raw["experiment_key"]),
name=str(raw["name"]),
module_type=str(raw["module_type"]),
status=str(raw["status"]),
start_at=raw.get("start_at"),
end_at=raw.get("end_at"),
targeting_config=raw.get("targeting_config"),
)
def to_variant(raw: dict) -> Variant:
return Variant(
id=str(raw["id"]),
experiment_id=str(raw["experiment_id"]),
variant_key=str(raw.get("variant_key", "")),
name=str(raw.get("name", "")),
traffic_weight=int(raw.get("traffic_weight", 0)),
content_config=raw.get("content_config"),
)
def to_release(raw: dict) -> ExperimentRelease:
return ExperimentRelease(
id=str(raw["id"]),
experiment_id=str(raw["experiment_id"]),
version_no=int(raw["version_no"]),
status=str(raw["status"]),
runtime_payload=raw.get("runtime_payload"),
)
def to_goal(raw: dict) -> Goal:
return Goal(
id=str(raw["id"]),
site_id=str(raw["site_id"]),
goal_key=str(raw["goal_key"]),
name=str(raw["name"]),
goal_type=str(raw["goal_type"]),
match_rule=raw.get("match_rule"),
)
def to_sdk_config(raw: dict) -> SdkConfig:
return SdkConfig(
id=str(raw["id"]),
site_id=str(raw["site_id"]),
sdk_key=str(raw["sdk_key"]),
status=str(raw["status"]),
origin_url=raw.get("origin_url"),
cdn_url=raw.get("cdn_url"),
sdk_config=raw.get("sdk_config"),
)