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

oneOf(Object, Number) somehow blocks all updates #428

Closed
Twisterking opened this issue Feb 22, 2021 · 2 comments
Closed

oneOf(Object, Number) somehow blocks all updates #428

Twisterking opened this issue Feb 22, 2021 · 2 comments
Labels

Comments

@Twisterking
Copy link

Twisterking commented Feb 22, 2021

I have the following key in my schema:

priceInfo: {
  type: SimpleSchema.oneOf(Object, Number),
  blackbox: true,
  optional: true
}

In my app I have the following "upsert" logic:

if (this.currentPrice && this.currentPrice.isPromo) {
  let $setPrice = { priceInfo: price };
  if(typeof unit == 'string') {
    $setPrice = { [`priceInfo.${unit}`]: price };
  }
  Prices.update({ _id: this.currentPrice._id }, { $set: $setPrice })
} else {
  let priceInfo = price;
  if(typeof unit == 'string') {
    priceInfo = {};
    priceInfo[unit] = price;
  }
  Prices.insert({
    itemId: item._id,
    supplierId: currentSupplier._id,
    updated_at: new Date(),
    priceInfo,
    validity: {
      promoId: listId
    }
  });
}

This completely breaks it, as no update is possible with the following error:

Uncaught Error: After filtering out keys not in the schema, your modifier is now empty

Can anyone help? My code is correct (I think), without the schema everything works just fine.

best, Patrick

@github-actions
Copy link

Thank you for submitting an issue!

If this is a bug report, please be sure to include, at minimum, example code showing a small schema and any necessary calls with all their arguments, which will reproduce the issue. Even better, you can link to a saved online code editor example, where anyone can immediately run the code and see the issue.

If you are requesting a feature, include a code example of how you imagine it working if it were implemented.

If you need to edit your issue description, click the [...] and choose Edit.

Be patient. This is a free and freely licensed package that I maintain in my spare time. You may get a response in a day, but it could also take a month. If you benefit from this package and would like to see more of my time devoted to it, you can help by sponsoring.

This was referenced Apr 5, 2021
@aldeed aldeed closed this as completed in e8f91dc Dec 11, 2022
@github-actions
Copy link

🎉 This issue has been resolved in version 3.3.0 🎉

The release is available on:

If this makes you happy, please consider becoming a sponsor.

Your semantic-release bot 📦🚀

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

Successfully merging a pull request may close this issue.

1 participant