shopify_client/services/storefront_access_token/
mod.rs1pub mod remote;
2
3use std::sync::Arc;
4
5use crate::{
6 common::types::{APIError, RequestCallbacks},
7 types::storefront_access_token::{
8 ListStorefrontAccessTokensResp, StorefrontAccessTokenCreateInput,
9 StorefrontAccessTokenCreateResp, StorefrontAccessTokenDeleteInput,
10 StorefrontAccessTokenDeleteResp,
11 },
12};
13
14pub struct StorefrontAccessToken {
15 pub shop_url: Arc<String>,
16 pub version: Arc<String>,
17 pub access_token: Arc<String>,
18 pub callbacks: Arc<RequestCallbacks>,
19}
20
21impl StorefrontAccessToken {
22 pub fn new(
23 shop_url: Arc<String>,
24 version: Arc<String>,
25 access_token: Arc<String>,
26 callbacks: Arc<RequestCallbacks>,
27 ) -> Self {
28 StorefrontAccessToken {
29 shop_url,
30 version,
31 access_token,
32 callbacks,
33 }
34 }
35
36 pub async fn list(&self) -> Result<ListStorefrontAccessTokensResp, APIError> {
37 remote::list_storefront_access_tokens(
38 &self.shop_url,
39 &self.version,
40 &self.access_token,
41 &self.callbacks,
42 )
43 .await
44 }
45
46 pub async fn create(
47 &self,
48 input: &StorefrontAccessTokenCreateInput,
49 ) -> Result<StorefrontAccessTokenCreateResp, APIError> {
50 remote::create_storefront_access_token(
51 &self.shop_url,
52 &self.version,
53 &self.access_token,
54 &self.callbacks,
55 input,
56 )
57 .await
58 }
59
60 pub async fn delete(
61 &self,
62 input: &StorefrontAccessTokenDeleteInput,
63 ) -> Result<StorefrontAccessTokenDeleteResp, APIError> {
64 remote::delete_storefront_access_token(
65 &self.shop_url,
66 &self.version,
67 &self.access_token,
68 &self.callbacks,
69 input,
70 )
71 .await
72 }
73}