Skip to main content

ShopifyPlugin

Struct ShopifyPlugin 

Source
pub struct ShopifyPlugin { /* private fields */ }
Expand description

Shopify as an Autumn plugin.

Implementations§

Source§

impl ShopifyPlugin

Source

pub fn new() -> Self

Make the plugin.

Source

pub fn configure( self, configure: impl Fn(&mut ShopifyConfig) + Send + Sync + 'static, ) -> Self

Change config values in code. The closure runs after the file and the environment, so its values win. It cannot set secrets.

Source

pub fn webhook( self, topic: impl Into<String>, handler: impl IntoWebhookHandler, ) -> Self

Handle webhooks for topic, for example orders/create.

A malformed or repeated topic stops the startup.

Source

pub fn token_store(self, store: Arc<dyn TokenStore>) -> Self

Replace the in-memory token store.

Source

pub fn delivery_store(self, store: Arc<dyn DeliveryStore>) -> Self

Replace the in-memory duplicate-delivery store.

Source

pub fn on_install<F, Fut>(self, handler: F) -> Self
where F: Fn(InstallContext) -> Fut + Send + Sync + 'static, Fut: Future<Output = AutumnResult<()>> + Send + 'static,

Run handler after each install, when the token is stored. Use it to save a shop record or to subscribe webhooks. An error gives 500. The token stays in the store.

Source

pub fn admin_base_url(self, base_url: impl Into<String>) -> Self

Send Admin API and OAuth calls to base_url instead of https://{shop}. For tests only: the startup fails unless the host is localhost, 127.0.0.1, or [::1], because the calls carry the client secret and the tokens.

Source

pub fn build_runtime(&self, config: ShopifyConfig) -> Result<ShopifyRuntime>

Build the runtime from a loaded config: apply the builder closures, validate, and register the webhook handlers.

The startup hook calls this with ShopifyConfig::load. Tests call it with ShopifyConfig::from_sources.

§Errors

Returns Error::Config when the config is not valid or a webhook topic is malformed or repeated.

Trait Implementations§

Source§

impl Clone for ShopifyPlugin

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ShopifyPlugin

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for ShopifyPlugin

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl Plugin for ShopifyPlugin

Source§

fn contract(&self) -> Option<PluginContract>

Declare the supported autumn-web range. A mismatch fails at registration with both versions named.

Source§

fn name(&self) -> Cow<'static, str>

Stable identifier used for duplicate-registration detection. Read more
Source§

fn build(self, app: AppBuilder) -> AppBuilder

Apply this plugin’s configuration to the builder. Read more
Source§

fn route_group(&self) -> Cow<'static, str>

The route group of the routes this plugin adds (#3544). Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> FromRef<T> for T
where T: Clone,

Source§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<P> Plugins for P
where P: Plugin,

Source§

fn apply(self, app: AppBuilder) -> AppBuilder

Apply every plugin in this bundle to the builder, in declaration order.
Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> Scoped for T
where T: Send + Sync + 'static,

Source§

fn scope(ctx: &PolicyContext) -> ScopeQuery<'_, Self>

Open a deferred ScopeQuery for this type. Resolves the registered scope at .load() time, not here.
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more