Skip to content

Commit d9508ae

Browse files
committed
feature(deps) Update deps, change server API, update changelog
1 parent 0e29684 commit d9508ae

File tree

9 files changed

+35
-28
lines changed

9 files changed

+35
-28
lines changed

CHANGELOG.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,15 @@
55
* Allow adding _id to list fields
66
* Fix bug with routing to specific tab (such as /#/collection/id/edit/tab1)
77
### BREAKING CHANGES
8+
* The server side of forms angular is now passed a Mongoose instance:
9+
```
10+
var formsAngular = require('forms-angular');
11+
var express = require('express');
12+
var mongoose = require('mongoose');
13+
14+
var app = express();
15+
var fng = new (formsAngular)(mongoose, app, {});
16+
```
817
* If your application calls recordHandler.handleError (typically from a controller) then you will need
918
to pass a response object rather than (data:any, status: number)
1019

package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,15 +31,15 @@
3131
"RESTful API"
3232
],
3333
"dependencies": {
34-
"body-parser": "1.16.0",
35-
"express": "4.14.1",
36-
"method-override": "2.3.7",
3734
"async": "1.5.2",
35+
"express": "4.14.1",
36+
"kerberos":"0.0.22",
3837
"mongoose": "4.8.1",
3938
"node.extend": "1.1.6",
4039
"underscore": "1.8.3"
4140
},
4241
"devDependencies": {
42+
"body-parser": "1.16.0",
4343
"del": "2.2.2",
4444
"gulp": "3.9.1",
4545
"gulp-angular-templatecache": "2.0.0",

server/data_form.js

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,15 @@
11
/// <reference path="../typings/globals/node/index.d.ts" />
22
/// <reference path="../typings/modules/mongoose/index.d.ts" />
3-
/// <reference path="../typings/modules/mpromise/index.d.ts" />
43
'use strict';
4+
var Mongoose = require("mongoose");
55
// This part of forms-angular borrows _very_ heavily from https://github.com/Alexandre-Strzelewicz/angular-bridge
66
// (now https://github.com/Unitech/angular-bridge
77
var _ = require('underscore');
88
var util = require('util');
99
var extend = require('node.extend');
1010
var async = require('async');
1111
var url = require('url');
12-
var mongoose = require('mongoose');
1312
var debug = false;
14-
mongoose.set('debug', debug);
15-
mongoose.Promise = global.Promise;
1613
function logTheAPICalls(req, res, next) {
1714
void (res);
1815
console.log('API : ' + req.method + ' ' + req.url + ' [ ' + JSON.stringify(req.body) + ' ]');
@@ -31,11 +28,13 @@ function processArgs(options, array) {
3128
array[0] = options.urlPrefix + array[0];
3229
return array;
3330
}
34-
var DataForm = function (app, options) {
31+
var DataForm = function (mongoose, app, options) {
3532
this.app = app;
3633
app.locals.formsAngular = app.locals.formsAngular || [];
3734
app.locals.formsAngular.push(this);
3835
this.mongoose = mongoose;
36+
mongoose.set('debug', debug);
37+
mongoose.Promise = global.Promise;
3938
this.options = _.extend({
4039
urlPrefix: '/api/'
4140
}, options || {});
@@ -558,7 +557,7 @@ DataForm.prototype.hackVariables = function (obj) {
558557
else {
559558
var objectIdTest = /^([0-9a-fA-F]{24})$/.exec(obj[prop]);
560559
if (objectIdTest) {
561-
obj[prop] = new mongoose.Types.ObjectId(objectIdTest[1]);
560+
obj[prop] = new Mongoose.Types.ObjectId(objectIdTest[1]);
562561
}
563562
}
564563
}
@@ -569,7 +568,8 @@ DataForm.prototype.hackVariables = function (obj) {
569568
}
570569
};
571570
DataForm.prototype.reportInternal = function (req, resource, schema, options, callback) {
572-
var runPipeline, self = this;
571+
var runPipeline;
572+
var self = this;
573573
self.doFindFunc(req, resource, function (err, queryObj) {
574574
if (err) {
575575
return 'There was a problem with the findFunc for model';

server/data_form.ts

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
/// <reference path="../typings/globals/node/index.d.ts" />
22
/// <reference path="../typings/modules/mongoose/index.d.ts" />
3-
/// <reference path="../typings/modules/mpromise/index.d.ts" />
43

54
'use strict';
5+
import * as Mongoose from "mongoose";
66

77
// This part of forms-angular borrows _very_ heavily from https://github.com/Alexandre-Strzelewicz/angular-bridge
88
// (now https://github.com/Unitech/angular-bridge
@@ -12,13 +12,12 @@ var util = require('util');
1212
var extend = require('node.extend');
1313
var async = require('async');
1414
var url = require('url');
15-
import mongoose = require('mongoose');
1615

1716
var debug = false;
1817

1918
interface Resource {
2019
resourceName: string;
21-
model?: mongoose.Model<any>; // TODO TS Get rid of the ? here
20+
model?: Mongoose.Model<any>; // TODO TS Get rid of the ? here
2221
options?: any;
2322
}
2423

@@ -31,9 +30,6 @@ interface ListField {
3130
params? : ListParams;
3231
}
3332

34-
mongoose.set('debug', debug);
35-
mongoose.Promise = <any>global.Promise;
36-
3733
function logTheAPICalls(req, res, next) {
3834
void(res);
3935
console.log('API : ' + req.method + ' ' + req.url + ' [ ' + JSON.stringify(req.body) + ' ]');
@@ -54,11 +50,13 @@ function processArgs(options, array) {
5450
return array;
5551
}
5652

57-
var DataForm = function (app, options) {
53+
var DataForm = function (mongoose, app, options) {
5854
this.app = app;
5955
app.locals.formsAngular = app.locals.formsAngular || [];
6056
app.locals.formsAngular.push(this);
6157
this.mongoose = mongoose;
58+
mongoose.set('debug', debug);
59+
mongoose.Promise = <any>global.Promise;
6260
this.options = _.extend({
6361
urlPrefix: '/api/'
6462
}, options || {});
@@ -75,7 +73,7 @@ var DataForm = function (app, options) {
7573

7674
module.exports = exports = DataForm;
7775

78-
DataForm.prototype.getListFields = function (resource : Resource, doc: mongoose.Document, cb) {
76+
DataForm.prototype.getListFields = function (resource : Resource, doc: Mongoose.Document, cb) {
7977

8078
function getFirstMatchingField(keyList, type?) {
8179
for (var i = 0; i < keyList.length; i++) {
@@ -625,7 +623,7 @@ DataForm.prototype.hackVariables = function (obj) {
625623
} else {
626624
var objectIdTest = /^([0-9a-fA-F]{24})$/.exec(obj[prop]);
627625
if (objectIdTest) {
628-
obj[prop] = new mongoose.Types.ObjectId(objectIdTest[1]);
626+
obj[prop] = new Mongoose.Types.ObjectId(objectIdTest[1]);
629627
}
630628
}
631629
} else if (_.isObject(obj[prop])) {
@@ -636,16 +634,16 @@ DataForm.prototype.hackVariables = function (obj) {
636634
};
637635

638636
DataForm.prototype.reportInternal = function (req, resource, schema, options, callback) {
639-
var runPipeline,
640-
self = this;
637+
let runPipeline: any;
638+
let self = this;
641639

642640
self.doFindFunc(req, resource, function (err, queryObj) {
643641
if (err) {
644642
return 'There was a problem with the findFunc for model';
645643
} else {
646644
// Bit crap here switching back and forth to string
647645
runPipeline = JSON.stringify(schema.pipeline);
648-
for (var param in options.query) {
646+
for (let param in options.query) {
649647
if (options.query[param]) {
650648
if (param !== 'r') { // we don't want to copy the whole report schema (again!)
651649
schema.params[param].value = options.query[param];

test/api/CRUD-APISpec.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ describe('API', function () {
1616
before(function (done) {
1717
app = express();
1818

19-
fng = new (formsAngular)(app, {urlPrefix: '/api/'});
19+
fng = new (formsAngular)(mongoose, app, {urlPrefix: '/api/'});
2020

2121
mongoose.connect('localhost', 'forms-ng_test');
2222
mongoose.connection.on('error', function () {

test/api/ControlAPISpec.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ describe('original API', function () {
1717
before(function (done) {
1818
app = express();
1919

20-
fng = new (formsAngular)(app, {urlPrefix: '/api/'});
20+
fng = new (formsAngular)(mongoose, app, {urlPrefix: '/api/'});
2121

2222
mongoose.connect('localhost', 'forms-ng_test');
2323
mongoose.connection.on('error', function () {

test/api/NewAddResourceAPISpec.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ describe('mongoose collection name API', function () {
1515
before(function (done) {
1616
app = express();
1717

18-
fng = new (formsAngular)(app, {urlPrefix: '/api/'});
18+
fng = new (formsAngular)(mongoose, app, {urlPrefix: '/api/'});
1919

2020
mongoose.connect('localhost', 'forms-ng_test');
2121
mongoose.connection.on('error', function () {
@@ -77,4 +77,4 @@ describe('mongoose collection name API', function () {
7777
fng.schema()(mockReq, mockRes);
7878
});
7979

80-
});
80+
});

test/api/listAPISpec.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ describe('List API', function () {
1717

1818
app = express();
1919

20-
fng = new (formsAngular)(app, {urlPrefix: '/api/'});
20+
fng = new (formsAngular)(mongoose, app, {urlPrefix: '/api/'});
2121

2222
mongoose.connect('localhost', 'forms-ng_test');
2323
mongoose.connection.on('error', function () {

test/api/reportAPISpec.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ describe('Report API', function () {
1616
before(function (done) {
1717
app = express();
1818

19-
fng = new (formsAngular)(app, {urlPrefix: '/api/'});
19+
fng = new (formsAngular)(mongoose, app, {urlPrefix: '/api/'});
2020

2121
mongoose.connect('localhost', 'forms-ng_test');
2222
// mongoose.set('debug',true);

0 commit comments

Comments
 (0)