diff --git a/src/backend/src/filesystem/FilesystemService.js b/src/backend/src/filesystem/FilesystemService.js index 164dd9396..15fad586d 100644 --- a/src/backend/src/filesystem/FilesystemService.js +++ b/src/backend/src/filesystem/FilesystemService.js @@ -18,7 +18,6 @@ */ // TODO: database access can be a service const { RESOURCE_STATUS_PENDING_CREATE } = require('../modules/puterfs/ResourceService.js'); -const DatabaseFSEntryFetcher = require("./storage/DatabaseFSEntryFetcher"); const { TraceService } = require('../services/TraceService.js'); const FSAccessContext = require('./FSAccessContext.js'); const PerformanceMonitor = require('../monitor/PerformanceMonitor.js'); @@ -49,11 +48,6 @@ class FilesystemService extends BaseService { services.registerService('traceService', TraceService); - // TODO: [fs:remove-separate-updater-and-fetcher] - services.set('fsEntryFetcher', new DatabaseFSEntryFetcher({ - services: services, - })); - // The new fs entry service this.log = services.get('log-service').create('filesystem-service'); diff --git a/src/backend/src/filesystem/storage/DatabaseFSEntryFetcher.js b/src/backend/src/modules/puterfs/DatabaseFSEntryFetcher.js similarity index 94% rename from src/backend/src/filesystem/storage/DatabaseFSEntryFetcher.js rename to src/backend/src/modules/puterfs/DatabaseFSEntryFetcher.js index 82ece7eb2..b44bfcd14 100644 --- a/src/backend/src/filesystem/storage/DatabaseFSEntryFetcher.js +++ b/src/backend/src/modules/puterfs/DatabaseFSEntryFetcher.js @@ -17,16 +17,11 @@ * along with this program. If not, see . */ const { DB_READ } = require("../../services/database/consts"); -const { abtest } = require("../../util/otelutil"); -const { NodePathSelector, NodeUIDSelector, NodeInternalIDSelector, NodeChildSelector, RootNodeSelector } = require("../node/selectors"); - -module.exports = class DatabaseFSEntryFetcher { - constructor ({ services }) { - this.services = services; - this.log = services.get('log-service').create('DatabaseFSEntryFetcher'); - - this.db = services.get('database').get(DB_READ, 'filesystem'); +const { NodePathSelector, NodeUIDSelector, NodeInternalIDSelector, NodeChildSelector, RootNodeSelector } = require("../../filesystem/node/selectors"); +const BaseService = require("../../services/BaseService"); +module.exports = class DatabaseFSEntryFetcher extends BaseService { + _construct () { this.defaultProperties = [ 'id', 'associated_app_id', @@ -57,6 +52,10 @@ module.exports = class DatabaseFSEntryFetcher { ] } + _init () { + this.db = this.services.get('database').get(DB_READ, 'filesystem'); + } + async find (selector, fetch_entry_options) { if ( selector instanceof RootNodeSelector ) { return selector.entry; diff --git a/src/backend/src/modules/puterfs/PuterFSModule.js b/src/backend/src/modules/puterfs/PuterFSModule.js index 3f65d12af..c78220478 100644 --- a/src/backend/src/modules/puterfs/PuterFSModule.js +++ b/src/backend/src/modules/puterfs/PuterFSModule.js @@ -15,6 +15,9 @@ class PuterFSModule extends AdvancedBase { const { MountpointService } = require('./MountpointService'); services.registerService('mountpoint', MountpointService); + + const DatabaseFSEntryFetcher = require("./DatabaseFSEntryFetcher"); + services.registerService('fsEntryFetcher', DatabaseFSEntryFetcher); } }