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

[dove] SQLite 3 incompatibility with verifyChanges ? #197

Open
mdartic opened this issue Nov 9, 2022 · 1 comment
Open

[dove] SQLite 3 incompatibility with verifyChanges ? #197

mdartic opened this issue Nov 9, 2022 · 1 comment

Comments

@mdartic
Copy link
Contributor

mdartic commented Nov 9, 2022

In dove version, but maybe in previous ones, I'm trying to use a SQLite 3 database.
This issue is for SQLite 3, and concerns verifyChanges.

When the user verify its signup, fam will use the eraseVerifyPropsSetPassword function to merge actual verifyChanges to new properties if needed.

In SQLite 3, the verifyChanges arrives in the eraseVerifyPropsSetPassword as a string, not an object.

In JavaScript,

const newObject = Object.assign({}, "{}")
console.log(newObject) // { 0: "{", 1: "}" }

After that, the query run against the database will look like update users set 0 = '{', 1 = '}', ....

That's not working...

I don't know how to handle this properly,
but before discussing the way we have to fix it,
am I the only one with this issue ?

This issue doesn't occur with PostGreSQL.

@mdartic
Copy link
Contributor Author

mdartic commented Nov 9, 2022

After digging a bit more, I add a property resolver :

    verifyChanges: async (verifyChanges) => {
      if (typeof verifyChanges === 'string') {
        return JSON.parse(verifyChanges)
      }
    },

This allows a conversion of a string in JSON.

Don't know if others meet this issue, but this "hack" solves this bug.
It's working also for PostgreSQL as it first checks the type of data.

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

No branches or pull requests

1 participant