diff --git a/duniter4j-es-user/src/main/java/org/duniter/elasticsearch/user/rest/RestModule.java b/duniter4j-es-user/src/main/java/org/duniter/elasticsearch/user/rest/RestModule.java index db6d83026c6fa5e333cf08f1c35fbedbd426cde5..1260f8840cf23fd0998aa6a6006a6c54a4ddf656 100644 --- a/duniter4j-es-user/src/main/java/org/duniter/elasticsearch/user/rest/RestModule.java +++ b/duniter4j-es-user/src/main/java/org/duniter/elasticsearch/user/rest/RestModule.java @@ -26,7 +26,6 @@ import org.duniter.elasticsearch.user.rest.group.RestGroupIndexAction; import org.duniter.elasticsearch.user.rest.group.RestGroupUpdateAction; import org.duniter.elasticsearch.user.rest.history.RestHistoryDeleteIndexAction; import org.duniter.elasticsearch.user.rest.invitation.RestInvitationCertificationIndexAction; -import org.duniter.elasticsearch.user.rest.invitation.RestInvitationCertificationMarkAsReadAction; import org.duniter.elasticsearch.user.rest.message.RestMessageInboxIndexAction; import org.duniter.elasticsearch.user.rest.message.RestMessageInboxMarkAsReadAction; import org.duniter.elasticsearch.user.rest.message.RestMessageOutboxIndexAction; @@ -65,7 +64,6 @@ public class RestModule extends AbstractModule implements Module { // Invitation bind(RestInvitationCertificationIndexAction.class).asEagerSingleton(); - bind(RestInvitationCertificationMarkAsReadAction.class).asEagerSingleton(); // Backward compatibility { diff --git a/duniter4j-es-user/src/main/java/org/duniter/elasticsearch/user/rest/invitation/RestInvitationCertificationMarkAsReadAction.java b/duniter4j-es-user/src/main/java/org/duniter/elasticsearch/user/rest/invitation/RestInvitationCertificationMarkAsReadAction.java deleted file mode 100644 index 6f65826ff389ca45bb62d64c312c3d788d147fc8..0000000000000000000000000000000000000000 --- a/duniter4j-es-user/src/main/java/org/duniter/elasticsearch/user/rest/invitation/RestInvitationCertificationMarkAsReadAction.java +++ /dev/null @@ -1,44 +0,0 @@ -package org.duniter.elasticsearch.user.rest.invitation; - -/* - * #%L - * duniter4j-elasticsearch-plugin - * %% - * Copyright (C) 2014 - 2016 EIS - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -import org.duniter.elasticsearch.rest.AbstractRestPostMarkAsReadAction; -import org.duniter.elasticsearch.rest.security.RestSecurityController; -import org.duniter.elasticsearch.user.service.UserInvitationService; -import org.elasticsearch.client.Client; -import org.elasticsearch.common.inject.Inject; -import org.elasticsearch.common.settings.Settings; -import org.elasticsearch.rest.RestController; - -public class RestInvitationCertificationMarkAsReadAction extends AbstractRestPostMarkAsReadAction { - - @Inject - public RestInvitationCertificationMarkAsReadAction(Settings settings, RestController controller, Client client, - RestSecurityController securityController, - UserInvitationService service) { - super(settings, controller, client, securityController, UserInvitationService.INDEX, UserInvitationService.CERTIFICATION_TYPE, - (id, signature) -> { - service.markInvitationAsRead(id, signature); - }); - } -} \ No newline at end of file diff --git a/duniter4j-es-user/src/main/java/org/duniter/elasticsearch/user/service/UserInvitationService.java b/duniter4j-es-user/src/main/java/org/duniter/elasticsearch/user/service/UserInvitationService.java index aa0548d404536b9a706b451aa4ccb000e30d8c72..ebb8cde1b58bfeedf90d22b0a96154073d613a2a 100644 --- a/duniter4j-es-user/src/main/java/org/duniter/elasticsearch/user/service/UserInvitationService.java +++ b/duniter4j-es-user/src/main/java/org/duniter/elasticsearch/user/service/UserInvitationService.java @@ -141,22 +141,6 @@ public class UserInvitationService extends AbstractService { return invitationId; } - public void markInvitationAsRead(String id, String signature) { - Map<String, Object> fields = getMandatoryFieldsById(INDEX, CERTIFICATION_TYPE, id, Message.PROPERTY_HASH, Message.PROPERTY_RECIPIENT); - String recipient = fields.get(UserEvent.PROPERTY_RECIPIENT).toString(); - String hash = fields.get(UserEvent.PROPERTY_HASH).toString(); - - // Check signature - boolean valid = cryptoService.verify(hash, signature, recipient); - if (!valid) { - throw new InvalidSignatureException("Invalid signature: only the recipient can mark an message as read."); - } - - UpdateRequestBuilder request = client.prepareUpdate(INDEX, CERTIFICATION_TYPE, id) - .setDoc("read_signature", signature); - request.execute(); - } - /* -- Internal methods -- */ public XContentBuilder createCertificationType() { @@ -197,8 +181,8 @@ public class UserInvitationService extends AbstractService { .field("index", "not_analyzed") .endObject() - // read_signature - .startObject("read_signature") + // comment (encrypted) + .startObject("comment") .field("type", "string") .field("index", "not_analyzed") .endObject()