|
|
|
|
@ -33,6 +33,30 @@ public class ContactModule extends BaseHandler implements ContactService {
@@ -33,6 +33,30 @@ public class ContactModule extends BaseHandler implements ContactService {
|
|
|
|
|
ModuleRegistry.add(this); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private boolean deleteContact(long id, UmbrellaUser user, HttpExchange ex) throws IOException { |
|
|
|
|
var contact = contactDb.load(id, user.id()); |
|
|
|
|
contactDb.drop(contact); |
|
|
|
|
return sendEmptyResponse(200,ex); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public boolean doDelete(Path path, HttpExchange ex) throws IOException { |
|
|
|
|
addCors(ex); |
|
|
|
|
try { |
|
|
|
|
var user = userService().refreshSession(ex); |
|
|
|
|
if (user.isEmpty()) return unauthorized(ex); |
|
|
|
|
var head = path.pop(); |
|
|
|
|
try { |
|
|
|
|
var id = Long.parseLong(head); |
|
|
|
|
return deleteContact(id, user.get(), ex); |
|
|
|
|
} catch (Exception ignored){ |
|
|
|
|
return super.doPatch(path,ex); |
|
|
|
|
} |
|
|
|
|
} catch (UmbrellaException e) { |
|
|
|
|
return send(ex,e); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public boolean doGet(Path path, HttpExchange ex) throws IOException { |
|
|
|
|
addCors(ex); |
|
|
|
|
@ -54,8 +78,7 @@ public class ContactModule extends BaseHandler implements ContactService {
@@ -54,8 +78,7 @@ public class ContactModule extends BaseHandler implements ContactService {
|
|
|
|
|
public boolean doPatch(Path path, HttpExchange ex) throws IOException { |
|
|
|
|
addCors(ex); |
|
|
|
|
try { |
|
|
|
|
Optional<Token> token = SessionToken.from(ex).map(Token::of); |
|
|
|
|
var user = userService().loadUser(token); |
|
|
|
|
var user = userService().refreshSession(ex); |
|
|
|
|
if (user.isEmpty()) return unauthorized(ex); |
|
|
|
|
var head = path.pop(); |
|
|
|
|
try { |
|
|
|
|
|