UNPKG

@gorgo/medusa-feed-yandex

Version:

A Medusa plugin that generates a product feed in YML (Yandex Market Language) format

47 lines (39 loc) 1.13 kB
import { AuthenticatedMedusaRequest, MedusaRequest, MedusaResponse, } from "@medusajs/framework/http" import { ContainerRegistrationKeys } from "@medusajs/framework/utils" import { createFeedsWorkflow } from "../../../workflows/create-feeds" import { AdminCreateFeedType } from "./validators" export const GET = async (req: MedusaRequest, res: MedusaResponse) => { const query = req.scope.resolve(ContainerRegistrationKeys.QUERY) const { data: feeds, metadata: { count, take, skip } = {}, } = await query.graph({ entity: "feed", ...req.queryConfig, }) res.status(200).json({ feeds, count, limit: take, offset: skip, }) } export const POST = async ( req: AuthenticatedMedusaRequest<AdminCreateFeedType>, res: MedusaResponse ) => { const { result } = await createFeedsWorkflow(req.scope).run({ input: req.validatedBody.feeds, }) const query = req.scope.resolve(ContainerRegistrationKeys.QUERY) const { data: feeds } = await query.graph({ entity: "feed", fields: ["*"], filters: { id: result[0].id }, }) res.status(200).json({ feed: feeds[0] }) }