initial commit 2
This commit is contained in:
116
domain/entity/ride.go
Normal file
116
domain/entity/ride.go
Normal file
@@ -0,0 +1,116 @@
|
||||
package entity
|
||||
|
||||
import (
|
||||
"time"
|
||||
)
|
||||
|
||||
//WebhookResponse has the data and events from the webhook
|
||||
type WebhookResponse struct {
|
||||
EventID string `json:"event_id,omitempty"`
|
||||
HREF string `json:"href,omitempty"`
|
||||
OccurredAt time.Time `json:"occurred_at,omitempty"`
|
||||
EventType string `json:"event_type,omitempty"`
|
||||
Ride Ride `json:"event,omitempty"`
|
||||
}
|
||||
|
||||
// Ride entity data
|
||||
type Ride struct {
|
||||
ID int64 `db:"ride_id" json:"-"`
|
||||
UUID string `db:"ride_uuid" json:"ride_uuid"`
|
||||
User User `db:"user" json:"user"`
|
||||
Status RideStatus `db:"status" json:"status"`
|
||||
Type RideType `db:"type" json:"type"`
|
||||
InternalID string `db:"internal_id" json:"internal_id"`
|
||||
RequestDate *time.Time `db:"request_date" json:"request_date"`
|
||||
RequestMiliseconds *int64 `db:"request_ms" json:"request_ms"`
|
||||
GenerateDate *time.Time `db:"generate_date" json:"generate_date"`
|
||||
GenerateMiliseconds *int64 `db:"generate_ms" json:"generate_ms"`
|
||||
Note string `db:"notes" json:"notes"`
|
||||
PrimetimePercentage string `db:"primetime_percentage" json:"primetime_percentage"`
|
||||
Passenger RidePassenger `db:"passenger" json:"passenger"`
|
||||
Driver RideDriver `db:"driver" json:"driver"`
|
||||
Vehicle RideVehicle `db:"vehicle" json:"vehicle"`
|
||||
Route RideRoute `db:"route" json:"route"`
|
||||
VisitDate *time.Time `db:"visit_date" json:"visit_date"`
|
||||
VisitTime *time.Time `db:"visit_time" json:"visit_time"`
|
||||
PickupTime *time.Time `db:"pickup_time" json:"pickup_time"`
|
||||
Created time.Time `db:"create_at" json:"create_at"`
|
||||
Updated time.Time `db:"update_at" json:"update_at"`
|
||||
Visit Visit `db:"visit" json:"visit"`
|
||||
CreatedUser User `db:"created_user" json:"created_user"`
|
||||
TripType TripType `db:"trip_type" json:"trip_type"`
|
||||
}
|
||||
|
||||
// RidePassenger entity data
|
||||
type RidePassenger struct {
|
||||
ID int64 `db:"ride_passenger_id" json:"-"`
|
||||
FirstName string `db:"first_name" json:"first_name"`
|
||||
LastName string `db:"last_name" json:"last_name"`
|
||||
ImageURL *string `db:"image_url" json:"image_url"`
|
||||
PhoneNumber string `db:"phone_number" json:"phone_number"`
|
||||
InternalID *string `db:"internal_id" json:"internal_id"`
|
||||
}
|
||||
|
||||
// RideStatus entity data
|
||||
type RideStatus struct {
|
||||
ID int64 `db:"ride_status_id" json:"-"`
|
||||
Key string `db:"key" json:"key"`
|
||||
Value string `db:"value" json:"value"`
|
||||
}
|
||||
|
||||
// RideStatus entity data
|
||||
type TripType struct {
|
||||
ID int64 `db:"trip_type_id" json:"-"`
|
||||
Key string `db:"trip_type_key" json:"key"`
|
||||
Value string `db:"trip_type" json:"value"`
|
||||
}
|
||||
|
||||
// RideType entity data
|
||||
type RideType struct {
|
||||
ID int64 `db:"ride_type_id" json:"-"`
|
||||
Key string `db:"key" json:"key"`
|
||||
Value string `db:"value" json:"value"`
|
||||
}
|
||||
|
||||
// RideRoute entity data
|
||||
type RideRoute struct {
|
||||
ID int64 `db:"ride_route_id" json:"-"`
|
||||
Origin Location `db:"origin" json:"origin"`
|
||||
Destination Location `db:"destination" json:"destination"`
|
||||
RouteKML *string `db:"route_kml" json:"route_kml"`
|
||||
Distance float64 `db:"distance" json:"distance"`
|
||||
Duration int64 `db:"duration" json:"duration"`
|
||||
ETA int64 `db:"eta" json:"eta"`
|
||||
Created time.Time `db:"create_at" json:"create_at"`
|
||||
Updated time.Time `db:"update_at" json:"update_at"`
|
||||
}
|
||||
|
||||
// Location entity data
|
||||
type Location struct {
|
||||
ID string `db:"id" json:"id"`
|
||||
Name string `db:"name" json:"name"`
|
||||
Address string `db:"address" json:"address"`
|
||||
Latitude float64 `db:"lat" json:"lat"`
|
||||
Longitude float64 `db:"lng" json:"lng"`
|
||||
}
|
||||
|
||||
// RideDriver entity data
|
||||
type RideDriver struct {
|
||||
ID int64 `db:"ride_driver_id" json:"-"`
|
||||
Name string `db:"name" json:"name"`
|
||||
ImageURL *string `db:"image_url" json:"image_url"`
|
||||
PhoneNumber string `db:"phone_number" json:"phone_number"`
|
||||
Rating *string `db:"rating" json:"rating"`
|
||||
}
|
||||
|
||||
// RideVehicle entity data
|
||||
type RideVehicle struct {
|
||||
ID int64 `db:"ride_vehicle_id" json:"-"`
|
||||
Color string `db:"color" json:"color"`
|
||||
ImageURL string `db:"image_url" json:"image_url"`
|
||||
LicensePlate string `db:"license_plate" json:"license_plate"`
|
||||
LicensePlateState string `db:"license_plate_state" json:"license_plate_state"`
|
||||
Make string `db:"make" json:"make"`
|
||||
Model string `db:"model" json:"model"`
|
||||
Year int64 `db:"year" json:"year"`
|
||||
}
|
||||
Reference in New Issue
Block a user