diff --git a/api-docs/apiLive.htm b/api-docs/apiLive.htm index 24825cfb6..62880d299 100644 --- a/api-docs/apiLive.htm +++ b/api-docs/apiLive.htm @@ -1139,8 +1139,17 @@ Global Configuration configurations - Retrieve + List Global Configuration + + + + + Global Configuration + configurations/{configId} + + Retrieve + a Global Configuration Update Global Configuration @@ -10362,6 +10371,29 @@ GET https://DomainName/api/v1/configurations +  +
+
+

Retrieve Global Configuration

+

Returns a global enable/disable configurations.

+

Example Requests:

+
configurations/1
+
+
+ +GET https://DomainName/api/v1/configurations/1 + + + { + "name": "maker-checker", + "enabled": true, + "value": 0, + "id": 1 + } + +
+
+  
@@ -22589,7 +22621,15 @@ No Request Body: Global Configuration configurations - Retrieve Global Configuration + List Global Configuration + + + + + + configurations/{configId} + + Retrieve a Global Configuration Update Global Configuration diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/api/GlobalConfigurationApiResource.java b/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/api/GlobalConfigurationApiResource.java index 8aebf32d8..40559c585 100644 --- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/api/GlobalConfigurationApiResource.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/api/GlobalConfigurationApiResource.java @@ -23,6 +23,7 @@ import org.mifosplatform.commands.domain.CommandWrapper; import org.mifosplatform.commands.service.CommandWrapperBuilder; import org.mifosplatform.commands.service.PortfolioCommandSourceWritePlatformService; import org.mifosplatform.infrastructure.configuration.data.GlobalConfigurationData; +import org.mifosplatform.infrastructure.configuration.data.GlobalConfigurationPropertyData; import org.mifosplatform.infrastructure.configuration.service.ConfigurationReadPlatformService; import org.mifosplatform.infrastructure.core.api.ApiRequestParameterHelper; import org.mifosplatform.infrastructure.core.data.CommandProcessingResult; @@ -45,6 +46,7 @@ public class GlobalConfigurationApiResource { private final PlatformSecurityContext context; private final ConfigurationReadPlatformService readPlatformService; private final DefaultToApiJsonSerializer toApiJsonSerializer; + private final DefaultToApiJsonSerializer propertyDataJsonSerializer; private final ApiRequestParameterHelper apiRequestParameterHelper; private final PortfolioCommandSourceWritePlatformService commandsSourceWritePlatformService; @@ -53,12 +55,14 @@ public class GlobalConfigurationApiResource { final ConfigurationReadPlatformService readPlatformService, final DefaultToApiJsonSerializer toApiJsonSerializer, final ApiRequestParameterHelper apiRequestParameterHelper, - final PortfolioCommandSourceWritePlatformService commandsSourceWritePlatformService) { + final PortfolioCommandSourceWritePlatformService commandsSourceWritePlatformService, + final DefaultToApiJsonSerializer propertyDataJsonSerializer) { this.context = context; this.readPlatformService = readPlatformService; this.toApiJsonSerializer = toApiJsonSerializer; this.apiRequestParameterHelper = apiRequestParameterHelper; this.commandsSourceWritePlatformService = commandsSourceWritePlatformService; + this.propertyDataJsonSerializer = propertyDataJsonSerializer; } @GET @@ -73,6 +77,21 @@ public class GlobalConfigurationApiResource { final ApiRequestJsonSerializationSettings settings = this.apiRequestParameterHelper.process(uriInfo.getQueryParameters()); return this.toApiJsonSerializer.serialize(settings, configurationData, this.RESPONSE_DATA_PARAMETERS); } + + @GET + @Path("{configId}") + @Consumes({ MediaType.APPLICATION_JSON }) + @Produces({ MediaType.APPLICATION_JSON }) + public String retrieveOne(@PathParam("configId") final Long configId, @Context final UriInfo uriInfo) { + + this.context.authenticatedUser().validateHasReadPermission(this.resourceNameForPermissions); + + final GlobalConfigurationPropertyData configurationData = this.readPlatformService.retrieveGlobalConfiguration(configId); + + final ApiRequestJsonSerializationSettings settings = this.apiRequestParameterHelper.process(uriInfo.getQueryParameters()); + return this.propertyDataJsonSerializer.serialize(settings, configurationData, this.RESPONSE_DATA_PARAMETERS); + } + @PUT @Path("{configId}") diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/service/ConfigurationReadPlatformService.java b/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/service/ConfigurationReadPlatformService.java index 193feefef..ee1e94eb7 100644 --- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/service/ConfigurationReadPlatformService.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/service/ConfigurationReadPlatformService.java @@ -6,9 +6,12 @@ package org.mifosplatform.infrastructure.configuration.service; import org.mifosplatform.infrastructure.configuration.data.GlobalConfigurationData; +import org.mifosplatform.infrastructure.configuration.data.GlobalConfigurationPropertyData; public interface ConfigurationReadPlatformService { GlobalConfigurationData retrieveGlobalConfiguration(); + + GlobalConfigurationPropertyData retrieveGlobalConfiguration(Long configId); } \ No newline at end of file diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/service/ConfigurationReadPlatformServiceImpl.java b/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/service/ConfigurationReadPlatformServiceImpl.java index dc8ba0267..e952b391a 100755 --- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/service/ConfigurationReadPlatformServiceImpl.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/service/ConfigurationReadPlatformServiceImpl.java @@ -43,9 +43,21 @@ public class ConfigurationReadPlatformServiceImpl implements ConfigurationReadPl return new GlobalConfigurationData(globalConfiguration); } + + @Override + public GlobalConfigurationPropertyData retrieveGlobalConfiguration(Long configId) { + + this.context.authenticatedUser(); + + final String sql = "SELECT c.id, c.name, c.enabled, c.value FROM c_configuration c where c.id=? order by c.id"; + final GlobalConfigurationPropertyData globalConfiguration = this.jdbcTemplate.queryForObject(sql, this.rm, new Object[] {configId}); + + return globalConfiguration; + } private static final class GlobalConfigurationRowMapper implements RowMapper { + @Override public GlobalConfigurationPropertyData mapRow(final ResultSet rs, @SuppressWarnings("unused") final int rowNum) throws SQLException {