Пример #1
0
        public static void GenerateClientInterface(RestApiSpec model)
        {
            var targetFile = EsNetFolder + @"IElasticsearchClient.Generated.cs";
            var source     = RazorHelper.Execute(File.ReadAllText(ViewFolder + @"IElasticsearchClient.Generated.cshtml"), model).ToString();

            File.WriteAllText(targetFile, source);
        }
Пример #2
0
        public override async Task Generate(RestApiSpec spec, ProgressBar progressBar)
        {
            var view   = ViewLocations.LowLevel("Client", "Interface", "IElasticLowLevelClient.cshtml");
            var target = GeneratorLocations.LowLevel("IElasticLowLevelClient.Generated.cs");

            await DoRazor(spec, view, target);
        }
        public override async Task Generate(RestApiSpec spec, ProgressBar progressBar, CancellationToken token)
        {
            var view   = ViewLocations.HighLevel("Client", "Interface", "IElasticClient.cshtml");
            var target = GeneratorLocations.HighLevel("IElasticClient.Generated.cs");

            await DoRazor(spec, view, target, null, token);
        }
Пример #4
0
        private static void GenerateRequestParameters(RestApiSpec model)
        {
            var targetFile = CodeConfiguration.EsNetFolder + @"Domain\RequestParameters\RequestParameters.Generated.cs";
            var source     = RazorHelper.Execute(File.ReadAllText(CodeConfiguration.ViewFolder + @"RequestParameters.Generated.cshtml"), model).ToString();

            File.WriteAllText(targetFile, source);
        }
Пример #5
0
        public static void GenerateClientInterface(RestApiSpec model)
        {
            var targetFile = _nestFolder + @"IRawElasticClient.Generated.cs";
            var source     = _razorMachine.Execute(File.ReadAllText(_viewFolder + @"IRawElasticClient.Generated.cshtml"), model).ToString();

            File.WriteAllText(targetFile, source);
        }
Пример #6
0
        private static void GenerateRawClient(RestApiSpec model)
        {
            var targetFile = CodeConfiguration.EsNetFolder + @"ElasticLowLevelClient.Generated.cs";
            var source     = DoRazor(nameof(GenerateRawClient), File.ReadAllText(CodeConfiguration.ViewFolder + @"ElasticLowLevelClient.Generated.cshtml"), model);

            File.WriteAllText(targetFile, source);
        }
Пример #7
0
        public override async Task Generate(RestApiSpec spec, ProgressBar progressBar)
        {
            var view   = ViewLocations.HighLevel("Requests", "ApiUrlsLookup.cshtml");
            var target = GeneratorLocations.HighLevel("_Generated", "ApiUrlsLookup.generated.cs");

            await DoRazor(spec, view, target);
        }
Пример #8
0
        private static void GenerateRawDispatch(RestApiSpec model)
        {
            var targetFile = CodeConfiguration.NestFolder + @"_Generated/_LowLevelDispatch.Generated.cs";
            var source     = DoRazor(nameof(GenerateRawDispatch), File.ReadAllText(CodeConfiguration.ViewFolder + @"_LowLevelDispatch.Generated.cshtml"), model);

            File.WriteAllText(targetFile, source);
        }
Пример #9
0
        public static RestApiSpec GetRestSpec(bool useCache)
        {
            Console.WriteLine("Getting a listing of all the api endpoints from the elasticsearch-rest-api-spec repos");

            string html = string.Empty;

            using (var client = new WebClient())
                html = client.DownloadString(useCache ? LocalUri("root.html") : _listingUrl);

            var dom = CQ.Create(html);

            if (!useCache)
            {
                WriteToCache("root.html", html);
            }

            var endpoints = dom[".js-directory-link"]
                            .Select(s => s.InnerText)
                            .Where(s => !string.IsNullOrEmpty(s) && s.EndsWith(".json"))
                            .Select(s => CreateApiDocumentation(useCache, s))
                            .ToDictionary(d => d.Key, d => d.Value);

            var restSpec = new RestApiSpec
            {
                Endpoints = endpoints,
                Commit    = dom[".sha:first"].Text()
            };


            return(restSpec);
        }
Пример #10
0
        public static void GenerateRawDispatch(RestApiSpec model)
        {
            var targetFile = _nestFolder + @"RawDispatch.Generated.cs";
            var source     = _razorMachine.Execute(File.ReadAllText(_viewFolder + @"RawDispatch.Generated.cshtml"), model).ToString();

            File.WriteAllText(targetFile, source);
        }
