/// <summary>
        /// Initializes a new instance of the <see cref="FileSystemType"/> class.
        /// </summary>
        /// <param name="fileSystemService">The application layer DiskService.</param>
        /// <param name="logger">The NLog logger instance.</param>
        public FileSystemType(IDiskService fileSystemService, ILogger logger)
        {
            this.Field(x => x.Name);
            this.Field(x => x.Type);
            this.Field(x => x.Total);

            this.Field <FileSystemStatusType>()
            .Name("Status")
            .ResolveAsync(async context =>
            {
                logger.Debug("File System status field");

                return(await fileSystemService.GetLastFileSystemStatusAsync(context.Source.Name));
            });

            this.Connection <FileSystemStatusType>()
            .Name("Statuses")
            .Bidirectional()
            .ResolveAsync(async context =>
            {
                logger.Debug("File System statuses connection");

                var pagingInput = context.GetPagingInput();
                var statuses    = await fileSystemService.GetFileSystemStatusesAsync(context.Source.Name, pagingInput);

                return(statuses.ToConnection());
            });
        }