shopify

package module
v5.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 27, 2021 License: MIT Imports: 19 Imported by: 0

README

go-shopify-graphql

A simple client using the Shopify GraphQL Admin API.

Getting started

Hello World example

0. Setup
export STORE_API_KEY=<private_app_api_key>
export STORE_PASSWORD=<private_app_password>
export STORE_NAME=<store_name>
1. Program
package main

import (
    "fmt"

    shopify "github.com/r0busta/go-shopify-graphql/v5"
)

func main() {
    // Create client
    client := shopify.NewDefaultClient()

    // Get all collections
    collections, err := client.Collection.ListAll()
    if err != nil {
        panic(err)
    }

    // Print out the result
    for _, c := range collections {
        fmt.Println(c.Handle)
    }
}
3. Run
go run .

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BulkOperationService

type BulkOperationService interface {
	BulkQuery(query string, v interface{}) error

	PostBulkQuery(query string) (*string, error)
	GetCurrentBulkQuery() (*model.BulkOperation, error)
	GetCurrentBulkQueryResultURL() (*string, error)
	WaitForCurrentBulkQuery(interval time.Duration) (*model.BulkOperation, error)
	ShouldGetBulkQueryResultURL(id *string) (*string, error)
	CancelRunningBulkQuery() error
}

type BulkOperationServiceOp

type BulkOperationServiceOp struct {
	// contains filtered or unexported fields
}

func (*BulkOperationServiceOp) BulkQuery

func (s *BulkOperationServiceOp) BulkQuery(query string, out interface{}) error

func (*BulkOperationServiceOp) CancelRunningBulkQuery

func (s *BulkOperationServiceOp) CancelRunningBulkQuery() error

func (*BulkOperationServiceOp) GetCurrentBulkQuery

func (s *BulkOperationServiceOp) GetCurrentBulkQuery() (*model.BulkOperation, error)

func (*BulkOperationServiceOp) GetCurrentBulkQueryResultURL

func (s *BulkOperationServiceOp) GetCurrentBulkQueryResultURL() (*string, error)

func (*BulkOperationServiceOp) PostBulkQuery

func (s *BulkOperationServiceOp) PostBulkQuery(query string) (*string, error)

func (*BulkOperationServiceOp) ShouldGetBulkQueryResultURL

func (s *BulkOperationServiceOp) ShouldGetBulkQueryResultURL(id *string) (*string, error)

func (*BulkOperationServiceOp) WaitForCurrentBulkQuery

func (s *BulkOperationServiceOp) WaitForCurrentBulkQuery(interval time.Duration) (*model.BulkOperation, error)

type Client

type Client struct {
	Product       ProductService
	Variant       VariantService
	Inventory     InventoryService
	Collection    CollectionService
	Order         OrderService
	Fulfillment   FulfillmentService
	Location      LocationService
	Metafield     MetafieldService
	BulkOperation BulkOperationService
	// contains filtered or unexported fields
}

func NewClient

func NewClient(apiKey string, password string, storeName string, opts ...Option) *Client

func NewDefaultClient

func NewDefaultClient(opts ...Option) *Client

func (*Client) GraphQLClient

func (c *Client) GraphQLClient() graphql.GraphQL

type CollectionService

type CollectionService interface {
	ListAll() ([]model.Collection, error)

	Get(id string) (*model.Collection, error)

	Create(collection model.CollectionInput) (*string, error)
	CreateBulk(collections []model.CollectionInput) error

	Update(collection model.CollectionInput) error
}

type CollectionServiceOp

type CollectionServiceOp struct {
	// contains filtered or unexported fields
}

func (*CollectionServiceOp) Create

func (s *CollectionServiceOp) Create(collection model.CollectionInput) (*string, error)

func (*CollectionServiceOp) CreateBulk

func (s *CollectionServiceOp) CreateBulk(collections []model.CollectionInput) error

func (*CollectionServiceOp) Get

func (*CollectionServiceOp) ListAll

func (s *CollectionServiceOp) ListAll() ([]model.Collection, error)

func (*CollectionServiceOp) Update

func (s *CollectionServiceOp) Update(collection model.CollectionInput) error

type FulfillmentService

type FulfillmentService interface {
	Create(input model.FulfillmentV2Input) error
}

type FulfillmentServiceOp

type FulfillmentServiceOp struct {
	// contains filtered or unexported fields
}

func (*FulfillmentServiceOp) Create

func (s *FulfillmentServiceOp) Create(fulfillment model.FulfillmentV2Input) error

type InventoryService

type InventoryService interface {
	Update(id string, input model.InventoryItemUpdateInput) error
	Adjust(locationID string, input []model.InventoryAdjustItemInput) error
	ActivateInventory(locationID string, id string) error
}

type InventoryServiceOp

type InventoryServiceOp struct {
	// contains filtered or unexported fields
}

func (*InventoryServiceOp) ActivateInventory

func (s *InventoryServiceOp) ActivateInventory(locationID string, id string) error

func (*InventoryServiceOp) Adjust

func (s *InventoryServiceOp) Adjust(locationID string, input []model.InventoryAdjustItemInput) error

func (*InventoryServiceOp) Update

type ListOptions

type ListOptions struct {
	Query   string
	First   int
	Last    int
	After   string
	Before  string
	Reverse bool
}

type LocationService

type LocationService interface {
	Get(id string) (*model.Location, error)
}

type LocationServiceOp

