Compare commits

...

3 Commits

@ -0,0 +1,3 @@
{
presets: ["es2015-riot"]
}

6
.gitignore vendored

@ -4,3 +4,9 @@ sasswatch.log
sasswatch.err
sasswatch.pid
node_modules
src/scss/*.css
src/scss/*.css.map
src/elements/*.css
src/elements/*.css.map
/bower_components/
/old/

@ -1,44 +0,0 @@
express = require('express');
path = require('path');
favicon = require('static-favicon');
logger = require('morgan');
cookieParser = require('cookie-parser');
bodyParser = require('body-parser');
routes = require('./routes/index');
users = require('./routes/users');
app = express();
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');
app.use(favicon());
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded());
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));
app.use('/', routes);
app.use('/users', users);
app.use (req, res, next) ->
err = new Error("Not Found")
err.status = 404
next(err)
if app.get("env") == "development"
app.use (err, req, res, next) ->
res.status(err.status || 500)
res.render "error",
message: err.message
error: err
app.use (err, req, res, next) ->
res.status(err.status || 500)
res.render "error",
message: err.message
error: {}
module.exports = app;

@ -1,66 +1,20 @@
var app, bodyParser, cookieParser, express, favicon, logger, path, routes, users;
'use strict';
express = require('express');
const express = require("express");
const bodyParser = require("body-parser");
const path = require("path");
path = require('path');
let app = express();
favicon = require('static-favicon');
app.set("view engine", "jade");
app.set("views", path.join(__dirname, "views"));
logger = require('morgan');
app.use(express.static(path.join(__dirname, "public")));
cookieParser = require('cookie-parser');
app.use(bodyParser.urlencoded({
extended: true
}));
bodyParser = require('body-parser');
app.use("/", require("./lib/routes/index"));
routes = require('./routes/index');
users = require('./routes/users');
app = express();
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');
app.use(favicon());
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded());
app.use(cookieParser());
app.use(express["static"](path.join(__dirname, 'public')));
app.use('/', routes);
app.use('/users', users);
app.use(function(req, res, next) {
var err;
err = new Error("Not Found");
err.status = 404;
return next(err);
});
if (app.get("env") === "development") {
app.use(function(err, req, res, next) {
res.status(err.status || 500);
return res.render("error", {
message: err.message,
error: err
});
});
}
app.use(function(err, req, res, next) {
res.status(err.status || 500);
return res.render("error", {
message: err.message,
error: {}
});
});
module.exports = app;
app.listen(3000);

@ -1,9 +0,0 @@
#!/usr/bin/env node
var debug = require('debug')('openNG');
var app = require('../app');
app.set('port', process.env.PORT || 3000);
var server = app.listen(app.get('port'), function() {
debug('Express server listening on port ' + server.address().port);
});

@ -1 +0,0 @@
module.exports = "hi"

@ -1 +0,0 @@
module.exports = "hi";

@ -1,78 +1,71 @@
var gulp = require('gulp');
/* CoffeeScript compile deps */
var path = require('path');
var gutil = require('gulp-util');
var concat = require('gulp-concat');
var rename = require('gulp-rename');
var coffee = require('gulp-coffee');
var cache = require('gulp-cached');
var remember = require('gulp-remember');
var plumber = require('gulp-plumber');
var livereload = require('gulp-livereload');
var nodemon = require("gulp-nodemon");
var jade = require("gulp-jade");
var net = require("net");
var webpack = require("webpack-stream");
var webpackLib = require("webpack")
/* For Browserify task; see https://github.com/greypants/gulp-starter/blob/master/gulp/tasks/browserify.js */
var browserify = require('browserify');
var watchify = require('watchify');
var bundleLogger = require('./gulp.bundleLogger');
var handleErrors = require('./gulp.handleErrors');
var source = require('vinyl-source-stream');
var presetES2015 = require("@joepie91/gulp-preset-es2015");4
task = {
"source": ["templateUtil.coffee", "routes/**/*.coffee", "models/**/*.coffee", "app.coffee", "util.coffee", "db.coffee"],
"frontend": ["./public/js/script.coffee"],
"jade": ["views/angular/**/*.jade"]
}
gulp.task('coffee', function() {
return gulp.src(task.source, {base: "."})
.pipe(plumber())
.pipe(cache("coffee"))
.pipe(coffee({bare: true}).on('error', gutil.log)).on('data', gutil.log)
.pipe(remember("coffee"))
.pipe(gulp.dest("."));
});
gulp.task('browserify', function() {
var bundler = browserify({
cache: {}, packageCache: {}, fullPaths: true,
entries: task.frontend,
extensions: ['.coffee'],
debug: true
});
var bundle = function() {
bundleLogger.start();
var nodemonRestarting = false;
console.log("Bundling...");
return bundler
.bundle()
.on('error', handleErrors)
.pipe(source('bundled.js'))
.pipe(gulp.dest('./public/js/'))
.on('end', bundleLogger.end);
};
if(global.isWatching) {
console.log("Starting Browserify watcher...");
bundler = watchify(bundler);
bundler.on('update', bundle);
function tryReload() {
if (nodemonRestarting === false) {
livereload.changed.apply(null, arguments);
}
}
return bundle();
/* The following resolves JacksonGariety/gulp-nodemon#33 */
process.once("SIGINT", function() {
process.exit(0);
});
gulp.task("jade", function() {
return gulp.src(task.jade, {base: "./views/angular"})
.pipe(plumber())
.pipe(cache("jade"))
.pipe(jade({locals: require("./templateUtil")}))
.pipe(remember("jade"))
.pipe(gulp.dest("public/templates"))
gulp.task("babel", function() {
return gulp.src("./src/**/*.js")
.pipe(presetES2015({
basePath: __dirname
}))
.pipe(gulp.dest("./lib"));
})
gulp.task('webpack', function(){
return gulp.src("./src/frontend/index.js")
.pipe(webpack({
watch: true,
module: {
preLoaders: [{
test: /\.tag$/,
loader: "riotjs-loader",
exclude: /node_modules/,
query: {
type: "babel",
template: "jade"
}
}],
loaders: [
{ test: /\.js$/, loader: "babel-loader" },
{ test: /\.json$/, loader: "json-loader" },
//{ loader: "logging-loader" }
]
},
plugins: [ new webpackLib.ProvidePlugin({riot: "riot"}) ],
resolveLoader: { root: path.join(__dirname, "node_modules") },
resolve: {
extensions: [
"",
".tag",
".web.js", ".js",
".web.json", ".json"
]
},
debug: false
}))
.pipe(rename("bundle.js"))
.pipe(gulp.dest("./public/js"));
});
function checkServerUp(){
@ -80,8 +73,9 @@ function checkServerUp(){
var sock = new net.Socket();
sock.setTimeout(50);
sock.on("connect", function(){
nodemonRestarting = false;
console.log("Triggering page reload...");
livereload.changed();
tryReload("*");
sock.destroy();
})
.on("timeout", checkServerUp)
@ -90,16 +84,20 @@ function checkServerUp(){
}, 70);
}
gulp.task('watch', function () {
global.isWatching = true;
gulp.task("nodemon", ["babel"], function() {
nodemon({
script: "./app.js",
delay: 500,
ignore: ["public"]
}).on("restart", function() {
nodemonRestarting = true;
}).on("start", checkServerUp);
})
gulp.task('watch', ["nodemon"], function () {
livereload.listen();
gulp.watch(task.jade, ['jade'])
gulp.watch(['./**/*.css', 'views/**/*.jade', '!views/angular/**/*.jade', 'package.json']).on('change', livereload.changed);
gulp.watch(['public/templates/**/*.html']).on('change', function() { livereload.changed("*"); }); // We need to explicitly reload everything here; Angular doesn't do partial reloading
gulp.watch(task.source, ['coffee']);
// theseus disabled for now, it was screwing with my tracebacks
//nodemon({script: "./bin/www", ext: "js", nodeArgs: ['/usr/bin/node-theseus']}).on("start", checkServerUp);
nodemon({script: "./bin/www", ext: "js", delay: 500}).on("start", checkServerUp);
gulp.watch(['./**/*.css', 'views/**/*.jade', '!views/client/**/*.jade', 'package.json', "./public/js/**/*.js"]).on('change', tryReload);
gulp.watch(['public/views/**/*.html', 'public/elements/**/*']).on('change', function() { tryReload("*"); }); // We need to explicitly reload everything here; Polymer doesn't do partial reloading
});
gulp.task('default', ['coffee', 'jade', 'watch', 'browserify']);
gulp.task("default", ["watch", "webpack"]);

@ -0,0 +1,9 @@
'use strict';
require("../window");
require("../../views/sample-view");
require("../../views/node/create");
require("./component");

@ -0,0 +1,3 @@
'use strict';
require("./component");

@ -0,0 +1,3 @@
'use strict';
require("./component");

@ -0,0 +1,3 @@
'use strict';
require("./component");

@ -0,0 +1,3 @@
'use strict';
require("./component");

@ -0,0 +1,3 @@
'use strict';
require("./component");

@ -0,0 +1,3 @@
'use strict';
require("./component");

@ -0,0 +1,3 @@
'use strict';
require("./component");

@ -0,0 +1,3 @@
'use strict';
require("./component");

@ -0,0 +1,3 @@
'use strict';
require("./component");

@ -0,0 +1,3 @@
'use strict';
require("./component");

@ -0,0 +1,5 @@
'use strict';
require("../view-manager");
require("./component");

@ -0,0 +1,12 @@
'use strict';
var $ = require("jquery");
var riot = require("riot");
require("debug").enable("*");
require("../components/app");
$(function () {
riot.mount("*");
});

@ -0,0 +1,8 @@
'use strict';
module.exports = {
change: function change(data) {
Object.assign(this, data);
this.update();
}
};

@ -0,0 +1,68 @@
'use strict';
var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }();
var riotQuery = require("riot-query");
var arrayDiff = require("arraydiff");
module.exports = {
init: function init() {
var _this = this;
var knownTags = [];
var listeners = {};
function triggerEvent(action, query, item) {
if (listeners[query] != null && listeners[query][action] != null) {
listeners[query][action].forEach(function (handler) {
handler(item);
});
}
}
this.on("updated", function () {
Object.keys(listeners).forEach(function (query) {
var currentTags = riotQuery(_this, query);
var diff = arrayDiff(knownTags, currentTags);
diff.forEach(function (item) {
if (item.type === "remove") {
for (var i = item.index; i < item.index + item.howMany; i++) {
triggerEvent("remove", query, knownTags[i]);
}
} else if (item.type === "move") {
for (var _i = item.index; _i < item.from + item.howMany; _i++) {
triggerEvent("move", query, knownTags[_i]);
}
} else if (item.type === "insert") {
item.values.forEach(function (value) {
triggerEvent("create", query, value);
});
}
});
knownTags = currentTags;
});
});
this.onChild = function (eventName, handler) {
var _eventName$split = eventName.split(":", 2);
var _eventName$split2 = _slicedToArray(_eventName$split, 2);
var action = _eventName$split2[0];
var query = _eventName$split2[1];
if (listeners[query] == null) {
listeners[query] = {};
}
if (listeners[query][action] == null) {
listeners[query][action] = [];
}
listeners[query][action].push(handler);
};
}
};

@ -0,0 +1,43 @@
'use strict';
var debounce = require("debounce");
var defaultValue = require("default-value");
var selectable = require("./selectable");
module.exports = function ($) {
selectable($);
$.fn.draggable = function () {
var _this = this;
var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];
var debounceInterval = defaultValue(options.debounce, 10);
this.on("mousedown", function (event) {
var startX = event.pageX;
var startY = event.pageY;
var moveHandler = debounce(function (event) {
_this.trigger("draggable:move", [{
offsetX: event.pageX - startX,
offsetY: event.pageY - startY
}]);
}, debounceInterval);
$(document).on("mousemove", moveHandler);
$(document).one("mouseup", function (event) {
$(document).off("mousemove", moveHandler);
$(document).enableSelection();
_this.trigger("draggable:end");
});
$(document).disableSelection();
_this.trigger("draggable:start");
});
};
};

@ -0,0 +1,11 @@
'use strict';
module.exports = function ($) {
$.fn.disableSelection = function () {
return this.attr("unselectable", "on").css("user-select", "none").on("selectstart", false);
};
$.fn.enableSelection = function () {
return this.removeAttr("unselectable").css("user-select", "auto").off("selectstart", false);
};
};

@ -0,0 +1,140 @@
'use strict';
var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }();
var elementSize = require("element-size");
var sortDockable = require("./util/sort-dockables");
function px(pixels) {
return pixels + "px";
}
module.exports = {
init: function init() {
var _this = this;
console.log("foo", this);
var dockableAPI = {
isActive: function isActive() {
return _this.opts.dockableContainer != null;
},
stack: [],
fillElement: null,
recalculateLayout: function recalculateLayout() {
dockableAPI.stack.forEach(function (item, i) {
item.stackIndex = i;
});
var orderedStack = dockableAPI.stack.slice().sort(sortDockable);
var reservedLeft = 0;
var reservedRight = 0;
var reservedTop = 0;
var reservedBottom = 0;
orderedStack.forEach(function (item) {
var element = item.tag.root;
/* We set the positioning to absolute *before* attempting
* to obtain the element size - this way, we can be sure
* that the element won't try to stretch to its container.
* Instead, it'll be auto-sized, which is exactly what we
* want. */
element.style.position = "absolute";
var _elementSize = elementSize(element);
var _elementSize2 = _slicedToArray(_elementSize, 2);
var width = _elementSize2[0];
var height = _elementSize2[1];
if (item.heightHint != null) {
height = item.heightHint;
}
if (item.widthHint != null) {
width = item.widthHint;
}
// FIXME: Should the following really be errors?
if ((item.side === "left" || item.side === "right") && width === 0) {
throw new Error("Cannot horizontally dock an element without a width; you may need to specify a dock-width");
} else if ((item.side === "top" || item.side === "bottom") && height === 0) {
throw new Error("Cannot vertically dock an element without a height; you may need to specify a dock-height");
}
if (item.side === "left") {
Object.assign(element.style, {
left: px(reservedLeft),
top: px(reservedTop),
bottom: px(reservedBottom)
});
delete element.style.right;
reservedLeft += width;
} else if (item.side === "right") {
Object.assign(element.style, {
right: px(reservedRight),
top: px(reservedTop),
bottom: px(reservedBottom)
});
delete element.style.left;
reservedRight += width;
} else if (item.side === "top") {
Object.assign(element.style, {
left: px(reservedLeft),
right: px(reservedRight),
top: px(reservedTop)
});
delete element.style.bottom;
reservedTop += height;
} else if (item.side === "bottom") {
Object.assign(element.style, {
left: px(reservedLeft),
right: px(reservedRight),
bottom: px(reservedBottom)
});
delete element.style.top;
reservedBottom += height;
}
console.log("reserved", reservedLeft, reservedRight, reservedTop, reservedBottom);
});
var item = dockableAPI.fillElement;
if (item != null) {
var element = item.root;
Object.assign(element.style, {
position: "absolute",
left: px(reservedLeft),
right: px(reservedRight),
top: px(reservedTop),
bottom: px(reservedBottom)
});
}
console.log("ordered stack", orderedStack);
}
};
this._uikitDockableContainer = dockableAPI;
this.on("mount", function () {
console.log("dockable-container mounted");
if (dockableAPI.isActive()) {
dockableAPI.recalculateLayout();
}
});
}
};

@ -0,0 +1,52 @@
'use strict';
var inArray = require("in-array");
function findContainer(tag) {
var lastTag = tag;
var dockableContainer = void 0;
while (dockableContainer == null && lastTag != null) {
var candidate = lastTag.parent;
if (candidate != null && candidate._uikitDockableContainer != null && candidate._uikitDockableContainer.isActive()) {
dockableContainer = candidate;
} else {
lastTag = candidate;
}
}
if (dockableContainer != null) {
return dockableContainer;
} else {
// FIXME: Better error reporting?
throw new Error("Could not find a dockable container for tag");
}
}
module.exports = {
init: function init() {
if (this.opts.dock != null) {
var dockableContainer = findContainer(this);
var containerData = dockableContainer._uikitDockableContainer;
if (inArray(["bottom", "top", "left", "right"], this.opts.dock)) {
containerData.stack.push({
tag: this,
side: this.opts.dock,
order: this.opts.dockOrder,
widthHint: this.opts.dockWidth,
heightHint: this.opts.dockHeight
});
} else if (this.opts.dock === "fill") {
if (containerData.fillElement != null) {
throw new Error("There can be only one tag with a `dock` setting of `fill` within a dockable container");
} else {
containerData.fillElement = this;
}
} else {
throw new Error("Invalid `dock` property; must be one of bottom, top, left, right, fill");
}
}
}
};

@ -0,0 +1,36 @@
'use strict';
module.exports = function (a, b) {
var aOrder = void 0,
bOrder = void 0;
if (a.order != null) {
aOrder = parseInt(a.order);
}
if (b.order != null) {
bOrder = parseInt(b.order);
}
if (aOrder != null && bOrder == null) {
return -1;
} else if (aOrder == null && bOrder != null) {
return 1;
} else if (aOrder != null && bOrder != null) {
if (aOrder < bOrder) {
return -1;
} else if (aOrder > bOrder) {
return 1;
} else {
return 0;
}
} else {
if (a.stackIndex < b.stackIndex) {
return -1;
} else if (a.stackIndex > b.stackIndex) {
return 1;
} else {
return 0;
}
}
};

@ -0,0 +1,21 @@
"use strict";
var router = require("express-promise-router")();
router.get("/", function (req, res) {
res.render("layout");
});
router.get("/node/:uuid", function (req, res) {
res.json({ uuid: req.params.uuid });
});
router.get("/test1", function (req, res) {
res.send("test ONE <a href='/test2'>go to 2 instead</a> <a href='/test2' target='_blank'>or in a new window</a>");
});
router.get("/test2", function (req, res) {
res.send("test TWO <a href='/test1'>go to 1 instead</a> <a href='/test1' target='_blank'>or in a new window</a>");
});
module.exports = router;

@ -0,0 +1,14 @@
'use strict';
require("../../../components/uikit/frame");
require("../../../components/uikit/toolbar");
require("../../../components/uikit/button");
require("../../../components/uikit/form-section");
require("../../../components/uikit/input-spawner");
require("../../../components/uikit/input");
require("../../../components/uikit/textarea");
require("../../../components/uikit/autocomplete");
require("../../../components/window-meta");
require("./component");

@ -0,0 +1,3 @@
'use strict';
require("./component");

@ -1,4 +0,0 @@
module.exports = (bookshelf) ->
bookshelf.model "Attribute",
tableName: "attributes"
idAttribute: "id"

@ -1,6 +0,0 @@
module.exports = function(bookshelf) {
return bookshelf.model("Attribute", {
tableName: "attributes",
idAttribute: "id"
});
};

@ -1,4 +0,0 @@
module.exports = (bookshelf) ->
bookshelf.model "AttributeSource",
tableName: "attribute_sources"
idAttribute: "id"

@ -1,6 +0,0 @@
module.exports = function(bookshelf) {
return bookshelf.model("AttributeSource", {
tableName: "attribute_sources",
idAttribute: "id"
});
};

@ -1,4 +0,0 @@
module.exports = (bookshelf) ->
bookshelf.model "AttributeType",
tableName: "attribute_types"
idAttribute: "id"

@ -1,6 +0,0 @@
module.exports = function(bookshelf) {
return bookshelf.model("AttributeType", {
tableName: "attribute_types",
idAttribute: "id"
});
};

@ -1,4 +0,0 @@
module.exports = (bookshelf) ->
bookshelf.model "Bin",
tableName: "bins"
idAttribute: "id"

@ -1,6 +0,0 @@
module.exports = function(bookshelf) {
return bookshelf.model("Bin", {
tableName: "bins",
idAttribute: "id"
});
};

@ -1,4 +0,0 @@
module.exports = (bookshelf) ->
bookshelf.model "BinAuthorization",
tableName: "bin_authorizations"
idAttribute: "id"

@ -1,6 +0,0 @@
module.exports = function(bookshelf) {
return bookshelf.model("BinAuthorization", {
tableName: "bin_authorizations",
idAttribute: "id"
});
};

@ -1,4 +0,0 @@
module.exports = (bookshelf) ->
bookshelf.model "BinItem",
tableName: "bin_items"
idAttribute: "id"

@ -1,6 +0,0 @@
module.exports = function(bookshelf) {
return bookshelf.model("BinItem", {
tableName: "bin_items",
idAttribute: "id"
});
};

@ -1,4 +0,0 @@
module.exports = (bookshelf) ->
bookshelf.model "BinProjectAssociation",
tableName: "bin_project_associations"
idAttribute: "id"

@ -1,6 +0,0 @@
module.exports = function(bookshelf) {
return bookshelf.model("BinProjectAssociation", {
tableName: "bin_project_associations",
idAttribute: "id"
});
};

@ -1,4 +0,0 @@
module.exports = (bookshelf) ->
bookshelf.model "Clearance",
tableName: "clearances"
idAttribute: "id"

@ -1,6 +0,0 @@
module.exports = function(bookshelf) {
return bookshelf.model("Clearance", {
tableName: "clearances",
idAttribute: "id"
});
};

@ -1,8 +0,0 @@
module.exports = (bookshelf) ->
bookshelf.model "Node",
tableName: "nodes"
idAttribute: "id"
relationIdAttribute: "perma_id"
type: -> this.belongsTo "NodeType", "type_id"
tags: -> this.belongsToMany("NodeTag").through "NodeTagAssociation"
attributes: -> this.hasMany "Attribute", "node_id"

@ -1,16 +0,0 @@
module.exports = function(bookshelf) {
return bookshelf.model("Node", {
tableName: "nodes",
idAttribute: "id",
relationIdAttribute: "perma_id",
type: function() {
return this.belongsTo("NodeType", "type_id");
},
tags: function() {
return this.belongsToMany("NodeTag").through("NodeTagAssociation");
},
attributes: function() {
return this.hasMany("Attribute", "node_id");
}
});
};

@ -1,8 +0,0 @@
module.exports = (bookshelf) ->
bookshelf.model "NodeTag",
tableName: "node_tags"
idAttribute: "id"
nodes: ->
wrappedModel = Object.create(bookshelf.model("NodeTag"))
wrappedModel.idAttribute =
this.belongsToMany("NodeTag").through "NodeTagAssociation"

@ -1,11 +0,0 @@
module.exports = function(bookshelf) {
return bookshelf.model("NodeTag", {
tableName: "node_tags",
idAttribute: "id",
nodes: function() {
var wrappedModel;
wrappedModel = Object.create(bookshelf.model("NodeTag"));
return wrappedModel.idAttribute = this.belongsToMany("NodeTag").through("NodeTagAssociation");
}
});
};

@ -1,6 +0,0 @@
module.exports = (bookshelf) ->
bookshelf.model "NodeTagAssociation",
tableName: "node_tag_associations"
idAttribute: "id"
node: this.belongsTo "Node", "node_id"
tag: this.belongsTo "NodeTag", "tag_id"

@ -1,8 +0,0 @@
module.exports = function(bookshelf) {
return bookshelf.model("NodeTagAssociation", {
tableName: "node_tag_associations",
idAttribute: "id",
node: this.belongsTo("Node", "node_id"),
tag: this.belongsTo("NodeTag", "tag_id")
});
};

@ -1,5 +0,0 @@
module.exports = (bookshelf) ->
bookshelf.model "NodeType",
tableName: "node_types"
idAttribute: "id"
nodes: this.hasMany "Node", "type_id"

@ -1,7 +0,0 @@
module.exports = function(bookshelf) {
return bookshelf.model("NodeType", {
tableName: "node_types",
idAttribute: "id",
nodes: this.hasMany("Node", "type_id")
});
};

@ -1,4 +0,0 @@
module.exports = (bookshelf) ->
bookshelf.model "Project",
tableName: "projects"
idAttribute: "id"

@ -1,6 +0,0 @@
module.exports = function(bookshelf) {
return bookshelf.model("Project", {
tableName: "projects",
idAttribute: "id"
});
};

@ -1,4 +0,0 @@
module.exports = (bookshelf) ->
bookshelf.model "ProjectAuthorization",
tableName: "project_autorizations"
idAttribute: "id"

@ -1,6 +0,0 @@
module.exports = function(bookshelf) {
return bookshelf.model("ProjectAuthorization", {
tableName: "project_autorizations",
idAttribute: "id"
});
};

@ -1,4 +0,0 @@
module.exports = (bookshelf) ->
bookshelf.model "Reference",
tableName: "references"
idAttribute: "id"

@ -1,6 +0,0 @@
module.exports = function(bookshelf) {
return bookshelf.model("Reference", {
tableName: "references",
idAttribute: "id"
});
};

@ -1,4 +0,0 @@
module.exports = (bookshelf) ->
bookshelf.model "Relationship",
tableName: "relationships"
idAttribute: "id"

@ -1,6 +0,0 @@
module.exports = function(bookshelf) {
return bookshelf.model("Relationship", {
tableName: "relationships",
idAttribute: "id"
});
};

@ -1,4 +0,0 @@
module.exports = (bookshelf) ->
bookshelf.model "RelationshipReference",
tableName: "relationship_references"
idAttribute: "id"

@ -1,6 +0,0 @@
module.exports = function(bookshelf) {
return bookshelf.model("RelationshipReference", {
tableName: "relationship_references",
idAttribute: "id"
});
};

@ -1,4 +0,0 @@
module.exports = (bookshelf) ->
bookshelf.model "RelationshipSource",
tableName: "relationship_sources"
idAttribute: "id"

@ -1,6 +0,0 @@
module.exports = function(bookshelf) {
return bookshelf.model("RelationshipSource", {
tableName: "relationship_sources",
idAttribute: "id"
});
};

@ -1,4 +0,0 @@
module.exports = (bookshelf) ->
bookshelf.model "RelationshipType",
tableName: "relationship_types"
idAttribute: "id"

@ -1,6 +0,0 @@
module.exports = function(bookshelf) {
return bookshelf.model("RelationshipType", {
tableName: "relationship_types",
idAttribute: "id"
});
};

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save