add vehicle api (#221)

* add vehicle api

* Commit from GitHub Actions (Publish APIs & Clients)

Co-authored-by: asim <asim@users.noreply.github.com>
This commit is contained in:
Asim Aslam
2021-10-04 12:14:31 +01:00
committed by GitHub
parent ec9fc27f24
commit 9b6010372e
22 changed files with 884 additions and 1 deletions

View File

@@ -34,6 +34,7 @@ import * as time from "./time";
import * as twitter from "./twitter";
import * as url from "./url";
import * as user from "./user";
import * as vehicle from "./vehicle";
import * as weather from "./weather";
export class Client {
@@ -74,6 +75,7 @@ export class Client {
this.twitterService = new twitter.TwitterService(token);
this.urlService = new url.UrlService(token);
this.userService = new user.UserService(token);
this.vehicleService = new vehicle.VehicleService(token);
this.weatherService = new weather.WeatherService(token);
}
@@ -113,5 +115,6 @@ export class Client {
twitterService: twitter.TwitterService;
urlService: url.UrlService;
userService: user.UserService;
vehicleService: vehicle.VehicleService;
weatherService: weather.WeatherService;
}

View File

@@ -47,6 +47,7 @@
"./twitter": "./dist/twitter/index.js",
"./url": "./dist/url/index.js",
"./user": "./dist/user/index.js",
"./vehicle": "./dist/vehicle/index.js",
"./weather": "./dist/weather/index.js"
},
"license": "ISC",
@@ -63,5 +64,5 @@
},
"type": "module",
"types": "dist/index.d.ts",
"version": "1.0.534"
"version": "1.0.535"
}

55
clients/ts/vehicle/index.ts Executable file
View File

@@ -0,0 +1,55 @@
import * as m3o from "@m3o/m3o-node";
export class VehicleService {
private client: m3o.Client;
constructor(token: string) {
this.client = new m3o.Client({ token: token });
}
// Lookup a UK vehicle by it's registration number
lookup(request: LookupRequest): Promise<LookupResponse> {
return this.client.call(
"vehicle",
"Lookup",
request
) as Promise<LookupResponse>;
}
}
export interface LookupRequest {
// the vehicle registration number
registration?: string;
}
export interface LookupResponse {
// co2 emmissions
co2Emissions?: number;
// colour of vehicle
colour?: string;
// engine capacity
engineCapacity?: number;
// fuel type e.g petrol, diesel
fuelType?: string;
// date of last v5 issue
lastV5Issued?: string;
// make of vehicle
make?: string;
// month of first registration
monthOfFirstRegistration?: string;
// mot expiry
motExpiry?: string;
// mot status
motStatus?: string;
// registration number
registration?: string;
// tax due data
taxDueDate?: string;
// tax status
taxStatus?: string;
// type approvale
typeApproval?: string;
// wheel plan
wheelplan?: string;
// year of manufacture
yearOfManufacture?: number;
}