Error: object.destory is not a function

Having issues deleting an object from the database. Specifically the error is telling me that the object doesn’t have a destroy function.

Moralis.Cloud.afterSave("ItemCanceled", async (request) => {
  const confirmed = request.object.get("confirmed")
  const logger = Moralis.Cloud.getLogger()
  logger.info(`Marketplace | Object: ${request.object}`)
  if (confirmed) {
    const ActiveItem = Moralis.Object.extend("ActiveItem")
    const query = new Moralis.Query(ActiveItem)

    query.equalTo("marketplaceAddress", request.object.get("address"))
    query.equalTo("nftAddress", request.object.get("nftAddress"))
    query.equalTo("tokenId", request.object.get("tokenId"))
    logger.info(`Marketplace | Query: ${query}`)

    const canceledItem = await query.first()

    logger.info(`Marketplace | CanceledItem: ${canceledItem}`)

    if (canceledItem) {
      logger.info(
        `Deleteing tokenId ${request.object.get("tokenId")} at address ${request.object.get(
          "address"
        )} since it was canceled`
      )
      await canceledItem.destroy({ useMasterKey: true })
    } else {
      logger.info(
        `No Item found with address ${request.object.get(
          "nftAddress"
        )} and tokenId ${request.object.get("tokenId")}`
      )
    }
  }
})

And getting error:

afterSave failed for ItemCanceled for user A1EVOK8wpOzFUiwPSkDTk5No:
  Input: 
{
  "log_index": 0,
  "transaction_hash": "0x21e2267aecfcf2a6252ef17728cb9b8b83775620ae0be0982ae08e48b44ded6d",
  "createdAt": "2022-08-04T19:00:23.769Z",
  "updatedAt": "2022-08-04T19:00:23.866Z",
  "address": "0xe7f1725e7734ce288f8367e1bb143e90bb3f0512",
  "block_hash": "0x9acd79fd88683c614379f95c9a26662e36beadc9add3c5ff34666f2c3918949b",
  "block_number": 132,
  "block_timestamp": {
    "__type": "Date",
    "iso": "2022-08-04T19:01:31.000Z"
  },
  "confirmed": true,
  "nftAddress": "0x5fbdb2315678afecb367f032d93f642f64180aa3",
  "seller": "0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266",
  "tokenId": "18",
  "tokenId_decimal": {
    "__type": "NumberDecimal",
    "value": "18"
  },
  "transaction_index": 0,
  "objectId": "HSDlz6JOGFgR5pwvdA53qIKv"
}
  Error: 
{
  "message": "canceledItem.destory is not a function",
  "code": 141
}

What does canceledItem look like if you log it?

canceledItem.destory is not a function

The error here is saying destory, not destroy. Did you fix the typo after this? What is the error now?

Oh my gosh, i unknowingly fixed it copied the code over but never tested it afterwards… Thanks for making me aware of this :joy:.

Good day sir

1 Like