fix(db): implement proposed conflict handling #21
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.

TL;DR
Implement upsert functionality for threat indicators to handle duplicate submissions gracefully.
What changed?
diesel::upsert::excludedimport to support upsert operationsON CONFLICT DO UPDATEpattern in theadd_indicatormethod to handle primary key conflictsHow to test?
Why make this change?
This change prevents API 500 errors when legitimate duplicate indicators are submitted. Previously, submitting the same indicator twice would violate the primary key constraint and cause an error. Now, the system gracefully handles duplicates by updating the existing record, providing a more robust and user-friendly experience.
Summary by CodeRabbit