Skip to content

Commit

Permalink
ADDED: The start of a storage module
Browse files Browse the repository at this point in the history
  • Loading branch information
Chris Cartlidge authored and Chris Cartlidge committed Jan 8, 2015
1 parent cf97017 commit 7347f6c
Show file tree
Hide file tree
Showing 6 changed files with 100 additions and 2 deletions.
4 changes: 4 additions & 0 deletions app.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,11 @@ var favicon = require('serve-favicon');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
var multer = require('multer');

var routes = require('./routes/index');
var users = require('./routes/users');
var tracks =require('./routes/tracks');

var app = express();

Expand All @@ -22,9 +24,11 @@ app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(require('node-compass')({mode: 'expanded'}));
app.use(express.static(path.join(__dirname, 'public')));
app.use(multer({dest:'./uploads/'}));

app.use('/', routes);
app.use('/users', users);
app.use('/tracks', tracks);

// catch 404 and forward to error handler
app.use(function(req, res, next) {
Expand Down
60 changes: 60 additions & 0 deletions modules/storage/storage.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
var util = require('util');
var fs = require('fs');

Storage = function (root, tenant, domain) {
this.root = root;
this.tenant = tenant;
this.domain = domain;
};

var getPath = function(context, address, name){
if (name === undefined){
return util.format(
'/%s/%s/%s/%s/',
context.root,
context.tenant,
context.domain,
address);
}else {
return util.format(
'/%s/%s/%s/%s/%s',
context.root,
context.tenant,
context.domain,
address,
name);
}
}

Storage.prototype.getAll = function (address, callback) {
var path = getPath(this, address);
this.exists(address, function(){
fs.readdir(path, function(err, files){
for(var file in files){
console.dir(file);
}
});
});
};

Storage.prototype.get = function (address, name, callback) {
};

Storage.prototype.add = function (stream, address, name, callback) {

};

Storage.prototype.exists = function (address, success, fail) {
fs.exists(getPath(this, address), function (exists) {
if (exists) {
success();
}
else {
fail()
};
});
};



module.exports = Storage;
5 changes: 3 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
"serve-favicon": "~2.2.0",
"debug": "~2.1.1",
"jade": "~1.8.2",
"node-compass": "0.2.3"
"node-compass": "0.2.3",
"multer": "0.1.6"
}
}
}
8 changes: 8 additions & 0 deletions public/stylesheets/style.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
body {
padding: 50px;
font: 14px "Lucida Grande", Helvetica, Arial, sans-serif;
}

a {
color: #00B7FF;
}
17 changes: 17 additions & 0 deletions routes/tracks.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
var express = require('express');
var multer = require('multer');
var storage = require('../modules/storage/storage');
var router = express.Router();

/* GET home page. */
router.post('/upload', function(req, res) {

var bob = new Storage('/Users/chriscartlidge/storage/', 'hello', 'world');

bob.getAll('8ab99f6f-e5cf-4b32-a051-551e1bf3a3fa',function(){});

console.dir(req.files);
res.end("File uploaded.");
});

module.exports = router;
8 changes: 8 additions & 0 deletions views/index.jade
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,11 @@ extends layout
block content
h1= title
p Welcome to #{title}

form(role="form",
enctype="multipart/form-data"
action="/tracks/upload",
method="post")

input(type="file", name="file")
input(type="submit", value="Upload" name="submit")

0 comments on commit 7347f6c

Please sign in to comment.