in tools/code/publisher/WorkspaceApi.cs [99:127]
private static IsWorkspaceApiNameInSourceControl GetIsWorkspaceApiNameInSourceControl(IServiceProvider provider)
{
var getArtifactFiles = provider.GetRequiredService<GetArtifactFiles>();
var serviceDirectory = provider.GetRequiredService<ManagementServiceDirectory>();
return (name, workspaceName) =>
doesInformationFileExist(name, workspaceName)
|| doesSpecificationFileExist(name, workspaceName);
bool doesInformationFileExist(ApiName name, WorkspaceName workspaceName)
{
var artifactFiles = getArtifactFiles();
var informationFile = WorkspaceApiInformationFile.From(name, workspaceName, serviceDirectory);
return artifactFiles.Contains(informationFile.ToFileInfo());
}
bool doesSpecificationFileExist(ApiName name, WorkspaceName workspaceName)
{
var artifactFiles = getArtifactFiles();
var getFileInApiDirectory = WorkspaceApiDirectory.From(name, workspaceName, serviceDirectory)
.ToDirectoryInfo()
.GetChildFile;
return Common.SpecificationFileNames
.Select(getFileInApiDirectory)
.Any(artifactFiles.Contains);
}
}