diff options
Diffstat (limited to 'ui/imports/api/statistics/helpers.js')
-rw-r--r-- | ui/imports/api/statistics/helpers.js | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/ui/imports/api/statistics/helpers.js b/ui/imports/api/statistics/helpers.js new file mode 100644 index 0000000..7cb78e8 --- /dev/null +++ b/ui/imports/api/statistics/helpers.js @@ -0,0 +1,64 @@ +///////////////////////////////////////////////////////////////////////////////////////// +// 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'; + +export function createGraphQuerySchema( + env, + object_id, + type, + flowType, + timeStart, + timeEnd, + sourceMacAddress, + destinationMacAddress, + sourceIPv4Address, + destinationIPv4Address) { + + let schema = { + environment: env, + object_id: object_id, + type: type, + flowType: flowType, + /* + averageArrivalNanoSeconds: { + $gte: timeStart, + //$lt: timeEnd + } + */ + data_arrival_avg: { + $gte: timeStart, + } + }; + + if (! R.isNil(timeEnd)) { + //schema = R.assocPath(['averageArrivalNanoSeconds', '$lt'], timeEnd, schema); + schema = R.assocPath(['data_arrival_avg', '$lt'], timeEnd, schema); + } + + switch (flowType) { + case 'L2': + schema = R.merge(schema, { + sourceMacAddress: sourceMacAddress, + destinationMacAddress: destinationMacAddress + }); + break; + + case 'L3': + schema = R.merge(schema, { + sourceIPv4Address: sourceIPv4Address, + destinationIPv4Address: destinationIPv4Address + }); + break; + + default: + break; + } + + return schema; +} |