コード例 #1
0
        public override async Task <CurateSellerRatesResponse> CurateSellerRates(CurateSellerRatesRequest request, ServerCallContext context)
        {
            var res = await _executor.ExecuteAsync(new CurateSellerRatesQuery
            {
            }).ConfigureAwait(false);

            var returnVal = res;

            var result = new CurateSellerRatesResponse
            {
            };

            return(result);
        }
コード例 #2
0
        public override async Task <AvailMartDeleteResponse> AvailMartDelete(AvailMartDeleteRequest request, ServerCallContext context)
        {
            var res = await _executor.ExecuteAsync(new AvailMartDeleteQuery
            {
                AvailMartHashKey = request.AvailMartHashKey
            }).ConfigureAwait(false);

            var returnVal = res;

            var result = new AvailMartDeleteResponse
            {
            };

            return(result);
        }
コード例 #3
0
        public override async Task <CreateReleaseDefinitionResponse> CreateReleaseDefinition(
            CreateReleaseDefinitionRequest request,
            ServerCallContext context)
        {
            context.CheckAuthenticated(_authSettings);

            if (!request.ReleaseDefinition.Environments.Any())
            {
                throw new RpcException(new Status(StatusCode.InvalidArgument, "Environments were not defined"));
            }

            if (request.ReuseAwsStackFromServiceName == null)
            {
                request.ReuseAwsStackFromServiceName = request.ServiceName;
            }

            if (request.ConfigurationFolder == null)
            {
                throw new RpcException(new Status(StatusCode.InvalidArgument, "ConfigurationFolder was not defined"));
            }

            if (request.ServiceFolder == null)
            {
                throw new RpcException(new Status(StatusCode.InvalidArgument, "ServiceFolder was not defined"));
            }

            var result = await _executor.ExecuteAsync(new CreateReleaseDefinitionQuery
            {
                ServiceName = request.ServiceName,
                ReuseAwsStackFromServiceName = request.ReuseAwsStackFromServiceName,
                ServiceFolder              = request.ServiceFolder,
                ConfigurationFolder        = request.ConfigurationFolder,
                IsProdPath                 = request.IsProdPath,
                NeedsAwsUserAccountCreated = request.NeedsAwsUserAccountCreated,
                ReleaseDefinition          = request.ToModel(),
                DatabaseServers            = request.DatabaseServers.ToModel()
            }).ConfigureAwait(false);


            var response = new CreateReleaseDefinitionResponse();

            if (result != null)
            {
                response.ReleaseDefinition = result.ToProto();
            }
            return(response);
        }
コード例 #4
0
        public override async Task <RatingDemoDeleteResponse> RatingDemoDelete(RatingDemoDeleteRequest request, ServerCallContext context)
        {
            var res = await _executor.ExecuteAsync(new RatingDemoDeleteQuery
            {
                RatingDemoHashKey = request.RatingDemoHashKey
            }).ConfigureAwait(false);

            var returnVal = res;

            var result = new RatingDemoDeleteResponse
            {
            };

            return(result);
        }
コード例 #5
0
        public override async Task <CuratedRatingDeleteResponse> CuratedRatingDelete(CuratedRatingDeleteRequest request, ServerCallContext context)
        {
            var res = await _executor.ExecuteAsync(new CuratedRatingDeleteQuery
            {
                CuratedRatingId = request.CuratedRatingId
            }).ConfigureAwait(false);

            var returnVal = res;

            var result = new CuratedRatingDeleteResponse
            {
            };

            return(result);
        }
コード例 #6
0
        public override async Task <GetRateCardResponse> GetRateCard(GetRateCardRequest request, ServerCallContext context)
        {
            var res = await _executor.ExecuteAsync(new GetRateCardQuery
            {
            }).ConfigureAwait(false);

            var returnVal = res;

            var result = new GetRateCardResponse
            {
            };

            return(result);
        }
コード例 #7
0
        public override async Task <HealthCheckResponse> Check(HealthCheckRequest request, ServerCallContext context)
        {
            var status = HealthCheckResponse.Types.ServingStatus.Serving;

            try
            {
                if (!await _executor.ExecuteAsync(new HealthCheckQuery()))
                {
                    status = HealthCheckResponse.Types.ServingStatus.NotServing;
                }
            }
            catch (Exception e)
            {
                _logger.LogError("Error running health check: {0}", e);
                status = HealthCheckResponse.Types.ServingStatus.NotServing;
            }

            return(new HealthCheckResponse
            {
                Status = status
            });
        }
コード例 #8
0
        public override async Task <SellingTitleDeleteResponse> SellingTitleDelete(SellingTitleDeleteRequest request, ServerCallContext context)
        {
            var res = await _executor.ExecuteAsync(new SellingTitleDeleteQuery
            {
                SellingTitleHashKey = request.SellingTitleHashKey
            }).ConfigureAwait(false);

            var returnVal = res;

            var result = new SellingTitleDeleteResponse
            {
            };

            return(result);
        }
コード例 #9
0
        public override async Task <KickstartSolutionResponse> KickstartSolution(KickstartSolutionRequest request, ServerCallContext context)
        {
            var workDir = GetTemporaryDirectory();
            var model   = new KickstartWizardModel
            {
                ProjectDirectory           = workDir,
                MetadataSource             = MetadataSource.Grpc,
                ConvertToSnakeCase         = request.ConvertToSnakeCase,
                CreateDataLayerProject     = request.GenerateDataLayerProject,
                CreateDatabaseProject      = request.GenerateDatabaseProject,
                CreateGrpcServiceProject   = request.GenerateGrpcServiceProject,
                CreateGrpcUnitTestProject  = request.GenerateGrpcUnitTestProject,
                CreateGrpcClientProject    = request.GenerateGrpcClientProject,
                CreateWebAppProject        = request.GenerateWebAppProject,
                CreateDockerComposeProject = request.GenerateDockerComposeProject,
                CompanyName   = request.CompanyName,
                SolutionName  = request.SolutionName,
                ProjectName   = request.ProjectName,
                DatabaseType  = (Utility.DataStoreTypes)request.DatabaseType,
                ProtoFileText = request.ProtoFileText,
                GenerateStoredProcAsEmbeddedQuery = true
            };

            try
            {
                var result = await _executor.ExecuteAsync(new BuildSolutionQuery
                {
                    KickstartModel = model
                }).ConfigureAwait(false);
            }
            catch (Exception ex)
            {
                var response = new KickstartSolutionResponse
                {
                    Succeeded    = false,
                    ErrorMessage = ex.Message
                };
                return(response);
            }
            var tempZip = Path.GetTempFileName();

            File.Delete(tempZip);
            System.IO.Compression.ZipFile.CreateFromDirectory(workDir, tempZip);

            using (MemoryStream memoryStream = new MemoryStream())
            {
                using (FileStream file = new FileStream(tempZip, FileMode.Open, FileAccess.Read))
                    file.CopyTo(memoryStream);

                File.Delete(tempZip);
                ClearFolder(workDir);
                Directory.Delete(workDir);
                var response = new KickstartSolutionResponse
                {
                    Succeeded            = true,
                    GeneratedFilesBase64 = Convert.ToBase64String(memoryStream.ToArray())
                };

                return(response);
            }
        }