file-system-mongo
v2.0.6
Published
Creates a windows explorer type tree structure of files and folders in Atlas MongoDB data base.
Downloads
3
Readme
File-System-Mongo module creates a "window explorer type" tree structure of files and folders in Atlas MongoDB database.
Installation
This is a Node.js module available through the npm registry. Installation is done using the npm install command:
$ npm install file-system-mongo
Usage
Environment variables
The following environment variables are required.
| Evironment Variable Name | Description | |:---- |:--- | | FILESYSTEM_DATABASE_URL | URI connection string could reference a local database during development | | ACCESS_TOKEN_SECRET | A string generated by running require('crypto').randomBytes(64).toString() in the terminal will work as a secret | | REFRESH_TOKEN_SECRET | A string generated by running require('crypto').randomBytes(64).toString() in the terminal will work as a secret |
Simple usage
const express = require('express')
var app = express()
const fileSystemMongo = require('file-system-mongo')(app)
app.use(fileSystemMongo)
app.get('/tree', function (req, res) {
res.json({msg: 'This is CORS-enabled for all origins!'})
})
app.listen(80, function () {
console.log('Web server listening on port 80')
})
Configuring file-system-mongo
Options:
- white_list: "http://127.0.0.1:5500,http://localhost:5000", //default: undefined
- access_token_expiry: "15s", //default: 900s
- cookie_max_age: 1000*60*60, //default: 1000*60*60*24 (1 day)
- cookie_secure: false, //default: true
REST API Endpoints
File-System-Mongo REST API provides many document-oriented endpoints, but also allows you to customize your own.
See endpoints doc for a full documentation of the endpoints
Here are the endpoints provided by File-System-Mongo that perform CRUD operations on resources in REST style. |
Customizing File-System-Mongo REST API
...
const app = express();
const { router, getFileSystem, authenticateToken } = require("./file-system-routes")(app);
router.get("/custom", authenticateToken, (req, res) => {
const username = req.user.username;
const fsPromises = getFileSystem(username).promises;
console.log(fsPromises);
});
app.use(router);
...