local helpers = require('helpers') local recovery = require('recovery') local factory = {} local user_dir = recovery.sys.user() local system_dir = recovery.sys.source_slot() local db_dir = system_dir .. "/db" local db_factory_dir = system_dir .. "/db/factory" local file_indexer_cache = system_dir .. "/data/.directory_is_indexed" factory.script_name = "factory.lua" factory.img_in_progress = "assets/gui_image_factory_reset_in_progress.bin" factory.img_success = "assets/gui_image_factory_reset_success.bin" factory.img_failure = "assets/gui_image_factory_reset_failed.bin" local function remove_old_databases() print(string.format("Removing old databases from '%s'", db_dir)) helpers.rm_files_from_dir(db_dir) end local function copy_clean_databases() print(string.format("Copying clean databases from '%s' to '%s'", db_factory_dir, db_dir)) helpers.copy_dir(db_factory_dir, db_dir) end local function remove_cache() if helpers.exists(file_indexer_cache) then print(string.format("Removing cache file '%s'", file_indexer_cache)) assert(os.remove(file_indexer_cache)) end end function factory.execute() remove_old_databases() copy_clean_databases() remove_cache() end return factory