mirror of
https://github.com/kevin-DL/services.git
synced 2026-01-22 07:15:25 +00:00
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:
@@ -37,6 +37,7 @@ import (
|
||||
"github.com/micro/services/clients/go/twitter"
|
||||
"github.com/micro/services/clients/go/url"
|
||||
"github.com/micro/services/clients/go/user"
|
||||
"github.com/micro/services/clients/go/vehicle"
|
||||
"github.com/micro/services/clients/go/weather"
|
||||
)
|
||||
|
||||
@@ -80,6 +81,7 @@ func NewClient(token string) *Client {
|
||||
TwitterService: twitter.NewTwitterService(token),
|
||||
UrlService: url.NewUrlService(token),
|
||||
UserService: user.NewUserService(token),
|
||||
VehicleService: vehicle.NewVehicleService(token),
|
||||
WeatherService: weather.NewWeatherService(token),
|
||||
}
|
||||
}
|
||||
@@ -123,5 +125,6 @@ type Client struct {
|
||||
TwitterService *twitter.TwitterService
|
||||
UrlService *url.UrlService
|
||||
UserService *user.UserService
|
||||
VehicleService *vehicle.VehicleService
|
||||
WeatherService *weather.WeatherService
|
||||
}
|
||||
|
||||
61
clients/go/vehicle/vehicle.go
Executable file
61
clients/go/vehicle/vehicle.go
Executable file
@@ -0,0 +1,61 @@
|
||||
package vehicle
|
||||
|
||||
import (
|
||||
"github.com/m3o/m3o-go/client"
|
||||
)
|
||||
|
||||
func NewVehicleService(token string) *VehicleService {
|
||||
return &VehicleService{
|
||||
client: client.NewClient(&client.Options{
|
||||
Token: token,
|
||||
}),
|
||||
}
|
||||
}
|
||||
|
||||
type VehicleService struct {
|
||||
client *client.Client
|
||||
}
|
||||
|
||||
// Lookup a UK vehicle by it's registration number
|
||||
func (t *VehicleService) Lookup(request *LookupRequest) (*LookupResponse, error) {
|
||||
rsp := &LookupResponse{}
|
||||
return rsp, t.client.Call("vehicle", "Lookup", request, rsp)
|
||||
}
|
||||
|
||||
type LookupRequest struct {
|
||||
// the vehicle registration number
|
||||
Registration string `json:"registration"`
|
||||
}
|
||||
|
||||
type LookupResponse struct {
|
||||
// co2 emmissions
|
||||
Co2emissions float64 `json:"co2emissions"`
|
||||
// colour of vehicle
|
||||
Colour string `json:"colour"`
|
||||
// engine capacity
|
||||
EngineCapacity int32 `json:"engineCapacity"`
|
||||
// fuel type e.g petrol, diesel
|
||||
FuelType string `json:"fuelType"`
|
||||
// date of last v5 issue
|
||||
LastV5issued string `json:"lastV5issued"`
|
||||
// make of vehicle
|
||||
Make string `json:"make"`
|
||||
// month of first registration
|
||||
MonthOfFirstRegistration string `json:"monthOfFirstRegistration"`
|
||||
// mot expiry
|
||||
MotExpiry string `json:"motExpiry"`
|
||||
// mot status
|
||||
MotStatus string `json:"motStatus"`
|
||||
// registration number
|
||||
Registration string `json:"registration"`
|
||||
// tax due data
|
||||
TaxDueDate string `json:"taxDueDate"`
|
||||
// tax status
|
||||
TaxStatus string `json:"taxStatus"`
|
||||
// type approvale
|
||||
TypeApproval string `json:"typeApproval"`
|
||||
// wheel plan
|
||||
Wheelplan string `json:"wheelplan"`
|
||||
// year of manufacture
|
||||
YearOfManufacture int32 `json:"yearOfManufacture"`
|
||||
}
|
||||
Reference in New Issue
Block a user