@exweiv/weiv-data
Version:
Custom API Library for Wix sites to connect MongoDB. Designed to easily switch from wix-data APIs.
19 lines (17 loc) • 1.25 kB
text/typescript
import type { CollectionID, Item, ItemID, WeivDataOptions, WeivDataQueryReferencedOptions, WeivDataQueryReferencedResult } from '@exweiv/weiv-data';
import { QueryReferencedResult } from './query_referenced_result';
import { validateParams } from '../../Helpers/validator';
import { kaptanLogar } from '../../Errors/error_manager';
export async function queryReferenced(collectionId: CollectionID, targetCollectionId: string, itemId: ItemID, propertyName: string, queryOptions?: WeivDataQueryReferencedOptions, options?: WeivDataOptions): Promise<WeivDataQueryReferencedResult<Item>> {
try {
const { safeItemId, safeQueryOptions, safeOptions } = await validateParams<"queryReferenced">(
{ collectionId, targetCollectionId, itemId, propertyName, queryOptions, options },
["collectionId", "targetCollectionId", "itemId", "propertyName"],
"queryReferenced"
);
const referencedClass = new QueryReferencedResult(collectionId, targetCollectionId, safeItemId, propertyName, safeQueryOptions || { pageSize: 50, order: 'asc' }, safeOptions || {});
return await referencedClass.getResult();
} catch (err) {
kaptanLogar("00017", `when querying referenced items: ${err}`);
}
}