Closed patymori closed 5 years ago
Estou considerando representar uma versão excluída com o dicionário:
{'deleted': True, 'timestamp': '2019-06-28T15:12:31.461624Z'}
Exemplo de manifesto:
{'id': 'foo',
'versions': [{'assets': {'0034-8910-rsp-48-2-0347-gf01': [],
'0034-8910-rsp-48-2-0347-gf01-en': [],
'0034-8910-rsp-48-2-0347-gf02': [],
'0034-8910-rsp-48-2-0347-gf02-en': [],
'0034-8910-rsp-48-2-0347-gf03': [],
'0034-8910-rsp-48-2-0347-gf03-en': [],
'0034-8910-rsp-48-2-0347-gf04': [],
'0034-8910-rsp-48-2-0347-gf04-en': []},
'data': 'https://raw.githubusercontent.com/scieloorg/packtools/master/tests/samples/0034-8910-rsp-48-2-0347.xml',
'renditions': [],
'timestamp': '2019-06-28T15:09:06.278576Z'},
{'deleted': True, 'timestamp': '2019-06-28T15:12:31.461624Z'},
{'assets': {'0034-8910-rsp-48-2-0347-gf01': [],
'0034-8910-rsp-48-2-0347-gf01-en': [],
'0034-8910-rsp-48-2-0347-gf02': [],
'0034-8910-rsp-48-2-0347-gf02-en': [],
'0034-8910-rsp-48-2-0347-gf03': [],
'0034-8910-rsp-48-2-0347-gf03-en': [],
'0034-8910-rsp-48-2-0347-gf04': [],
'0034-8910-rsp-48-2-0347-gf04-en': []},
'data': 'https://raw.githubusercontent.com/scieloorg/packtools/master/tests/samples/0034-8910-rsp-48-2-0347.xml',
'renditions': [],
'timestamp': '2019-06-28T15:13:57.321071Z'}]}
O resultado dos métodos version
e version_at
deve ser: {'deleted': True, 'timestamp': '2019-06-28T15:12:31.461624Z'}
Estou usando o branch https://github.com/gustavofonseca/document-store/tree/del-docs para experimentar.
Descrição da nova funcionalidade
Eu, como usuário, gostaria que os documentos pudessem ser apagados do kernel, então documentos que foram inseridos incorretamente não permanecerão lá.
Critérios de aceitação
Anexos
n/a
Referências
n/a
Considerações
R: Creio que o código mais adequado seja 410 Gone. A sua descrição diz que "The 410 response is primarily intended to assist the task of web maintenance by notifying the recipient that the resource is intentionally unavailable and that the server owners desire that remote links to that resource be removed.". Outro motivo é que penso ser útil haver uma diferenciação entre documentos que nunca existiram e os que foram excluídos.