1
0
mirror of /repos/Prototyper.git synced 2025-12-30 06:31:32 +01:00

reformatted

This commit is contained in:
Aiko Mastboom 2013-04-17 00:10:05 +02:00
parent b48ac84bef
commit ea742e1ec3
5 changed files with 56 additions and 56 deletions

View File

@ -8,12 +8,12 @@ module.exports = function (config) {
config.debug && console.log('getMongoContent options', options);
MongoClient.connect(config.mongo.server, config.mongo.options, function (err, db) {
if (err) {
config.debug && console.log('ERR1 getMongoContent',err);
config.debug && console.log('ERR1 getMongoContent', err);
return callback(err);
}
db.collection(options.collection, function (err, col) {
if (err) {
config.debug && console.log('ERR2 getMongoContent',err);
config.debug && console.log('ERR2 getMongoContent', err);
return callback(err);
}
if (options.query._id && !(options.query._id instanceof Object)) {
@ -21,7 +21,7 @@ module.exports = function (config) {
}
col.findOne(options.query, function (err, result) {
if (err) {
config.debug && console.log('ERR3 getMongoContent',err);
config.debug && console.log('ERR3 getMongoContent', err);
return callback(err);
}
if (!result) {
@ -37,11 +37,11 @@ module.exports = function (config) {
config.debug && console.log('getMongoAttribute options', options);
return getMongoContent(options, function (err, result) {
if (err) {
config.errors && console.log('ERR1 getMongoAttribute',err);
config.errors && console.log('ERR1 getMongoAttribute', err);
return callback(err);
}
var attribute_options = null;
config.debug && console.log('getMongoAttribute result', result);
config.debug && console.log('getMongoAttribute result', result);
if (result && result.hasOwnProperty(options.attribute)) {
attribute_options = {
collection: options.collection,
@ -51,7 +51,7 @@ module.exports = function (config) {
return getMongoContent(attribute_options, function (err, attribute_result) {
if (err) {
config.errors && console.log('ERR2 getMongoAttribute',err);
config.errors && console.log('ERR2 getMongoAttribute', err);
return callback(err);
}
config.debug && console.log('getMongoAttribute attribute_result', attribute_result);
@ -63,14 +63,14 @@ module.exports = function (config) {
collection: options.collection,
query: {
parent: result._id,
name: result.name+'.'+options.attribute
name: result.name + '.' + options.attribute
}
};
config.debug && console.log('getMongoAttribute attribute_options', attribute_options);
return getMongoContent(attribute_options, function (err, attribute_result) {
if (err) {
config.errors && console.log('ERR3 getMongoAttribute',err);
config.errors && console.log('ERR3 getMongoAttribute', err);
return callback(err);
}
if (attribute_result) {
@ -95,34 +95,35 @@ module.exports = function (config) {
}
})
}
function saveData(collection, data, callback) {
if (data._id && !(data._id instanceof Object)) {
data._id = new ObjectID.createFromHexString(data._id);
}
config.debug && console.log('saving', data._id);
collection.save(data, {safe:true}, callback);
collection.save(data, {safe: true}, callback);
}
function setMongoContent(data, options, callback) {
config.debug && console.log('setMongoContent options', options);
MongoClient.connect(config.mongo.server, config.mongo.options, function (err, db) {
MongoClient.connect(config.mongo.server, config.mongo.options, function (err, db) {
if (err) {
config.errors && console.log('ERR1 setMongoContent',err);
config.errors && console.log('ERR1 setMongoContent', err);
return callback(err);
}
db.collection(options.collection, function (err, col) {
if (err) {
config.errors && console.log('ERR2 setMongoContent',err);
config.errors && console.log('ERR2 setMongoContent', err);
return callback(err);
}
if (options.operation) {
data.version = options.operation.v;
}
if (!data._id) {
config.debug && console.log('setMongoContent lookup by query',options.query);
config.debug && console.log('setMongoContent lookup by query', options.query);
col.findOne(options.query, function (err, result) {
if (result){
data._id=result._id;
if (result) {
data._id = result._id;
}
return saveData(col, data, callback);
})
@ -137,7 +138,7 @@ module.exports = function (config) {
config.debug && console.log('setMongoAttribute options', options);
getMongoContent(options, function (err, result, col) {
if (err) {
config.errors && console.log('ERR1 setMongoAttribute',err);
config.errors && console.log('ERR1 setMongoAttribute', err);
return callback(err);
}
var attribute_options = {
@ -148,7 +149,7 @@ module.exports = function (config) {
attribute_options.query = {_id: result[options.attribute].guid};
getMongoContent(attribute_options, function (err, attribute_result, col) {
if (err) {
config.errors && console.log('ERR2 setMongoAttribute',err);
config.errors && console.log('ERR2 setMongoAttribute', err);
return callback(err);
}
attribute_result[options.attribute] = data;
@ -164,7 +165,7 @@ module.exports = function (config) {
collection: options.collection,
query: {
parent: result._id,
name: result.name+'.'+options.attribute
name: result.name + '.' + options.attribute
}
};
config.debug && console.log('getMongoAttribute attribute_options', attribute_options);
@ -186,8 +187,8 @@ module.exports = function (config) {
}
return saveData(col, attribute_data, function (err, attribute_result) {
if(err){
config.errors && console.log('ERR3 setMongoAttribute',err);
if (err) {
config.errors && console.log('ERR3 setMongoAttribute', err);
}
result[options.attribute] = { guid: attribute_result._id };
return saveData(col, result, callback);

View File

@ -15,10 +15,10 @@ module.exports = function (config) {
var sourceBody =
'<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>\n' +
'<script src="//cdnjs.cloudflare.com/ajax/libs/knockout/2.2.1/knockout-min.js"></script>\n' +
'<script src="//cdnjs.cloudflare.com/ajax/libs/knockout-validation/1.0.2/knockout.validation.min.js"></script>\n' +
'<script src="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/2.3.1/js/bootstrap.min.js"></script>\n' +
'<script src="/content/{{collection}}/{{name}}/behaviour.js"></script>\n';
'<script src="//cdnjs.cloudflare.com/ajax/libs/knockout/2.2.1/knockout-min.js"></script>\n' +
'<script src="//cdnjs.cloudflare.com/ajax/libs/knockout-validation/1.0.2/knockout.validation.min.js"></script>\n' +
'<script src="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/2.3.1/js/bootstrap.min.js"></script>\n' +
'<script src="/content/{{collection}}/{{name}}/behaviour.js"></script>\n';
var templateHead = Handlebars.compile(sourceHead);
var templateBody = Handlebars.compile(sourceBody);
@ -34,15 +34,15 @@ module.exports = function (config) {
function replace(marker, replacement) {
var regExp = new RegExp('<!--\\s*@@' + marker + '\\s*-->');
if (html.match(regExp)){
if (html.match(regExp)) {
html = html.replace(regExp, replacement);
} else {
html = html.replace('</head>', '<script>if (typeof window.console !== "undefined"){console.log("WARNING: Missing <!--@@' + marker + '-->");}</script>\n</head>');
}
}
replace(options.collection+'_'+options.name+'_'+'_marker', styleMarkerReplacement);
replace(options.collection+'_'+options.name+'_'+'_marker', jsMarkerReplacement);
replace(options.collection + '_' + options.name + '_' + '_marker', styleMarkerReplacement);
replace(options.collection + '_' + options.name + '_' + '_marker', jsMarkerReplacement);
return html;
};

View File

@ -16,14 +16,14 @@ var getMimeType = function (ext) {
module.exports = function (options, res, next) {
var responder = function (err, result) {
console.log('err',err);
console.log('err', err);
if (err) {
if (/Data not found*/.test(err.message)) {
res.status(404);
}
return next(err.message);
}
console.log('responder options',options);
console.log('responder options', options);
var contentType = getMimeType(options.ext);
res.setHeader('Content-Type', contentType);
var content = result;

View File

@ -19,7 +19,7 @@ module.exports = function (server, config) {
collection: req.params.collection,
attribute: req.params.attribute,
ext: req.params.ext,
query: {_id:req.params.guid}
query: {_id: req.params.guid}
};
mongodataInstance.getMongoAttribute(options,
responder(options, res, next)
@ -32,7 +32,7 @@ module.exports = function (server, config) {
var options = {
collection: req.params.collection,
ext: req.params.ext,
query: {_id:req.params.guid}
query: {_id: req.params.guid}
};
mongodataInstance.getMongoContent(options,
responder(options, res, next)
@ -47,7 +47,7 @@ module.exports = function (server, config) {
collection: req.params.collection,
attribute: req.params.attribute,
ext: req.params.ext,
query: {name:req.params.name}
query: {name: req.params.name}
};
mongodataInstance.getMongoAttribute(options,
responder(options, res, next)
@ -60,7 +60,7 @@ module.exports = function (server, config) {
var options = {
collection: req.params.collection,
ext: req.params.ext,
query: {name:req.params.name}
query: {name: req.params.name}
};
mongodataInstance.getMongoContent(options,
responder(options, res, next)
@ -75,7 +75,7 @@ module.exports = function (server, config) {
} else {
if (result) {
var operation = null;
config.debug && console.log('handleMongoGetResult options',options, result);
config.debug && console.log('handleMongoGetResult options', options, result);
var data = result;
if (options.attribute) {
data = result[options.attribute];
@ -118,11 +118,11 @@ module.exports = function (server, config) {
attribute: null
};
if (splitId.length == 4) {
options.query= {_id:splitId[2]};
options.query = {_id: splitId[2]};
options.attribute = splitId[3];
mongodataInstance.getMongoAttribute(options, handleMongoGetResult(options));
} else {
options.query={name:splitId[2]};
options.query = {name: splitId[2]};
mongodataInstance.getMongoContent(options, handleMongoGetResult(options));
}
});
@ -134,7 +134,7 @@ module.exports = function (server, config) {
config.errors && console.log('ERR1 handleMongoSetResult Error while saving document ', options.collection, JSON.stringify(options.query), options.attribute || "", err);
return callback && callback(err);
}
config.debug && console.log('current', current, 'result',result, 'options',options);
config.debug && console.log('current', current, 'result', result, 'options', options);
if ((!current || !current.name) && result.name) {
var operation = { op: [
{ p: ['name'], oi: result.name, od: null }
@ -142,10 +142,10 @@ module.exports = function (server, config) {
model.applyOp(options.documentId, operation, function appliedOp(error, version) {
config.debug && console.log('setResult applyOp version', version);
if (error) {
config.error && console.log('ERR2 handleMongoSetResult',error);
config.error && console.log('ERR2 handleMongoSetResult', error);
return callback && callback(error);
}
return callback && callback(null,version);
return callback && callback(null, version);
});
}
}
@ -159,22 +159,22 @@ module.exports = function (server, config) {
config.errors && console.log('ERR1 handleMongoAttributeSetResult Error while saving document ', options.collection, JSON.stringify(options.query), options.attribute || "", err);
return callback && callback(err);
}
options.debug && console.log('current', current, 'result',result);
options.debug && console.log('current', current, 'result', result);
if (result.hasOwnProperty('_id')) {
config.debug && console.log('// new object created. need to update the parent object.');
var pieces = options.documentId.split(':');
var parentDocId = pieces[0]+ ':' + pieces[1] + ':' + pieces[2];
var parentDocId = pieces[0] + ':' + pieces[1] + ':' + pieces[2];
var operation = { op: [
{ p: [options.attribute], oi: { guid: result._id } , od: null }
{ p: [options.attribute], oi: { guid: result._id }, od: null }
], v: options.operation.v };
model.applyOp(parentDocId, operation, function appliedOp(error, version) {
config.debug && console.log('setResult applyOp parent version', version);
if (error) {
config.error && console.log('ERR2 handleMongoAttributeSetResult',error);
config.error && console.log('ERR2 handleMongoAttributeSetResult', error);
return callback && callback(error);
}
return callback && callback(null,version);
return callback && callback(null, version);
})
}
}
@ -185,7 +185,7 @@ module.exports = function (server, config) {
// 'applyOp' event is fired when an operational transform is applied to to a shareDoc
// a shareDoc has changed and needs to be saved to mongo
model.on('applyOp', function persistDocument(documentId, operation, current, previous) {
config.debug && console.log('applyOp',documentId,operation,current);
config.debug && console.log('applyOp', documentId, operation, current);
var splitId = documentId.split(':');
var options = {
documentId: documentId,
@ -195,21 +195,21 @@ module.exports = function (server, config) {
operation: operation
};
if (splitId.length == 4) {
options.query= {_id:splitId[2]};
options.query = {_id: splitId[2]};
options.attribute = splitId[3];
var data = current;
if (options.type == 'json') {
data = JSON.stringify(current);
}
mongodataInstance.setMongoAttribute(data, options, handleMongoAttributeSetResult(options, current, function (err, result) {
if(err) {
if (err) {
config.errors && console.log('ERR1 applyOp', err);
}
}));
} else {
options.query={name:splitId[2]};
options.query = {name: splitId[2]};
mongodataInstance.setMongoContent(current, options, handleMongoSetResult(options, current, function (err, result) {
if(err) {
if (err) {
config.errors && console.log('ERR2 applyOp', err);
}
}));
@ -224,7 +224,7 @@ module.exports = function (server, config) {
var options = {
collection: req.params.collection,
ext: req.params.ext,
query: {name:req.params.name},
query: {name: req.params.name},
debug: req.query && req.query.hasOwnProperty('debug')
};
mongodataInstance.getMongoContent(options, function (err, result) {
@ -233,11 +233,11 @@ module.exports = function (server, config) {
}
if (result) {
var attribute_parts = options.query.name.split('.');
var attribute = attribute_parts[attribute_parts.length-1];
var attribute = attribute_parts[attribute_parts.length - 1];
var content = result[attribute];
options.name=attribute_parts[0];
options.name = attribute_parts[0];
//options.attribute=attribute;
config.debug && console.log('getPreviewContent content',content);
config.debug && console.log('getPreviewContent content', content);
previewInstance.getPreviewHTML(options, content,
responder(options, res, next)
);
@ -247,5 +247,4 @@ module.exports = function (server, config) {
);
};

View File

@ -12,8 +12,8 @@ var config = {
server: "mongodb://silo01.local:27017/Prototyper",
options: {
server: {
maxPoolSize:10,
auto_reconnect:true
maxPoolSize: 10,
auto_reconnect: true
}
}
},