3 changed files with 61 additions and 23 deletions
@ -1,20 +1,21 @@
@@ -1,20 +1,21 @@
|
||||
var express = require('express'); |
||||
var page = require('./src/page'); |
||||
var storage = require('./src/storage'); |
||||
var app = express(); |
||||
|
||||
app.use(express.static(__dirname + '/resources/public')); |
||||
|
||||
app.get('/:year/:month/:day/:title', function (req, res) { |
||||
var params = req.params; |
||||
var id = params.year + "/" + params.month + "/" + params.day + "/" + params.title; |
||||
res.send("opening note " + id); |
||||
app.get('/new', function (req, res) { |
||||
res.send("opening new note mask") |
||||
}); |
||||
|
||||
app.get('/:link', function (req, res) { |
||||
|
||||
app.get(/(.*)\??.*/, function (req, res) { |
||||
var link = req.params["0"].slice(1); |
||||
storage.getNote(link).then(note => { |
||||
res.send("opening note " + note.text) |
||||
}); |
||||
}); |
||||
|
||||
|
||||
var server = app.listen(3000, function () { |
||||
console.log('NoteHub server listening on port %s', server.address().port); |
||||
}); |
||||
}); |
||||
|
||||
@ -0,0 +1,33 @@
@@ -0,0 +1,33 @@
|
||||
var Sequelize = require('sequelize'); |
||||
var sequelize = new Sequelize('database', null, null, { |
||||
dialect: 'sqlite', |
||||
pool: { |
||||
max: 5, |
||||
min: 0, |
||||
idle: 10000 |
||||
}, |
||||
storage: 'database.sqlite' |
||||
}); |
||||
|
||||
var Note = sequelize.define('Note', { |
||||
id: { type: Sequelize.INTEGER, autoIncrement: true, unique: true, primaryKey: true }, |
||||
text: Sequelize.TEXT, |
||||
published: { type: Sequelize.DATE, defaultValue: Sequelize.NOW }, |
||||
edited: { type: Sequelize.DATE, allowNull: true, defaultValue: null }, |
||||
publisher: Sequelize.STRING(32), |
||||
password: Sequelize.STRING(16), |
||||
views: Sequelize.INTEGER, |
||||
}); |
||||
|
||||
var Link = sequelize.define('Link', { |
||||
id: { type: Sequelize.STRING, unique: true, primaryKey: true }, |
||||
lastUsage: { type: Sequelize.DATE, allowNull: true, defaultValue: null }, |
||||
params: Sequelize.STRING |
||||
}); |
||||
|
||||
Note.hasMany(Link); |
||||
Link.belongsTo(Note); |
||||
|
||||
module.exports.getNote = linkId => Link.findById(linkId).then(link => { |
||||
return Note.findById(link.NoteId); |
||||
}); |
||||
Loading…
Reference in new issue