Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug]: 'additional_data' does not exist in type 'AdminUpdateProduct' #10690

Open
thollander opened this issue Dec 20, 2024 · 0 comments
Open

Comments

@thollander
Copy link

Package.json file

{
  "name": "medusa-starter-default",
  "version": "0.0.1",
  "description": "A starter for Medusa projects.",
  "author": "Medusa (https://medusajs.com)",
  "license": "MIT",
  "keywords": [
    "sqlite",
    "postgres",
    "typescript",
    "ecommerce",
    "headless",
    "medusa"
  ],
  "scripts": {
    "build": "medusa build",
    "seed": "medusa exec ./src/scripts/seed.ts",
    "start": "medusa start",
    "dev": "medusa develop",
    "test:integration:http": "TEST_TYPE=integration:http NODE_OPTIONS=--experimental-vm-modules jest --silent=false --runInBand --forceExit",
    "test:integration:modules": "TEST_TYPE=integration:modules NODE_OPTIONS=--experimental-vm-modules jest --silent --runInBand --forceExit",
    "test:unit": "TEST_TYPE=unit NODE_OPTIONS=--experimental-vm-modules jest --silent --runInBand --forceExit"
  },
  "dependencies": {
    "@medusajs/admin-sdk": "latest",
    "@medusajs/cli": "latest",
    "@medusajs/framework": "latest",
    "@medusajs/medusa": "latest",
    "@mikro-orm/core": "5.9.7",
    "@mikro-orm/knex": "5.9.7",
    "@mikro-orm/migrations": "5.9.7",
    "@mikro-orm/postgresql": "5.9.7",
    "awilix": "^8.0.1",
    "pg": "^8.13.0"
  },
  "devDependencies": {
    "@medusajs/test-utils": "latest",
    "@mikro-orm/cli": "5.9.7",
    "@swc/core": "1.5.7",
    "@swc/jest": "^0.2.36",
    "@types/jest": "^29.5.13",
    "@types/node": "^20.0.0",
    "@types/react": "^18.3.2",
    "@types/react-dom": "^18.2.25",
    "jest": "^29.7.0",
    "prop-types": "^15.8.1",
    "react": "^18.2.0",
    "react-dom": "^18.2.0",
    "ts-node": "^10.9.2",
    "typescript": "^5.6.2",
    "vite": "^5.2.11"
  },
  "engines": {
    "node": ">=20"
  }
}

Node.js version

v20.17.0

Database and its version

17.2

Operating system name and version

Mac OS Sequoia

Browser name

No response

What happended?

I would like to pass some additional data while updatin product information.
To do so, I extended the product module to add my information as defined in the docs.
Middleware is also accepting data through

export default defineMiddlewares({
  routes: [
    {
      method: "POST",
      matcher: "/admin/products/:id",
      additionalDataValidator: {
        product_rental_details: z.object({
          id: z.string(),
          rental_price_per_day: z.number().nullish(),
        })
      },
    },
  ],
})

I update the product info thanks to the JS SDK, which is working fine :

    sdk.admin.product
      .update(productId, {
        additional_data: {
          product_rental_details: {
            id,
            rental_price_per_day,
          },
        },
      })

However, I have a Typescript error :

Object literal may only specify known properties, and 'additional_data' does not exist in type 'AdminUpdateProduct'

Expected behavior

No typescript error, as it's stated in the docs, I would except to be able to pass data through additional_data which could be a field of AdminUpdateProduct

Actual behavior

TS error
image

Link to reproduction repo

Sorry, didn't take time to create one and the issue is just about a typing

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant