Feat: Add groups to list customer (#1113)
* add controllers directory and loaders * update integration tests * start groups * move controllers to pure functions * group filtering for customers * print errors * remove verbose flag * controller refactor * update imports * Feat/list customers by customer group (#1114) * move controllers to pure functions * add customer group test * add api for list customer group customers * remove unused imports * controller refactor * update imports * Update packages/medusa/src/api/routes/admin/customer-groups/get-customer-group-customers.ts Co-authored-by: Sebastian Rindom <skrindom@gmail.com> Co-authored-by: Sebastian Rindom <skrindom@gmail.com> * fix: dedupe Co-authored-by: Sebastian Rindom <skrindom@gmail.com>
This commit is contained in:
co-authored by
Sebastian Rindom
parent
8e7de6dd36
commit
dacc9c6c4b
@@ -0,0 +1,33 @@
|
||||
import CustomerController from "../../../../controllers/customers"
|
||||
|
||||
/**
|
||||
* @oas [get] /customer-groups/{id}/customers
|
||||
* operationId: "GetCustomerGroupsGroupCustomers"
|
||||
* summary: "List Customers"
|
||||
* description: "Retrieves a list of Customers."
|
||||
* x-authenticated: true
|
||||
* tags:
|
||||
* - Customer
|
||||
* responses:
|
||||
* 200:
|
||||
* description: OK
|
||||
* content:
|
||||
* application/json:
|
||||
* schema:
|
||||
* properties:
|
||||
* customer:
|
||||
* $ref: "#/components/schemas/customer"
|
||||
*/
|
||||
export default async (req, res) => {
|
||||
const { id } = req.params
|
||||
|
||||
req.query.groups = [id]
|
||||
|
||||
const result = await CustomerController.listAndCount(
|
||||
req.scope,
|
||||
req.query,
|
||||
req.body
|
||||
)
|
||||
|
||||
res.json(result)
|
||||
}
|
||||
@@ -24,6 +24,12 @@ export default (app) => {
|
||||
"/:id",
|
||||
middlewares.wrap(require("./delete-customer-group").default)
|
||||
)
|
||||
|
||||
route.get(
|
||||
"/:id/customers",
|
||||
middlewares.wrap(require("./get-customer-group-customers").default)
|
||||
)
|
||||
|
||||
route.post(
|
||||
"/:id",
|
||||
middlewares.wrap(require("./update-customer-group").default)
|
||||
|
||||
@@ -8,7 +8,11 @@ const route = Router()
|
||||
export default (app) => {
|
||||
app.use("/customers", route)
|
||||
|
||||
route.get("/", middlewares.wrap(require("./list-customers").default))
|
||||
route.get(
|
||||
"/",
|
||||
middlewares.normalizeQuery(),
|
||||
middlewares.wrap(require("./list-customers").default)
|
||||
)
|
||||
route.get("/:id", middlewares.wrap(require("./get-customer").default))
|
||||
|
||||
route.post("/", middlewares.wrap(require("./create-customer").default))
|
||||
|
||||
@@ -36,6 +36,7 @@ export class AdminGetCustomersParams extends AdminListCustomerSelector {
|
||||
@Type(() => Number)
|
||||
limit = 50
|
||||
|
||||
@IsOptional()
|
||||
@IsNumber()
|
||||
@IsOptional()
|
||||
@Type(() => Number)
|
||||
|
||||
Reference in New Issue
Block a user