1 parent
48cc00e991
commit
827b32cffd
5 files changed
+6
-35
No files matched your search
@@ -3,9 +3,8 @@ import {
|
|||||||
RemoteQueryFilters,
|
RemoteQueryFilters,
|
||||||
RemoteQueryGraph,
|
RemoteQueryGraph,
|
||||||
RemoteQueryInput,
|
RemoteQueryInput,
|
||||||
RemoteQueryObjectConfig,
|
|
||||||
} from "@medusajs/types"
|
} from "@medusajs/types"
|
||||||
import { QueryContext, QueryFilter, isObject } from "@medusajs/utils"
|
import { isObject, QueryContext } from "@medusajs/utils"
|
||||||
import { parseAndAssignFilters } from "./parse-filters"
|
import { parseAndAssignFilters } from "./parse-filters"
|
||||||
|
|
||||||
const FIELDS = "__fields"
|
const FIELDS = "__fields"
|
||||||
@@ -15,6 +14,7 @@ const ARGUMENTS = "__args"
|
|||||||
* convert a specific API configuration to a remote query object
|
* convert a specific API configuration to a remote query object
|
||||||
*
|
*
|
||||||
* @param config
|
* @param config
|
||||||
|
* @param entitiesMap
|
||||||
*
|
*
|
||||||
* @example
|
* @example
|
||||||
* const remoteQueryObject = toRemoteQuery({
|
* const remoteQueryObject = toRemoteQuery({
|
||||||
@@ -32,7 +32,7 @@ const ARGUMENTS = "__args"
|
|||||||
export function toRemoteQuery<const TEntity extends string>(
|
export function toRemoteQuery<const TEntity extends string>(
|
||||||
config: {
|
config: {
|
||||||
entity: TEntity | keyof RemoteQueryEntryPoints
|
entity: TEntity | keyof RemoteQueryEntryPoints
|
||||||
fields: RemoteQueryObjectConfig<TEntity>["fields"]
|
fields: RemoteQueryInput<TEntity>["fields"]
|
||||||
filters?: RemoteQueryFilters<TEntity>
|
filters?: RemoteQueryFilters<TEntity>
|
||||||
pagination?: Partial<RemoteQueryInput<TEntity>["pagination"]>
|
pagination?: Partial<RemoteQueryInput<TEntity>["pagination"]>
|
||||||
context?: Record<string, any>
|
context?: Record<string, any>
|
||||||
@@ -60,11 +60,11 @@ export function toRemoteQuery<const TEntity extends string>(
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
if (QueryContext.isQueryContext(src) || QueryFilter.isQueryFilter(src)) {
|
if (QueryContext.isQueryContext(src)) {
|
||||||
const normalizedFilters = { ...src } as any
|
const normalizedFilters = { ...src } as any
|
||||||
delete normalizedFilters.__type
|
delete normalizedFilters.__type
|
||||||
|
|
||||||
const prop = QueryFilter.isQueryFilter(src) ? "filters" : "context"
|
const prop = "context"
|
||||||
|
|
||||||
if (topLevel) {
|
if (topLevel) {
|
||||||
target[ARGUMENTS] ??= {}
|
target[ARGUMENTS] ??= {}
|
||||||
@@ -110,7 +110,7 @@ export function toRemoteQuery<const TEntity extends string>(
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (config.pagination) {
|
if (config.pagination) {
|
||||||
joinerQuery[entity][ARGUMENTS] ??= {}
|
joinerQuery[entity][ARGUMENTS] ??= {} as any
|
||||||
joinerQuery[entity][ARGUMENTS] = {
|
joinerQuery[entity][ARGUMENTS] = {
|
||||||
...joinerQuery[entity][ARGUMENTS],
|
...joinerQuery[entity][ARGUMENTS],
|
||||||
...config.pagination,
|
...config.pagination,
|
||||||
|
|||||||
@@ -25,7 +25,6 @@ export * from "./module-provider"
|
|||||||
export * from "./remote-query"
|
export * from "./remote-query"
|
||||||
export * from "./remote-query-entry-points"
|
export * from "./remote-query-entry-points"
|
||||||
export * from "./to-remote-query"
|
export * from "./to-remote-query"
|
||||||
export * from "./query-filter"
|
|
||||||
|
|
||||||
export type LogLevel =
|
export type LogLevel =
|
||||||
| "query"
|
| "query"
|
||||||
|
|||||||
@@ -1,9 +0,0 @@
|
|||||||
import { RemoteQueryFilters } from "./to-remote-query"
|
|
||||||
|
|
||||||
export type QueryFilterType = {
|
|
||||||
<TEntry extends string>(
|
|
||||||
query: RemoteQueryFilters<TEntry>
|
|
||||||
): RemoteQueryFilters<TEntry> & { __type: "QueryFilter" }
|
|
||||||
|
|
||||||
isQueryFilter: (obj: any) => boolean
|
|
||||||
}
|
|
||||||
@@ -16,6 +16,5 @@ export * from "./migration-scripts"
|
|||||||
export * from "./mikro-orm-cli-config-builder"
|
export * from "./mikro-orm-cli-config-builder"
|
||||||
export * from "./module"
|
export * from "./module"
|
||||||
export * from "./query-context"
|
export * from "./query-context"
|
||||||
export * from "./query-filter"
|
|
||||||
export * from "./types/links-config"
|
export * from "./types/links-config"
|
||||||
export * from "./types/medusa-service"
|
export * from "./types/medusa-service"
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
import { RemoteQueryFilters } from "@medusajs/types"
|
|
||||||
|
|
||||||
const __type = "QueryFilter"
|
|
||||||
|
|
||||||
export function QueryFilterFn<TEntry extends string>(
|
|
||||||
query: RemoteQueryFilters<TEntry>
|
|
||||||
): RemoteQueryFilters<TEntry> & { __type: "QueryFilter" } {
|
|
||||||
return {
|
|
||||||
...query,
|
|
||||||
__type,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
QueryFilterFn.isQueryFilter = (obj: any) => {
|
|
||||||
return obj.__type === __type
|
|
||||||
}
|
|
||||||
|
|
||||||
export const QueryFilter = QueryFilterFn
|
|
||||||
Reference in new issue
Block a user