As a tool developer I want to be able to remove old or incorrect description of an item in a given language.
DELETE /entities/items/{item_id}/descriptions/{lang_code}
**Acceptance criteria:**
- On the successful removal, API should respond with 200 and "description deleted" as a response body.
- 200 response should also contain Content-Language header with "en" as a value
- Following error cases have to be considered:
<table>
<tr>
<th>
</th>
<th>HTTP response code</th>
<th>response payload</th>
</tr>
<tr>
<td>Invalid item ID</td>
<td>400</td>
<td>
`"code": "invalid-item-id"`
`"message": "Not a valid item ID: <ITEM_ID>"`
</td>
</tr>
<tr>
<td>Invalid language code</td>
<td>400</td>
<td>
`"code": "invalid-language-code"`
`"message": "Not a valid language code : <language code>"`
</td>
</tr>
<tr>
<td>Item does not have description in given languagenvalid edit tag</td>
<td>4040</td>
<td>
`"code": "description-not-defined"`
`"message": "Item with the ID <ITEM ID> does not have a description in the language: <LANGUAGE CODE>"{ "code": "invalid-edit-tag", "message": "Invalid MediaWiki tag: {tag}" }`
</td>
</tr>
<tr>
<td>Invalid edit tatd>Comment too long</td>
<td>400</td>
<td>
`{ `{"code": "invalid-edit-tag"comment-too-long", "message": "Invalid MediaWiki tag: {tag}" }`Comment must not be longer than <LIMIT> characters"}`
</td>
</tr>
</tr>
<tr>
<td>Item does not existhave description in given language</td>
<td>404</td>
<td>
`"code": "itemdescription-not-found"`defined"`
`"message": "CouldItem with the ID <ITEM ID> does not find an item withhave a description in the ID: {item_id}"`language: <LANGUAGE CODE>"`
</td>
</tr>
<tr>
<td>Comment too longtd>Item does not exist</td>
<td>4004</td>
<td>
`{`"code": "comment-too-long", item-not-found"`
`"message": "Comment mustuld not be longer than <LIMIT> characters"}`find an item with the ID: {item_id}"`
</td>
</tr>
<tr>
<td>Item redirect </td>
<td>409</td>
<td>
`"code": "redirected-item"`
`"message": "Item {item_id} has been merged into {other_id}"`
</td>
</tr>
</table>
**Notes:**
- "Automated edit summary" related to the edit to be of form: `/* wbsetdescription-remove:1|{language_code} */ DESCRIPTION-TEXT`
- client can provide additional edit metadata: mediawiki tags, edit summary text to append to the automated summary, and a bot edit flag, like in `DELETE /entities/items/{item_id}/statements/{statement_id}`
- Allow empty request body.
- Handle HTTP conditional request headers as in `DELETE /entities/item/{item_id}/statements/{statement_id}`
- Handle user authentication/authorization like in `DELETE /entities/items/{item_id}/statements/{statement_id}`
**Task breakdown notes**:
- Add the new route to OAS.
- happy path (with empty edit summary)
- ETag and Last-Modified
- Implement use case validation and deserialization
- Add the "remove description" edit summary
- Respond 404/409 if item not found/redirect or item does not have a description in requested language
- Authorization
- Use the usual middlewares and add the route handler to `RouteHandlersTest`
- Add spec tests.
- Mark as production ready.