diff --git a/src/main/groovy/io/kamax/mxisd/controller/v1/IdentityAPIv1.java b/src/main/groovy/io/kamax/mxisd/controller/v1/IdentityAPIv1.java new file mode 100644 index 0000000..f2b425f --- /dev/null +++ b/src/main/groovy/io/kamax/mxisd/controller/v1/IdentityAPIv1.java @@ -0,0 +1,27 @@ +/* + * mxisd - Matrix Identity Server Daemon + * Copyright (C) 2017 Maxime Dor + * + * https://max.kamax.io/ + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero 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 Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +package io.kamax.mxisd.controller.v1; + +public class IdentityAPIv1 { + + public static final String BASE = "/_matrix/identity/api/v1"; + +} diff --git a/src/main/groovy/io/kamax/mxisd/controller/v1/InvitationController.groovy b/src/main/groovy/io/kamax/mxisd/controller/v1/InvitationController.groovy index e83b00d..9683da1 100644 --- a/src/main/groovy/io/kamax/mxisd/controller/v1/InvitationController.groovy +++ b/src/main/groovy/io/kamax/mxisd/controller/v1/InvitationController.groovy @@ -44,7 +44,7 @@ import static org.springframework.web.bind.annotation.RequestMethod.POST @RestController @CrossOrigin -@RequestMapping(path = "/_matrix/identity/api/v1", produces = MediaType.APPLICATION_JSON_UTF8_VALUE) +@RequestMapping(path = IdentityAPIv1.BASE, produces = MediaType.APPLICATION_JSON_UTF8_VALUE) class InvitationController { private Logger log = LoggerFactory.getLogger(InvitationController.class) diff --git a/src/main/groovy/io/kamax/mxisd/controller/v1/KeyController.groovy b/src/main/groovy/io/kamax/mxisd/controller/v1/KeyController.groovy index 3fd8cb7..6a4e7f1 100644 --- a/src/main/groovy/io/kamax/mxisd/controller/v1/KeyController.groovy +++ b/src/main/groovy/io/kamax/mxisd/controller/v1/KeyController.groovy @@ -38,7 +38,7 @@ import static org.springframework.web.bind.annotation.RequestMethod.GET @RestController @CrossOrigin -@RequestMapping(path = "/_matrix/identity/api/v1", produces = MediaType.APPLICATION_JSON_UTF8_VALUE) +@RequestMapping(path = IdentityAPIv1.BASE, produces = MediaType.APPLICATION_JSON_UTF8_VALUE) class KeyController { private Logger log = LoggerFactory.getLogger(KeyController.class) diff --git a/src/main/groovy/io/kamax/mxisd/controller/v1/MappingController.groovy b/src/main/groovy/io/kamax/mxisd/controller/v1/MappingController.groovy index faefd0f..196204e 100644 --- a/src/main/groovy/io/kamax/mxisd/controller/v1/MappingController.groovy +++ b/src/main/groovy/io/kamax/mxisd/controller/v1/MappingController.groovy @@ -45,7 +45,7 @@ import static org.springframework.web.bind.annotation.RequestMethod.POST @RestController @CrossOrigin -@RequestMapping(path = "/_matrix/identity/api/v1", produces = MediaType.APPLICATION_JSON_UTF8_VALUE) +@RequestMapping(path = IdentityAPIv1.BASE, produces = MediaType.APPLICATION_JSON_UTF8_VALUE) class MappingController { private Logger log = LoggerFactory.getLogger(MappingController.class) diff --git a/src/main/groovy/io/kamax/mxisd/controller/v1/SessionController.groovy b/src/main/groovy/io/kamax/mxisd/controller/v1/SessionController.groovy index 4e430e6..2df1de0 100644 --- a/src/main/groovy/io/kamax/mxisd/controller/v1/SessionController.groovy +++ b/src/main/groovy/io/kamax/mxisd/controller/v1/SessionController.groovy @@ -43,7 +43,7 @@ import java.nio.charset.StandardCharsets @RestController @CrossOrigin -@RequestMapping(path = "/_matrix/identity/api/v1", produces = MediaType.APPLICATION_JSON_UTF8_VALUE) +@RequestMapping(path = IdentityAPIv1.BASE, produces = MediaType.APPLICATION_JSON_UTF8_VALUE) class SessionController { @Autowired diff --git a/src/main/groovy/io/kamax/mxisd/controller/v1/StatusController.java b/src/main/groovy/io/kamax/mxisd/controller/v1/StatusController.java index 26ba03d..6dda07e 100644 --- a/src/main/groovy/io/kamax/mxisd/controller/v1/StatusController.java +++ b/src/main/groovy/io/kamax/mxisd/controller/v1/StatusController.java @@ -20,6 +20,8 @@ package io.kamax.mxisd.controller.v1; +import com.google.gson.Gson; +import com.google.gson.JsonObject; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.CrossOrigin; import org.springframework.web.bind.annotation.RequestMapping; @@ -30,10 +32,18 @@ import org.springframework.web.bind.annotation.RestController; @RequestMapping(produces = MediaType.APPLICATION_JSON_UTF8_VALUE) public class StatusController { + private Gson gson = new Gson(); + @RequestMapping(value = "/_matrix/identity/status") public String getStatus() { // TODO link to backend - return "{\"status\":{\"health\":\"OK\"}}"; + JsonObject status = new JsonObject(); + status.addProperty("health", "OK"); + + JsonObject obj = new JsonObject(); + obj.add("status", status); + + return gson.toJson(obj); } }