/* * Copyright (c) 2015 EMC Corporation * All Rights Reserved */ package controllers.api; import com.emc.vipr.model.catalog.ValidationError; import controllers.deadbolt.Deadbolt; import controllers.deadbolt.Restrict; import controllers.deadbolt.Restrictions; import org.apache.commons.lang.StringUtils; import org.apache.http.HttpStatus; import play.mvc.Controller; import play.mvc.With; import util.ConfigProperty; import util.ConfigPropertyUtils; import util.MessagesUtils; import util.SetupUtils; import java.util.Map; import static render.RenderApiModel.*; @With(Deadbolt.class) @Restrictions({ @Restrict({ "SYSTEM_ADMIN", "SECURITY_ADMIN" }), @Restrict({ "RESTRICTED_SYSTEM_ADMIN", "RESTRICTED_SECURITY_ADMIN" }) }) public class SetupApi extends Controller { // This API is intended to allow skipping the initial setup. It requires the system properties to be set // manually through the proper APIs. public static void skip() { if (SetupUtils.isSetupComplete()) { ok(); } Map<String, String> properties = ConfigPropertyUtils.getProperties(); String proxyPassword = properties.get(ConfigProperty.PROXYUSER_PASSWORD); if (StringUtils.isEmpty(proxyPassword)) { response.status = HttpStatus.SC_BAD_REQUEST; renderApi(new ValidationError(ConfigProperty.PROXYUSER_PASSWORD, MessagesUtils.get("setup.no.proxy.password"))); } SetupUtils.markSetupComplete(); ok(); } }