49 lines
1.2 KiB
JavaScript
49 lines
1.2 KiB
JavaScript
class Vehicle {
|
|
brand
|
|
model
|
|
color
|
|
year
|
|
category
|
|
engine
|
|
number
|
|
vin1
|
|
vin2
|
|
sts
|
|
pts
|
|
isRightWheel
|
|
isJapanese
|
|
photos
|
|
addedDate
|
|
addedBy
|
|
|
|
static fromAvtocod(report) {
|
|
let tech = report.fields.tech_data;
|
|
let e = tech.engine;
|
|
|
|
let v = new Vehicle();
|
|
v.brand = { name: tech.brand.name, logo: tech.brand.logotype.uri };
|
|
v.category = report.fields.additional_info.vehicle.category.code;
|
|
v.engine = { number: e.number, volume: e.volume, powerHp: e.power.hp, powerKw: e.power.kw, fuelType: e.fuel.type };
|
|
v.model = tech.model ? { name: tech.model.name } : null;
|
|
v.year = tech.year;
|
|
v.number = report.fields.identifiers.vehicle.reg_num;
|
|
v.pts = report.fields.identifiers.vehicle.pts;
|
|
v.sts = report.fields.identifiers.vehicle.sts;
|
|
v.vin1 = report.fields.identifiers.vehicle.vin;
|
|
v.photos = report.fields.images.photos.items.map(p => {
|
|
return {
|
|
brand: p.vehicle.brand.name,
|
|
model: p.vehicle.model.name,
|
|
date: Date.parse(p.date.issued),
|
|
url: p.uri
|
|
};
|
|
});
|
|
v.isRightWheel = tech.wheel.position != 'LEFT';
|
|
v.isJapanese = report.is_japanese_vehicle;
|
|
v.addedDate = Date.now();
|
|
|
|
return v;
|
|
}
|
|
}
|
|
|
|
module.exports = Vehicle; |