예제 #1
0
        private async Task EnsureSite()
        {
            if (CurrentSite != null)
            {
                return;
            }

            var siteId = await AppSettings.Get("siteId");

            var query = new GraphQLRequest
            {
                Query = GraphQLQueryConstants.SiteContextQuery
            };

            query.Variables = new
            {
                siteId
            };

            await _httpClient.AddBeaerTokenIfAuthenticated(_oidcService);

            var endPoint = await AppSettings.Get("graphqlApiUri");

            var result = await _httpClient.SendQuery <SiteContextModel>(endPoint, query);

            if (result.SuccessResult != null)
            {
                CurrentSite = result.SuccessResult.Data.Site;
            }
            else if (result.Errors != null)
            {
                Errors = result.Errors;
            }
        }