Skip to content
This repository has been archived by the owner on Dec 10, 2023. It is now read-only.

fkoester/angular-filemanager-nodejs-bridge

Repository files navigation

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:

TODO

Usage (standalone)

  1. Checkout this Git repository:
git clone https://github.com/fkoester/angular-filemanager-nodejs-bridge.git
  1. Install dependencies:
npm install
  1. 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';
};

About

A bridge for angular-filemanager using Node.js and Express

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published