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:
Christian authored and GitHub committed 2024-08-08 16:24:13 +02:00
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"
@@ -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,
}
)
}
+1 -2
View File
@@ -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>
}
+5 -28
View File
@@ -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.
*