Uh oh!
There was an error while loading. Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork 17
Implement WebhookEvent model #42
Copy link
Copy link
Closed
Labels
GrantFox OSSIssue tracked in GrantFox OSSIssue tracked in GrantFox OSSMaybe RewardedIssue may be eligible for a GrantFox rewardIssue may be eligible for a GrantFox rewardOfficial Campaign | FWC26Campaign: Official Campaign | FWC26Campaign: Official Campaign | FWC26area:modelspriority:p1type:feature
Description
Metadata
Metadata
Assignees
Labels
GrantFox OSSIssue tracked in GrantFox OSSIssue tracked in GrantFox OSSMaybe RewardedIssue may be eligible for a GrantFox rewardIssue may be eligible for a GrantFox rewardOfficial Campaign | FWC26Campaign: Official Campaign | FWC26Campaign: Official Campaign | FWC26area:modelspriority:p1type:feature
Represents a parsed, verified webhook event delivered by the Shade platform. The
datafield should be typed as the corresponding resource model rather than a raw dict.Proposed Steps:
src/shade/models/webhook.py.id,type: str,data: Any,created_at: datetime,livemode: bool.WebhookEventTypeconstants class.Webhook.construct_event()method populatesdatawith the typed model.Acceptance Criteria:
WebhookEvent.from_dict(raw_payload)populates all fields.event.livemodecorrectly reflects the event origin.event.datais the raw dict at model level; typed model coercion happens in the resource layer.