public ApiProjectOptions( DirectoryInfo projectSrcGeneratePath, DirectoryInfo?projectTestGeneratePath, OpenApiDocument openApiDocument, FileInfo openApiDocumentFile, string projectPrefixName, string projectSuffixName, ApiOptions.ApiOptions apiOptions, bool forClient = false, string?clientFolderName = null) : base( projectSrcGeneratePath, projectTestGeneratePath, openApiDocument, openApiDocumentFile, projectPrefixName, projectSuffixName, apiOptions, forClient, clientFolderName) { if (string.IsNullOrEmpty(clientFolderName)) { PathForEndpoints = new DirectoryInfo(Path.Combine(PathForSrcGenerate.FullName, NameConstants.Endpoints)); PathForContracts = new DirectoryInfo(Path.Combine(PathForSrcGenerate.FullName, NameConstants.Contracts)); PathForContractsShared = new DirectoryInfo(Path.Combine(PathForContracts.FullName, NameConstants.ContractsSharedModels)); } else { PathForEndpoints = new DirectoryInfo(Path.Combine(Path.Combine(PathForSrcGenerate.FullName, clientFolderName), NameConstants.Endpoints)); PathForContracts = new DirectoryInfo(Path.Combine(Path.Combine(PathForSrcGenerate.FullName, clientFolderName), NameConstants.Contracts)); PathForContractsShared = new DirectoryInfo(Path.Combine(Path.Combine(PathForContracts.FullName), NameConstants.ContractsSharedModels)); } }
protected BaseProjectOptions( DirectoryInfo projectSrcGeneratePath, DirectoryInfo?projectTestGeneratePath, OpenApiDocument openApiDocument, FileInfo openApiDocumentFile, string projectPrefixName, string projectSuffixName, ApiOptions.ApiOptions apiOptions) { if (projectSrcGeneratePath == null) { throw new ArgumentNullException(nameof(projectSrcGeneratePath)); } ProjectName = projectPrefixName ?? throw new ArgumentNullException(nameof(projectPrefixName)); PathForSrcGenerate = projectSrcGeneratePath.Name.StartsWith(ProjectName, StringComparison.OrdinalIgnoreCase) ? projectSrcGeneratePath.Parent ! : projectSrcGeneratePath; if (projectTestGeneratePath != null) { PathForTestGenerate = projectTestGeneratePath.Name.StartsWith(ProjectName, StringComparison.OrdinalIgnoreCase) ? projectTestGeneratePath.Parent ! : projectTestGeneratePath; } Document = openApiDocument ?? throw new ArgumentNullException(nameof(openApiDocument)); DocumentFile = openApiDocumentFile ?? throw new ArgumentNullException(nameof(openApiDocumentFile)); ToolName = "ApiGenerator"; ToolVersion = GenerateHelper.GetAtcToolVersion(); ApiOptions = apiOptions; ApiVersion = GetApiVersion(openApiDocument); ProjectName = projectPrefixName .Replace(" ", ".", StringComparison.Ordinal) .Replace("-", ".", StringComparison.Ordinal) .Trim() + $".{projectSuffixName}"; PathForSrcGenerate = new DirectoryInfo(Path.Combine(PathForSrcGenerate.FullName, ProjectName)); ProjectSrcCsProj = new FileInfo(Path.Combine(PathForSrcGenerate.FullName, $"{ProjectName}.csproj")); if (PathForTestGenerate != null) { PathForTestGenerate = new DirectoryInfo(Path.Combine(PathForTestGenerate.FullName, $"{ProjectName}.Tests")); ProjectTestCsProj = new FileInfo(Path.Combine(PathForTestGenerate.FullName, $"{ProjectName}.Tests.csproj")); } BasePathSegmentNames = OpenApiDocumentHelper.GetBasePathSegmentNames(openApiDocument); }
public ApiProjectOptions( DirectoryInfo projectSrcGeneratePath, DirectoryInfo?projectTestGeneratePath, OpenApiDocument openApiDocument, FileInfo openApiDocumentFile, string projectPrefixName, ApiOptions.ApiOptions apiOptions) : base( projectSrcGeneratePath, projectTestGeneratePath, openApiDocument, openApiDocumentFile, projectPrefixName, "Api.Generated", apiOptions) { PathForEndpoints = new DirectoryInfo(Path.Combine(PathForSrcGenerate.FullName, NameConstants.Endpoints)); PathForContracts = new DirectoryInfo(Path.Combine(PathForSrcGenerate.FullName, NameConstants.Contracts)); PathForContractsEnumerationTypes = new DirectoryInfo(Path.Combine(PathForContracts.FullName, NameConstants.ContractsEnumerationTypes)); PathForContractsShared = new DirectoryInfo(Path.Combine(PathForContracts.FullName, NameConstants.ContractsSharedModels)); }
public HostProjectOptions( DirectoryInfo projectSrcGeneratePath, DirectoryInfo?projectTestGeneratePath, OpenApiDocument openApiDocument, FileInfo openApiDocumentFile, string projectPrefixName, ApiOptions.ApiOptions apiOptions, DirectoryInfo apiProjectSrcPath, DirectoryInfo domainProjectSrcPath) : base( projectSrcGeneratePath, projectTestGeneratePath, openApiDocument, openApiDocumentFile, projectPrefixName, "Api", apiOptions) { ApiProjectSrcPath = apiProjectSrcPath ?? throw new ArgumentNullException(nameof(projectSrcGeneratePath)); DomainProjectSrcPath = domainProjectSrcPath ?? throw new ArgumentNullException(nameof(domainProjectSrcPath)); }
public DomainProjectOptions( DirectoryInfo projectSrcGeneratePath, DirectoryInfo?projectTestGeneratePath, OpenApiDocument openApiDocument, FileInfo openApiDocumentFile, string projectPrefixName, ApiOptions.ApiOptions apiOptions, DirectoryInfo apiProjectSrcPath) : base( projectSrcGeneratePath, projectTestGeneratePath, openApiDocument, openApiDocumentFile, projectPrefixName, "Domain", apiOptions) { ApiProjectSrcPath = apiProjectSrcPath ?? throw new ArgumentNullException(nameof(apiProjectSrcPath)); PathForSrcHandlers = new DirectoryInfo(Path.Combine(PathForSrcGenerate.FullName, NameConstants.Handlers)); if (PathForTestGenerate != null) { PathForTestHandlers = new DirectoryInfo(Path.Combine(PathForTestGenerate.FullName, NameConstants.Handlers)); } }