@@ -10,30 +10,24 @@ import type {
1010 Order ,
1111 OrderFromCartDraft ,
1212 OrderImportDraft ,
13+ OrderPagedSearchResponse ,
14+ OrderSearchRequest ,
1315 Product ,
1416 ProductPagedQueryResponse ,
1517 ProductVariant ,
1618 ShippingInfo ,
1719 ShippingMethodDoesNotMatchCartError ,
1820 ShippingMethodReference ,
1921} from "@commercetools/platform-sdk" ;
20- import type { Config } from "#src/config.ts" ;
21- import { CommercetoolsError } from "#src/exceptions.ts" ;
22- import {
23- generateRandomString ,
24- getBaseResourceProperties ,
25- } from "#src/helpers.ts" ;
26- import {
27- calculateTaxedPriceFromRate ,
28- calculateTaxTotals ,
29- } from "#src/lib/tax.ts" ;
30- import {
31- createShippingInfoFromMethod ,
32- getShippingMethodsMatchingCart ,
33- } from "#src/shipping.ts" ;
34- import type { Writable } from "#src/types.ts" ;
35- import type { RepositoryContext } from "../abstract.ts" ;
36- import { AbstractResourceRepository , type QueryParams } from "../abstract.ts" ;
22+ import type { Config } from "#src/config.ts" ;
23+ import { CommercetoolsError } from "#src/exceptions.ts" ;
24+ import { generateRandomString , getBaseResourceProperties , } from "#src/helpers.ts" ;
25+ import { calculateTaxedPriceFromRate , calculateTaxTotals , } from "#src/lib/tax.ts" ;
26+ import { OrderSearch } from "#src/orderSearch.ts" ;
27+ import { createShippingInfoFromMethod , getShippingMethodsMatchingCart , } from "#src/shipping.ts" ;
28+ import type { Writable } from "#src/types.ts" ;
29+ import type { RepositoryContext } from "../abstract.ts" ;
30+ import { AbstractResourceRepository , type QueryParams } from "../abstract.ts" ;
3731import {
3832 calculateMoneyTotalCentAmount ,
3933 createAddress ,
@@ -43,12 +37,15 @@ import {
4337 createTypedMoney ,
4438 resolveStoreReference ,
4539} from "../helpers.ts" ;
46- import { OrderUpdateHandler } from "./actions.ts" ;
40+ import { OrderUpdateHandler } from "./actions.ts" ;
4741
4842export class OrderRepository extends AbstractResourceRepository < "order" > {
43+ protected _searchService : OrderSearch ;
44+
4945 constructor ( config : Config ) {
5046 super ( "order" , config ) ;
5147 this . actions = new OrderUpdateHandler ( config . storage ) ;
48+ this . _searchService = new OrderSearch ( config ) ;
5249 }
5350
5451 create ( context : RepositoryContext , draft : OrderFromCartDraft ) : Order {
@@ -265,7 +262,7 @@ export class OrderRepository extends AbstractResourceRepository<"order"> {
265262 centAmount : calculateMoneyTotalCentAmount ( draft . price . value , quantity ) ,
266263 } ) ;
267264
268- const lineItem : LineItem = {
265+ return {
269266 ...getBaseResourceProperties ( ) ,
270267 custom : createCustomFields (
271268 draft . custom ,
@@ -296,9 +293,7 @@ export class OrderRepository extends AbstractResourceRepository<"order"> {
296293 price : createPrice ( draft . price ) ,
297294 attributes : variant . attributes ,
298295 } ,
299- } ;
300-
301- return lineItem ;
296+ } satisfies LineItem ;
302297 }
303298
304299 private customLineItemFromImportDraft (
@@ -311,7 +306,7 @@ export class OrderRepository extends AbstractResourceRepository<"order"> {
311306 centAmount : calculateMoneyTotalCentAmount ( draft . money , quantity ) ,
312307 } ) ;
313308
314- const lineItem : CustomLineItem = {
309+ return {
315310 ...getBaseResourceProperties ( ) ,
316311 custom : createCustomFields (
317312 draft . custom ,
@@ -333,9 +328,7 @@ export class OrderRepository extends AbstractResourceRepository<"order"> {
333328 draft . taxRate ,
334329 ) ,
335330 taxedPricePortions : [ ] ,
336- } ;
337-
338- return lineItem ;
331+ } satisfies CustomLineItem ;
339332 }
340333
341334 getWithOrderNumber (
@@ -410,4 +403,11 @@ export class OrderRepository extends AbstractResourceRepository<"order"> {
410403 deliveries : [ ] ,
411404 } ;
412405 }
406+
407+ search (
408+ context : RepositoryContext ,
409+ searchRequest : OrderSearchRequest ,
410+ ) : OrderPagedSearchResponse {
411+ return this . _searchService . search ( context . projectKey , searchRequest ) ;
412+ }
413413}
0 commit comments