action=jadecreateorendorseproposal
1. The entity page doesn't exist at all. (comment: `/* jade-createandendorseproposal */`)
* Create the page, create the relevant proposal
* Create the page, the relevant proposal and add* Add an endorsement from the user.
* Set the preferred bit to point to the new proposal.
2. The entity page exists but no matching proposed label. and the user has not already endorsed a proposal for this facet (comment: `/* jade-createandendorseproposal */`)
* Create the relevant proposal and add an endorsement from the user.
* Add an endorsement from the user.
* If another proposal exists for the target facet,: Raise a warning and leave the preferred bit alone o
* Otherwise, set the bitproposal bit for the current proposal.
3. The entity page exists and there's a proposed label with matching data.
* Add an endorsement tofrom the relevantuser.
* Raise a warning saying that the proposal and leave preference alone.'s "notes" were not overwritten
* A warning is returned to the user if they specified a comment* If the proposal is not preferred: Raise a warning and a comment is alreadyleave the present in the proposal.ferred bit alone
4. The user already has an endorsement for this facet but it is for a different proposal.
* Move* If the user's endorsement from the other proposal to the targettarget label data is not represented in any proposal, c: Creating it if necessary. e the proposal
* If the other proposal was preferred but now has no more endorsements, move the preference bit as well.
For this endpoint, we'd need to match the data of the request with the data of proposals. We'll also need to know what facet they are aiming to affect.Move the user's endorsement to the target proposal.
* If the old proposal was preferred but now has no more endorsements: move the preference bit as well