-
-
Notifications
You must be signed in to change notification settings - Fork 0
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
"status" attribute #14
Comments
This is definitely a good idea. The Keeping track of history can be left for the end because normally this does add much functional value to the API. Later, we could introduce a
Not sure about what functional value is added by the status fields apart from |
Oh, I didn't see that there is already a "Deleting" can be a bit more complicated, if you take into account legislation such as GDPR, which for example gives everyone "the right to delete" data. So maybe a "delete" flag, which can be I agree that "history" is a new feature request and should be a different issue. I think keeping track of changes can be helpful if things don't go as expected and there is a need to figure out if the problem was wrong use of the API, for example. I think the linked approach is quite smart and runs just via triggers within the database. Overall I just created this issue to discuss the proposal. |
Background
So far the API allows to create, update and delete items, which is fine.
However, deleting a record will remove it definitely from the database, and there are good arguments that this is good, but there might be also cases where it would be better to not delete a record.
Proposal
We could introduce a
status
attribute for all tables, and the status could indicate for example (just ideas):draft
deleted
dirty
(which could indicate rescheduling is needed)archived
(i.e. for projects)read-only
Alternatives
We could even keep track of changes as "history", for example implemented in this way https://postgis.net/workshops/postgis-intro/history_tracking.html
The text was updated successfully, but these errors were encountered: