Skip to content

[Bug]: Cannot update product_option_value with productService.updateProductOptionValues #10293

Description

@opeah

Package.json file

{
  "version": "1.0.0",
  "scripts": {
    "build": "npx medusa build",
    "dev": "npx medusa develop",
    "start": "npx medusa start"
  },
  "dependencies": {
    "@lexical/html": "^0.18.0",
    "@lexical/list": "^0.18.0",
    "@lexical/react": "^0.18.0",
    "@lexical/utils": "^0.18.0",
    "@medusajs/admin-sdk": "2.0.6",
    "@medusajs/framework": "2.0.6",
    "@medusajs/icons": "2.0.6",
    "@medusajs/medusa": "2.0.6",
    "@medusajs/medusa-cli": "rc",
    "@medusajs/ui": "4.0.1",
    "@radix-ui/react-popover": "1.1.2",
    "@react-input/mask": "1.2.11",
    "@tanstack/react-query": "catalog:",
    "@tanstack/react-query-devtools": "5.59.14",
    "@types/color": "4.2.0",
    "@types/lodash": "4.17.10",
    "attr-accept": "2.2.2",
    "class-variance-authority": "0.7.0",
    "clsx": "catalog:",
    "color": "4.2.3",
    "lexical": "0.20.0",
    "lodash": "4.17.21",
    "lucide-react": "0.446.0",
    "react": "catalog:react18",
    "react-colorful": "5.6.1",
    "react-dom": "catalog:react18",
    "react-dropzone": "14.2.9",
    "react-hook-form": "catalog:",
    "react-router-dom": "6.20.1",
    "slugify": "1.6.6",
    "zod": "catalog:"
  },
  "devDependencies": {
    "@mikro-orm/cli": "5.9.7",
    "@swc/core": "1.5.7",
    "@swc/jest": "0.2.36",
    "@types/jest": "29.5.12",
    "@types/node": "catalog:",
    "@types/react": "catalog:react18",
    "@types/react-dom": "catalog:react18",
    "jest": "29.7.0",
    "medusa-test-utils": "rc",
    "ts-node": "10.9.2",
    "typescript": "catalog:",
    "vite": "5.2.11"
  }
}

Node.js version

v23.2.0

Database and its version

postgres@14

Operating system name and version

macOS 13.6.6

Browser name

Arc

What happended?

Cannot update product_option_value with method productService.updateProductOptionValues

export async function PATCH(
  req: MedusaRequest<UpdateProductOptionValueDTO>,
  res: MedusaResponse,
) {
  const { option_value_id: optionValueId } = req.params;
  if (!optionValueId) {
    throw new MedusaError(
      MedusaError.Types.INVALID_DATA,
      'Missing params Option Value ID',
    );
  }
  const productService = req.scope.resolve(Modules.PRODUCT);
  const productOptionValue = await productService.updateProductOptionValues(
    optionValueId,
    { metadata: { rank: 0 } },
  );
  return res.json({ productOptionValue });
}

Expected behavior

product_option_value should be updated

Actual behavior

I receive an error

