shopify_draft_proxy/state/types
Mirrors the slices of src/state/types.ts that the Gleam port
currently exercises. Only resource types this port knows about are
included; everything else is deliberately deferred until the
corresponding domain handler lands.
Putting the resource records here (rather than in either the
state/store or proxy/saved_searches module) avoids a circular
import: the store needs to know the shapes of the records it stores,
and the domain handler needs to read them back; both depend on this
module.
Types
pub type AbandonedCheckoutRecord {
AbandonedCheckoutRecord(
id: String,
cursor: option.Option(String),
data: CapturedJsonValue,
)
}
Constructors
-
AbandonedCheckoutRecord( id: String, cursor: option.Option(String), data: CapturedJsonValue, )
pub type AbandonmentDeliveryActivityRecord {
AbandonmentDeliveryActivityRecord(
marketing_activity_id: String,
delivery_status: String,
delivered_at: option.Option(String),
delivery_status_change_reason: option.Option(String),
)
}
Constructors
-
AbandonmentDeliveryActivityRecord( marketing_activity_id: String, delivery_status: String, delivered_at: option.Option(String), delivery_status_change_reason: option.Option(String), )
pub type AbandonmentRecord {
AbandonmentRecord(
id: String,
abandoned_checkout_id: option.Option(String),
cursor: option.Option(String),
data: CapturedJsonValue,
delivery_activities: dict.Dict(
String,
AbandonmentDeliveryActivityRecord,
),
)
}
Constructors
-
AbandonmentRecord( id: String, abandoned_checkout_id: option.Option(String), cursor: option.Option(String), data: CapturedJsonValue, delivery_activities: dict.Dict( String, AbandonmentDeliveryActivityRecord, ), )
Mirrors AccessScopeRecord. description is None for scopes the
proxy invents locally; upstream-hydrated scopes may carry one.
pub type AccessScopeRecord {
AccessScopeRecord(
handle: String,
description: option.Option(String),
)
}
Constructors
-
AccessScopeRecord( handle: String, description: option.Option(String), )
Audit record for locally handled flowGenerateSignature.
The proxy stores hashes rather than the raw signature or payload.
pub type AdminPlatformFlowSignatureRecord {
AdminPlatformFlowSignatureRecord(
id: String,
flow_trigger_id: String,
payload_sha256: String,
signature_sha256: String,
created_at: String,
)
}
Constructors
-
AdminPlatformFlowSignatureRecord( id: String, flow_trigger_id: String, payload_sha256: String, signature_sha256: String, created_at: String, )
Audit record for locally handled flowTriggerReceive.
The external Flow trigger delivery side effect is intentionally not
attempted by the draft proxy.
pub type AdminPlatformFlowTriggerRecord {
AdminPlatformFlowTriggerRecord(
id: String,
handle: String,
payload_bytes: Int,
payload_sha256: String,
received_at: String,
)
}
Constructors
-
AdminPlatformFlowTriggerRecord( id: String, handle: String, payload_bytes: Int, payload_sha256: String, received_at: String, )
pub type AdminPlatformGenericNodeRecord {
AdminPlatformGenericNodeRecord(
id: String,
typename: String,
data: CapturedJsonValue,
)
}
Constructors
-
AdminPlatformGenericNodeRecord( id: String, typename: String, data: CapturedJsonValue, )
pub type AdminPlatformTaxonomyCategoryRecord {
AdminPlatformTaxonomyCategoryRecord(
id: String,
cursor: option.Option(String),
data: CapturedJsonValue,
)
}
Constructors
-
AdminPlatformTaxonomyCategoryRecord( id: String, cursor: option.Option(String), data: CapturedJsonValue, )
Mirrors AppInstallationRecord. The proxy treats the
“current installation” as a singleton in the store; this record
captures everything else.
pub type AppInstallationRecord {
AppInstallationRecord(
id: String,
app_id: String,
launch_url: option.Option(String),
uninstall_url: option.Option(String),
access_scopes: List(AccessScopeRecord),
active_subscription_ids: List(String),
all_subscription_ids: List(String),
one_time_purchase_ids: List(String),
uninstalled_at: option.Option(String),
)
}
Constructors
-
AppInstallationRecord( id: String, app_id: String, launch_url: option.Option(String), uninstall_url: option.Option(String), access_scopes: List(AccessScopeRecord), active_subscription_ids: List(String), all_subscription_ids: List(String), one_time_purchase_ids: List(String), uninstalled_at: option.Option(String), )
Mirrors AppOneTimePurchaseRecord.
pub type AppOneTimePurchaseRecord {
AppOneTimePurchaseRecord(
id: String,
name: String,
status: String,
is_test: Bool,
created_at: String,
price: Money,
)
}
Constructors
-
AppOneTimePurchaseRecord( id: String, name: String, status: String, is_test: Bool, created_at: String, price: Money, )
Mirrors AppRecord. Most fields are nullable in TS to model partially
populated upstream responses; the proxy’s locally-minted default app
fills them all in.
pub type AppRecord {
AppRecord(
id: String,
api_key: option.Option(String),
handle: option.Option(String),
title: option.Option(String),
developer_name: option.Option(String),
embedded: option.Option(Bool),
previously_installed: option.Option(Bool),
requested_access_scopes: List(AccessScopeRecord),
)
}
Constructors
-
AppRecord( id: String, api_key: option.Option(String), handle: option.Option(String), title: option.Option(String), developer_name: option.Option(String), embedded: option.Option(Bool), previously_installed: option.Option(Bool), requested_access_scopes: List(AccessScopeRecord), )
Mirrors AppSubscriptionLineItemRecord['plan']. The TS schema is
Record<string, jsonValue>; we model the only shape the handler
actually produces — { pricingDetails: ... } — so consumers get
type-checked access.
pub type AppSubscriptionLineItemPlan {
AppSubscriptionLineItemPlan(
pricing_details: AppSubscriptionPricing,
)
}
Constructors
-
AppSubscriptionLineItemPlan( pricing_details: AppSubscriptionPricing, )
Mirrors AppSubscriptionLineItemRecord.
pub type AppSubscriptionLineItemRecord {
AppSubscriptionLineItemRecord(
id: String,
subscription_id: String,
plan: AppSubscriptionLineItemPlan,
)
}
Constructors
-
AppSubscriptionLineItemRecord( id: String, subscription_id: String, plan: AppSubscriptionLineItemPlan, )
Pricing shape attached to a subscription line item. Mirrors the
AppRecurringPricing / AppUsagePricing __typename discriminated
union — typed here as a sum so the variants can’t get mixed.
pub type AppSubscriptionPricing {
AppRecurringPricing(
price: Money,
interval: String,
plan_handle: option.Option(String),
)
AppUsagePricing(
capped_amount: Money,
balance_used: Money,
interval: String,
terms: option.Option(String),
)
}
Constructors
-
AppRecurringPricing( price: Money, interval: String, plan_handle: option.Option(String), ) -
AppUsagePricing( capped_amount: Money, balance_used: Money, interval: String, terms: option.Option(String), )
Mirrors AppSubscriptionRecord.
pub type AppSubscriptionRecord {
AppSubscriptionRecord(
id: String,
name: String,
status: String,
is_test: Bool,
trial_days: option.Option(Int),
current_period_end: option.Option(String),
created_at: String,
line_item_ids: List(String),
)
}
Constructors
-
AppSubscriptionRecord( id: String, name: String, status: String, is_test: Bool, trial_days: option.Option(Int), current_period_end: option.Option(String), created_at: String, line_item_ids: List(String), )
Mirrors AppUsageRecord.
pub type AppUsageRecord {
AppUsageRecord(
id: String,
subscription_line_item_id: String,
description: String,
price: Money,
created_at: String,
idempotency_key: option.Option(String),
)
}
Constructors
-
AppUsageRecord( id: String, subscription_line_item_id: String, description: String, price: Money, created_at: String, idempotency_key: option.Option(String), )
pub type B2BCompanyContactRecord {
B2BCompanyContactRecord(
id: String,
cursor: option.Option(String),
company_id: String,
data: dict.Dict(String, StorePropertyValue),
)
}
Constructors
-
B2BCompanyContactRecord( id: String, cursor: option.Option(String), company_id: String, data: dict.Dict(String, StorePropertyValue), )
pub type B2BCompanyContactRoleRecord {
B2BCompanyContactRoleRecord(
id: String,
cursor: option.Option(String),
company_id: String,
data: dict.Dict(String, StorePropertyValue),
)
}
Constructors
-
B2BCompanyContactRoleRecord( id: String, cursor: option.Option(String), company_id: String, data: dict.Dict(String, StorePropertyValue), )
pub type B2BCompanyLocationRecord {
B2BCompanyLocationRecord(
id: String,
cursor: option.Option(String),
company_id: String,
data: dict.Dict(String, StorePropertyValue),
)
}
Constructors
-
B2BCompanyLocationRecord( id: String, cursor: option.Option(String), company_id: String, data: dict.Dict(String, StorePropertyValue), )
JSON-shaped B2B company row. Relationships are normalized as Shopify GIDs so contacts, locations, and roles can be updated independently.
pub type B2BCompanyRecord {
B2BCompanyRecord(
id: String,
cursor: option.Option(String),
data: dict.Dict(String, StorePropertyValue),
contact_ids: List(String),
location_ids: List(String),
contact_role_ids: List(String),
)
}
Constructors
-
B2BCompanyRecord( id: String, cursor: option.Option(String), data: dict.Dict(String, StorePropertyValue), contact_ids: List(String), location_ids: List(String), contact_role_ids: List(String), )
Mirrors the captured MarketRegionCountry shape used by
backupRegion and backupRegionUpdate.
pub type BackupRegionRecord {
BackupRegionRecord(id: String, name: String, code: String)
}
Constructors
-
BackupRegionRecord(id: String, name: String, code: String)
Mirrors BulkOperationRecord in src/state/types.ts. result_jsonl
is intentionally stored on the record in Gleam rather than a second
side-map until the HTTP result-file route ports.
pub type BulkOperationRecord {
BulkOperationRecord(
id: String,
status: String,
type_: String,
error_code: option.Option(String),
created_at: String,
completed_at: option.Option(String),
object_count: String,
root_object_count: String,
file_size: option.Option(String),
url: option.Option(String),
partial_data_url: option.Option(String),
query: option.Option(String),
cursor: option.Option(String),
result_jsonl: option.Option(String),
)
}
Constructors
-
BulkOperationRecord( id: String, status: String, type_: String, error_code: option.Option(String), created_at: String, completed_at: option.Option(String), object_count: String, root_object_count: String, file_size: option.Option(String), url: option.Option(String), partial_data_url: option.Option(String), query: option.Option(String), cursor: option.Option(String), result_jsonl: option.Option(String), )
pub type CalculatedOrderRecord {
CalculatedOrderRecord(id: String, data: CapturedJsonValue)
}
Constructors
-
CalculatedOrderRecord(id: String, data: CapturedJsonValue)
pub type CapturedJsonValue {
CapturedNull
CapturedBool(Bool)
CapturedInt(Int)
CapturedFloat(Float)
CapturedString(String)
CapturedArray(List(CapturedJsonValue))
CapturedObject(List(#(String, CapturedJsonValue)))
}
Constructors
-
CapturedNull -
CapturedBool(Bool) -
CapturedInt(Int) -
CapturedFloat(Float) -
CapturedString(String) -
CapturedArray(List(CapturedJsonValue)) -
CapturedObject(List(#(String, CapturedJsonValue)))
pub type CarrierServiceRecord {
CarrierServiceRecord(
id: String,
name: option.Option(String),
formatted_name: option.Option(String),
callback_url: option.Option(String),
active: Bool,
supports_service_discovery: Bool,
created_at: String,
updated_at: String,
)
}
Constructors
-
CarrierServiceRecord( id: String, name: option.Option(String), formatted_name: option.Option(String), callback_url: option.Option(String), active: Bool, supports_service_discovery: Bool, created_at: String, updated_at: String, )
Mirrors CartTransformRecord. Same shape as ValidationRecord
minus the enable flag.
pub type CartTransformRecord {
CartTransformRecord(
id: String,
title: option.Option(String),
block_on_failure: option.Option(Bool),
function_id: option.Option(String),
function_handle: option.Option(String),
shopify_function_id: option.Option(String),
created_at: option.Option(String),
updated_at: option.Option(String),
)
}
Constructors
-
CartTransformRecord( id: String, title: option.Option(String), block_on_failure: option.Option(Bool), function_id: option.Option(String), function_handle: option.Option(String), shopify_function_id: option.Option(String), created_at: option.Option(String), updated_at: option.Option(String), )
Mirrors CatalogRecord in src/state/types.ts.
pub type CatalogRecord {
CatalogRecord(
id: String,
cursor: option.Option(String),
data: CapturedJsonValue,
)
}
Constructors
-
CatalogRecord( id: String, cursor: option.Option(String), data: CapturedJsonValue, )
pub type ChannelRecord {
ChannelRecord(
id: String,
name: option.Option(String),
handle: option.Option(String),
publication_id: option.Option(String),
cursor: option.Option(String),
)
}
Constructors
-
ChannelRecord( id: String, name: option.Option(String), handle: option.Option(String), publication_id: option.Option(String), cursor: option.Option(String), )
pub type CollectionImageRecord {
CollectionImageRecord(
id: option.Option(String),
alt_text: option.Option(String),
url: option.Option(String),
width: option.Option(Int),
height: option.Option(Int),
)
}
Constructors
-
CollectionImageRecord( id: option.Option(String), alt_text: option.Option(String), url: option.Option(String), width: option.Option(Int), height: option.Option(Int), )
pub type CollectionRecord {
CollectionRecord(
id: String,
legacy_resource_id: option.Option(String),
title: String,
handle: String,
publication_ids: List(String),
updated_at: option.Option(String),
description: option.Option(String),
description_html: option.Option(String),
image: option.Option(CollectionImageRecord),
sort_order: option.Option(String),
template_suffix: option.Option(String),
seo: ProductSeoRecord,
rule_set: option.Option(CollectionRuleSetRecord),
products_count: option.Option(Int),
is_smart: Bool,
cursor: option.Option(String),
title_cursor: option.Option(String),
updated_at_cursor: option.Option(String),
)
}
Constructors
-
CollectionRecord( id: String, legacy_resource_id: option.Option(String), title: String, handle: String, publication_ids: List(String), updated_at: option.Option(String), description: option.Option(String), description_html: option.Option(String), image: option.Option(CollectionImageRecord), sort_order: option.Option(String), template_suffix: option.Option(String), seo: ProductSeoRecord, rule_set: option.Option(CollectionRuleSetRecord), products_count: option.Option(Int), is_smart: Bool, cursor: option.Option(String), title_cursor: option.Option(String), updated_at_cursor: option.Option(String), )
pub type CollectionRuleRecord {
CollectionRuleRecord(
column: String,
relation: String,
condition: String,
)
}
Constructors
-
CollectionRuleRecord( column: String, relation: String, condition: String, )
pub type CollectionRuleSetRecord {
CollectionRuleSetRecord(
applied_disjunctively: Bool,
rules: List(CollectionRuleRecord),
)
}
Constructors
-
CollectionRuleSetRecord( applied_disjunctively: Bool, rules: List(CollectionRuleRecord), )
Mirrors CustomerAccountPageRecord.
pub type CustomerAccountPageRecord {
CustomerAccountPageRecord(
id: String,
title: String,
handle: String,
default_cursor: String,
cursor: option.Option(String),
)
}
Constructors
-
CustomerAccountPageRecord( id: String, title: String, handle: String, default_cursor: String, cursor: option.Option(String), )
Mirrors CustomerAddressRecord.
pub type CustomerAddressRecord {
CustomerAddressRecord(
id: String,
customer_id: String,
cursor: option.Option(String),
position: Int,
first_name: option.Option(String),
last_name: option.Option(String),
address1: option.Option(String),
address2: option.Option(String),
city: option.Option(String),
company: option.Option(String),
province: option.Option(String),
province_code: option.Option(String),
country: option.Option(String),
country_code_v2: option.Option(String),
zip: option.Option(String),
phone: option.Option(String),
name: option.Option(String),
formatted_area: option.Option(String),
)
}
Constructors
-
CustomerAddressRecord( id: String, customer_id: String, cursor: option.Option(String), position: Int, first_name: option.Option(String), last_name: option.Option(String), address1: option.Option(String), address2: option.Option(String), city: option.Option(String), company: option.Option(String), province: option.Option(String), province_code: option.Option(String), country: option.Option(String), country_code_v2: option.Option(String), zip: option.Option(String), phone: option.Option(String), name: option.Option(String), formatted_area: option.Option(String), )
pub type CustomerCatalogConnectionRecord {
CustomerCatalogConnectionRecord(
ordered_customer_ids: List(String),
cursor_by_customer_id: dict.Dict(String, String),
page_info: CustomerCatalogPageInfoRecord,
)
}
Constructors
-
CustomerCatalogConnectionRecord( ordered_customer_ids: List(String), cursor_by_customer_id: dict.Dict(String, String), page_info: CustomerCatalogPageInfoRecord, )
pub type CustomerCatalogPageInfoRecord {
CustomerCatalogPageInfoRecord(
has_next_page: Bool,
has_previous_page: Bool,
start_cursor: option.Option(String),
end_cursor: option.Option(String),
)
}
Constructors
-
CustomerCatalogPageInfoRecord( has_next_page: Bool, has_previous_page: Bool, start_cursor: option.Option(String), end_cursor: option.Option(String), )
Mirrors CustomerDataErasureRequestRecord.
pub type CustomerDataErasureRequestRecord {
CustomerDataErasureRequestRecord(
customer_id: String,
requested_at: String,
canceled_at: option.Option(String),
)
}
Constructors
-
CustomerDataErasureRequestRecord( customer_id: String, requested_at: String, canceled_at: option.Option(String), )
Mirrors CustomerDefaultAddressRecord.
pub type CustomerDefaultAddressRecord {
CustomerDefaultAddressRecord(
id: option.Option(String),
first_name: option.Option(String),
last_name: option.Option(String),
address1: option.Option(String),
address2: option.Option(String),
city: option.Option(String),
company: option.Option(String),
province: option.Option(String),
province_code: option.Option(String),
country: option.Option(String),
country_code_v2: option.Option(String),
zip: option.Option(String),
phone: option.Option(String),
name: option.Option(String),
formatted_area: option.Option(String),
)
}
Constructors
-
CustomerDefaultAddressRecord( id: option.Option(String), first_name: option.Option(String), last_name: option.Option(String), address1: option.Option(String), address2: option.Option(String), city: option.Option(String), company: option.Option(String), province: option.Option(String), province_code: option.Option(String), country: option.Option(String), country_code_v2: option.Option(String), zip: option.Option(String), phone: option.Option(String), name: option.Option(String), formatted_area: option.Option(String), )
Mirrors CustomerDefaultEmailAddressRecord.
pub type CustomerDefaultEmailAddressRecord {
CustomerDefaultEmailAddressRecord(
email_address: option.Option(String),
marketing_state: option.Option(String),
marketing_opt_in_level: option.Option(String),
marketing_updated_at: option.Option(String),
)
}
Constructors
-
CustomerDefaultEmailAddressRecord( email_address: option.Option(String), marketing_state: option.Option(String), marketing_opt_in_level: option.Option(String), marketing_updated_at: option.Option(String), )
Mirrors CustomerDefaultPhoneNumberRecord.
pub type CustomerDefaultPhoneNumberRecord {
CustomerDefaultPhoneNumberRecord(
phone_number: option.Option(String),
marketing_state: option.Option(String),
marketing_opt_in_level: option.Option(String),
marketing_updated_at: option.Option(String),
marketing_collected_from: option.Option(String),
)
}
Constructors
-
CustomerDefaultPhoneNumberRecord( phone_number: option.Option(String), marketing_state: option.Option(String), marketing_opt_in_level: option.Option(String), marketing_updated_at: option.Option(String), marketing_collected_from: option.Option(String), )
Mirrors CustomerEmailMarketingConsentRecord.
pub type CustomerEmailMarketingConsentRecord {
CustomerEmailMarketingConsentRecord(
marketing_state: option.Option(String),
marketing_opt_in_level: option.Option(String),
consent_updated_at: option.Option(String),
)
}
Constructors
-
CustomerEmailMarketingConsentRecord( marketing_state: option.Option(String), marketing_opt_in_level: option.Option(String), consent_updated_at: option.Option(String), )
Minimal customer-owned event summary used by Customer.events.
pub type CustomerEventSummaryRecord {
CustomerEventSummaryRecord(
id: String,
customer_id: String,
cursor: option.Option(String),
)
}
Constructors
-
CustomerEventSummaryRecord( id: String, customer_id: String, cursor: option.Option(String), )
Mirrors CustomerMergeRequestRecord.
pub type CustomerMergeErrorRecord {
CustomerMergeErrorRecord(
error_fields: List(String),
message: String,
)
}
Constructors
-
CustomerMergeErrorRecord( error_fields: List(String), message: String, )
pub type CustomerMergeRequestRecord {
CustomerMergeRequestRecord(
job_id: String,
resulting_customer_id: String,
status: String,
customer_merge_errors: List(CustomerMergeErrorRecord),
)
}
Constructors
-
CustomerMergeRequestRecord( job_id: String, resulting_customer_id: String, status: String, customer_merge_errors: List(CustomerMergeErrorRecord), )
Customer-owned metafield record.
pub type CustomerMetafieldRecord {
CustomerMetafieldRecord(
id: String,
customer_id: String,
namespace: String,
key: String,
type_: String,
value: String,
compare_digest: option.Option(String),
created_at: option.Option(String),
updated_at: option.Option(String),
)
}
Constructors
-
CustomerMetafieldRecord( id: String, customer_id: String, namespace: String, key: String, type_: String, value: String, compare_digest: option.Option(String), created_at: option.Option(String), updated_at: option.Option(String), )
Minimal customer-owned order summary used by Customer.orders/lastOrder.
pub type CustomerOrderSummaryRecord {
CustomerOrderSummaryRecord(
id: String,
customer_id: option.Option(String),
cursor: option.Option(String),
name: option.Option(String),
email: option.Option(String),
created_at: option.Option(String),
current_total_price: option.Option(Money),
)
}
Constructors
-
CustomerOrderSummaryRecord( id: String, customer_id: option.Option(String), cursor: option.Option(String), name: option.Option(String), email: option.Option(String), created_at: option.Option(String), current_total_price: option.Option(Money), )
Mirrors CustomerPaymentMethodInstrumentRecord as a JSON-ish string map.
pub type CustomerPaymentMethodInstrumentRecord {
CustomerPaymentMethodInstrumentRecord(
type_name: String,
data: dict.Dict(String, String),
)
}
Constructors
-
CustomerPaymentMethodInstrumentRecord( type_name: String, data: dict.Dict(String, String), )
Mirrors CustomerPaymentMethodRecord.
pub type CustomerPaymentMethodRecord {
CustomerPaymentMethodRecord(
id: String,
customer_id: String,
cursor: option.Option(String),
instrument: option.Option(
CustomerPaymentMethodInstrumentRecord,
),
revoked_at: option.Option(String),
revoked_reason: option.Option(String),
subscription_contracts: List(
CustomerPaymentMethodSubscriptionContractRecord,
),
)
}
Constructors
-
CustomerPaymentMethodRecord( id: String, customer_id: String, cursor: option.Option(String), instrument: option.Option(CustomerPaymentMethodInstrumentRecord), revoked_at: option.Option(String), revoked_reason: option.Option(String), subscription_contracts: List( CustomerPaymentMethodSubscriptionContractRecord, ), )
Mirrors CustomerPaymentMethodSubscriptionContractRecord.
pub type CustomerPaymentMethodSubscriptionContractRecord {
CustomerPaymentMethodSubscriptionContractRecord(
id: String,
cursor: option.Option(String),
data: dict.Dict(String, String),
)
}
Constructors
-
CustomerPaymentMethodSubscriptionContractRecord( id: String, cursor: option.Option(String), data: dict.Dict(String, String), )
Mirrors CustomerPaymentMethodUpdateUrlRecord.
pub type CustomerPaymentMethodUpdateUrlRecord {
CustomerPaymentMethodUpdateUrlRecord(
id: String,
customer_payment_method_id: String,
update_payment_method_url: String,
created_at: String,
)
}
Constructors
-
CustomerPaymentMethodUpdateUrlRecord( id: String, customer_payment_method_id: String, update_payment_method_url: String, created_at: String, )
Mirrors CustomerRecord.
pub type CustomerRecord {
CustomerRecord(
id: String,
first_name: option.Option(String),
last_name: option.Option(String),
display_name: option.Option(String),
email: option.Option(String),
legacy_resource_id: option.Option(String),
locale: option.Option(String),
note: option.Option(String),
can_delete: option.Option(Bool),
verified_email: option.Option(Bool),
data_sale_opt_out: Bool,
tax_exempt: option.Option(Bool),
tax_exemptions: List(String),
state: option.Option(String),
tags: List(String),
number_of_orders: option.Option(String),
amount_spent: option.Option(Money),
default_email_address: option.Option(
CustomerDefaultEmailAddressRecord,
),
default_phone_number: option.Option(
CustomerDefaultPhoneNumberRecord,
),
email_marketing_consent: option.Option(
CustomerEmailMarketingConsentRecord,
),
sms_marketing_consent: option.Option(
CustomerSmsMarketingConsentRecord,
),
default_address: option.Option(CustomerDefaultAddressRecord),
created_at: option.Option(String),
updated_at: option.Option(String),
)
}
Constructors
-
CustomerRecord( id: String, first_name: option.Option(String), last_name: option.Option(String), display_name: option.Option(String), email: option.Option(String), legacy_resource_id: option.Option(String), locale: option.Option(String), note: option.Option(String), can_delete: option.Option(Bool), verified_email: option.Option(Bool), data_sale_opt_out: Bool, tax_exempt: option.Option(Bool), tax_exemptions: List(String), state: option.Option(String), tags: List(String), number_of_orders: option.Option(String), amount_spent: option.Option(Money), default_email_address: option.Option( CustomerDefaultEmailAddressRecord, ), default_phone_number: option.Option( CustomerDefaultPhoneNumberRecord, ), email_marketing_consent: option.Option( CustomerEmailMarketingConsentRecord, ), sms_marketing_consent: option.Option( CustomerSmsMarketingConsentRecord, ), default_address: option.Option(CustomerDefaultAddressRecord), created_at: option.Option(String), updated_at: option.Option(String), )
Mirrors CustomerSegmentMembersQueryRecord. A staged record captures
the resolved query string + originating segmentId, plus the
realized member count and done flag. The proxy stages these in
finished form (done=true) at create time; the create-mutation
response shape returns currentCount=0/done=false to match Shopify’s
asynchronous job semantics.
pub type CustomerSegmentMembersQueryRecord {
CustomerSegmentMembersQueryRecord(
id: String,
query: option.Option(String),
segment_id: option.Option(String),
current_count: Int,
done: Bool,
)
}
Constructors
-
CustomerSegmentMembersQueryRecord( id: String, query: option.Option(String), segment_id: option.Option(String), current_count: Int, done: Bool, )
Mirrors CustomerSmsMarketingConsentRecord.
pub type CustomerSmsMarketingConsentRecord {
CustomerSmsMarketingConsentRecord(
marketing_state: option.Option(String),
marketing_opt_in_level: option.Option(String),
consent_updated_at: option.Option(String),
consent_collected_from: option.Option(String),
)
}
Constructors
-
CustomerSmsMarketingConsentRecord( marketing_state: option.Option(String), marketing_opt_in_level: option.Option(String), consent_updated_at: option.Option(String), consent_collected_from: option.Option(String), )
Mirrors DelegatedAccessTokenRecord. The proxy stores a sha256 of
the access token plus a redacted preview rather than the raw token —
the raw token is only returned in the create mutation response.
pub type DelegatedAccessTokenRecord {
DelegatedAccessTokenRecord(
id: String,
access_token_sha256: String,
access_token_preview: String,
access_scopes: List(String),
created_at: String,
expires_in: option.Option(Int),
destroyed_at: option.Option(String),
)
}
Constructors
-
DelegatedAccessTokenRecord( id: String, access_token_sha256: String, access_token_preview: String, access_scopes: List(String), created_at: String, expires_in: option.Option(Int), destroyed_at: option.Option(String), )
pub type DeliveryProfileRecord {
DeliveryProfileRecord(
id: String,
cursor: option.Option(String),
merchant_owned: Bool,
data: CapturedJsonValue,
)
}
Constructors
-
DeliveryProfileRecord( id: String, cursor: option.Option(String), merchant_owned: Bool, data: CapturedJsonValue, )
pub type DiscountBulkOperationRecord {
DiscountBulkOperationRecord(
id: String,
operation: String,
discount_id: String,
status: String,
payload: CapturedJsonValue,
)
}
Constructors
-
DiscountBulkOperationRecord( id: String, operation: String, discount_id: String, status: String, payload: CapturedJsonValue, )
pub type DiscountRecord {
DiscountRecord(
id: String,
owner_kind: String,
discount_type: String,
title: option.Option(String),
status: String,
code: option.Option(String),
payload: CapturedJsonValue,
cursor: option.Option(String),
)
}
Constructors
-
DiscountRecord( id: String, owner_kind: String, discount_type: String, title: option.Option(String), status: String, code: option.Option(String), payload: CapturedJsonValue, cursor: option.Option(String), )
pub type DraftOrderRecord {
DraftOrderRecord(
id: String,
cursor: option.Option(String),
data: CapturedJsonValue,
)
}
Constructors
-
DraftOrderRecord( id: String, cursor: option.Option(String), data: CapturedJsonValue, )
pub type DraftOrderVariantCatalogRecord {
DraftOrderVariantCatalogRecord(
variant_id: String,
title: String,
name: String,
variant_title: option.Option(String),
sku: option.Option(String),
requires_shipping: Bool,
taxable: Bool,
unit_price: String,
currency_code: String,
)
}
Constructors
-
DraftOrderVariantCatalogRecord( variant_id: String, title: String, name: String, variant_title: option.Option(String), sku: option.Option(String), requires_shipping: Bool, taxable: Bool, unit_price: String, currency_code: String, )
pub type FileRecord {
FileRecord(
id: String,
alt: option.Option(String),
content_type: option.Option(String),
created_at: String,
file_status: String,
filename: option.Option(String),
original_source: String,
image_url: option.Option(String),
image_width: option.Option(Int),
image_height: option.Option(Int),
update_failure_acknowledged_at: option.Option(String),
)
}
Constructors
-
FileRecord( id: String, alt: option.Option(String), content_type: option.Option(String), created_at: String, file_status: String, filename: option.Option(String), original_source: String, image_url: option.Option(String), image_width: option.Option(Int), image_height: option.Option(Int), update_failure_acknowledged_at: option.Option(String), )
pub type FulfillmentOrderRecord {
FulfillmentOrderRecord(
id: String,
order_id: option.Option(String),
status: String,
request_status: String,
assigned_location_id: option.Option(String),
assignment_status: option.Option(String),
manually_held: Bool,
data: CapturedJsonValue,
)
}
Constructors
-
FulfillmentOrderRecord( id: String, order_id: option.Option(String), status: String, request_status: String, assigned_location_id: option.Option(String), assignment_status: option.Option(String), manually_held: Bool, data: CapturedJsonValue, )
pub type FulfillmentRecord {
FulfillmentRecord(
id: String,
order_id: option.Option(String),
data: CapturedJsonValue,
)
}
Constructors
-
FulfillmentRecord( id: String, order_id: option.Option(String), data: CapturedJsonValue, )
pub type FulfillmentServiceRecord {
FulfillmentServiceRecord(
id: String,
handle: String,
service_name: String,
callback_url: option.Option(String),
inventory_management: Bool,
location_id: option.Option(String),
requires_shipping_method: Bool,
tracking_support: Bool,
type_: String,
)
}
Constructors
-
FulfillmentServiceRecord( id: String, handle: String, service_name: String, callback_url: option.Option(String), inventory_management: Bool, location_id: option.Option(String), requires_shipping_method: Bool, tracking_support: Bool, type_: String, )
Mirrors GiftCardRecipientAttributesRecord. Every field is nullable
in TS to match the Admin GraphQL schema; the proxy’s create/update
helpers preserve null-vs-omit semantics by reading/writing
Option(String) here directly.
pub type GiftCardRecipientAttributesRecord {
GiftCardRecipientAttributesRecord(
id: option.Option(String),
message: option.Option(String),
preferred_name: option.Option(String),
send_notification_at: option.Option(String),
)
}
Constructors
-
GiftCardRecipientAttributesRecord( id: option.Option(String), message: option.Option(String), preferred_name: option.Option(String), send_notification_at: option.Option(String), )
Mirrors GiftCardRecord. recipient_attributes is None for cards
minted without recipient input; the serializer falls back to a
constructed attributes record built from recipient_id if present.
pub type GiftCardRecord {
GiftCardRecord(
id: String,
legacy_resource_id: String,
last_characters: String,
masked_code: String,
enabled: Bool,
deactivated_at: option.Option(String),
expires_on: option.Option(String),
note: option.Option(String),
template_suffix: option.Option(String),
created_at: String,
updated_at: String,
initial_value: Money,
balance: Money,
customer_id: option.Option(String),
recipient_id: option.Option(String),
source: option.Option(String),
recipient_attributes: option.Option(
GiftCardRecipientAttributesRecord,
),
transactions: List(GiftCardTransactionRecord),
)
}
Constructors
-
GiftCardRecord( id: String, legacy_resource_id: String, last_characters: String, masked_code: String, enabled: Bool, deactivated_at: option.Option(String), expires_on: option.Option(String), note: option.Option(String), template_suffix: option.Option(String), created_at: String, updated_at: String, initial_value: Money, balance: Money, customer_id: option.Option(String), recipient_id: option.Option(String), source: option.Option(String), recipient_attributes: option.Option( GiftCardRecipientAttributesRecord, ), transactions: List(GiftCardTransactionRecord), )
Mirrors GiftCardTransactionRecord. kind is "CREDIT" or
"DEBIT" — kept as a String to match the TS literal-union shape;
the gift-card handler never inspects it as a sum.
pub type GiftCardTransactionRecord {
GiftCardTransactionRecord(
id: String,
kind: String,
amount: Money,
processed_at: String,
note: option.Option(String),
)
}
Constructors
-
GiftCardTransactionRecord( id: String, kind: String, amount: Money, processed_at: String, note: option.Option(String), )
pub type InventoryItemRecord {
InventoryItemRecord(
id: String,
tracked: option.Option(Bool),
requires_shipping: option.Option(Bool),
measurement: option.Option(InventoryMeasurementRecord),
country_code_of_origin: option.Option(String),
province_code_of_origin: option.Option(String),
harmonized_system_code: option.Option(String),
inventory_levels: List(InventoryLevelRecord),
)
}
Constructors
-
InventoryItemRecord( id: String, tracked: option.Option(Bool), requires_shipping: option.Option(Bool), measurement: option.Option(InventoryMeasurementRecord), country_code_of_origin: option.Option(String), province_code_of_origin: option.Option(String), harmonized_system_code: option.Option(String), inventory_levels: List(InventoryLevelRecord), )
pub type InventoryLevelRecord {
InventoryLevelRecord(
id: String,
location: InventoryLocationRecord,
quantities: List(InventoryQuantityRecord),
is_active: option.Option(Bool),
cursor: option.Option(String),
)
}
Constructors
-
InventoryLevelRecord( id: String, location: InventoryLocationRecord, quantities: List(InventoryQuantityRecord), is_active: option.Option(Bool), cursor: option.Option(String), )
pub type InventoryLocationRecord {
InventoryLocationRecord(id: String, name: String)
}
Constructors
-
InventoryLocationRecord(id: String, name: String)
pub type InventoryMeasurementRecord {
InventoryMeasurementRecord(
weight: option.Option(InventoryWeightRecord),
)
}
Constructors
-
InventoryMeasurementRecord( weight: option.Option(InventoryWeightRecord), )
pub type InventoryQuantityRecord {
InventoryQuantityRecord(
name: String,
quantity: Int,
updated_at: option.Option(String),
)
}
Constructors
-
InventoryQuantityRecord( name: String, quantity: Int, updated_at: option.Option(String), )
pub type InventoryShipmentLineItemRecord {
InventoryShipmentLineItemRecord(
id: String,
inventory_item_id: String,
quantity: Int,
accepted_quantity: Int,
rejected_quantity: Int,
)
}
Constructors
-
InventoryShipmentLineItemRecord( id: String, inventory_item_id: String, quantity: Int, accepted_quantity: Int, rejected_quantity: Int, )
pub type InventoryShipmentRecord {
InventoryShipmentRecord(
id: String,
movement_id: String,
name: String,
status: String,
created_at: String,
updated_at: String,
tracking: option.Option(InventoryShipmentTrackingRecord),
line_items: List(InventoryShipmentLineItemRecord),
)
}
Constructors
-
InventoryShipmentRecord( id: String, movement_id: String, name: String, status: String, created_at: String, updated_at: String, tracking: option.Option(InventoryShipmentTrackingRecord), line_items: List(InventoryShipmentLineItemRecord), )
pub type InventoryShipmentTrackingRecord {
InventoryShipmentTrackingRecord(
tracking_number: option.Option(String),
company: option.Option(String),
tracking_url: option.Option(String),
arrives_at: option.Option(String),
)
}
Constructors
-
InventoryShipmentTrackingRecord( tracking_number: option.Option(String), company: option.Option(String), tracking_url: option.Option(String), arrives_at: option.Option(String), )
pub type InventoryTransferLineItemRecord {
InventoryTransferLineItemRecord(
id: String,
inventory_item_id: String,
title: option.Option(String),
total_quantity: Int,
shipped_quantity: Int,
picked_for_shipment_quantity: Int,
)
}
Constructors
-
InventoryTransferLineItemRecord( id: String, inventory_item_id: String, title: option.Option(String), total_quantity: Int, shipped_quantity: Int, picked_for_shipment_quantity: Int, )
pub type InventoryTransferLocationSnapshotRecord {
InventoryTransferLocationSnapshotRecord(
id: option.Option(String),
name: String,
snapshotted_at: String,
)
}
Constructors
-
InventoryTransferLocationSnapshotRecord( id: option.Option(String), name: String, snapshotted_at: String, )
pub type InventoryTransferRecord {
InventoryTransferRecord(
id: String,
name: String,
reference_name: option.Option(String),
status: String,
note: option.Option(String),
tags: List(String),
date_created: String,
origin: option.Option(InventoryTransferLocationSnapshotRecord),
destination: option.Option(
InventoryTransferLocationSnapshotRecord,
),
line_items: List(InventoryTransferLineItemRecord),
)
}
Constructors
-
InventoryTransferRecord( id: String, name: String, reference_name: option.Option(String), status: String, note: option.Option(String), tags: List(String), date_created: String, origin: option.Option(InventoryTransferLocationSnapshotRecord), destination: option.Option( InventoryTransferLocationSnapshotRecord, ), line_items: List(InventoryTransferLineItemRecord), )
pub type InventoryWeightRecord {
InventoryWeightRecord(
unit: String,
value: InventoryWeightValue,
)
}
Constructors
-
InventoryWeightRecord(unit: String, value: InventoryWeightValue)
pub type InventoryWeightValue {
InventoryWeightInt(Int)
InventoryWeightFloat(Float)
}
Constructors
-
InventoryWeightInt(Int) -
InventoryWeightFloat(Float)
Mirrors LocaleRecord. The catalog of every locale Shopify recognises
(independent of which ones the shop has enabled).
pub type LocaleRecord {
LocaleRecord(iso_code: String, name: String)
}
Constructors
-
LocaleRecord(iso_code: String, name: String)
pub type LocationRecord {
LocationRecord(
id: String,
name: String,
cursor: option.Option(String),
)
}
Constructors
-
LocationRecord( id: String, name: String, cursor: option.Option(String), )
Mirrors MarketLocalizationRecord in src/state/types.ts.
pub type MarketLocalizationRecord {
MarketLocalizationRecord(
resource_id: String,
market_id: String,
key: String,
value: String,
updated_at: String,
outdated: Bool,
)
}
Constructors
-
MarketLocalizationRecord( resource_id: String, market_id: String, key: String, value: String, updated_at: String, outdated: Bool, )
Mirrors MarketRecord in src/state/types.ts. The captured Shopify
payload remains JSON-shaped because Markets expose several nested union and
connection subtrees that are projected by the domain serializer.
pub type MarketRecord {
MarketRecord(
id: String,
cursor: option.Option(String),
data: CapturedJsonValue,
)
}
Constructors
-
MarketRecord( id: String, cursor: option.Option(String), data: CapturedJsonValue, )
Mirrors MarketingEngagementRecord.
pub type MarketingEngagementRecord {
MarketingEngagementRecord(
id: String,
marketing_activity_id: option.Option(String),
remote_id: option.Option(String),
channel_handle: option.Option(String),
occurred_on: String,
data: dict.Dict(String, MarketingValue),
)
}
Constructors
-
MarketingEngagementRecord( id: String, marketing_activity_id: option.Option(String), remote_id: option.Option(String), channel_handle: option.Option(String), occurred_on: String, data: dict.Dict(String, MarketingValue), )
Mirrors MarketingRecord.
pub type MarketingRecord {
MarketingRecord(
id: String,
cursor: option.Option(String),
data: dict.Dict(String, MarketingValue),
)
}
Constructors
-
MarketingRecord( id: String, cursor: option.Option(String), data: dict.Dict(String, MarketingValue), )
JSON-shaped value carried by upstream-hydrated or locally staged marketing
activity/event/engagement records. The TypeScript store keeps these as
Record<string, jsonValue>; this ADT gives the Gleam port the same shape
without coupling state types back to the GraphQL projector module.
pub type MarketingValue {
MarketingNull
MarketingString(String)
MarketingBool(Bool)
MarketingInt(Int)
MarketingFloat(Float)
MarketingList(List(MarketingValue))
MarketingObject(dict.Dict(String, MarketingValue))
}
Constructors
-
MarketingNull -
MarketingString(String) -
MarketingBool(Bool) -
MarketingInt(Int) -
MarketingFloat(Float) -
MarketingList(List(MarketingValue)) -
MarketingObject(dict.Dict(String, MarketingValue))
pub type MetafieldDefinitionCapabilitiesRecord {
MetafieldDefinitionCapabilitiesRecord(
admin_filterable: MetafieldDefinitionCapabilityRecord,
smart_collection_condition: MetafieldDefinitionCapabilityRecord,
unique_values: MetafieldDefinitionCapabilityRecord,
)
}
Constructors
-
MetafieldDefinitionCapabilitiesRecord( admin_filterable: MetafieldDefinitionCapabilityRecord, smart_collection_condition: MetafieldDefinitionCapabilityRecord, unique_values: MetafieldDefinitionCapabilityRecord, )
pub type MetafieldDefinitionCapabilityRecord {
MetafieldDefinitionCapabilityRecord(
enabled: Bool,
eligible: Bool,
status: option.Option(String),
)
}
Constructors
-
MetafieldDefinitionCapabilityRecord( enabled: Bool, eligible: Bool, status: option.Option(String), )
pub type MetafieldDefinitionConstraintValueRecord {
MetafieldDefinitionConstraintValueRecord(value: String)
}
Constructors
-
MetafieldDefinitionConstraintValueRecord(value: String)
pub type MetafieldDefinitionConstraintsRecord {
MetafieldDefinitionConstraintsRecord(
key: option.Option(String),
values: List(MetafieldDefinitionConstraintValueRecord),
)
}
Constructors
-
MetafieldDefinitionConstraintsRecord( key: option.Option(String), values: List(MetafieldDefinitionConstraintValueRecord), )
pub type MetafieldDefinitionRecord {
MetafieldDefinitionRecord(
id: String,
name: String,
namespace: String,
key: String,
owner_type: String,
type_: MetafieldDefinitionTypeRecord,
description: option.Option(String),
validations: List(MetafieldDefinitionValidationRecord),
access: dict.Dict(String, json.Json),
capabilities: MetafieldDefinitionCapabilitiesRecord,
constraints: option.Option(
MetafieldDefinitionConstraintsRecord,
),
pinned_position: option.Option(Int),
validation_status: String,
)
}
Constructors
-
MetafieldDefinitionRecord( id: String, name: String, namespace: String, key: String, owner_type: String, type_: MetafieldDefinitionTypeRecord, description: option.Option(String), validations: List(MetafieldDefinitionValidationRecord), access: dict.Dict(String, json.Json), capabilities: MetafieldDefinitionCapabilitiesRecord, constraints: option.Option(MetafieldDefinitionConstraintsRecord), pinned_position: option.Option(Int), validation_status: String, )
pub type MetafieldDefinitionTypeRecord {
MetafieldDefinitionTypeRecord(
name: String,
category: option.Option(String),
)
}
Constructors
-
MetafieldDefinitionTypeRecord( name: String, category: option.Option(String), )
pub type MetafieldDefinitionValidationRecord {
MetafieldDefinitionValidationRecord(
name: String,
value: option.Option(String),
)
}
Constructors
-
MetafieldDefinitionValidationRecord( name: String, value: option.Option(String), )
pub type MetaobjectCapabilitiesRecord {
MetaobjectCapabilitiesRecord(
publishable: option.Option(
MetaobjectPublishableCapabilityRecord,
),
online_store: option.Option(
MetaobjectOnlineStoreCapabilityRecord,
),
)
}
Constructors
-
MetaobjectCapabilitiesRecord( publishable: option.Option( MetaobjectPublishableCapabilityRecord, ), online_store: option.Option( MetaobjectOnlineStoreCapabilityRecord, ), )
pub type MetaobjectDefinitionCapabilitiesRecord {
MetaobjectDefinitionCapabilitiesRecord(
publishable: option.Option(
MetaobjectDefinitionCapabilityRecord,
),
translatable: option.Option(
MetaobjectDefinitionCapabilityRecord,
),
renderable: option.Option(
MetaobjectDefinitionCapabilityRecord,
),
online_store: option.Option(
MetaobjectDefinitionCapabilityRecord,
),
)
}
Constructors
-
MetaobjectDefinitionCapabilitiesRecord( publishable: option.Option(MetaobjectDefinitionCapabilityRecord), translatable: option.Option( MetaobjectDefinitionCapabilityRecord, ), renderable: option.Option(MetaobjectDefinitionCapabilityRecord), online_store: option.Option( MetaobjectDefinitionCapabilityRecord, ), )
pub type MetaobjectDefinitionCapabilityRecord {
MetaobjectDefinitionCapabilityRecord(enabled: Bool)
}
Constructors
-
MetaobjectDefinitionCapabilityRecord(enabled: Bool)
pub type MetaobjectDefinitionRecord {
MetaobjectDefinitionRecord(
id: String,
type_: String,
name: option.Option(String),
description: option.Option(String),
display_name_key: option.Option(String),
access: dict.Dict(String, option.Option(String)),
capabilities: MetaobjectDefinitionCapabilitiesRecord,
field_definitions: List(MetaobjectFieldDefinitionRecord),
has_thumbnail_field: option.Option(Bool),
metaobjects_count: option.Option(Int),
standard_template: option.Option(
MetaobjectStandardTemplateRecord,
),
created_at: option.Option(String),
updated_at: option.Option(String),
)
}
Constructors
-
MetaobjectDefinitionRecord( id: String, type_: String, name: option.Option(String), description: option.Option(String), display_name_key: option.Option(String), access: dict.Dict(String, option.Option(String)), capabilities: MetaobjectDefinitionCapabilitiesRecord, field_definitions: List(MetaobjectFieldDefinitionRecord), has_thumbnail_field: option.Option(Bool), metaobjects_count: option.Option(Int), standard_template: option.Option( MetaobjectStandardTemplateRecord, ), created_at: option.Option(String), updated_at: option.Option(String), )
pub type MetaobjectDefinitionTypeRecord {
MetaobjectDefinitionTypeRecord(
name: String,
category: option.Option(String),
)
}
Constructors
-
MetaobjectDefinitionTypeRecord( name: String, category: option.Option(String), )
pub type MetaobjectFieldDefinitionRecord {
MetaobjectFieldDefinitionRecord(
key: String,
name: option.Option(String),
description: option.Option(String),
required: option.Option(Bool),
type_: MetaobjectDefinitionTypeRecord,
validations: List(MetaobjectFieldDefinitionValidationRecord),
)
}
Constructors
-
MetaobjectFieldDefinitionRecord( key: String, name: option.Option(String), description: option.Option(String), required: option.Option(Bool), type_: MetaobjectDefinitionTypeRecord, validations: List(MetaobjectFieldDefinitionValidationRecord), )
pub type MetaobjectFieldDefinitionReferenceRecord {
MetaobjectFieldDefinitionReferenceRecord(
key: String,
name: option.Option(String),
required: option.Option(Bool),
type_: MetaobjectDefinitionTypeRecord,
)
}
Constructors
-
MetaobjectFieldDefinitionReferenceRecord( key: String, name: option.Option(String), required: option.Option(Bool), type_: MetaobjectDefinitionTypeRecord, )
pub type MetaobjectFieldDefinitionValidationRecord {
MetaobjectFieldDefinitionValidationRecord(
name: String,
value: option.Option(String),
)
}
Constructors
-
MetaobjectFieldDefinitionValidationRecord( name: String, value: option.Option(String), )
pub type MetaobjectFieldRecord {
MetaobjectFieldRecord(
key: String,
type_: option.Option(String),
value: option.Option(String),
json_value: MetaobjectJsonValue,
definition: option.Option(
MetaobjectFieldDefinitionReferenceRecord,
),
)
}
Constructors
-
MetaobjectFieldRecord( key: String, type_: option.Option(String), value: option.Option(String), json_value: MetaobjectJsonValue, definition: option.Option( MetaobjectFieldDefinitionReferenceRecord, ), )
pub type MetaobjectJsonValue {
MetaobjectNull
MetaobjectString(String)
MetaobjectBool(Bool)
MetaobjectInt(Int)
MetaobjectFloat(Float)
MetaobjectList(List(MetaobjectJsonValue))
MetaobjectObject(dict.Dict(String, MetaobjectJsonValue))
}
Constructors
-
MetaobjectNull -
MetaobjectString(String) -
MetaobjectBool(Bool) -
MetaobjectInt(Int) -
MetaobjectFloat(Float) -
MetaobjectList(List(MetaobjectJsonValue)) -
MetaobjectObject(dict.Dict(String, MetaobjectJsonValue))
pub type MetaobjectOnlineStoreCapabilityRecord {
MetaobjectOnlineStoreCapabilityRecord(
template_suffix: option.Option(String),
)
}
Constructors
-
MetaobjectOnlineStoreCapabilityRecord( template_suffix: option.Option(String), )
pub type MetaobjectPublishableCapabilityRecord {
MetaobjectPublishableCapabilityRecord(
status: option.Option(String),
)
}
Constructors
-
MetaobjectPublishableCapabilityRecord( status: option.Option(String), )
pub type MetaobjectRecord {
MetaobjectRecord(
id: String,
handle: String,
type_: String,
display_name: option.Option(String),
fields: List(MetaobjectFieldRecord),
capabilities: MetaobjectCapabilitiesRecord,
created_at: option.Option(String),
updated_at: option.Option(String),
)
}
Constructors
-
MetaobjectRecord( id: String, handle: String, type_: String, display_name: option.Option(String), fields: List(MetaobjectFieldRecord), capabilities: MetaobjectCapabilitiesRecord, created_at: option.Option(String), updated_at: option.Option(String), )
pub type MetaobjectStandardTemplateRecord {
MetaobjectStandardTemplateRecord(
type_: option.Option(String),
name: option.Option(String),
)
}
Constructors
-
MetaobjectStandardTemplateRecord( type_: option.Option(String), name: option.Option(String), )
Shopify MoneyV2 shape ({ amount: String, currencyCode: String }).
Many domains use this — defined here so the apps pass doesn’t have to
invent its own. Future domain ports should reuse this rather than
rolling a private one.
pub type Money {
Money(amount: String, currency_code: String)
}
Constructors
-
Money(amount: String, currency_code: String)
pub type OnlineStoreContentRecord {
OnlineStoreContentRecord(
id: String,
kind: String,
cursor: option.Option(String),
parent_id: option.Option(String),
created_at: option.Option(String),
updated_at: option.Option(String),
data: CapturedJsonValue,
)
}
Constructors
-
OnlineStoreContentRecord( id: String, kind: String, cursor: option.Option(String), parent_id: option.Option(String), created_at: option.Option(String), updated_at: option.Option(String), data: CapturedJsonValue, )
pub type OnlineStoreIntegrationRecord {
OnlineStoreIntegrationRecord(
id: String,
kind: String,
cursor: option.Option(String),
created_at: option.Option(String),
updated_at: option.Option(String),
data: CapturedJsonValue,
)
}
Constructors
-
OnlineStoreIntegrationRecord( id: String, kind: String, cursor: option.Option(String), created_at: option.Option(String), updated_at: option.Option(String), data: CapturedJsonValue, )
Idempotency record for orderCreateMandatePayment.
pub type OrderMandatePaymentRecord {
OrderMandatePaymentRecord(
order_id: String,
idempotency_key: String,
job_id: String,
payment_reference_id: String,
transaction_id: String,
)
}
Constructors
-
OrderMandatePaymentRecord( order_id: String, idempotency_key: String, job_id: String, payment_reference_id: String, transaction_id: String, )
pub type OrderRecord {
OrderRecord(
id: String,
cursor: option.Option(String),
data: CapturedJsonValue,
)
}
Constructors
-
OrderRecord( id: String, cursor: option.Option(String), data: CapturedJsonValue, )
Payment-customization owned metafield row.
pub type PaymentCustomizationMetafieldRecord {
PaymentCustomizationMetafieldRecord(
id: String,
payment_customization_id: String,
namespace: String,
key: String,
type_: option.Option(String),
value: option.Option(String),
compare_digest: option.Option(String),
created_at: option.Option(String),
updated_at: option.Option(String),
owner_type: option.Option(String),
)
}
Constructors
-
PaymentCustomizationMetafieldRecord( id: String, payment_customization_id: String, namespace: String, key: String, type_: option.Option(String), value: option.Option(String), compare_digest: option.Option(String), created_at: option.Option(String), updated_at: option.Option(String), owner_type: option.Option(String), )
Mirrors PaymentCustomizationRecord.
pub type PaymentCustomizationRecord {
PaymentCustomizationRecord(
id: String,
title: option.Option(String),
enabled: option.Option(Bool),
function_id: option.Option(String),
function_handle: option.Option(String),
metafields: List(PaymentCustomizationMetafieldRecord),
)
}
Constructors
-
PaymentCustomizationRecord( id: String, title: option.Option(String), enabled: option.Option(Bool), function_id: option.Option(String), function_handle: option.Option(String), metafields: List(PaymentCustomizationMetafieldRecord), )
Mirrors PaymentReminderSendRecord.
pub type PaymentReminderSendRecord {
PaymentReminderSendRecord(
id: String,
payment_schedule_id: String,
sent_at: String,
)
}
Constructors
-
PaymentReminderSendRecord( id: String, payment_schedule_id: String, sent_at: String, )
Mirrors the payment-schedule projection used by payment terms.
pub type PaymentScheduleRecord {
PaymentScheduleRecord(
id: String,
due_at: option.Option(String),
issued_at: option.Option(String),
completed_at: option.Option(String),
due: option.Option(Bool),
amount: option.Option(Money),
balance_due: option.Option(Money),
total_balance: option.Option(Money),
)
}
Constructors
-
PaymentScheduleRecord( id: String, due_at: option.Option(String), issued_at: option.Option(String), completed_at: option.Option(String), due: option.Option(Bool), amount: option.Option(Money), balance_due: option.Option(Money), total_balance: option.Option(Money), )
pub type PaymentSettingsRecord {
PaymentSettingsRecord(supported_digital_wallets: List(String))
}
Constructors
-
PaymentSettingsRecord(supported_digital_wallets: List(String))
Normalized payment terms staged against an order or draft order owner.
pub type PaymentTermsRecord {
PaymentTermsRecord(
id: String,
owner_id: String,
due: Bool,
overdue: Bool,
due_in_days: option.Option(Int),
payment_terms_name: String,
payment_terms_type: String,
translated_name: String,
payment_schedules: List(PaymentScheduleRecord),
)
}
Constructors
-
PaymentTermsRecord( id: String, owner_id: String, due: Bool, overdue: Bool, due_in_days: option.Option(Int), payment_terms_name: String, payment_terms_type: String, translated_name: String, payment_schedules: List(PaymentScheduleRecord), )
Mirrors PaymentTermsTemplateRecord.
pub type PaymentTermsTemplateRecord {
PaymentTermsTemplateRecord(
id: String,
name: String,
description: String,
due_in_days: option.Option(Int),
payment_terms_type: String,
translated_name: String,
)
}
Constructors
-
PaymentTermsTemplateRecord( id: String, name: String, description: String, due_in_days: option.Option(Int), payment_terms_type: String, translated_name: String, )
Mirrors PriceListRecord in src/state/types.ts.
pub type PriceListRecord {
PriceListRecord(
id: String,
cursor: option.Option(String),
data: CapturedJsonValue,
)
}
Constructors
-
PriceListRecord( id: String, cursor: option.Option(String), data: CapturedJsonValue, )
pub type ProductCategoryRecord {
ProductCategoryRecord(id: String, full_name: String)
}
Constructors
-
ProductCategoryRecord(id: String, full_name: String)
pub type ProductCollectionRecord {
ProductCollectionRecord(
collection_id: String,
product_id: String,
position: Int,
cursor: option.Option(String),
)
}
Constructors
-
ProductCollectionRecord( collection_id: String, product_id: String, position: Int, cursor: option.Option(String), )
pub type ProductFeedRecord {
ProductFeedRecord(
id: String,
country: option.Option(String),
language: option.Option(String),
status: String,
)
}
Constructors
-
ProductFeedRecord( id: String, country: option.Option(String), language: option.Option(String), status: String, )
pub type ProductMediaRecord {
ProductMediaRecord(
key: String,
product_id: String,
position: Int,
id: option.Option(String),
media_content_type: option.Option(String),
alt: option.Option(String),
status: option.Option(String),
product_image_id: option.Option(String),
image_url: option.Option(String),
image_width: option.Option(Int),
image_height: option.Option(Int),
preview_image_url: option.Option(String),
source_url: option.Option(String),
)
}
Constructors
-
ProductMediaRecord( key: String, product_id: String, position: Int, id: option.Option(String), media_content_type: option.Option(String), alt: option.Option(String), status: option.Option(String), product_image_id: option.Option(String), image_url: option.Option(String), image_width: option.Option(Int), image_height: option.Option(Int), preview_image_url: option.Option(String), source_url: option.Option(String), )
pub type ProductMetafieldRecord {
ProductMetafieldRecord(
id: String,
owner_id: String,
namespace: String,
key: String,
type_: option.Option(String),
value: option.Option(String),
compare_digest: option.Option(String),
json_value: option.Option(json.Json),
created_at: option.Option(String),
updated_at: option.Option(String),
owner_type: option.Option(String),
)
}
Constructors
-
ProductMetafieldRecord( id: String, owner_id: String, namespace: String, key: String, type_: option.Option(String), value: option.Option(String), compare_digest: option.Option(String), json_value: option.Option(json.Json), created_at: option.Option(String), updated_at: option.Option(String), owner_type: option.Option(String), )
pub type ProductOperationRecord {
ProductOperationRecord(
id: String,
type_name: String,
product_id: option.Option(String),
new_product_id: option.Option(String),
status: String,
user_errors: List(ProductOperationUserErrorRecord),
)
}
Constructors
-
ProductOperationRecord( id: String, type_name: String, product_id: option.Option(String), new_product_id: option.Option(String), status: String, user_errors: List(ProductOperationUserErrorRecord), )
pub type ProductOperationUserErrorRecord {
ProductOperationUserErrorRecord(
field: option.Option(List(String)),
message: String,
)
}
Constructors
-
ProductOperationUserErrorRecord( field: option.Option(List(String)), message: String, )
pub type ProductOptionRecord {
ProductOptionRecord(
id: String,
product_id: String,
name: String,
position: Int,
option_values: List(ProductOptionValueRecord),
)
}
Constructors
-
ProductOptionRecord( id: String, product_id: String, name: String, position: Int, option_values: List(ProductOptionValueRecord), )
pub type ProductOptionValueRecord {
ProductOptionValueRecord(
id: String,
name: String,
has_variants: Bool,
)
}
Constructors
-
ProductOptionValueRecord( id: String, name: String, has_variants: Bool, )
pub type ProductRecord {
ProductRecord(
id: String,
legacy_resource_id: option.Option(String),
title: String,
handle: String,
status: String,
vendor: option.Option(String),
product_type: option.Option(String),
tags: List(String),
total_inventory: option.Option(Int),
tracks_inventory: option.Option(Bool),
created_at: option.Option(String),
updated_at: option.Option(String),
published_at: option.Option(String),
description_html: String,
online_store_preview_url: option.Option(String),
template_suffix: option.Option(String),
seo: ProductSeoRecord,
category: option.Option(ProductCategoryRecord),
publication_ids: List(String),
contextual_pricing: option.Option(CapturedJsonValue),
cursor: option.Option(String),
)
}
Constructors
-
ProductRecord( id: String, legacy_resource_id: option.Option(String), title: String, handle: String, status: String, vendor: option.Option(String), product_type: option.Option(String), tags: List(String), total_inventory: option.Option(Int), tracks_inventory: option.Option(Bool), created_at: option.Option(String), updated_at: option.Option(String), published_at: option.Option(String), description_html: String, online_store_preview_url: option.Option(String), template_suffix: option.Option(String), seo: ProductSeoRecord, category: option.Option(ProductCategoryRecord), publication_ids: List(String), contextual_pricing: option.Option(CapturedJsonValue), cursor: option.Option(String), )
pub type ProductResourceFeedbackRecord {
ProductResourceFeedbackRecord(
product_id: String,
state: String,
feedback_generated_at: String,
product_updated_at: String,
messages: List(String),
)
}
Constructors
-
ProductResourceFeedbackRecord( product_id: String, state: String, feedback_generated_at: String, product_updated_at: String, messages: List(String), )
pub type ProductSeoRecord {
ProductSeoRecord(
title: option.Option(String),
description: option.Option(String),
)
}
Constructors
-
ProductSeoRecord( title: option.Option(String), description: option.Option(String), )
pub type ProductVariantRecord {
ProductVariantRecord(
id: String,
product_id: String,
title: String,
sku: option.Option(String),
barcode: option.Option(String),
price: option.Option(String),
compare_at_price: option.Option(String),
taxable: option.Option(Bool),
inventory_policy: option.Option(String),
inventory_quantity: option.Option(Int),
selected_options: List(ProductVariantSelectedOptionRecord),
media_ids: List(String),
inventory_item: option.Option(InventoryItemRecord),
contextual_pricing: option.Option(CapturedJsonValue),
cursor: option.Option(String),
)
}
Constructors
-
ProductVariantRecord( id: String, product_id: String, title: String, sku: option.Option(String), barcode: option.Option(String), price: option.Option(String), compare_at_price: option.Option(String), taxable: option.Option(Bool), inventory_policy: option.Option(String), inventory_quantity: option.Option(Int), selected_options: List(ProductVariantSelectedOptionRecord), media_ids: List(String), inventory_item: option.Option(InventoryItemRecord), contextual_pricing: option.Option(CapturedJsonValue), cursor: option.Option(String), )
pub type ProductVariantSelectedOptionRecord {
ProductVariantSelectedOptionRecord(name: String, value: String)
}
Constructors
-
ProductVariantSelectedOptionRecord(name: String, value: String)
pub type PublicationRecord {
PublicationRecord(
id: String,
name: option.Option(String),
auto_publish: option.Option(Bool),
supports_future_publishing: option.Option(Bool),
catalog_id: option.Option(String),
channel_id: option.Option(String),
cursor: option.Option(String),
)
}
Constructors
-
PublicationRecord( id: String, name: option.Option(String), auto_publish: option.Option(Bool), supports_future_publishing: option.Option(Bool), catalog_id: option.Option(String), channel_id: option.Option(String), cursor: option.Option(String), )
pub type ReverseDeliveryRecord {
ReverseDeliveryRecord(
id: String,
reverse_fulfillment_order_id: String,
data: CapturedJsonValue,
)
}
Constructors
-
ReverseDeliveryRecord( id: String, reverse_fulfillment_order_id: String, data: CapturedJsonValue, )
pub type ReverseFulfillmentOrderRecord {
ReverseFulfillmentOrderRecord(
id: String,
data: CapturedJsonValue,
)
}
Constructors
-
ReverseFulfillmentOrderRecord( id: String, data: CapturedJsonValue, )
One key/value filter on a saved search. Mirrors
SavedSearchRecord['filters'][number].
pub type SavedSearchFilter {
SavedSearchFilter(key: String, value: String)
}
Constructors
-
SavedSearchFilter(key: String, value: String)
A single saved-search record. Mirrors SavedSearchRecord in
src/state/types.ts. cursor is set on records the proxy stages
from upstream-hybrid responses; static defaults and freshly-created
records carry None.
pub type SavedSearchRecord {
SavedSearchRecord(
id: String,
legacy_resource_id: String,
name: String,
query: String,
resource_type: String,
search_terms: String,
filters: List(SavedSearchFilter),
cursor: option.Option(String),
)
}
Constructors
-
SavedSearchRecord( id: String, legacy_resource_id: String, name: String, query: String, resource_type: String, search_terms: String, filters: List(SavedSearchFilter), cursor: option.Option(String), )
Mirrors SegmentRecord. Customer segments are upstream resources the
proxy mirrors locally so create/update/delete mutations can be staged
without contacting Admin. Every field except id is nullable to match
the Admin GraphQL schema.
pub type SegmentRecord {
SegmentRecord(
id: String,
name: option.Option(String),
query: option.Option(String),
creation_date: option.Option(String),
last_edit_date: option.Option(String),
)
}
Constructors
-
SegmentRecord( id: String, name: option.Option(String), query: option.Option(String), creation_date: option.Option(String), last_edit_date: option.Option(String), )
pub type SellingPlanGroupRecord {
SellingPlanGroupRecord(
id: String,
app_id: option.Option(String),
name: String,
merchant_code: String,
description: option.Option(String),
options: List(String),
position: option.Option(Int),
summary: option.Option(String),
created_at: option.Option(String),
product_ids: List(String),
product_variant_ids: List(String),
selling_plans: List(SellingPlanRecord),
cursor: option.Option(String),
)
}
Constructors
-
SellingPlanGroupRecord( id: String, app_id: option.Option(String), name: String, merchant_code: String, description: option.Option(String), options: List(String), position: option.Option(Int), summary: option.Option(String), created_at: option.Option(String), product_ids: List(String), product_variant_ids: List(String), selling_plans: List(SellingPlanRecord), cursor: option.Option(String), )
pub type SellingPlanRecord {
SellingPlanRecord(id: String, data: CapturedJsonValue)
}
Constructors
-
SellingPlanRecord(id: String, data: CapturedJsonValue)
pub type ShippingOrderRecord {
ShippingOrderRecord(id: String, data: CapturedJsonValue)
}
Constructors
-
ShippingOrderRecord(id: String, data: CapturedJsonValue)
pub type ShippingPackageDimensionsRecord {
ShippingPackageDimensionsRecord(
length: option.Option(Float),
width: option.Option(Float),
height: option.Option(Float),
unit: option.Option(String),
)
}
Constructors
-
ShippingPackageDimensionsRecord( length: option.Option(Float), width: option.Option(Float), height: option.Option(Float), unit: option.Option(String), )
pub type ShippingPackageRecord {
ShippingPackageRecord(
id: String,
name: option.Option(String),
type_: option.Option(String),
default: Bool,
weight: option.Option(ShippingPackageWeightRecord),
dimensions: option.Option(ShippingPackageDimensionsRecord),
created_at: String,
updated_at: String,
)
}
Constructors
-
ShippingPackageRecord( id: String, name: option.Option(String), type_: option.Option(String), default: Bool, weight: option.Option(ShippingPackageWeightRecord), dimensions: option.Option(ShippingPackageDimensionsRecord), created_at: String, updated_at: String, )
pub type ShippingPackageWeightRecord {
ShippingPackageWeightRecord(
value: option.Option(Float),
unit: option.Option(String),
)
}
Constructors
-
ShippingPackageWeightRecord( value: option.Option(Float), unit: option.Option(String), )
pub type ShopAddressRecord {
ShopAddressRecord(
id: String,
address1: option.Option(String),
address2: option.Option(String),
city: option.Option(String),
company: option.Option(String),
coordinates_validated: Bool,
country: option.Option(String),
country_code_v2: option.Option(String),
formatted: List(String),
formatted_area: option.Option(String),
latitude: option.Option(Float),
longitude: option.Option(Float),
phone: option.Option(String),
province: option.Option(String),
province_code: option.Option(String),
zip: option.Option(String),
)
}
Constructors
-
ShopAddressRecord( id: String, address1: option.Option(String), address2: option.Option(String), city: option.Option(String), company: option.Option(String), coordinates_validated: Bool, country: option.Option(String), country_code_v2: option.Option(String), formatted: List(String), formatted_area: option.Option(String), latitude: option.Option(Float), longitude: option.Option(Float), phone: option.Option(String), province: option.Option(String), province_code: option.Option(String), zip: option.Option(String), )
pub type ShopBundlesFeatureRecord {
ShopBundlesFeatureRecord(
eligible_for_bundles: Bool,
ineligibility_reason: option.Option(String),
sells_bundles: Bool,
)
}
Constructors
-
ShopBundlesFeatureRecord( eligible_for_bundles: Bool, ineligibility_reason: option.Option(String), sells_bundles: Bool, )
pub type ShopCartTransformEligibleOperationsRecord {
ShopCartTransformEligibleOperationsRecord(
expand_operation: Bool,
merge_operation: Bool,
update_operation: Bool,
)
}
Constructors
-
ShopCartTransformEligibleOperationsRecord( expand_operation: Bool, merge_operation: Bool, update_operation: Bool, )
pub type ShopCartTransformFeatureRecord {
ShopCartTransformFeatureRecord(
eligible_operations: ShopCartTransformEligibleOperationsRecord,
)
}
Constructors
-
ShopCartTransformFeatureRecord( eligible_operations: ShopCartTransformEligibleOperationsRecord, )
pub type ShopDomainRecord {
ShopDomainRecord(
id: String,
host: String,
url: String,
ssl_enabled: Bool,
)
}
Constructors
-
ShopDomainRecord( id: String, host: String, url: String, ssl_enabled: Bool, )
pub type ShopFeaturesRecord {
ShopFeaturesRecord(
avalara_avatax: Bool,
branding: String,
bundles: ShopBundlesFeatureRecord,
captcha: Bool,
cart_transform: ShopCartTransformFeatureRecord,
dynamic_remarketing: Bool,
eligible_for_subscription_migration: Bool,
eligible_for_subscriptions: Bool,
gift_cards: Bool,
harmonized_system_code: Bool,
legacy_subscription_gateway_enabled: Bool,
live_view: Bool,
paypal_express_subscription_gateway_status: String,
reports: Bool,
sells_subscriptions: Bool,
show_metrics: Bool,
storefront: Bool,
unified_markets: Bool,
)
}
Constructors
-
ShopFeaturesRecord( avalara_avatax: Bool, branding: String, bundles: ShopBundlesFeatureRecord, captcha: Bool, cart_transform: ShopCartTransformFeatureRecord, dynamic_remarketing: Bool, eligible_for_subscription_migration: Bool, eligible_for_subscriptions: Bool, gift_cards: Bool, harmonized_system_code: Bool, legacy_subscription_gateway_enabled: Bool, live_view: Bool, paypal_express_subscription_gateway_status: String, reports: Bool, sells_subscriptions: Bool, show_metrics: Bool, storefront: Bool, unified_markets: Bool, )
Mirrors ShopLocaleRecord. The set of locales this shop has enabled,
each with its primary/published flags and any market web-presence
pinning. market_web_presence_ids defaults to [] for shops without
markets configured.
pub type ShopLocaleRecord {
ShopLocaleRecord(
locale: String,
name: String,
primary: Bool,
published: Bool,
market_web_presence_ids: List(String),
)
}
Constructors
-
ShopLocaleRecord( locale: String, name: String, primary: Bool, published: Bool, market_web_presence_ids: List(String), )
pub type ShopPlanRecord {
ShopPlanRecord(
partner_development: Bool,
public_display_name: String,
shopify_plus: Bool,
)
}
Constructors
-
ShopPlanRecord( partner_development: Bool, public_display_name: String, shopify_plus: Bool, )
pub type ShopPolicyRecord {
ShopPolicyRecord(
id: String,
title: String,
body: String,
type_: String,
url: String,
created_at: String,
updated_at: String,
)
}
Constructors
-
ShopPolicyRecord( id: String, title: String, body: String, type_: String, url: String, created_at: String, updated_at: String, )
pub type ShopRecord {
ShopRecord(
id: String,
name: String,
myshopify_domain: String,
url: String,
primary_domain: ShopDomainRecord,
contact_email: String,
email: String,
currency_code: String,
enabled_presentment_currencies: List(String),
iana_timezone: String,
timezone_abbreviation: String,
timezone_offset: String,
timezone_offset_minutes: Int,
taxes_included: Bool,
tax_shipping: Bool,
unit_system: String,
weight_unit: String,
shop_address: ShopAddressRecord,
plan: ShopPlanRecord,
resource_limits: ShopResourceLimitsRecord,
features: ShopFeaturesRecord,
payment_settings: PaymentSettingsRecord,
shop_policies: List(ShopPolicyRecord),
)
}
Constructors
-
ShopRecord( id: String, name: String, myshopify_domain: String, url: String, primary_domain: ShopDomainRecord, contact_email: String, email: String, currency_code: String, enabled_presentment_currencies: List(String), iana_timezone: String, timezone_abbreviation: String, timezone_offset: String, timezone_offset_minutes: Int, taxes_included: Bool, tax_shipping: Bool, unit_system: String, weight_unit: String, shop_address: ShopAddressRecord, plan: ShopPlanRecord, resource_limits: ShopResourceLimitsRecord, features: ShopFeaturesRecord, payment_settings: PaymentSettingsRecord, shop_policies: List(ShopPolicyRecord), )
pub type ShopResourceFeedbackRecord {
ShopResourceFeedbackRecord(
id: String,
state: String,
feedback_generated_at: String,
messages: List(String),
)
}
Constructors
-
ShopResourceFeedbackRecord( id: String, state: String, feedback_generated_at: String, messages: List(String), )
pub type ShopResourceLimitsRecord {
ShopResourceLimitsRecord(
location_limit: Int,
max_product_options: Int,
max_product_variants: Int,
redirect_limit_reached: Bool,
)
}
Constructors
-
ShopResourceLimitsRecord( location_limit: Int, max_product_options: Int, max_product_variants: Int, redirect_limit_reached: Bool, )
Mirrors the selected App object carried by upstream-hydrated
ShopifyFunctionRecord.app metadata.
pub type ShopifyFunctionAppRecord {
ShopifyFunctionAppRecord(
typename: option.Option(String),
id: option.Option(String),
title: option.Option(String),
handle: option.Option(String),
api_key: option.Option(String),
)
}
Constructors
-
ShopifyFunctionAppRecord( typename: option.Option(String), id: option.Option(String), title: option.Option(String), handle: option.Option(String), api_key: option.Option(String), )
Mirrors ShopifyFunctionRecord. Locally minted records do not
invent app metadata, but captured/upstream-seeded records preserve
their owner app shape for downstream reads.
pub type ShopifyFunctionRecord {
ShopifyFunctionRecord(
id: String,
title: option.Option(String),
handle: option.Option(String),
api_type: option.Option(String),
description: option.Option(String),
app_key: option.Option(String),
app: option.Option(ShopifyFunctionAppRecord),
)
}
Constructors
-
ShopifyFunctionRecord( id: String, title: option.Option(String), handle: option.Option(String), api_type: option.Option(String), description: option.Option(String), app_key: option.Option(String), app: option.Option(ShopifyFunctionAppRecord), )
Mirrors StoreCreditAccountRecord.
pub type StoreCreditAccountRecord {
StoreCreditAccountRecord(
id: String,
customer_id: String,
cursor: option.Option(String),
balance: Money,
)
}
Constructors
-
StoreCreditAccountRecord( id: String, customer_id: String, cursor: option.Option(String), balance: Money, )
Locally staged publishable mutation payload for the minimal Product / Collection publication projection used by Store Properties parity.
pub type StorePropertyMutationPayloadRecord {
StorePropertyMutationPayloadRecord(
key: String,
data: dict.Dict(String, StorePropertyValue),
)
}
Constructors
-
StorePropertyMutationPayloadRecord( key: String, data: dict.Dict(String, StorePropertyValue), )
Captured Store Properties resource row, keyed by Shopify GID where the
captured payload has one. cursor preserves connection order evidence.
pub type StorePropertyRecord {
StorePropertyRecord(
id: String,
cursor: option.Option(String),
data: dict.Dict(String, StorePropertyValue),
)
}
Constructors
-
StorePropertyRecord( id: String, cursor: option.Option(String), data: dict.Dict(String, StorePropertyValue), )
JSON-shaped Store Properties resource value. This is used for captured Location, BusinessEntity, Product, and Collection projection slices whose full owning domains have not all been ported yet.
pub type StorePropertyValue {
StorePropertyNull
StorePropertyString(String)
StorePropertyBool(Bool)
StorePropertyInt(Int)
StorePropertyFloat(Float)
StorePropertyList(List(StorePropertyValue))
StorePropertyObject(dict.Dict(String, StorePropertyValue))
}
Constructors
-
StorePropertyNull -
StorePropertyString(String) -
StorePropertyBool(Bool) -
StorePropertyInt(Int) -
StorePropertyFloat(Float) -
StorePropertyList(List(StorePropertyValue)) -
StorePropertyObject(dict.Dict(String, StorePropertyValue))
Mirrors TaxAppConfigurationRecord. The proxy stores this as a
singleton (one configuration per shop), unlike the validation /
cart-transform records which live in keyed dictionaries.
pub type TaxAppConfigurationRecord {
TaxAppConfigurationRecord(
id: String,
ready: Bool,
state: String,
updated_at: option.Option(String),
)
}
Constructors
-
TaxAppConfigurationRecord( id: String, ready: Bool, state: String, updated_at: option.Option(String), )
Mirrors TranslationRecord. One translation entry keyed by
(resource_id, locale, market_id, key). translatable_content_digest
is the upstream digest the client supplied at register time;
outdated flips to True when the underlying source content
changes (this port treats every staged translation as fresh —
outdated: False — until source-content tracking ports).
pub type TranslationRecord {
TranslationRecord(
resource_id: String,
key: String,
locale: String,
value: String,
translatable_content_digest: String,
market_id: option.Option(String),
updated_at: String,
outdated: Bool,
)
}
Constructors
-
TranslationRecord( resource_id: String, key: String, locale: String, value: String, translatable_content_digest: String, market_id: option.Option(String), updated_at: String, outdated: Bool, )
Mirrors ValidationRecord. enable/blockOnFailure are nullable
in TS so the same handler can model partial upstream payloads;
here they’re Option(Bool).
pub type ValidationRecord {
ValidationRecord(
id: String,
title: option.Option(String),
enable: option.Option(Bool),
block_on_failure: option.Option(Bool),
function_id: option.Option(String),
function_handle: option.Option(String),
shopify_function_id: option.Option(String),
created_at: option.Option(String),
updated_at: option.Option(String),
)
}
Constructors
-
ValidationRecord( id: String, title: option.Option(String), enable: option.Option(Bool), block_on_failure: option.Option(Bool), function_id: option.Option(String), function_handle: option.Option(String), shopify_function_id: option.Option(String), created_at: option.Option(String), updated_at: option.Option(String), )
Mirrors WebPresenceRecord in src/state/types.ts.
pub type WebPresenceRecord {
WebPresenceRecord(
id: String,
cursor: option.Option(String),
data: CapturedJsonValue,
)
}
Constructors
-
WebPresenceRecord( id: String, cursor: option.Option(String), data: CapturedJsonValue, )
Mirrors WebhookSubscriptionEndpointRecord in
src/state/types.ts. The TS schema is one record with all three
endpoint variants and a __typename discriminator; in Gleam it’s
a sum type with one variant per endpoint kind. Each variant only
carries the fields its __typename uses, so impossible
combinations (e.g. an HTTP endpoint with an arn) are
unrepresentable.
pub type WebhookSubscriptionEndpoint {
WebhookHttpEndpoint(callback_url: option.Option(String))
WebhookEventBridgeEndpoint(arn: option.Option(String))
WebhookPubSubEndpoint(
pub_sub_project: option.Option(String),
pub_sub_topic: option.Option(String),
)
}
Constructors
-
WebhookHttpEndpoint(callback_url: option.Option(String)) -
WebhookEventBridgeEndpoint(arn: option.Option(String)) -
WebhookPubSubEndpoint( pub_sub_project: option.Option(String), pub_sub_topic: option.Option(String), )
Mirrors WebhookSubscriptionRecord. endpoint is None to model
the TS endpoint: ... | null.
pub type WebhookSubscriptionRecord {
WebhookSubscriptionRecord(
id: String,
topic: option.Option(String),
uri: option.Option(String),
name: option.Option(String),
format: option.Option(String),
include_fields: List(String),
metafield_namespaces: List(String),
filter: option.Option(String),
created_at: option.Option(String),
updated_at: option.Option(String),
endpoint: option.Option(WebhookSubscriptionEndpoint),
)
}
Constructors
-
WebhookSubscriptionRecord( id: String, topic: option.Option(String), uri: option.Option(String), name: option.Option(String), format: option.Option(String), include_fields: List(String), metafield_namespaces: List(String), filter: option.Option(String), created_at: option.Option(String), updated_at: option.Option(String), endpoint: option.Option(WebhookSubscriptionEndpoint), )