Feat: Filter price lists by customer group (#1431)
* add customer groups to price list factory * add integration test for filtering price lists by customer group * normalize list price list query * add customer groups to list-price-list queryparameters * query based on customergroups if they exist for price lists * remove verbose flag * add another price list with a customer group * remove console.log * pr feedback * add query type to repository * add query type to repository * set groups to undefined instead of deleting parameter * remove wildcard destructing * make buildQuery type specific to price lists * steal Adriens types * fix(medusa): support searching for price lists (#1407) * delete instead of settting groups to undefined * add groups to query with q * use simple customer group factory instead of manual creation * Update simple-customer-group-factory.ts * remove comma that breaks integration-tests Co-authored-by: Zakaria El Asri <33696020+zakariaelas@users.noreply.github.com>
This commit is contained in:
co-authored by
Zakaria El Asri
parent
0b2a3a0f0e
commit
a69b52e031
@@ -22,7 +22,7 @@ export const simpleCustomerGroupFactory = async (
|
||||
data.id || `simple-customer-group-${Math.random() * 1000}`
|
||||
const c = manager.create(CustomerGroup, {
|
||||
id: customerGroupId,
|
||||
name: data.name,
|
||||
name: data.name || faker.company.companyName(),
|
||||
})
|
||||
|
||||
const group = await manager.save(c)
|
||||
|
||||
@@ -7,6 +7,7 @@ import {
|
||||
} from "@medusajs/medusa"
|
||||
import faker from "faker"
|
||||
import { Connection } from "typeorm"
|
||||
import { simpleCustomerGroupFactory } from "./simple-customer-group-factory"
|
||||
|
||||
type ProductListPrice = {
|
||||
variant_id: string
|
||||
@@ -42,22 +43,10 @@ export const simplePriceListFactory = async (
|
||||
|
||||
let customerGroups = []
|
||||
if (typeof data.customer_groups !== "undefined") {
|
||||
await manager
|
||||
.createQueryBuilder()
|
||||
.insert()
|
||||
.into(CustomerGroup)
|
||||
.values(
|
||||
data.customer_groups.map((group) => ({
|
||||
id: group,
|
||||
name: faker.company.companyName(),
|
||||
}))
|
||||
customerGroups = await Promise.all(
|
||||
data.customer_groups.map((group) =>
|
||||
simpleCustomerGroupFactory(connection, { id: group })
|
||||
)
|
||||
.orIgnore()
|
||||
.execute()
|
||||
|
||||
customerGroups = await manager.findByIds(
|
||||
CustomerGroup,
|
||||
data.customer_groups
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user