Пример #11
0
        public void GenerateDescriptors(RestApiSpec model)
        {
            var targetFile = NestFolder + @"_Generated\_Descriptors.Generated.cs";
            var source     = RazorHelper.Execute(File.ReadAllText(ViewFolder + @"_Descriptors.Generated.cshtml"), model).ToString();

            File.WriteAllText(targetFile, source);
        }
Пример #12
0
        public void GenerateRawClient(RestApiSpec model)
        {
            var targetFile = EsNetFolder + @"ElasticLowLevelClient.Generated.cs";
            var source     = RazorHelper.Execute(File.ReadAllText(ViewFolder + @"ElasticLowLevelClient.Generated.cshtml"), model).ToString();

            File.WriteAllText(targetFile, source);
        }
        public static void GenerateLowLevelExtensions(RestApiSpec model)
        {
            var targetFile = _nestWatcherFolder + @"LowLevelExtensions.Generated.cs";
            var source     = _razorMachine.Execute(File.ReadAllText(_viewFolder + @"LowLevelExtensions.Generated.cshtml"), model).ToString();

            File.WriteAllText(targetFile, source);
        }
Пример #14
0
        public void GenerateRequestParametersExtensions(RestApiSpec model)
        {
            var targetFile = NestFolder + @"_Generated\_RequestParametersExtensions.Generated.cs";
            var source     = RazorHelper.Execute(File.ReadAllText(ViewFolder + @"_RequestParametersExtensions.Generated.cshtml"), model).ToString();

            File.WriteAllText(targetFile, source);
        }
        public static void GenerateDescriptors(RestApiSpec model)
        {
            var targetFile = _nestWatcherFolder + @"DSL\_Descriptors.Generated.cs";
            var source     = _razorMachine.Execute(File.ReadAllText(_viewFolder + @"_Descriptors.Generated.cshtml"), model).ToString();

            File.WriteAllText(targetFile, source);
        }
        public static void GenerateRequestParameters(RestApiSpec model)
        {
            var targetFile = _nestWatcherFolder + @"Domain\RequestParameters\RequestParameters.Generated.cs";
            var source     = _razorMachine.Execute(File.ReadAllText(_viewFolder + @"RequestParameters.Generated.cshtml"), model).ToString();

            File.WriteAllText(targetFile, source);
        }
Пример #17
0
        public void GenerateEnums(RestApiSpec model)
        {
            var targetFile = EsNetFolder + @"Domain\Enums.Generated.cs";
            var source     = RazorHelper.Execute(File.ReadAllText(ViewFolder + @"Enums.Generated.cshtml"), model).ToString();

            File.WriteAllText(targetFile, source);
        }
Пример #18
0
        public static void GenerateEnums(RestApiSpec model)
        {
            var targetFile = _esNetFolder + @"Domain\Enums.Generated.cs";
            var source     = _razorMachine.Execute(File.ReadAllText(_viewFolder + @"Enums.Generated.cshtml"), model).ToString();

            File.WriteAllText(targetFile, source);
        }
Пример #19
0
        public static void GenerateRawClient(RestApiSpec model)
        {
            var targetFile = _esNetFolder + @"ElasticsearchClient.Generated.cs";
            var source     = _razorMachine.Execute(File.ReadAllText(_viewFolder + @"ElasticsearchClient.Generated.cshtml"), model).ToString();

            File.WriteAllText(targetFile, source);
        }
Пример #20
0
        private static void GenerateRequests(RestApiSpec model)
        {
            var targetFile = CodeConfiguration.NestFolder + @"_Generated\_Requests.Generated.cs";
            var source     = DoRazor(nameof(GenerateRequests), File.ReadAllText(CodeConfiguration.ViewFolder + @"_Requests.Generated.cshtml"), model);

            File.WriteAllText(targetFile, source);
        }
Пример #21
0
        public override async Task Generate(RestApiSpec spec, ProgressBar progressBar, CancellationToken token)
        {
            var view   = ViewLocations.LowLevel("Enums.Generated.cshtml");
            var target = GeneratorLocations.LowLevel("Api", "Enums.Generated.cs");

            await DoRazor(spec, view, target, null, token);
        }
