When the user clicks **save** in either the depicts or captions sections, we need to store a contribution in the database. The 'save' functions will later have the API calls added to actually make the Commons edits on behalf of the user.
Contributions table structure:
| id | user_id | campaign_id | edit_type | edit_content |
We should store the edit_content as a string with separator, e.g. "Q1234|Q3456|Q657". Best to **avoid comma separation** as many depicts labels and captions will have commas in them=== user_id and campaign_id ===
Both foreign keys pointing to their respective tables.
=== edit_type is ===
either "depicts" or "caption".
user_id and campaign_id are both foreign keys pointing to their respective tables.
=== edit_content ===
We should store the edit_content as a JSON string.
**Depicts example**:
[
{ "value": "Q123", "action": "add"},
{ "value": "Q84", "action": "remove"},
{ "value": "Q84", "action": "add"},
]