Public | Automated Build

Last pushed: 2 days ago
Short Description
Backend for angular-filemanager UI written with Node.js and Express.
Full Description

angular-filemanager-nodejs-bridge

This project provides a backend for the fantastic angular-filemanager UI written with Node.js and Express.

CAUTION: This project is currently not mainted!
If you want to take over this project or you already developed a better implementation, please send me a message and I will link to your project.

Features

Currently the following operations are (partially) implemented:

Usage (standalone)

  1. Checkout this Git repository:

    git clone https://github.com/fkoester/angular-filemanager-nodejs-bridge.git
    
  2. Install dependencies:

    npm install
    
  3. run

    DATA_DIR=/tmp npm start
    

    Change DATA_DIR variable to the root folder you want angular-filemanager to operate on

  4. Configure angular-filemanager in your angular app:

    app.config(function (fileManagerConfigProvider) {
     var defaults = fileManagerConfigProvider.$get();
    
     fileManagerConfigProvider.set({
       copyUrl: '{/files}/copy', // where {/files} is the mount path of this module.
       createFolderUrl: '{/files}/createFolder',
       downloadFileUrl: '{/files}/download',
       editUrl: '{/files}/edit',
       removeUrl: '{/files}/remove',
       renameUrl: '{/files}/rename',
       uploadUrl: '{/files}/upload',
       getContentUrl: '{/files}/getContent',
       listUrl: '{/files}/list',
     });
    });
    

Using Docker

You can also run this server via Docker using the image maestroalubia/angular-filemanager-nodejs-bridge.

The easiest way to get it up running is using docker-compose, just run docker-compose up in the project root. This exports the host's /tmp directory. You can change this by changing the docker-compose.yml file.

Usage (in other express application)

If you want to integrate this bridge into your own Express application you can do so by adding it as a dependency:

  1. Install via npm

    npm install --save angular-filemanager-nodejs-bridge
    
  2. Import and configure the router

    const express = require('express');
    const filesRouter = require('angular-filemanager-nodejs-bridge').router;
    const routes = express.Router();
    
    routes.use('/files', filesRouter);
    
  3. Configure a custom base dir function (optional)

    const pathresolver = require('angular-filemanager-nodejs-bridge').pathresolver;
    
    pathresolver.baseDir = function(req) {
    
     if(req.body.username = 'foo') {
       return '/foo';
     }
    
     return '/bar';
    };
    
Docker Pull Command
Owner
maestroalubia

Comments (0)