Add description and image_url fields to DropCampaign schema and update validation logic
This commit is contained in:
parent
175f67e7b9
commit
7edf857127
2 changed files with 5 additions and 2 deletions
|
|
@ -485,6 +485,8 @@ class Command(BaseCommand):
|
||||||
# load and log noise while keeping caches accurate.
|
# load and log noise while keeping caches accurate.
|
||||||
return bool(
|
return bool(
|
||||||
cached_obj.name == defaults["name"]
|
cached_obj.name == defaults["name"]
|
||||||
|
and cached_obj.description == defaults["description"]
|
||||||
|
and getattr(cached_obj, "image_url", "") == defaults.get("image_url", "")
|
||||||
and cached_obj.start_at == defaults["start_at"]
|
and cached_obj.start_at == defaults["start_at"]
|
||||||
and cached_obj.end_at == defaults["end_at"]
|
and cached_obj.end_at == defaults["end_at"]
|
||||||
and cached_obj.details_url == defaults["details_url"]
|
and cached_obj.details_url == defaults["details_url"]
|
||||||
|
|
@ -563,6 +565,8 @@ class Command(BaseCommand):
|
||||||
|
|
||||||
defaults: dict[str, str | datetime | Game | bool] = {
|
defaults: dict[str, str | datetime | Game | bool] = {
|
||||||
"name": drop_campaign.name,
|
"name": drop_campaign.name,
|
||||||
|
"description": drop_campaign.description,
|
||||||
|
"image_url": getattr(drop_campaign, "image_url", ""),
|
||||||
"game": game_obj,
|
"game": game_obj,
|
||||||
"start_at": start_at_dt,
|
"start_at": start_at_dt,
|
||||||
"end_at": end_at_dt,
|
"end_at": end_at_dt,
|
||||||
|
|
|
||||||
|
|
@ -164,6 +164,7 @@ class DropCampaign(BaseModel):
|
||||||
end_at: str = Field(alias="endAt")
|
end_at: str = Field(alias="endAt")
|
||||||
details_url: str = Field(alias="detailsURL")
|
details_url: str = Field(alias="detailsURL")
|
||||||
account_link_url: str = Field(alias="accountLinkURL")
|
account_link_url: str = Field(alias="accountLinkURL")
|
||||||
|
description: str = Field(default="", alias="description")
|
||||||
self: DropCampaignSelfEdge
|
self: DropCampaignSelfEdge
|
||||||
time_based_drops: list[TimeBasedDropSchema] = Field(default=[], alias="timeBasedDrops")
|
time_based_drops: list[TimeBasedDropSchema] = Field(default=[], alias="timeBasedDrops")
|
||||||
type_name: Literal["DropCampaign"] = Field(alias="__typename")
|
type_name: Literal["DropCampaign"] = Field(alias="__typename")
|
||||||
|
|
@ -171,8 +172,6 @@ class DropCampaign(BaseModel):
|
||||||
image_url: str | None = Field(default=None, alias="imageURL")
|
image_url: str | None = Field(default=None, alias="imageURL")
|
||||||
allow: dict | None = None
|
allow: dict | None = None
|
||||||
event_based_drops: list | None = Field(default=None, alias="eventBasedDrops")
|
event_based_drops: list | None = Field(default=None, alias="eventBasedDrops")
|
||||||
# Legacy/API response fields that should be ignored
|
|
||||||
description: str | None = None
|
|
||||||
|
|
||||||
model_config = {
|
model_config = {
|
||||||
"extra": "forbid",
|
"extra": "forbid",
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue