package org.fenixedu.bennu.core.api.json; import java.util.Locale; import org.fenixedu.bennu.core.domain.User; import org.fenixedu.bennu.core.json.JsonBuilder; import org.fenixedu.bennu.core.json.JsonViewer; import org.fenixedu.bennu.core.security.Authenticate; import org.fenixedu.bennu.core.util.CoreConfiguration; import org.fenixedu.commons.i18n.I18N; import com.google.gson.JsonElement; import com.google.gson.JsonObject; public class AuthenticatedUserViewer implements JsonViewer<Void> { @Override public JsonElement view(Void nothing, JsonBuilder context) { User user = Authenticate.getUser(); JsonObject json; if (user != null) { json = context.view(user).getAsJsonObject(); } else { json = new JsonObject(); } final Locale currentLocale = I18N.getLocale(); json.add("locale", context.view(currentLocale)); json.add("locales", context.view(CoreConfiguration.supportedLocales())); return json; } }