From 4db1a6f6787f15c68ad32d6af289ca0585573955 Mon Sep 17 00:00:00 2001 From: Eli Ribble Date: Tue, 21 Apr 2026 22:11:53 +0000 Subject: [PATCH] Add support for data fields for letter.created --- resource/lob_hook.go | 81 +++++++++++++++++++++++++++----------------- 1 file changed, 50 insertions(+), 31 deletions(-) diff --git a/resource/lob_hook.go b/resource/lob_hook.go index 0fbda991..291be117 100644 --- a/resource/lob_hook.go +++ b/resource/lob_hook.go @@ -8,13 +8,13 @@ import ( "time" /* - "github.com/aarondl/opt/omitnull" "github.com/Gleipnir-Technology/nidus-sync/db/enums" "github.com/Gleipnir-Technology/nidus-sync/db/models" "github.com/Gleipnir-Technology/nidus-sync/html" */ nhttp "github.com/Gleipnir-Technology/nidus-sync/http" "github.com/aarondl/opt/omit" + "github.com/aarondl/opt/omitnull" /* "github.com/Gleipnir-Technology/nidus-sync/platform" "github.com/Gleipnir-Technology/nidus-sync/platform/types" @@ -34,37 +34,56 @@ type lobHookR struct { router *router } -/* -"id": "redacted", - - "description": "redacted", - "name": "redacted", - "address_line1": "redacted", - "address_line2": "redacted", - "address_city": "redacted", - "address_state": "redacted", - "address_zip": "redacted", - "address_country": "redacted", - "metadata": {}, - "date_created": "2026-04-21T21:43:44.819Z", - "date_modified": "2026-04-21T21:43:44.819Z", - "object": "redacted" -*/ +type LobAddress struct { + AddressCity string `json:"address_city"` + AddressCountry string `json:"address_country"` + AddressLine1 string `json:"address_line1"` + AddressLine2 string `json:"address_line2"` + AddressState string `json:"address_state"` + AddressZip string `json:"address_zip"` + DateCreated time.Time `json:"date_created"` + DateModified time.Time `json:"date_modified"` + Description string `json:"description"` + ID string `json:"id"` + Metadata json.RawMessage `json:"metadata"` + Name string `json:"name"` + Object string `json:"object"` +} type LobEventBody struct { - AddressLine1 omit.Val[string] `json:"address_line1"` - AddressLine2 omit.Val[string] `json:"address_line2"` - AddressCity omit.Val[string] `json:"address_city"` - AddressState omit.Val[string] `json:"address_state"` - AddressZip omit.Val[string] `json:"address_zip"` - AddressCountry omit.Val[string] `json:"address_country"` - Description omit.Val[string] `json:"description"` - ID omit.Val[string] `json:"id"` - Metadata omit.Val[json.RawMessage] `json:"metadata"` - DateCreated omit.Val[time.Time] `json:"date_created"` - DateModified omit.Val[time.Time] `json:"date_modified"` - Name omit.Val[string] `json:"name"` - Object omit.Val[string] `json:"object"` - Status omit.Val[string] `json:"status"` + AddressCity omit.Val[string] `json:"address_city"` + AddressCountry omit.Val[string] `json:"address_country"` + AddressLine1 omit.Val[string] `json:"address_line1"` + AddressLine2 omit.Val[string] `json:"address_line2"` + AddressPlacement omit.Val[string] `json:"address_placement"` + AddressState omit.Val[string] `json:"address_state"` + AddressZip omit.Val[string] `json:"address_zip"` + Carrier omit.Val[string] `json:"carrier"` + Color omit.Val[bool] `json:"color"` + CustomEnvelope omitnull.Val[bool] `json:"custom_envelope"` + DateCreated omit.Val[time.Time] `json:"date_created"` + DateModified omit.Val[time.Time] `json:"date_modified"` + Description omit.Val[string] `json:"description"` + DoubleSided omit.Val[bool] `json:"double_sided"` + ExpectedDeliveryDate omit.Val[time.Time] `json:"expected_delivery_date"` + ExtraService omitnull.Val[bool] `json:"extra_service"` + FailureReason omitnull.Val[string] `json:"failure_reason"` + From omit.Val[LobAddress] `json:"from"` + ID omit.Val[string] `json:"id"` + IsDashboard omit.Val[bool] `json:"is_dashboard"` + Metadata omit.Val[json.RawMessage] `json:"metadata"` + MailType omit.Val[string] `json:"mail_type"` + MergeVariables omit.Val[string] `json:"merge_variables"` + Name omit.Val[string] `json:"name"` + Object omit.Val[string] `json:"object"` + PerforatedPage omitnull.Val[bool] `json:"perforated_page"` + RawURL omit.Val[string] `json:"raw_url"` + ReturnEnvelope omit.Val[bool] `json:"return_envelope"` + SendDate omit.Val[time.Time] `json:"send_date"` + Status omit.Val[string] `json:"status"` + To omit.Val[LobAddress] `json:"to"` + TrackingNumber omit.Val[string] `json:"tracking_number"` + URL omit.Val[string] `json:"url"` + USPSCampaignID omitnull.Val[string] `json:"usps_campaign_id"` } type LobEventType struct { ID string `json:"id"`