type LocationServiceOp struct {
	// contains filtered or unexported fields
}

func (*LocationServiceOp) Get

func (s *LocationServiceOp) Get(id string) (*model.Location, error)

type MetafieldService

type MetafieldService interface {
	ListAllShopMetafields() ([]model.Metafield, error)
	ListShopMetafieldsByNamespace(namespace string) ([]model.Metafield, error)

	GetShopMetafieldByKey(namespace, key string) (*model.Metafield, error)

	Delete(metafield model.MetafieldDeleteInput) error
	DeleteBulk(metafield []model.MetafieldDeleteInput) error
}

type MetafieldServiceOp

type MetafieldServiceOp struct {
	// contains filtered or unexported fields
}

func (*MetafieldServiceOp) Delete

func (s *MetafieldServiceOp) Delete(metafield model.MetafieldDeleteInput) error

func (*MetafieldServiceOp) DeleteBulk

func (s *MetafieldServiceOp) DeleteBulk(metafields []model.MetafieldDeleteInput) error

func (*MetafieldServiceOp) GetShopMetafieldByKey

func (s *MetafieldServiceOp) GetShopMetafieldByKey(namespace, key string) (*model.Metafield, error)

func (*MetafieldServiceOp) ListAllShopMetafields

func (s *MetafieldServiceOp) ListAllShopMetafields() ([]model.Metafield, error)

func (*MetafieldServiceOp) ListShopMetafieldsByNamespace

func (s *MetafieldServiceOp) ListShopMetafieldsByNamespace(namespace string) ([]model.Metafield, error)

type Option added in v5.1.1

type Option func(shopClient *Client)

func WithGraphQLClient added in v5.1.1

func WithGraphQLClient(gql graphql.GraphQL) Option

type OrderService

type OrderService interface {
	Get(id graphql.ID) (*model.Order, error)

	List(opts ListOptions) ([]model.Order, error)
	ListAll() ([]model.Order, error)

	ListAfterCursor(opts ListOptions) ([]model.Order, *string, *string, error)

	Update(input model.OrderInput) error

	GetFulfillmentOrdersAtLocation(orderID graphql.ID, locationID graphql.ID) ([]model.FulfillmentOrder, error)
}

type OrderServiceOp

type OrderServiceOp struct {
	// contains filtered or unexported fields
}

func (*OrderServiceOp) Get

func (s *OrderServiceOp) Get(id graphql.ID) (*model.Order, error)

func (*OrderServiceOp) GetFulfillmentOrdersAtLocation

func (s *OrderServiceOp) GetFulfillmentOrdersAtLocation(orderID graphql.ID, locationID graphql.ID) ([]model.FulfillmentOrder, error)

func (*OrderServiceOp) List

func (s *OrderServiceOp) List(opts ListOptions) ([]model.Order, error)

func (*OrderServiceOp) ListAfterCursor

func (s *OrderServiceOp) ListAfterCursor(opts ListOptions) ([]model.Order, *string, *string, error)

func (*OrderServiceOp) ListAll

func (s *OrderServiceOp) ListAll() ([]model.Order, error)

func (*OrderServiceOp) Update

func (s *OrderServiceOp) Update(input model.OrderInput) error

type ProductService

type ProductService interface {
	List(query string) ([]model.Product, error)
	ListAll() ([]model.Product, error)

	Get(id string) (*model.Product, error)

	Create(product model.ProductInput) (*string, error)

	Update(product model.ProductInput) error

	Delete(product model.ProductDeleteInput) error

	VariantsBulkCreate(id string, input []model.ProductVariantsBulkInput) error
	VariantsBulkUpdate(id string, input []model.ProductVariantsBulkInput) error
	VariantsBulkReorder(id string, input []model.ProductVariantPositionInput) error
}

type ProductServiceOp

type ProductServiceOp struct {
	// contains filtered or unexported fields
}

func (*ProductServiceOp) Create

func (s *ProductServiceOp) Create(product model.ProductInput) (*string, error)

func (*ProductServiceOp) Delete

func (s *ProductServiceOp) Delete(product model.ProductDeleteInput) error

func (*ProductServiceOp) Get

func (s *ProductServiceOp) Get(id string) (*model.Product, error)

func (*ProductServiceOp) List

func (s *ProductServiceOp) List(query string) ([]model.Product, error)

func (*ProductServiceOp) ListAll

func (s *ProductServiceOp) ListAll() ([]model.Product, error)

func (*ProductServiceOp) Update

func (s *ProductServiceOp) Update(product model.ProductInput) error

func (*ProductServiceOp) VariantsBulkCreate added in v5.1.1

func (s *ProductServiceOp) VariantsBulkCreate(id string, input []model.ProductVariantsBulkInput) error

func (*ProductServiceOp) VariantsBulkReorder added in v5.1.1

func (s *ProductServiceOp) VariantsBulkReorder(id string, input []model.ProductVariantPositionInput) error

func (*ProductServiceOp) VariantsBulkUpdate added in v5.1.1

func (s *ProductServiceOp) VariantsBulkUpdate(id string, input []model.ProductVariantsBulkInput) error

type VariantService

type VariantService interface {
	Update(variant model.ProductVariantInput) error
}

type VariantServiceOp

type VariantServiceOp struct {
	// contains filtered or unexported fields
}

func (*VariantServiceOp) Update

func (s *VariantServiceOp) Update(variant model.ProductVariantInput) error

Directories

Path Synopsis
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL