Feat: admin return reason list (#8482)
* feat: add missing endpoints to return reason sdk * add return reason list route * add return reason query hooks * fix update return reasons in order modules service * fix store/return-reasons middleware * add missing tests for /return-resasons/:id
This commit is contained in:
1 parent
f9989e1659
commit
d4c5f6593d
36 files changed
+724
-90
No files matched your search
@@ -1,3 +1,3 @@
|
||||
export * from "./create-return-reasons"
|
||||
export * from "./delete-return-reasons"
|
||||
export * from "./update-return-resons"
|
||||
export * from "./update-return-reasons"
|
||||
File renamed without changes.
@@ -10,14 +10,76 @@ export class ReturnReason {
|
||||
}
|
||||
|
||||
async list(
|
||||
queryParams?: HttpTypes.AdminReturnReasonListParams,
|
||||
query?: HttpTypes.AdminReturnReasonListParams,
|
||||
headers?: ClientHeaders
|
||||
) {
|
||||
return await this.client.fetch<HttpTypes.AdminReturnReasonsResponse>(
|
||||
return await this.client.fetch<HttpTypes.AdminReturnReasonListResponse>(
|
||||
"/admin/return-reasons",
|
||||
{
|
||||
headers,
|
||||
query: queryParams,
|
||||
query,
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
async retrieve(
|
||||
id: string,
|
||||
query?: HttpTypes.AdminReturnReasonParams,
|
||||
headers?: ClientHeaders
|
||||
) {
|
||||
return await this.client.fetch<HttpTypes.AdminReturnReasonResponse>(
|
||||
`/admin/return-reasons/${id}`,
|
||||
{
|
||||
query,
|
||||
headers,
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
async create(
|
||||
body: HttpTypes.AdminCreateReturnReason,
|
||||
query?: HttpTypes.AdminReturnReasonParams,
|
||||
headers?: ClientHeaders
|
||||
) {
|
||||
return this.client.fetch<HttpTypes.AdminReturnReasonResponse>(
|
||||
`/admin/return-reasons`,
|
||||
{
|
||||
method: "POST",
|
||||
headers,
|
||||
body,
|
||||
query,
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
async update(
|
||||
id: string,
|
||||
body: HttpTypes.AdminUpdateReturnReason,
|
||||
query?: HttpTypes.AdminReturnReasonParams,
|
||||
headers?: ClientHeaders
|
||||
) {
|
||||
return this.client.fetch<HttpTypes.AdminReturnReasonResponse>(
|
||||
`/admin/return-reasons/${id}`,
|
||||
{
|
||||
method: "POST",
|
||||
headers,
|
||||
body,
|
||||
query,
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
async delete(
|
||||
id: string,
|
||||
query?: HttpTypes.AdminReturnReasonParams,
|
||||
headers?: ClientHeaders
|
||||
) {
|
||||
return await this.client.fetch<HttpTypes.AdminReturnReasonDeleteResponse>(
|
||||
`/admin/return-reasons/${id}`,
|
||||
{
|
||||
method: "DELETE",
|
||||
headers,
|
||||
query,
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
@@ -24,10 +24,9 @@ export * from "./product-tag"
|
||||
export * from "./product-type"
|
||||
export * from "./promotion"
|
||||
export * from "./region"
|
||||
export * from "./return"
|
||||
export * from "./return-reason"
|
||||
export * from "./reservation"
|
||||
export * from "./return"
|
||||
export * from "./return-reason"
|
||||
export * from "./sales-channel"
|
||||
export * from "./shipping-option"
|
||||
export * from "./shipping-profile"
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
import { BaseReturnReason } from "./common"
|
||||
import { FindParams } from "../common"
|
||||
import { BaseFilterable, OperatorMap } from "../../dal"
|
||||
|
||||
export interface AdminReturnReason extends BaseReturnReason {}
|
||||
|
||||
export interface AdminCreateReturnReason {
|
||||
// TODO:
|
||||
value: string
|
||||
label: string
|
||||
description?: string
|
||||
}
|
||||
|
||||
export interface AdminReturnReasonsResponse {
|
||||
return_reasons: AdminReturnReason[]
|
||||
}
|
||||
|
||||
export interface AdminReturnReasonListParams
|
||||
extends FindParams,
|
||||
BaseFilterable<AdminReturnReasonListParams> {
|
||||
id?: string[] | string | OperatorMap<string | string[]>
|
||||
value?: string | OperatorMap<string>
|
||||
label?: string | OperatorMap<string>
|
||||
description?: string | OperatorMap<string>
|
||||
parent_return_reason_id?: string | OperatorMap<string | string[]>
|
||||
created_at?: OperatorMap<string>
|
||||
updated_at?: OperatorMap<string>
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
import { BaseReturnReason } from "../common"
|
||||
|
||||
export interface AdminReturnReason extends BaseReturnReason {}
|
||||
@@ -0,0 +1,4 @@
|
||||
export * from "./entities"
|
||||
export * from "./payloads"
|
||||
export * from "./queries"
|
||||
export * from "./responses"
|
||||
@@ -0,0 +1,14 @@
|
||||
import { AdminReturnReason } from "./entities"
|
||||
|
||||
type AdminBaseReturnReasonPayload = Pick<
|
||||
AdminReturnReason,
|
||||
"value" | "label" | "description"
|
||||
>
|
||||
|
||||
export interface AdminCreateReturnReason extends AdminBaseReturnReasonPayload {
|
||||
metadata?: Record<string, unknown> | null
|
||||
}
|
||||
|
||||
export interface AdminUpdateReturnReason extends AdminBaseReturnReasonPayload {
|
||||
metadata?: Record<string, unknown> | null
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
import { BaseFilterable, OperatorMap } from "../../../dal"
|
||||
import { SelectParams } from "../../common"
|
||||
import { BaseReturnReasonListParams } from "../common"
|
||||
|
||||
export interface AdminReturnReasonListParams
|
||||
extends BaseReturnReasonListParams,
|
||||
BaseFilterable<AdminReturnReasonListParams> {
|
||||
deleted_at?: OperatorMap<string>
|
||||
}
|
||||
|
||||
export interface AdminReturnReasonParams extends SelectParams {}
|
||||
@@ -0,0 +1,14 @@
|
||||
import { DeleteResponse, PaginatedResponse } from "../../common"
|
||||
import { AdminReturnReason } from "../admin"
|
||||
|
||||
export interface AdminReturnReasonResponse {
|
||||
return_reason: AdminReturnReason
|
||||
}
|
||||
|
||||
export interface AdminReturnReasonListResponse
|
||||
extends PaginatedResponse<{
|
||||
return_reasons: AdminReturnReason[]
|
||||
}> {}
|
||||
|
||||
export interface AdminReturnReasonDeleteResponse
|
||||
extends DeleteResponse<"return_reason"> {}
|
||||
@@ -1,3 +1,6 @@
|
||||
import { OperatorMap } from "../../dal"
|
||||
import { FindParams } from "../common"
|
||||
|
||||
export interface BaseReturnReason {
|
||||
id: string
|
||||
value: string
|
||||
@@ -7,3 +10,14 @@ export interface BaseReturnReason {
|
||||
created_at: string
|
||||
updated_at: string
|
||||
}
|
||||
|
||||
export interface BaseReturnReasonListParams extends FindParams {
|
||||
q?: string
|
||||
id?: string | string[]
|
||||
value?: string | OperatorMap<string>
|
||||
label?: string | OperatorMap<string>
|
||||
description?: string | OperatorMap<string>
|
||||
parent_return_reason_id?: string | OperatorMap<string | string[]>
|
||||
created_at?: OperatorMap<string>
|
||||
updated_at?: OperatorMap<string>
|
||||
}
|
||||
@@ -81,7 +81,6 @@ import {
|
||||
UpdateOrderLineItemTaxLineDTO,
|
||||
UpdateOrderLineItemWithSelectorDTO,
|
||||
UpdateOrderReturnReasonDTO,
|
||||
UpdateOrderReturnReasonWithSelectorDTO,
|
||||
UpdateOrderReturnWithSelectorDTO,
|
||||
UpdateOrderShippingMethodAdjustmentDTO,
|
||||
UpdateOrderShippingMethodDTO,
|
||||
@@ -3142,7 +3141,7 @@ export interface IOrderModuleService extends IModuleService {
|
||||
* ])
|
||||
*/
|
||||
softDeleteLineItemAdjustments<
|
||||
TReturnableLinkableKeys extends string = string,
|
||||
TReturnableLinkableKeys extends string = string
|
||||
>(
|
||||
ids: string[],
|
||||
config?: SoftDeleteReturn<TReturnableLinkableKeys>,
|
||||
@@ -3191,7 +3190,7 @@ export interface IOrderModuleService extends IModuleService {
|
||||
* ])
|
||||
*/
|
||||
softDeleteShippingMethodAdjustments<
|
||||
TReturnableLinkableKeys extends string = string,
|
||||
TReturnableLinkableKeys extends string = string
|
||||
>(
|
||||
ids: string[],
|
||||
config?: SoftDeleteReturn<TReturnableLinkableKeys>,
|
||||
@@ -3217,7 +3216,7 @@ export interface IOrderModuleService extends IModuleService {
|
||||
* ])
|
||||
*/
|
||||
restoreShippingMethodAdjustments<
|
||||
TReturnableLinkableKeys extends string = string,
|
||||
TReturnableLinkableKeys extends string = string
|
||||
>(
|
||||
ids: string[],
|
||||
config?: RestoreReturn<TReturnableLinkableKeys>,
|
||||
@@ -3289,7 +3288,7 @@ export interface IOrderModuleService extends IModuleService {
|
||||
* ])
|
||||
*/
|
||||
softDeleteShippingMethodTaxLines<
|
||||
TReturnableLinkableKeys extends string = string,
|
||||
TReturnableLinkableKeys extends string = string
|
||||
>(
|
||||
ids: string[],
|
||||
config?: SoftDeleteReturn<TReturnableLinkableKeys>,
|
||||
@@ -3315,7 +3314,7 @@ export interface IOrderModuleService extends IModuleService {
|
||||
* ])
|
||||
*/
|
||||
restoreShippingMethodTaxLines<
|
||||
TReturnableLinkableKeys extends string = string,
|
||||
TReturnableLinkableKeys extends string = string
|
||||
>(
|
||||
ids: string[],
|
||||
config?: RestoreReturn<TReturnableLinkableKeys>,
|
||||
@@ -3603,28 +3602,6 @@ export interface IOrderModuleService extends IModuleService {
|
||||
sharedContext?: Context
|
||||
): Promise<OrderReturnReasonDTO[]>
|
||||
|
||||
/**
|
||||
* This method updates existing return reasons.
|
||||
*
|
||||
* @param {UpdateOrderReturnReasonWithSelectorDTO[]} data - The filters that specifies which
|
||||
* return reasons to update, and the data to update in them.
|
||||
* @returns {Promise<OrderReturnReasonDTO[]>} The updated return reasons.
|
||||
*
|
||||
* @example
|
||||
* const returnReasons = await orderModuleService.updateReturnReasons([{
|
||||
* selector: {
|
||||
* id: "13"
|
||||
* },
|
||||
* data: {
|
||||
* label: "Damaged"
|
||||
* }
|
||||
* }])
|
||||
*/
|
||||
updateReturnReasons(
|
||||
data: UpdateOrderReturnReasonWithSelectorDTO[],
|
||||
sharedContext?: Context
|
||||
): Promise<OrderReturnReasonDTO[]>
|
||||
|
||||
/**
|
||||
* This method updates existing return reasons matching the specified filters.
|
||||
*
|
||||
|
||||
Reference in new issue
Block a user