diff --git a/server/bundles/io.cloudbeaver.server/schema/service.core.graphqls b/server/bundles/io.cloudbeaver.server/schema/service.core.graphqls index 7c39847187..701e0df230 100644 --- a/server/bundles/io.cloudbeaver.server/schema/service.core.graphqls +++ b/server/bundles/io.cloudbeaver.server/schema/service.core.graphqls @@ -416,7 +416,7 @@ extend type Query { extend type Mutation { # Initialize session - openSession: SessionInfo! + openSession(defaultLocale: String): SessionInfo! # Destroy session closeSession: Boolean diff --git a/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/service/core/DBWServiceCore.java b/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/service/core/DBWServiceCore.java index bafc61591e..ed981c97a2 100644 --- a/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/service/core/DBWServiceCore.java +++ b/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/service/core/DBWServiceCore.java @@ -64,7 +64,7 @@ public interface DBWServiceCore extends DBWService { // Session @WebAction(requirePermissions = {}) - WebSession openSession(@NotNull WebSession webSession) throws DBWebException; + WebSession openSession(@NotNull WebSession webSession, @Nullable String defaultLocale) throws DBWebException; @WebAction(requirePermissions = {}) WebSession getSessionState(@NotNull WebSession webSession) throws DBWebException; diff --git a/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/service/core/WebServiceBindingCore.java b/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/service/core/WebServiceBindingCore.java index 4c19c47ac9..0fa0d660be 100644 --- a/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/service/core/WebServiceBindingCore.java +++ b/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/service/core/WebServiceBindingCore.java @@ -80,7 +80,8 @@ public class WebServiceBindingCore extends WebServiceBindingBase model.getMutationType() .dataFetcher("openSession", env -> getService(env).openSession( - sessionManager.getWebSession(GraphQLEndpoint.getServletRequest(env), GraphQLEndpoint.getServletResponse(env), false))) + sessionManager.getWebSession(GraphQLEndpoint.getServletRequest(env), GraphQLEndpoint.getServletResponse(env), false), + env.getArgument("defaultLocale"))) .dataFetcher("closeSession", env -> getService(env).closeSession(GraphQLEndpoint.getServletRequest(env))) .dataFetcher("touchSession", env -> getService(env).touchSession( GraphQLEndpoint.getServletRequest(env), GraphQLEndpoint.getServletResponse(env))) diff --git a/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/service/core/impl/WebServiceCore.java b/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/service/core/impl/WebServiceCore.java index 8aced9bf54..f31da10558 100644 --- a/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/service/core/impl/WebServiceCore.java +++ b/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/service/core/impl/WebServiceCore.java @@ -152,7 +152,8 @@ public class WebServiceCore implements DBWServiceCore { } @Override - public WebSession openSession(@NotNull WebSession webSession) { + public WebSession openSession(@NotNull WebSession webSession, @Nullable String defaultLocale) { + webSession.setLocale(defaultLocale); return webSession; }