feat: medusa-js admin return reasons (#931)

* add: return-reasons admin endpoint to medusa-js

* fix types

* fix jsdoc

* fix typo jsdoc collection

Co-authored-by: Sebastian Rindom <seb@medusajs.com>
This commit is contained in:
Zakaria El Asri
2021-12-16 14:34:14 +01:00
committed by GitHub
co-authored by Sebastian Rindom
parent 8532c966b5
commit 0acc462e1e
9 changed files with 222 additions and 5179 deletions
@@ -59,7 +59,7 @@ class AdminCollectionsResource extends BaseResource {
/**
* @description Lists collections matching a query
* @param query Query for searching collections
* @returns a list of colllections matching the query.
* @returns a list of collections matching the query.
*/
list(
query?: AdminGetCollectionsParams
@@ -7,6 +7,7 @@ import AdminDraftOrdersResource from "./draft-orders"
import AdminGiftCardsResource from "./gift-cards"
import AdminInvitesResource from "./invites"
import AdminNotesResource from "./notes"
import AdminReturnReasonsResource from "./return-reasons"
import AdminVariantsResource from "./variants"
import AdminSwapsResource from "./swaps"
import AdminShippingProfilesResource from "./shipping-profiles"
@@ -21,6 +22,7 @@ class Admin extends BaseResource {
public giftCards = new AdminGiftCardsResource(this.client)
public invites = new AdminInvitesResource(this.client)
public notes = new AdminNotesResource(this.client)
public returnReasons = new AdminReturnReasonsResource(this.client)
public variants = new AdminVariantsResource(this.client)
public swaps = new AdminSwapsResource(this.client)
public shippingProfiles = new AdminShippingProfilesResource(this.client)
@@ -0,0 +1,70 @@
import {
AdminPostReturnReasonsReq,
AdminReturnReasonsRes,
AdminReturnReasonsDeleteRes,
AdminReturnReasonsListRes,
AdminPostReturnReasonsReasonReq,
} from "@medusajs/medusa"
import { ResponsePromise } from "../../typings"
import BaseResource from "../base"
class AdminReturnReasonsResource extends BaseResource {
/**
* @description Creates a return reason.
* @param payload
* @returns Created return reason.
*/
create(
payload: AdminPostReturnReasonsReq
): ResponsePromise<AdminReturnReasonsRes> {
const path = `/admin/return-reasons`
return this.client.request("POST", path, payload)
}
/**
* @description Updates a return reason
* @param id id of the return reason to update.
* @param payload update to apply to return reason.
* @returns the updated return reason.
*/
update(
id: string,
payload: AdminPostReturnReasonsReasonReq
): ResponsePromise<AdminReturnReasonsRes> {
const path = `/admin/return-reasons/${id}`
return this.client.request("POST", path, payload)
}
/**
* @description deletes a return reason
* @param id id of return reason to delete.
* @returns Deleted response
*/
delete(id: string): ResponsePromise<AdminReturnReasonsDeleteRes> {
const path = `/admin/return-reasons/${id}`
return this.client.request("DELETE", path)
}
/**
* @description retrieves a return reason
* @param id id of the return reason to retrieve.
* @returns the return reason with the given id
*/
retrieve(id: string): ResponsePromise<AdminReturnReasonsRes> {
const path = `/admin/return-reasons/${id}`
return this.client.request("GET", path)
}
/**
* @description Lists return reasons matching a query
* @param query Query for searching return reasons
* @returns a list of return reasons matching the query.
*/
list(): ResponsePromise<AdminReturnReasonsListRes> {
const path = `/admin/return-reasons`
return this.client.request("GET", path)
}
}
export default AdminReturnReasonsResource