예제 #1
0
        public ApiClient(IOptions <SquidexOptions> appOptions)
        {
            var options = appOptions.Value;

            var clientManager =
                new SquidexClientManager(options);

            pagesClient = clientManager.CreateContentsClient <Page, PageData>("pages");
            postsClient = clientManager.CreateContentsClient <BlogPost, BlogPostData>("posts");
        }
        public async Task <CollectionPointAssets> GetCollectionAssets(List <string> iv)//, CollectionPoint cpData)
        {
            var dynamicClient = clientManager.CreateContentsClient <DynamicContentDetails, DynamicContentData>("collection-points");
            var referenceData = await dynamicClient.GetAsync(new HashSet <Guid>(iv.Select(x => Guid.Parse(x))));

            var    assets = new CollectionPointAssets();
            string jsonData;

            foreach (var content in referenceData.Items)
            {
                switch (content.SchemaName)
                {
                case "cp-image-asset":
                    jsonData = JsonConvert.SerializeObject(content.Data, Formatting.None);
                    var insertedImage = JsonConvert.DeserializeObject <ImageAsset>(jsonData);
                    insertedImage.Id = content.Id;
                    assets.ImageAssets.Add(insertedImage);
                    break;

                case "cp-qoute-asset":
                    jsonData = JsonConvert.SerializeObject(content.Data, Formatting.None);
                    var insertedQuote = JsonConvert.DeserializeObject <QuoteAsset>(jsonData);
                    insertedQuote.Id = content.Id;
                    assets.QuoteAssets.Add(insertedQuote);
                    break;
                }
            }
            return(assets);
        }
        public void ConnectToCMS(AppOptions appOptions)
        {
            var options = new SquidexOptions()
            {
                AppName      = appOptions.AppName,
                ClientId     = appOptions.ClientId,
                ClientSecret = appOptions.ClientSecret,
                Url          = appOptions.Url
            };

            clientManager        = new SquidexClientManager(options);
            ledColorsSeqClient   = clientManager.CreateContentsClient <LedColorsSeq, LedColorsSeqData>("cp-led-color-sequence");
            collectionPointsData = clientManager.CreateContentsClient <CollectionPoint, CollectionPointData>("collection-points");
            cpImageAsset         = clientManager.CreateContentsClient <ImageAsset, ImageAssetData>("cp-image-asset");
            cpQuoteAsset         = clientManager.CreateContentsClient <QuoteAsset, QuoteAssetData>("cp-qoute-asset");
        }
예제 #4
0
        public ApiClient(IOptions <AppOptions> appOptions)
        {
            var options = appOptions.Value;

            var clientManager =
                new SquidexClientManager(
                    options.Url,
                    options.AppName,
                    options.ClientId,
                    options.ClientSecret);

            pagesClient = clientManager.CreateContentsClient <Page, PageData>("pages");
            postsClient = clientManager.CreateContentsClient <BlogPost, BlogPostData>("posts");

            //pagesClient = clientManager.GetClient<Page, PageData>("pages");
            //postsClient = clientManager.GetClient<BlogPost, BlogPostData>("posts");
        }
예제 #5
0
        public async Task <IEnumerable <Product> > GetProducts()
        {
            var records  = _clientManager.CreateContentsClient <Product, ProductData>("product");
            var products = new List <Product>();
            //var records = await _clientManager.GetClient<Product, ProductData>("product").GetAsync();
            await records.GetAllAsync(100, product => { products.Add(product); return(Task.CompletedTask); });

            return(products);
        }
예제 #6
0
        public IContentsClient <DummyEntity, DummyData> Contents(string schema)
        {
            if (!contents.TryGetValue(schema, out var client))
            {
                client = clientManager.CreateContentsClient <DummyEntity, DummyData>(schema);

                contents[schema] = client;
            }

            return(client);
        }
예제 #7
0
        public async Task <IEnumerable <ProcessListData> > GetProcessList()
        {
            var client = _squidexClientManager.CreateContentsClient <ProcessList, ProcessListData>("processlist");

            using ((IDisposable)client)
            {
                var processList = new List <ProcessListData>();
                await client.GetAllAsync(100, data =>
                {
                    processList.Add(data.Data);
                    return(Task.CompletedTask);
                });

                return(processList);
            }
        }
예제 #8
0
        public FeaturesService(IOptions <MyNewsOptions> options)
        {
            if (options.Value.IsConfigured())
            {
                var squidexOptions = new SquidexOptions
                {
                    AppName      = options.Value.AppName,
                    ClientId     = options.Value.ClientId,
                    ClientSecret = options.Value.ClientSecret,
                    Url          = "https://cloud.squidex.io"
                };

                var clientManager = new SquidexClientManager(squidexOptions);

                client = clientManager.CreateContentsClient <NewsEntity, FeatureDto>("feature-news");
            }
        }
예제 #9
0
            private async Task ImportAsync(IImortArgumentBase arguments, SquidexClientManager service, IEnumerable <DummyData> datas)
            {
                var client = service.CreateContentsClient <DummyEntity, DummyData>(arguments.Schema);

                var totalWritten = 0;

                var consoleTop = Console.CursorTop;

                var handled = new HashSet <string>();

                foreach (var data in datas)
                {
                    await client.CreateAsync(data, !arguments.Unpublished);

                    totalWritten++;

                    Console.WriteLine("> Imported: {0}.", totalWritten);
                    Console.SetCursorPosition(0, consoleTop);
                }

                Console.WriteLine("> Imported: {0}. Completed.", totalWritten);
            }
예제 #10
0
 public IContentsClient <TEntity, TData> Contents <TEntity, TData>(string schemaName) where TEntity : Content <TData> where TData : class, new()
 {
     return(clientManager.CreateContentsClient <TEntity, TData>(schemaName));
 }
예제 #11
0
 public UserStore(SquidexClientManager clientManager)
 {
     apiClient = clientManager.CreateContentsClient <UserEntity, UserData>("users");
 }
예제 #12
0
        private async Task LoadSkillsAsync(HomeVM vm)
        {
            var records = await clientManager.CreateContentsClient <Skill, SkillData>("skills").GetAsync();

            vm.Skills = records.Items;
        }