diff --git a/packages/medusa/src/types/common.ts b/packages/medusa/src/types/common.ts index 6980b044af..e005e5b249 100644 --- a/packages/medusa/src/types/common.ts +++ b/packages/medusa/src/types/common.ts @@ -7,7 +7,12 @@ import { IsString, } from "class-validator" import "reflect-metadata" -import { FindManyOptions, FindOperator, OrderByCondition } from "typeorm" +import { + FindManyOptions, + FindOneOptions, + FindOperator, + OrderByCondition, +} from "typeorm" import { transformDate } from "../utils/validators/date-transform" import { BaseEntity } from "../interfaces/models/base-entity" @@ -31,11 +36,12 @@ export type Writable = { | FindOperator } -export type ExtendedFindConfig = FindConfig & { - where: Partial> - withDeleted?: boolean - relations?: string[] -} +export type ExtendedFindConfig = FindConfig & + (FindOneOptions | FindManyOptions) & { + where: Partial> + withDeleted?: boolean + relations?: string[] + } export type Selector = { [key in keyof TEntity]?: diff --git a/packages/medusa/src/utils/build-query.ts b/packages/medusa/src/utils/build-query.ts index f61123741d..eed9fed57d 100644 --- a/packages/medusa/src/utils/build-query.ts +++ b/packages/medusa/src/utils/build-query.ts @@ -78,10 +78,7 @@ export function buildQuery( }, {} as Partial>) } - const query: FindConfig & { - where: Partial> - withDeleted?: boolean - } = { + const query: ExtendedFindConfig = { where: build(selector), }