import omit from 'lodash/omit'; import pick from 'lodash/pick'; import {IdModel} from './id.model'; import {BaseModel} from './base.model'; export class MeasurementModel extends BaseModel { _id: IdModel = null; sample_id: IdModel = null; measurement_template: IdModel; values: {[prop: string]: any} = {}; status = ''; constructor(measurementTemplate: IdModel = null) { super(); this.measurement_template = measurementTemplate; } deserialize(input: any): this { Object.assign(this, input); Object.keys(this.values).forEach(key => { if (this.values[key] === null) { this.values[key] = ''; } }); return this; } sendFormat(omitValues = []) { return omit(pick(this, ['sample_id', 'measurement_template', 'values']), omitValues); } }