Пример #22
0
        private static void GenerateEnums(RestApiSpec model)
        {
            var targetFile = CodeConfiguration.EsNetFolder + @"Domain\Enums.Generated.cs";
            var source     = DoRazor(nameof(GenerateEnums), File.ReadAllText(CodeConfiguration.ViewFolder + @"Enums.Generated.cshtml"), model);

            File.WriteAllText(targetFile, source);
        }
Пример #23
0
        public static void GenerateQueryStringParameters(RestApiSpec model)
        {
            var targetFile = _nestFolder + @"QueryStringParameters\QueryStringParameters.Generated.cs";
            var source     = _razorMachine.Execute(File.ReadAllText(_viewFolder + @"QueryStringParameters.Generated.cshtml"), model).ToString();

            File.WriteAllText(targetFile, source);
        }
Пример #24
0
        public void GenerateRawDispatch(RestApiSpec model)
        {
            var targetFile = NestFolder + @"_Generated/_LowLevelDispatch.Generated.cs";
            var source     = RazorHelper.Execute(File.ReadAllText(ViewFolder + @"_LowLevelDispatch.Generated.cshtml"), model).ToString();

            File.WriteAllText(targetFile, source);
        }
Пример #25
0
        private static void GenerateClientInterface(RestApiSpec model)
        {
            var targetFile = CodeConfiguration.EsNetFolder + @"IElasticLowLevelClient.Generated.cs";
            var source     = RazorHelper.Execute(File.ReadAllText(CodeConfiguration.ViewFolder + @"IElasticLowLevelClient.Generated.cshtml"), model).ToString();

            File.WriteAllText(targetFile, source);
        }
Пример #26
0
        private static string DoRazor(string name, string template, RestApiSpec model)
        {
            var engine = new RazorLightEngineBuilder()
                         .AddPrerenderCallbacks(t =>
            {
            }).Build();

            return(engine.CompileRenderAsync(name, template, model).GetAwaiter().GetResult());
        }
        public override async Task Generate(RestApiSpec spec, ProgressBar progressBar)
        {
            var view = ViewLocations.LowLevel("RequestParameters", "RequestParameters.cshtml");

            string Target(string id) => GeneratorLocations.LowLevel("Api", "RequestParameters", $"RequestParameters.{id}.cs");

            var namespaced = spec.EndpointsPerNamespaceHighLevel.ToList();

            await DoRazorDependantFiles(progressBar, namespaced, view, kv => kv.Key, id => Target(id));
        }
        public static RestApiSpec GetRestApiSpec()
        {
            var spec = new RestApiSpec
            {
                Commit    = CQ.Create(LocalUri("root.html"))[".sha:first"].Text(),
                Endpoints = Directory.GetFiles(_specFolder)
                            .Where(f => Path.GetFileName(f).StartsWith("watcher.") && f.EndsWith(".json"))
                            .Select(f => CreateApiEndpoint(f))
                            .ToDictionary(d => d.Key, d => d.Value)
            };

            return(spec);
        }
Пример #29
0
        public override async Task Generate(RestApiSpec spec, ProgressBar progressBar)
        {
            var view   = ViewLocations.LowLevel("Client", "Implementation", "ElasticLowLevelClient.cshtml");
            var target = GeneratorLocations.LowLevel($"ElasticLowLevelClient.{CsharpNames.RootNamespace}.cs");

            await DoRazor(spec, view, target);

            var namespaced     = spec.EndpointsPerNamespaceHighLevel.Where(kv => kv.Key != CsharpNames.RootNamespace).ToList();
            var namespacedView = ViewLocations.LowLevel("Client", "Implementation", "ElasticLowLevelClient.Namespace.cshtml");

            await DoRazorDependantFiles(progressBar, namespaced, namespacedView, kv => kv.Key,
                                        id => GeneratorLocations.LowLevel($"ElasticLowLevelClient.{id}.cs"));
        }
Пример #30
0
        public RestApiSpec GetRestApiSpec()
        {
            var spec = new RestApiSpec
            {
                Commit    = CQ.Create(LocalUri("root.html"))[".sha:first"].Text(),
                Endpoints = Directory.GetFiles(ApiEndpointsFolder)
                            .Where(f => f.EndsWith(".json"))
                            .Select(CreateApiEndpoint)
                            .ToDictionary(d => d.Key, d => d.Value)
            };

            return(spec);
        }