diff options
Diffstat (limited to 'ui/imports/api/messages/server/methods.js')
-rw-r--r-- | ui/imports/api/messages/server/methods.js | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/ui/imports/api/messages/server/methods.js b/ui/imports/api/messages/server/methods.js new file mode 100644 index 0000000..119e6b0 --- /dev/null +++ b/ui/imports/api/messages/server/methods.js @@ -0,0 +1,49 @@ +///////////////////////////////////////////////////////////////////////////////////////// +// Copyright (c) 2017 Koren Lev (Cisco Systems), Yaron Yogev (Cisco Systems) and others / +// / +// All rights reserved. This program and the accompanying materials / +// are made available under the terms of the Apache License, Version 2.0 / +// which accompanies this distribution, and is available at / +// http://www.apache.org/licenses/LICENSE-2.0 / +///////////////////////////////////////////////////////////////////////////////////////// +import * as R from 'ramda'; +import { Messages } from '/imports/api/messages/messages'; + +Meteor.methods({ + 'messages/get?level&env&page&amountPerPage&sortField&sortDirection': function ( + level, env, page, amountPerPage, sortField, sortDirection) { + + logMethodCall('messages/get?level&env&page&amountPerPage&sortField&sortDirection', + {level, env, page, amountPerPage}); + + this.unblock(); + + let skip = (page - 1) * amountPerPage; + + let query = {}; + let sortParams = {}; + + query = R.ifElse(R.isNil, R.always(query),R.assoc('environment', R.__, query))(env); + query = R.ifElse(R.isNil, R.always(query),R.assoc('level', R.__, query))(level); + + sortParams = R.ifElse(R.isNil, R.always(sortParams), + R.assoc(R.__, sortDirection, sortParams))(sortField); + + console.log('sort params:', sortParams); + + let qParams = { + limit: amountPerPage, + skip: skip, + sort: sortParams, + }; + + return Messages.find(query, qParams).fetch(); + } +}); + +function logMethodCall(name, args) { + console.log(`method call: ${name}`); + R.forEachObjIndexed((value, key) => { + console.log(`${key}: ${R.toString(value)}`); + }, args); +} |