Files
medusa-store/packages/medusa-js/src/index.ts
Kasper Fabricius Kristensen 3a911091f1 hotfix(medusa-js): Export resources classes and make client public (#3271)
* export all ressource classes and make client public

* add changeset
2023-02-16 09:03:49 +01:00

93 lines
3.0 KiB
TypeScript

import MedusaError from "./error"
import KeyManager from "./key-manager"
import Client, { Config } from "./request"
import {
Admin,
AuthResource,
CartsResource,
CollectionsResource,
CustomersResource,
GiftCardsResource,
OrderEditsResource,
OrdersResource,
PaymentCollectionsResource,
PaymentMethodsResource,
ProductCategoriesResource,
ProductsResource,
ProductTagsResource,
ProductTypesResource,
RegionsResource,
ReturnReasonsResource,
ReturnsResource,
ShippingOptionsResource,
SwapsResource,
} from "./resources"
class Medusa {
public client: Client
public admin: Admin
public auth: AuthResource
public carts: CartsResource
public customers: CustomersResource
public errors: MedusaError
public orders: OrdersResource
public orderEdits: OrderEditsResource
public products: ProductsResource
public productTypes: ProductTypesResource
public regions: RegionsResource
public returnReasons: ReturnReasonsResource
public returns: ReturnsResource
public shippingOptions: ShippingOptionsResource
public swaps: SwapsResource
public collections: CollectionsResource
public giftCards: GiftCardsResource
public paymentMethods: PaymentMethodsResource
public paymentCollections: PaymentCollectionsResource
public productTags: ProductTagsResource
public productCategories: ProductCategoriesResource
constructor(config: Config) {
this.client = new Client(config)
this.admin = new Admin(this.client)
this.auth = new AuthResource(this.client)
this.carts = new CartsResource(this.client)
this.customers = new CustomersResource(this.client)
this.errors = new MedusaError()
this.orders = new OrdersResource(this.client)
this.orderEdits = new OrderEditsResource(this.client)
this.products = new ProductsResource(this.client)
this.productTypes = new ProductTypesResource(this.client)
this.regions = new RegionsResource(this.client)
this.returnReasons = new ReturnReasonsResource(this.client)
this.returns = new ReturnsResource(this.client)
this.shippingOptions = new ShippingOptionsResource(this.client)
this.swaps = new SwapsResource(this.client)
this.collections = new CollectionsResource(this.client)
this.giftCards = new GiftCardsResource(this.client)
this.paymentMethods = new PaymentMethodsResource(this.client)
this.paymentCollections = new PaymentCollectionsResource(this.client)
this.productTags = new ProductTagsResource(this.client)
this.productCategories = new ProductCategoriesResource(this.client)
}
/**
* Set a PublishableApiKey that will be sent with each request
* to define the scope of available resources.
*
* @param key - PublishableApiKey identifier
*/
setPublishableKey(key: string) {
KeyManager.registerPublishableApiKey(key)
}
}
export default Medusa
export { default as MedusaError } from "./error"
export { default as KeyManager } from "./key-manager"
export { Config, default as Client } from "./request"
export * from "./resources"
export * from "./typings"