Пример #1
0
        private void Deploy(FileLink zipLocation)
        {
            var zipFolder = new LocalFolder(zipLocation.Folder);

            var outputResource = FolderResource.From("_deploy_");
            var outputFolder   = zipFolder.Then(outputResource);

            try
            {
                Deploy(outputFolder);

                zipFolder.Delete(zipLocation.Name, strict: false);

                Log.Info("[deploy] Zipping to {Location:l}", zipLocation);

                ZipFile.CreateFromDirectory(
                    outputFolder.Link.ToString(),
                    zipLocation.ToString(),
                    default(CompressionLevel),
                    includeBaseDirectory: false);
            }
            finally
            {
                outputFolder.Delete(strict: false);

                Log.Info("[deploy] Deleted temporary folder {Output:l}", outputResource);
            }
        }
Пример #2
0
 private void DeployFolder(IFolder source, FolderResource resource)
 {
     foreach (var file in source.ReadFiles(resource, recursive: true))
     {
         DeployFile(source, file);
     }
 }
 public static void EnrichWithLinks(this FolderResource folder, ControllerBase controller)
 {
     folder.AddLinks(
         new Link("self", controller.Url.Link("GetFolder", new { Id = folder.Id })),
         new Link("subfolders", controller.Url.Link("GetSubfolders", new { Id = folder.Id })),
         new Link("post", controller.Url.Link("CreateSubfolder", new { Id = folder.Id }))
         );
 }
Пример #4
0
        private IEnumerable <RuntimePackage> ReadTotemSubmodulePackages()
        {
            var submoduleFolder = _deployment.InTotemSubmodule
                                ? _deployment.Folder
                                : _deployment.Folder.Up(1).Then(FolderResource.From("Submodules/Totem/Source"));

            var subfolders =
                from subfolder in submoduleFolder.ReadFolders()
                let path = subfolder.Path.ToString()
                           where path != "Totem" && path != "Totem.Runtime"
                           select subfolder;

            return(ReadPackages(submoduleFolder, subfolders.ToMany()));
        }
        public async Task <ActionResult <FolderResource> > Get(int id)
        {
            try
            {
                var query    = new ReadFolderQuery(id);
                var response = await mediator.Send(query);

                var folderResource = new FolderResource(response);
                folderResource.EnrichWithLinks(this);

                return(folderResource);
            }
            catch (NotFoundRequestException)
            {
                return(NotFound());
            }
        }
        public async Task <ActionResult <FolderResource> > Post([FromBody] FolderResource folder)
        {
            try
            {
                var command  = new CreateFolderCommand(folder.Name);
                var folderId = await mediator.Send(command);

                var query    = new ReadFolderQuery(folderId);
                var response = await mediator.Send(query);

                var folderResource = new FolderResource(response);
                folderResource.EnrichWithLinks(this);

                return(folderResource);
            }
            catch (FolderNameMustBeUniqueInParentRequestException)
            {
                return(this.BadRequest(ApiErrors.FolderNameMustBeUniqueInParent));
            }
        }
Пример #7
0
 public FolderResource ExpandBuild(FolderResource packageFolder)
 {
     return(!InSolution
                         ? packageFolder
                         : packageFolder.Then(FolderResource.From("bin/" + SolutionConfiguration)));
 }
Пример #8
0
 public FolderLink ExpandInData(FolderResource folder) => DataFolder.Link.Then(folder);
Пример #9
0
 public FolderLink Expand(FolderResource folder) => Folder.Link.Then(folder);
Пример #10
0
 internal PackageBuild(RuntimePackage package, IFolder deploymentOutput)
 {
     _package = package;
     _output  = deploymentOutput.Then(FolderResource.From(package.Name));
 }
Пример #11
0
 private IFolder GetLogFolder(IFolder dataFolder)
 {
     return(dataFolder.Then(FolderResource.From(Log.DataFolder)));
 }
Пример #12
0
        private static FileResource ReadPackagePrimaryFile(IFolder folder, string packageName, FolderResource buildFolder)
        {
            var dllFile = buildFolder.Then(FileName.From(packageName, "dll"));

            if (folder.FileExists(dllFile))
            {
                return(dllFile);
            }

            var exeFile = buildFolder.Then(FileName.From(packageName, "exe"));

            if (folder.FileExists(exeFile))
            {
                return(exeFile);
            }

            return(null);
        }
Пример #13
0
 public FolderLink ExpandInData(FolderResource folder)
 {
     return(Runtime.Deployment.ExpandInData(folder));
 }
Пример #14
0
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            if (value == null)
            {
                return(null);
            }

            if (!(value is Blob blob))
            {
                return(null);
            }

            if (FolderResource.IsLoadingBlob(blob))
            {
                return(null);
            }

            if (targetType == typeof(ImageSource))
            {
                if (blob.Kind == BlobItemKind.Folder)
                {
                    if (blob.Properties.ContainsKey("IsLogsContainer"))
                    {
                        return("azure/metrics".GetImageSource());
                    }

                    if (blob.Properties.ContainsKey("IsSecret"))
                    {
                        return("account/azure.keyvault.secret".GetImageSource());
                    }

                    if (blob.Properties.ContainsKey("IsContainer"))
                    {
                        return("account/azure.blob.container".GetImageSource());
                    }

                    if (blob.Properties.ContainsKey("IsFilesystem"))
                    {
                        return("account/azure.datalake.gen2".GetImageSource());
                    }

                    if (blob.Properties.ContainsKey("IsShare"))
                    {
                        return("account/azure.file".GetImageSource());
                    }


                    return(_folderImageSource);
                }

                return(WindowsNative.HasAssociatedProgram(blob.Name) ? IconManager.FindIconForFilename(blob.Name, false) : null);
            }
            else if (targetType == typeof(Visibility))
            {
                if (blob.IsFile && WindowsNative.HasAssociatedProgram(blob.Name))
                {
                    return(Visibility.Visible);
                }

                return(Visibility.Collapsed);
            }

            return(null);
        }