dev: migrate DatabaseFSEntryFetcher to puterfs module

This commit is contained in:
KernelDeimos
2024-12-11 14:14:40 -05:00
parent 4e0ce06982
commit dac5458b2e
3 changed files with 11 additions and 15 deletions
@@ -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');
@@ -17,16 +17,11 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
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;
@@ -15,6 +15,9 @@ class PuterFSModule extends AdvancedBase {
const { MountpointService } = require('./MountpointService');
services.registerService('mountpoint', MountpointService);
const DatabaseFSEntryFetcher = require("./DatabaseFSEntryFetcher");
services.registerService('fsEntryFetcher', DatabaseFSEntryFetcher);
}
}