first
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
// Fetch the properties for the given sensor
|
||||
|
||||
import * as mongo from "../databases/mongo.js"
|
||||
import * as mock from "../mocks/mongo_mock.js"
|
||||
import {returnOnError} from "../utilities/reporterror.js"
|
||||
import * as ERR from "../utilities/errortexts.js"
|
||||
import checkParams from "../utilities/checkparams.js"
|
||||
|
||||
const mockdb = false
|
||||
|
||||
let readProperties
|
||||
if (mockdb) {
|
||||
readProperties = mock.readProperties
|
||||
} else {
|
||||
readProperties = mongo.readProperties
|
||||
}
|
||||
export const getOneProperty = async (params) => {
|
||||
let properties = {props: {}, err: null}
|
||||
let {opts, err} = checkParams(params, {mandatory:[{name:'sensorid', type: 'int'}], optional:[]})
|
||||
if (err) {
|
||||
return returnOnError(properties, err, getOneProperty.name)
|
||||
}
|
||||
let sensorEntries = [];
|
||||
try {
|
||||
let pp = await readProperties({sid: opts.sensorid});
|
||||
if ((pp.values == null) || (pp.error)) {
|
||||
return returnOnError(properties, ERR.NOPROPSREAD.replace('xx', opts.sensorid), getOneProperty.name)
|
||||
}
|
||||
// now find sensors with same location
|
||||
let query
|
||||
if (pp.values.location_id !== undefined) {
|
||||
query = {location_id: pp.values.location_id}
|
||||
} else {
|
||||
query = {id: pp.values.id}
|
||||
}
|
||||
let others = await readProperties(query)
|
||||
if (others.error) {
|
||||
return returnOnError(properties, ERR.NOPROPSREAD.replace('xx',others.errortext), getOneProperty.name)
|
||||
}
|
||||
if (others.values.length > 0) {
|
||||
for (const x of others.values) {
|
||||
if(x.name[0].name === undefined) {
|
||||
sensorEntries.push({name: x.name, sid: x._id})
|
||||
} else {
|
||||
sensorEntries.push({name: x.name[0].name, sid: x._id})
|
||||
}
|
||||
}
|
||||
}
|
||||
properties.props = pp.values
|
||||
properties.props.othersensors = sensorEntries;
|
||||
} catch (e) {
|
||||
return returnOnError(properties, e, getOneProperty.name)
|
||||
}
|
||||
return properties
|
||||
}
|
||||
Reference in New Issue
Block a user