mfm/src/commands/mapping_mount.cr

39 lines
1.1 KiB
Crystal

# SPDX-License-Identifier: GPL-3.0-or-later
#
# SPDX-FileCopyrightText: 2024 Glenn Y. Rolland <glenux@glenux.net>
# Copyright © 2024 Glenn Y. Rolland <glenux@glenux.net>
require "./abstract_command"
require "../file_system_manager"
module GX::Commands
class MappingMount < AbstractCommand
# @file_system_manager : FileSystemManager
def initialize(@config : GX::Config)
@config.load_from_env
@config.load_from_file
end
def execute
# filesystem = @config.root.try &.file_system_manager.choose_filesystem
# raise Models::InvalidFilesystemError.new("Invalid filesystem") if filesystem.nil?
# filesystem.mount
# @file_system_manager.auto_open(filesystem) if filesystem.mounted? && @config.auto_open?
end
def self.handles_mode
GX::Types::Mode::MappingMount
end
private def _mount_filesystem(filesystem : Models::AbstractFilesystemConfig)
raise Models::InvalidFilesystemError.new("Invalid filesystem") if filesystem.nil?
if filesystem.mounted?
Log.info { "Filesystem already mounted." }
return
end
filesystem.mount
end
end
end