Skip to content

Commit 4bba855

Browse files
committed
more progress. model now works with sql
1 parent bf7ecc2 commit 4bba855

File tree

3 files changed

+38
-19
lines changed

3 files changed

+38
-19
lines changed

TODO.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
|:------|:------:|:------
44
| app.js | 62 | Write a complete Documentation for this project
55
| config/index.js | 12 | Test for production and development senarios
6+
| models/Tests.js | 223 | Test transactions
67
| models/index.js | 14 | Automatically generate tests with the schema structure
78
| routes/index.js | 298 | Test API versioning
89
| routes/index.js | 299 | Test rate limiting
@@ -13,6 +14,6 @@
1314
| routes/index.js | 304 | Make Log requests testable and write unit tests for it
1415
| routes/index.js | 305 | Develop the route loader into a separate node module to be publish on npm
1516
| routes/index.js | 306 | Develop all services onto separate node module to be publish on npm
16-
| services/logger/index.js | 36 | Test Error Handler
1717
| services/queue/clock.js | 11 | work on a clock functionality so kue can support scheduled jobs
18-
| services/queue/clock.js | 12 | Use the cron package here https://www.npmjs.com/package/cron for timer
18+
| services/queue/clock.js | 12 | Use the cron package here https://www.npmjs.com/package/cron for timer
19+
| services/logger/index.js | 36 | Test Error Handler

services/database/sql.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ var config = require('../../config');
44
var log = require('../../services/logger');
55
var mongoose = require('mongoose');
66
var Sequelize = require('sequelize');
7+
var debug = require('debug')('sql');
78

89
var Op = Sequelize.Op;
910
var operatorsAliases = {
@@ -47,6 +48,8 @@ options.pool = {
4748
// SQLite only
4849
// options.storage = 'path/to/database.sqlite';
4950

51+
options.logging = false;
52+
5053
var sequelize = new Sequelize(config.SQLDatabase, config.SQLUsername, config.SQLPassword, options);
5154

5255
sequelize

services/queue/jobs.js

Lines changed: 32 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -45,16 +45,22 @@ jobs.updateRequestLog = function(response, done){
4545
// Creates search tags for all db records
4646
jobs.createSearchTags = function(data, done){
4747
log.info('Creating search index for: ', data._id);
48+
var dataClone = _.extend({},data);
4849
var model = data.model;
50+
var isSQL = data.isSQL;
51+
4952
var update = data.update ? true : false;
50-
if(data && data.update){
51-
delete data.update;
53+
if(dataClone && dataClone.update){
54+
delete dataClone.update;
5255
}
53-
if(data && data.model){
54-
delete data.model;
56+
if(dataClone && dataClone.model){
57+
delete dataClone.model;
5558
}
56-
57-
var ourDoc = data;
59+
if(dataClone && dataClone.isSQL){
60+
delete dataClone.isSQL;
61+
}
62+
63+
var ourDoc = dataClone;
5864
var split = [];
5965

6066
for(var n in ourDoc){
@@ -78,20 +84,29 @@ jobs.createSearchTags = function(data, done){
7884
split = _.flattenDeep(split);
7985

8086
var task;
81-
if(update){
82-
task = models[model].update(data,{ $set: { updatedAt: new Date(Date.now()).toISOString() }, $addToSet: {tags: {$each: split}} });
87+
if(model){
88+
if(isSQL){
89+
task = models[model].update(dataClone,{ tags: split.join(', ')} );
90+
}else{
91+
if(update){
92+
task = models[model].update(dataClone,{ $set: { updatedAt: new Date(Date.now()).toISOString() }, $addToSet: {tags: {$each: split}} });
93+
}else{
94+
task = models[model].update(dataClone,{ $set: { tags: split} });
95+
}
96+
}
97+
98+
task
99+
.then(function(res){
100+
return done(false, res);
101+
})
102+
.catch(function(err){
103+
log.error(err);
104+
return done(new Error(err.message));
105+
});
83106
}else{
84-
task = models[model].update(data,{ $set: { tags: split} });
107+
return done(new Error('No Model Passed!'));
85108
}
86109

87-
task
88-
.then(function(res){
89-
return done(false, res);
90-
})
91-
.catch(function(err){
92-
log.error(err);
93-
return done(new Error(err.message));
94-
});
95110
};
96111

97112
// Backup Data to Trash

0 commit comments

Comments
 (0)