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
parent 8532c966b5
commit 0acc462e1e
9 changed files with 222 additions and 5179 deletions

View File

@@ -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

View File

@@ -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)

View File

@@ -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

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -28,6 +28,7 @@ export * from "./routes/admin/notifications"
export * from "./routes/admin/shipping-profiles"
export * from "./routes/admin/store"
export * from "./routes/admin/variants"
export * from "./routes/admin/return-reasons"
export * from "./routes/admin/swaps"
export * from "./routes/admin/regions"
// Store

View File

@@ -1,7 +1,7 @@
import { ReturnReasonService } from "../../../../services"
/**
* @oas [delete] /return-reason/{id}
* @oas [delete] /return-reasons/{id}
* operationId: "DeleteReturnReason"
* summary: "Delete a return reason"
* description: "Deletes a return reason."

View File

@@ -1,5 +1,6 @@
import { Router } from "express"
import { ReturnReason } from "../../../.."
import { DeleteResponse } from "../../../../types/common"
import middlewares from "../../../middlewares"
const route = Router()
@@ -51,12 +52,15 @@ export const defaultAdminReturnReasonsRelations = [
"return_reason_children",
]
export type AdminReturnReasonRes = {
return_reasons: ReturnReason
export type AdminReturnReasonsRes = {
return_reason: ReturnReason
}
export type AdminReturnReasonsListRes = {
return_reasons: ReturnReason[]
}
export type AdminReturnReasonsDeleteRes = DeleteResponse
export * from "./create-reason"
export * from "./update-reason"

View File

@@ -45,4 +45,3 @@ export type StoreReturnReasonsRes = {
}
export * from "./get-reason"
export * from "./list-reasons"