error:   ProductOptionValue with id "" not found
MedusaError: ProductOptionValue with id "" not found
    at AbstractService_.update (/Users/sebastiencrepin/Data/Projects/nexa/node_modules/.pnpm/@medusajs+utils@2.0.6_@mikro-orm+core@5.9.7_@mikro-orm+knex@5.9.7_@mikro-orm+core@5.9.7_@mikr_fcggamrs7etmugeq6ppbgpmcy4/node_modules/@medusajs/utils/src/modules-sdk/medusa-internal-service.ts:339:17)
    at processTicksAndRejections (node:internal/process/task_queues:105:5)
    at async transaction.transaction (/Users/sebastiencrepin/Data/Projects/nexa/node_modules/.pnpm/@medusajs+utils@2.0.6_@mikro-orm+core@5.9.7_@mikro-orm+knex@5.9.7_@mikro-orm+core@5.9.7_@mikr_fcggamrs7etmugeq6ppbgpmcy4/node_modules/@medusajs/utils/src/modules-sdk/decorators/inject-transaction-manager.ts:63:18)
    at async fork.getConnection.transactional (/Users/sebastiencrepin/Data/Projects/nexa/node_modules/.pnpm/@mikro-orm+core@5.9.7_@mikro-orm+migrations@5.9.7_@mikro-orm+postgresql@5.9.7_@mikro-orm+core_3hccqwwc7tgosgawyrq2dxxzfu/node_modules/@mikro-orm/core/EntityManager.js:774:29)
    at async PostgreSqlConnection.transactional (/Users/sebastiencrepin/Data/Projects/nexa/node_modules/.pnpm/@mikro-orm+knex@5.9.7_@mikro-orm+core@5.9.7_@mikro-orm+migrations@5.9.7_pg@8.11.3/node_modules/@mikro-orm/knex/AbstractSqlConnection.js:36:25)
    at async transactionWrapper (/Users/sebastiencrepin/Data/Projects/nexa/node_modules/.pnpm/@medusajs+utils@2.0.6_@mikro-orm+core@5.9.7_@mikro-orm+knex@5.9.7_@mikro-orm+core@5.9.7_@mikr_fcggamrs7etmugeq6ppbgpmcy4/node_modules/@medusajs/utils/src/dal/utils.ts:32:10)
    at async MikroOrmAbstractBaseRepository_.transaction (/Users/sebastiencrepin/Data/Projects/nexa/node_modules/.pnpm/@medusajs+utils@2.0.6_@mikro-orm+core@5.9.7_@mikro-orm+knex@5.9.7_@mikro-orm+core@5.9.7_@mikr_fcggamrs7etmugeq6ppbgpmcy4/node_modules/@medusajs/utils/src/dal/mikro-orm/mikro-orm-repository.ts:72:12)
    at async AbstractService_.descriptor.value (/Users/sebastiencrepin/Data/Projects/nexa/node_modules/.pnpm/@medusajs+utils@2.0.6_@mikro-orm+core@5.9.7_@mikro-orm+knex@5.9.7_@mikro-orm+core@5.9.7_@mikr_fcggamrs7etmugeq6ppbgpmcy4/node_modules/@medusajs/utils/src/modules-sdk/decorators/inject-transaction-manager.ts:32:14)
    at async ProductModuleService.methodImplementation (/Users/sebastiencrepin/Data/Projects/nexa/node_modules/.pnpm/@medusajs+utils@2.0.6_@mikro-orm+core@5.9.7_@mikro-orm+knex@5.9.7_@mikro-orm+core@5.9.7_@mikr_fcggamrs7etmugeq6ppbgpmcy4/node_modules/@medusajs/utils/src/modules-sdk/medusa-service.ts:217:26)
    at async ProductModuleService.descriptor.value (/Users/sebastiencrepin/Data/Projects/nexa/node_modules/.pnpm/@medusajs+utils@2.0.6_@mikro-orm+core@5.9.7_@mikro-orm+knex@5.9.7_@mikro-orm+core@5.9.7_@mikr_fcggamrs7etmugeq6ppbgpmcy4/node_modules/@medusajs/utils/src/modules-sdk/decorators/inject-into-context.ts:27:14)
    at async ProductModuleService.descriptor.value (/Users/sebastiencrepin/Data/Projects/nexa/node_modules/.pnpm/@medusajs+utils@2.0.6_@mikro-orm+core@5.9.7_@mikro-orm+knex@5.9.7_@mikro-orm+core@5.9.7_@mikr_fcggamrs7etmugeq6ppbgpmcy4/node_modules/@medusajs/utils/src/modules-sdk/decorators/emit-events.ts:26:22)
    at async PATCH (/Users/sebastiencrepin/Data/Projects/nexa/packages/medusa/app/src/api/admin/products/[id]/options/[option_id]/values/[option_value_id]/route.ts:19:30)
    at async /Users/sebastiencrepin/Data/Projects/nexa/node_modules/.pnpm/@medusajs+utils@2.0.6_@mikro-orm+core@5.9.7_@mikro-orm+knex@5.9.7_@mikro-orm+core@5.9.7_@mikr_fcggamrs7etmugeq6ppbgpmcy4/node_modules/@medusajs/utils/src/common/wrap-handler.ts:17:14 {
  __isMedusaError: true,
  type: 'not_found',
  code: undefined,
  date: 2024-11-26T13:07:49.577Z
}

I double checked, ID is correct: optval_01JAJG35ZQH3AFVDBV83JS91CY

Link to reproduction repo

https://github.com/medusajs/medusa-starter-default

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions