Hello,
Absolute beginner in Appwrite here, so I would like to know how to implement this using Appwrite, or if it's even possible to use Appwrite in this case.
My project is an app that is offline first and that is multi-user.
The problem situation is the following:
- User A downloads some documents from the server, then goes offline.
- User B edits a document and uploads the document to the server.
- User A, still offline, edits the same document user B had changed.
- User A goes online and sends the document to the server, overwriting without notice the changes User A had done.
The solution I have in mind is:
- The server, when receives a document from a client, checks if the updated_at field of the received document is equal to the updated_at field of the document in the server database. Please notice that the client don't change this field. It's the timestamp of the last time the server received this document.
- If both timestamps are different, it means some other user changed the document while the user submitting the document was offline. The submitting user then receives a warning and may choose between some options what to do.
How can I get this with Appwrite?
You’d probably have to implement those checks in a Function, or something - so when uploading, instead of going direct to the Database, you’d pass the data to a Function, which would then either update that in the DB, or respond with an error.
Recommended threads
- After assigning a domain to my Dart func...
I’ve attached the images. Could anyone please explain how this execution is being performed?
- Help Needed: "The current user has been ...
Facing a 403 Forbidden error with the message "The current user has been blocked" while trying to log in via GitHub and Email/Password. This is happening on a ...
- Unable to signup to appwrite cloud
When attempting to create an online cloud account on appwrite.io, I get the following message : "This email address must already be in its canonical form. Pleas...