1839 lines
59 KiB
Go
1839 lines
59 KiB
Go
// Package api provides primitives to interact with the openapi HTTP API.
|
||
//
|
||
// Code generated by github.com/oapi-codegen/oapi-codegen/v2 version v2.6.0 DO NOT EDIT.
|
||
package api
|
||
|
||
import (
|
||
"fmt"
|
||
"net/http"
|
||
|
||
"github.com/go-chi/chi/v5"
|
||
"github.com/oapi-codegen/runtime"
|
||
openapi_types "github.com/oapi-codegen/runtime/types"
|
||
)
|
||
|
||
// Defines values for DriverStatusUpdateStatus.
|
||
const (
|
||
DriverStatusUpdateStatusAvailable DriverStatusUpdateStatus = "available"
|
||
DriverStatusUpdateStatusOffDuty DriverStatusUpdateStatus = "off_duty"
|
||
DriverStatusUpdateStatusOnRoute DriverStatusUpdateStatus = "on_route"
|
||
)
|
||
|
||
// Valid indicates whether the value is a known member of the DriverStatusUpdateStatus enum.
|
||
func (e DriverStatusUpdateStatus) Valid() bool {
|
||
switch e {
|
||
case DriverStatusUpdateStatusAvailable:
|
||
return true
|
||
case DriverStatusUpdateStatusOffDuty:
|
||
return true
|
||
case DriverStatusUpdateStatusOnRoute:
|
||
return true
|
||
default:
|
||
return false
|
||
}
|
||
}
|
||
|
||
// Defines values for DriverUpdateStatus.
|
||
const (
|
||
DriverUpdateStatusAvailable DriverUpdateStatus = "available"
|
||
DriverUpdateStatusOffDuty DriverUpdateStatus = "off_duty"
|
||
DriverUpdateStatusOnRoute DriverUpdateStatus = "on_route"
|
||
)
|
||
|
||
// Valid indicates whether the value is a known member of the DriverUpdateStatus enum.
|
||
func (e DriverUpdateStatus) Valid() bool {
|
||
switch e {
|
||
case DriverUpdateStatusAvailable:
|
||
return true
|
||
case DriverUpdateStatusOffDuty:
|
||
return true
|
||
case DriverUpdateStatusOnRoute:
|
||
return true
|
||
default:
|
||
return false
|
||
}
|
||
}
|
||
|
||
// Defines values for OrderStatusUpdateStatus.
|
||
const (
|
||
OrderStatusUpdateStatusAssigned OrderStatusUpdateStatus = "assigned"
|
||
OrderStatusUpdateStatusCancelled OrderStatusUpdateStatus = "cancelled"
|
||
OrderStatusUpdateStatusDelivered OrderStatusUpdateStatus = "delivered"
|
||
OrderStatusUpdateStatusInTransit OrderStatusUpdateStatus = "in_transit"
|
||
)
|
||
|
||
// Valid indicates whether the value is a known member of the OrderStatusUpdateStatus enum.
|
||
func (e OrderStatusUpdateStatus) Valid() bool {
|
||
switch e {
|
||
case OrderStatusUpdateStatusAssigned:
|
||
return true
|
||
case OrderStatusUpdateStatusCancelled:
|
||
return true
|
||
case OrderStatusUpdateStatusDelivered:
|
||
return true
|
||
case OrderStatusUpdateStatusInTransit:
|
||
return true
|
||
default:
|
||
return false
|
||
}
|
||
}
|
||
|
||
// Defines values for VehicleUpdateStatus.
|
||
const (
|
||
VehicleUpdateStatusAvailable VehicleUpdateStatus = "available"
|
||
VehicleUpdateStatusInTransit VehicleUpdateStatus = "in_transit"
|
||
VehicleUpdateStatusMaintenance VehicleUpdateStatus = "maintenance"
|
||
)
|
||
|
||
// Valid indicates whether the value is a known member of the VehicleUpdateStatus enum.
|
||
func (e VehicleUpdateStatus) Valid() bool {
|
||
switch e {
|
||
case VehicleUpdateStatusAvailable:
|
||
return true
|
||
case VehicleUpdateStatusInTransit:
|
||
return true
|
||
case VehicleUpdateStatusMaintenance:
|
||
return true
|
||
default:
|
||
return false
|
||
}
|
||
}
|
||
|
||
// Defines values for WarehouseUpdateStatus.
|
||
const (
|
||
Active WarehouseUpdateStatus = "active"
|
||
Inactive WarehouseUpdateStatus = "inactive"
|
||
)
|
||
|
||
// Valid indicates whether the value is a known member of the WarehouseUpdateStatus enum.
|
||
func (e WarehouseUpdateStatus) Valid() bool {
|
||
switch e {
|
||
case Active:
|
||
return true
|
||
case Inactive:
|
||
return true
|
||
default:
|
||
return false
|
||
}
|
||
}
|
||
|
||
// Defines values for ListDriversParamsStatus.
|
||
const (
|
||
Available ListDriversParamsStatus = "available"
|
||
OffDuty ListDriversParamsStatus = "off_duty"
|
||
OnRoute ListDriversParamsStatus = "on_route"
|
||
)
|
||
|
||
// Valid indicates whether the value is a known member of the ListDriversParamsStatus enum.
|
||
func (e ListDriversParamsStatus) Valid() bool {
|
||
switch e {
|
||
case Available:
|
||
return true
|
||
case OffDuty:
|
||
return true
|
||
case OnRoute:
|
||
return true
|
||
default:
|
||
return false
|
||
}
|
||
}
|
||
|
||
// Defines values for ListOrdersParamsStatus.
|
||
const (
|
||
ListOrdersParamsStatusAssigned ListOrdersParamsStatus = "assigned"
|
||
ListOrdersParamsStatusCancelled ListOrdersParamsStatus = "cancelled"
|
||
ListOrdersParamsStatusDelivered ListOrdersParamsStatus = "delivered"
|
||
ListOrdersParamsStatusInTransit ListOrdersParamsStatus = "in_transit"
|
||
ListOrdersParamsStatusPending ListOrdersParamsStatus = "pending"
|
||
)
|
||
|
||
// Valid indicates whether the value is a known member of the ListOrdersParamsStatus enum.
|
||
func (e ListOrdersParamsStatus) Valid() bool {
|
||
switch e {
|
||
case ListOrdersParamsStatusAssigned:
|
||
return true
|
||
case ListOrdersParamsStatusCancelled:
|
||
return true
|
||
case ListOrdersParamsStatusDelivered:
|
||
return true
|
||
case ListOrdersParamsStatusInTransit:
|
||
return true
|
||
case ListOrdersParamsStatusPending:
|
||
return true
|
||
default:
|
||
return false
|
||
}
|
||
}
|
||
|
||
// Defines values for GetOrdersReportParamsStatus.
|
||
const (
|
||
GetOrdersReportParamsStatusAssigned GetOrdersReportParamsStatus = "assigned"
|
||
GetOrdersReportParamsStatusCancelled GetOrdersReportParamsStatus = "cancelled"
|
||
GetOrdersReportParamsStatusDelivered GetOrdersReportParamsStatus = "delivered"
|
||
GetOrdersReportParamsStatusInTransit GetOrdersReportParamsStatus = "in_transit"
|
||
GetOrdersReportParamsStatusPending GetOrdersReportParamsStatus = "pending"
|
||
)
|
||
|
||
// Valid indicates whether the value is a known member of the GetOrdersReportParamsStatus enum.
|
||
func (e GetOrdersReportParamsStatus) Valid() bool {
|
||
switch e {
|
||
case GetOrdersReportParamsStatusAssigned:
|
||
return true
|
||
case GetOrdersReportParamsStatusCancelled:
|
||
return true
|
||
case GetOrdersReportParamsStatusDelivered:
|
||
return true
|
||
case GetOrdersReportParamsStatusInTransit:
|
||
return true
|
||
case GetOrdersReportParamsStatusPending:
|
||
return true
|
||
default:
|
||
return false
|
||
}
|
||
}
|
||
|
||
// ApiResponse defines model for ApiResponse.
|
||
type ApiResponse struct {
|
||
Data *map[string]interface{} `json:"data,omitempty"`
|
||
RequestID *string `json:"requestID,omitempty"`
|
||
Status *int `json:"status,omitempty"`
|
||
Success *bool `json:"success,omitempty"`
|
||
}
|
||
|
||
// DriverCreate defines model for DriverCreate.
|
||
type DriverCreate struct {
|
||
Email openapi_types.Email `json:"email"`
|
||
FullName string `json:"fullName"`
|
||
LicenseExpiry openapi_types.Date `json:"licenseExpiry"`
|
||
LicenseNumber string `json:"licenseNumber"`
|
||
Password string `json:"password"`
|
||
VehicleId *openapi_types.UUID `json:"vehicleId,omitempty"`
|
||
}
|
||
|
||
// DriverStatusUpdate defines model for DriverStatusUpdate.
|
||
type DriverStatusUpdate struct {
|
||
Status DriverStatusUpdateStatus `json:"status"`
|
||
}
|
||
|
||
// DriverStatusUpdateStatus defines model for DriverStatusUpdate.Status.
|
||
type DriverStatusUpdateStatus string
|
||
|
||
// DriverUpdate defines model for DriverUpdate.
|
||
type DriverUpdate struct {
|
||
LicenseExpiry *openapi_types.Date `json:"licenseExpiry,omitempty"`
|
||
LicenseNumber *string `json:"licenseNumber,omitempty"`
|
||
Status *DriverUpdateStatus `json:"status,omitempty"`
|
||
VehicleId *openapi_types.UUID `json:"vehicleId,omitempty"`
|
||
}
|
||
|
||
// DriverUpdateStatus defines model for DriverUpdate.Status.
|
||
type DriverUpdateStatus string
|
||
|
||
// ErrorResponse defines model for ErrorResponse.
|
||
type ErrorResponse struct {
|
||
Message *string `json:"message,omitempty"`
|
||
RequestID *string `json:"requestID,omitempty"`
|
||
Status *int `json:"status,omitempty"`
|
||
}
|
||
|
||
// LoginRequest defines model for LoginRequest.
|
||
type LoginRequest struct {
|
||
Email openapi_types.Email `json:"email"`
|
||
Password string `json:"password"`
|
||
}
|
||
|
||
// ManagerCreate defines model for ManagerCreate.
|
||
type ManagerCreate struct {
|
||
Email openapi_types.Email `json:"email"`
|
||
FullName string `json:"fullName"`
|
||
Password string `json:"password"`
|
||
WarehouseId *openapi_types.UUID `json:"warehouseId,omitempty"`
|
||
}
|
||
|
||
// OrderCreate defines model for OrderCreate.
|
||
type OrderCreate struct {
|
||
CargoDescription *string `json:"cargoDescription,omitempty"`
|
||
DestinationAddress string `json:"destinationAddress"`
|
||
OriginAddress *string `json:"originAddress,omitempty"`
|
||
OriginWarehouseId *openapi_types.UUID `json:"originWarehouseId,omitempty"`
|
||
VolumeM3 *float32 `json:"volumeM3,omitempty"`
|
||
WeightKg *float32 `json:"weightKg,omitempty"`
|
||
}
|
||
|
||
// OrderStatusUpdate defines model for OrderStatusUpdate.
|
||
type OrderStatusUpdate struct {
|
||
DriverId *openapi_types.UUID `json:"driverId,omitempty"`
|
||
Status OrderStatusUpdateStatus `json:"status"`
|
||
}
|
||
|
||
// OrderStatusUpdateStatus defines model for OrderStatusUpdate.Status.
|
||
type OrderStatusUpdateStatus string
|
||
|
||
// RegisterRequest defines model for RegisterRequest.
|
||
type RegisterRequest struct {
|
||
Email openapi_types.Email `json:"email"`
|
||
FullName string `json:"fullName"`
|
||
Password string `json:"password"`
|
||
}
|
||
|
||
// UserDeleteRequest defines model for UserDeleteRequest.
|
||
type UserDeleteRequest struct {
|
||
Password string `json:"password"`
|
||
}
|
||
|
||
// UserUpdate defines model for UserUpdate.
|
||
type UserUpdate struct {
|
||
AvatarUrl *string `json:"avatarUrl,omitempty"`
|
||
CurrentPassword *string `json:"currentPassword,omitempty"`
|
||
FullName *string `json:"fullName,omitempty"`
|
||
Password *string `json:"password,omitempty"`
|
||
}
|
||
|
||
// VehicleCreate defines model for VehicleCreate.
|
||
type VehicleCreate struct {
|
||
Brand *string `json:"brand,omitempty"`
|
||
CapacityKg *float32 `json:"capacityKg,omitempty"`
|
||
CapacityM3 *float32 `json:"capacityM3,omitempty"`
|
||
Model *string `json:"model,omitempty"`
|
||
PlateNumber string `json:"plateNumber"`
|
||
Year *int `json:"year,omitempty"`
|
||
}
|
||
|
||
// VehicleUpdate defines model for VehicleUpdate.
|
||
type VehicleUpdate struct {
|
||
Brand *string `json:"brand,omitempty"`
|
||
CapacityKg *float32 `json:"capacityKg,omitempty"`
|
||
CapacityM3 *float32 `json:"capacityM3,omitempty"`
|
||
Model *string `json:"model,omitempty"`
|
||
Status *VehicleUpdateStatus `json:"status,omitempty"`
|
||
Year *int `json:"year,omitempty"`
|
||
}
|
||
|
||
// VehicleUpdateStatus defines model for VehicleUpdate.Status.
|
||
type VehicleUpdateStatus string
|
||
|
||
// WarehouseCreate defines model for WarehouseCreate.
|
||
type WarehouseCreate struct {
|
||
Address string `json:"address"`
|
||
City *string `json:"city,omitempty"`
|
||
Latitude *float32 `json:"latitude,omitempty"`
|
||
Longitude *float32 `json:"longitude,omitempty"`
|
||
Name string `json:"name"`
|
||
}
|
||
|
||
// WarehouseUpdate defines model for WarehouseUpdate.
|
||
type WarehouseUpdate struct {
|
||
Address *string `json:"address,omitempty"`
|
||
City *string `json:"city,omitempty"`
|
||
Latitude *float32 `json:"latitude,omitempty"`
|
||
Longitude *float32 `json:"longitude,omitempty"`
|
||
Name *string `json:"name,omitempty"`
|
||
Status *WarehouseUpdateStatus `json:"status,omitempty"`
|
||
}
|
||
|
||
// WarehouseUpdateStatus defines model for WarehouseUpdate.Status.
|
||
type WarehouseUpdateStatus string
|
||
|
||
// ListDriversParams defines parameters for ListDrivers.
|
||
type ListDriversParams struct {
|
||
Status *ListDriversParamsStatus `form:"status,omitempty" json:"status,omitempty"`
|
||
}
|
||
|
||
// ListDriversParamsStatus defines parameters for ListDrivers.
|
||
type ListDriversParamsStatus string
|
||
|
||
// ListNotificationsParams defines parameters for ListNotifications.
|
||
type ListNotificationsParams struct {
|
||
UnreadOnly *bool `form:"unreadOnly,omitempty" json:"unreadOnly,omitempty"`
|
||
}
|
||
|
||
// ListOrdersParams defines parameters for ListOrders.
|
||
type ListOrdersParams struct {
|
||
Status *ListOrdersParamsStatus `form:"status,omitempty" json:"status,omitempty"`
|
||
DriverId *openapi_types.UUID `form:"driverId,omitempty" json:"driverId,omitempty"`
|
||
}
|
||
|
||
// ListOrdersParamsStatus defines parameters for ListOrders.
|
||
type ListOrdersParamsStatus string
|
||
|
||
// GetOrdersReportParams defines parameters for GetOrdersReport.
|
||
type GetOrdersReportParams struct {
|
||
From *openapi_types.Date `form:"from,omitempty" json:"from,omitempty"`
|
||
To *openapi_types.Date `form:"to,omitempty" json:"to,omitempty"`
|
||
Status *GetOrdersReportParamsStatus `form:"status,omitempty" json:"status,omitempty"`
|
||
DriverId *openapi_types.UUID `form:"driverId,omitempty" json:"driverId,omitempty"`
|
||
WarehouseId *openapi_types.UUID `form:"warehouseId,omitempty" json:"warehouseId,omitempty"`
|
||
}
|
||
|
||
// GetOrdersReportParamsStatus defines parameters for GetOrdersReport.
|
||
type GetOrdersReportParamsStatus string
|
||
|
||
// AuthLoginJSONRequestBody defines body for AuthLogin for application/json ContentType.
|
||
type AuthLoginJSONRequestBody = LoginRequest
|
||
|
||
// AuthRegisterJSONRequestBody defines body for AuthRegister for application/json ContentType.
|
||
type AuthRegisterJSONRequestBody = RegisterRequest
|
||
|
||
// CreateDriverJSONRequestBody defines body for CreateDriver for application/json ContentType.
|
||
type CreateDriverJSONRequestBody = DriverCreate
|
||
|
||
// UpdateMyDriverStatusJSONRequestBody defines body for UpdateMyDriverStatus for application/json ContentType.
|
||
type UpdateMyDriverStatusJSONRequestBody = DriverStatusUpdate
|
||
|
||
// UpdateDriverJSONRequestBody defines body for UpdateDriver for application/json ContentType.
|
||
type UpdateDriverJSONRequestBody = DriverUpdate
|
||
|
||
// CreateManagerJSONRequestBody defines body for CreateManager for application/json ContentType.
|
||
type CreateManagerJSONRequestBody = ManagerCreate
|
||
|
||
// DeleteMeJSONRequestBody defines body for DeleteMe for application/json ContentType.
|
||
type DeleteMeJSONRequestBody = UserDeleteRequest
|
||
|
||
// UpdateMeJSONRequestBody defines body for UpdateMe for application/json ContentType.
|
||
type UpdateMeJSONRequestBody = UserUpdate
|
||
|
||
// CreateOrderJSONRequestBody defines body for CreateOrder for application/json ContentType.
|
||
type CreateOrderJSONRequestBody = OrderCreate
|
||
|
||
// UpdateOrderStatusJSONRequestBody defines body for UpdateOrderStatus for application/json ContentType.
|
||
type UpdateOrderStatusJSONRequestBody = OrderStatusUpdate
|
||
|
||
// CreateVehicleJSONRequestBody defines body for CreateVehicle for application/json ContentType.
|
||
type CreateVehicleJSONRequestBody = VehicleCreate
|
||
|
||
// UpdateVehicleJSONRequestBody defines body for UpdateVehicle for application/json ContentType.
|
||
type UpdateVehicleJSONRequestBody = VehicleUpdate
|
||
|
||
// CreateWarehouseJSONRequestBody defines body for CreateWarehouse for application/json ContentType.
|
||
type CreateWarehouseJSONRequestBody = WarehouseCreate
|
||
|
||
// UpdateWarehouseJSONRequestBody defines body for UpdateWarehouse for application/json ContentType.
|
||
type UpdateWarehouseJSONRequestBody = WarehouseUpdate
|
||
|
||
// ServerInterface represents all server handlers.
|
||
type ServerInterface interface {
|
||
// Авторизация
|
||
// (POST /auth/login)
|
||
AuthLogin(w http.ResponseWriter, r *http.Request)
|
||
// Выход из системы
|
||
// (POST /auth/logout)
|
||
AuthLogout(w http.ResponseWriter, r *http.Request)
|
||
// Обновление access-токена
|
||
// (POST /auth/refresh)
|
||
AuthRefresh(w http.ResponseWriter, r *http.Request)
|
||
// Регистрация клиента
|
||
// (POST /auth/register)
|
||
AuthRegister(w http.ResponseWriter, r *http.Request)
|
||
// Список водителей
|
||
// (GET /drivers)
|
||
ListDrivers(w http.ResponseWriter, r *http.Request, params ListDriversParams)
|
||
// Создать водителя
|
||
// (POST /drivers)
|
||
CreateDriver(w http.ResponseWriter, r *http.Request)
|
||
// Водитель меняет свой статус
|
||
// (PATCH /drivers/me/status)
|
||
UpdateMyDriverStatus(w http.ResponseWriter, r *http.Request)
|
||
// Удалить водителя
|
||
// (DELETE /drivers/{slug})
|
||
DeleteDriver(w http.ResponseWriter, r *http.Request, slug string)
|
||
// Получить водителя по slug
|
||
// (GET /drivers/{slug})
|
||
GetDriver(w http.ResponseWriter, r *http.Request, slug string)
|
||
// Обновить данные водителя
|
||
// (PUT /drivers/{slug})
|
||
UpdateDriver(w http.ResponseWriter, r *http.Request, slug string)
|
||
// Список менеджеров
|
||
// (GET /managers)
|
||
ListManagers(w http.ResponseWriter, r *http.Request)
|
||
// Создать менеджера
|
||
// (POST /managers)
|
||
CreateManager(w http.ResponseWriter, r *http.Request)
|
||
// Удалить менеджера
|
||
// (DELETE /managers/{slug})
|
||
DeleteManager(w http.ResponseWriter, r *http.Request, slug string)
|
||
// Получить менеджера по slug
|
||
// (GET /managers/{slug})
|
||
GetManager(w http.ResponseWriter, r *http.Request, slug string)
|
||
// Удалить аккаунт
|
||
// (DELETE /me)
|
||
DeleteMe(w http.ResponseWriter, r *http.Request)
|
||
// Текущий пользователь
|
||
// (GET /me)
|
||
GetMe(w http.ResponseWriter, r *http.Request)
|
||
// Обновить профиль
|
||
// (PATCH /me)
|
||
UpdateMe(w http.ResponseWriter, r *http.Request)
|
||
// Поездки текущего водителя
|
||
// (GET /me/trips)
|
||
GetMyTrips(w http.ResponseWriter, r *http.Request)
|
||
// Список уведомлений текущего пользователя
|
||
// (GET /notifications)
|
||
ListNotifications(w http.ResponseWriter, r *http.Request, params ListNotificationsParams)
|
||
// Отметить уведомление как прочитанное
|
||
// (PATCH /notifications/{id}/read)
|
||
MarkNotificationRead(w http.ResponseWriter, r *http.Request, id openapi_types.UUID)
|
||
// Список заявок
|
||
// (GET /orders)
|
||
ListOrders(w http.ResponseWriter, r *http.Request, params ListOrdersParams)
|
||
// Создать заявку
|
||
// (POST /orders)
|
||
CreateOrder(w http.ResponseWriter, r *http.Request)
|
||
// Отменить заявку
|
||
// (DELETE /orders/{id})
|
||
CancelOrder(w http.ResponseWriter, r *http.Request, id openapi_types.UUID)
|
||
// Получить заявку
|
||
// (GET /orders/{id})
|
||
GetOrder(w http.ResponseWriter, r *http.Request, id openapi_types.UUID)
|
||
// Получить маршрут заявки
|
||
// (GET /orders/{id}/route)
|
||
GetRoute(w http.ResponseWriter, r *http.Request, id openapi_types.UUID)
|
||
// WebSocket трекинг маршрута
|
||
// (GET /orders/{id}/route/ws)
|
||
RouteWebSocket(w http.ResponseWriter, r *http.Request, id openapi_types.UUID)
|
||
// Обновить статус заявки
|
||
// (PATCH /orders/{id}/status)
|
||
UpdateOrderStatus(w http.ResponseWriter, r *http.Request, id openapi_types.UUID)
|
||
// Дашборд менеджмента
|
||
// (GET /reports/dashboard)
|
||
GetDashboard(w http.ResponseWriter, r *http.Request)
|
||
// Отчёт по заявкам
|
||
// (GET /reports/orders)
|
||
GetOrdersReport(w http.ResponseWriter, r *http.Request, params GetOrdersReportParams)
|
||
// Список транспортных средств
|
||
// (GET /vehicles)
|
||
ListVehicles(w http.ResponseWriter, r *http.Request)
|
||
// Добавить ТС
|
||
// (POST /vehicles)
|
||
CreateVehicle(w http.ResponseWriter, r *http.Request)
|
||
// Удалить ТС
|
||
// (DELETE /vehicles/{slug})
|
||
DeleteVehicle(w http.ResponseWriter, r *http.Request, slug string)
|
||
// Получить ТС по slug
|
||
// (GET /vehicles/{slug})
|
||
GetVehicle(w http.ResponseWriter, r *http.Request, slug string)
|
||
// Обновить ТС
|
||
// (PUT /vehicles/{slug})
|
||
UpdateVehicle(w http.ResponseWriter, r *http.Request, slug string)
|
||
// Список складов
|
||
// (GET /warehouses)
|
||
ListWarehouses(w http.ResponseWriter, r *http.Request)
|
||
// Создать склад
|
||
// (POST /warehouses)
|
||
CreateWarehouse(w http.ResponseWriter, r *http.Request)
|
||
// Удалить склад
|
||
// (DELETE /warehouses/{slug})
|
||
DeleteWarehouse(w http.ResponseWriter, r *http.Request, slug string)
|
||
// Получить склад по slug
|
||
// (GET /warehouses/{slug})
|
||
GetWarehouse(w http.ResponseWriter, r *http.Request, slug string)
|
||
// Обновить склад
|
||
// (PUT /warehouses/{slug})
|
||
UpdateWarehouse(w http.ResponseWriter, r *http.Request, slug string)
|
||
}
|
||
|
||
// Unimplemented server implementation that returns http.StatusNotImplemented for each endpoint.
|
||
|
||
type Unimplemented struct{}
|
||
|
||
// Авторизация
|
||
// (POST /auth/login)
|
||
func (_ Unimplemented) AuthLogin(w http.ResponseWriter, r *http.Request) {
|
||
w.WriteHeader(http.StatusNotImplemented)
|
||
}
|
||
|
||
// Выход из системы
|
||
// (POST /auth/logout)
|
||
func (_ Unimplemented) AuthLogout(w http.ResponseWriter, r *http.Request) {
|
||
w.WriteHeader(http.StatusNotImplemented)
|
||
}
|
||
|
||
// Обновление access-токена
|
||
// (POST /auth/refresh)
|
||
func (_ Unimplemented) AuthRefresh(w http.ResponseWriter, r *http.Request) {
|
||
w.WriteHeader(http.StatusNotImplemented)
|
||
}
|
||
|
||
// Регистрация клиента
|
||
// (POST /auth/register)
|
||
func (_ Unimplemented) AuthRegister(w http.ResponseWriter, r *http.Request) {
|
||
w.WriteHeader(http.StatusNotImplemented)
|
||
}
|
||
|
||
// Список водителей
|
||
// (GET /drivers)
|
||
func (_ Unimplemented) ListDrivers(w http.ResponseWriter, r *http.Request, params ListDriversParams) {
|
||
w.WriteHeader(http.StatusNotImplemented)
|
||
}
|
||
|
||
// Создать водителя
|
||
// (POST /drivers)
|
||
func (_ Unimplemented) CreateDriver(w http.ResponseWriter, r *http.Request) {
|
||
w.WriteHeader(http.StatusNotImplemented)
|
||
}
|
||
|
||
// Водитель меняет свой статус
|
||
// (PATCH /drivers/me/status)
|
||
func (_ Unimplemented) UpdateMyDriverStatus(w http.ResponseWriter, r *http.Request) {
|
||
w.WriteHeader(http.StatusNotImplemented)
|
||
}
|
||
|
||
// Удалить водителя
|
||
// (DELETE /drivers/{slug})
|
||
func (_ Unimplemented) DeleteDriver(w http.ResponseWriter, r *http.Request, slug string) {
|
||
w.WriteHeader(http.StatusNotImplemented)
|
||
}
|
||
|
||
// Получить водителя по slug
|
||
// (GET /drivers/{slug})
|
||
func (_ Unimplemented) GetDriver(w http.ResponseWriter, r *http.Request, slug string) {
|
||
w.WriteHeader(http.StatusNotImplemented)
|
||
}
|
||
|
||
// Обновить данные водителя
|
||
// (PUT /drivers/{slug})
|
||
func (_ Unimplemented) UpdateDriver(w http.ResponseWriter, r *http.Request, slug string) {
|
||
w.WriteHeader(http.StatusNotImplemented)
|
||
}
|
||
|
||
// Список менеджеров
|
||
// (GET /managers)
|
||
func (_ Unimplemented) ListManagers(w http.ResponseWriter, r *http.Request) {
|
||
w.WriteHeader(http.StatusNotImplemented)
|
||
}
|
||
|
||
// Создать менеджера
|
||
// (POST /managers)
|
||
func (_ Unimplemented) CreateManager(w http.ResponseWriter, r *http.Request) {
|
||
w.WriteHeader(http.StatusNotImplemented)
|
||
}
|
||
|
||
// Удалить менеджера
|
||
// (DELETE /managers/{slug})
|
||
func (_ Unimplemented) DeleteManager(w http.ResponseWriter, r *http.Request, slug string) {
|
||
w.WriteHeader(http.StatusNotImplemented)
|
||
}
|
||
|
||
// Получить менеджера по slug
|
||
// (GET /managers/{slug})
|
||
func (_ Unimplemented) GetManager(w http.ResponseWriter, r *http.Request, slug string) {
|
||
w.WriteHeader(http.StatusNotImplemented)
|
||
}
|
||
|
||
// Удалить аккаунт
|
||
// (DELETE /me)
|
||
func (_ Unimplemented) DeleteMe(w http.ResponseWriter, r *http.Request) {
|
||
w.WriteHeader(http.StatusNotImplemented)
|
||
}
|
||
|
||
// Текущий пользователь
|
||
// (GET /me)
|
||
func (_ Unimplemented) GetMe(w http.ResponseWriter, r *http.Request) {
|
||
w.WriteHeader(http.StatusNotImplemented)
|
||
}
|
||
|
||
// Обновить профиль
|
||
// (PATCH /me)
|
||
func (_ Unimplemented) UpdateMe(w http.ResponseWriter, r *http.Request) {
|
||
w.WriteHeader(http.StatusNotImplemented)
|
||
}
|
||
|
||
// Поездки текущего водителя
|
||
// (GET /me/trips)
|
||
func (_ Unimplemented) GetMyTrips(w http.ResponseWriter, r *http.Request) {
|
||
w.WriteHeader(http.StatusNotImplemented)
|
||
}
|
||
|
||
// Список уведомлений текущего пользователя
|
||
// (GET /notifications)
|
||
func (_ Unimplemented) ListNotifications(w http.ResponseWriter, r *http.Request, params ListNotificationsParams) {
|
||
w.WriteHeader(http.StatusNotImplemented)
|
||
}
|
||
|
||
// Отметить уведомление как прочитанное
|
||
// (PATCH /notifications/{id}/read)
|
||
func (_ Unimplemented) MarkNotificationRead(w http.ResponseWriter, r *http.Request, id openapi_types.UUID) {
|
||
w.WriteHeader(http.StatusNotImplemented)
|
||
}
|
||
|
||
// Список заявок
|
||
// (GET /orders)
|
||
func (_ Unimplemented) ListOrders(w http.ResponseWriter, r *http.Request, params ListOrdersParams) {
|
||
w.WriteHeader(http.StatusNotImplemented)
|
||
}
|
||
|
||
// Создать заявку
|
||
// (POST /orders)
|
||
func (_ Unimplemented) CreateOrder(w http.ResponseWriter, r *http.Request) {
|
||
w.WriteHeader(http.StatusNotImplemented)
|
||
}
|
||
|
||
// Отменить заявку
|
||
// (DELETE /orders/{id})
|
||
func (_ Unimplemented) CancelOrder(w http.ResponseWriter, r *http.Request, id openapi_types.UUID) {
|
||
w.WriteHeader(http.StatusNotImplemented)
|
||
}
|
||
|
||
// Получить заявку
|
||
// (GET /orders/{id})
|
||
func (_ Unimplemented) GetOrder(w http.ResponseWriter, r *http.Request, id openapi_types.UUID) {
|
||
w.WriteHeader(http.StatusNotImplemented)
|
||
}
|
||
|
||
// Получить маршрут заявки
|
||
// (GET /orders/{id}/route)
|
||
func (_ Unimplemented) GetRoute(w http.ResponseWriter, r *http.Request, id openapi_types.UUID) {
|
||
w.WriteHeader(http.StatusNotImplemented)
|
||
}
|
||
|
||
// WebSocket трекинг маршрута
|
||
// (GET /orders/{id}/route/ws)
|
||
func (_ Unimplemented) RouteWebSocket(w http.ResponseWriter, r *http.Request, id openapi_types.UUID) {
|
||
w.WriteHeader(http.StatusNotImplemented)
|
||
}
|
||
|
||
// Обновить статус заявки
|
||
// (PATCH /orders/{id}/status)
|
||
func (_ Unimplemented) UpdateOrderStatus(w http.ResponseWriter, r *http.Request, id openapi_types.UUID) {
|
||
w.WriteHeader(http.StatusNotImplemented)
|
||
}
|
||
|
||
// Дашборд менеджмента
|
||
// (GET /reports/dashboard)
|
||
func (_ Unimplemented) GetDashboard(w http.ResponseWriter, r *http.Request) {
|
||
w.WriteHeader(http.StatusNotImplemented)
|
||
}
|
||
|
||
// Отчёт по заявкам
|
||
// (GET /reports/orders)
|
||
func (_ Unimplemented) GetOrdersReport(w http.ResponseWriter, r *http.Request, params GetOrdersReportParams) {
|
||
w.WriteHeader(http.StatusNotImplemented)
|
||
}
|
||
|
||
// Список транспортных средств
|
||
// (GET /vehicles)
|
||
func (_ Unimplemented) ListVehicles(w http.ResponseWriter, r *http.Request) {
|
||
w.WriteHeader(http.StatusNotImplemented)
|
||
}
|
||
|
||
// Добавить ТС
|
||
// (POST /vehicles)
|
||
func (_ Unimplemented) CreateVehicle(w http.ResponseWriter, r *http.Request) {
|
||
w.WriteHeader(http.StatusNotImplemented)
|
||
}
|
||
|
||
// Удалить ТС
|
||
// (DELETE /vehicles/{slug})
|
||
func (_ Unimplemented) DeleteVehicle(w http.ResponseWriter, r *http.Request, slug string) {
|
||
w.WriteHeader(http.StatusNotImplemented)
|
||
}
|
||
|
||
// Получить ТС по slug
|
||
// (GET /vehicles/{slug})
|
||
func (_ Unimplemented) GetVehicle(w http.ResponseWriter, r *http.Request, slug string) {
|
||
w.WriteHeader(http.StatusNotImplemented)
|
||
}
|
||
|
||
// Обновить ТС
|
||
// (PUT /vehicles/{slug})
|
||
func (_ Unimplemented) UpdateVehicle(w http.ResponseWriter, r *http.Request, slug string) {
|
||
w.WriteHeader(http.StatusNotImplemented)
|
||
}
|
||
|
||
// Список складов
|
||
// (GET /warehouses)
|
||
func (_ Unimplemented) ListWarehouses(w http.ResponseWriter, r *http.Request) {
|
||
w.WriteHeader(http.StatusNotImplemented)
|
||
}
|
||
|
||
// Создать склад
|
||
// (POST /warehouses)
|
||
func (_ Unimplemented) CreateWarehouse(w http.ResponseWriter, r *http.Request) {
|
||
w.WriteHeader(http.StatusNotImplemented)
|
||
}
|
||
|
||
// Удалить склад
|
||
// (DELETE /warehouses/{slug})
|
||
func (_ Unimplemented) DeleteWarehouse(w http.ResponseWriter, r *http.Request, slug string) {
|
||
w.WriteHeader(http.StatusNotImplemented)
|
||
}
|
||
|
||
// Получить склад по slug
|
||
// (GET /warehouses/{slug})
|
||
func (_ Unimplemented) GetWarehouse(w http.ResponseWriter, r *http.Request, slug string) {
|
||
w.WriteHeader(http.StatusNotImplemented)
|
||
}
|
||
|
||
// Обновить склад
|
||
// (PUT /warehouses/{slug})
|
||
func (_ Unimplemented) UpdateWarehouse(w http.ResponseWriter, r *http.Request, slug string) {
|
||
w.WriteHeader(http.StatusNotImplemented)
|
||
}
|
||
|
||
// ServerInterfaceWrapper converts contexts to parameters.
|
||
type ServerInterfaceWrapper struct {
|
||
Handler ServerInterface
|
||
HandlerMiddlewares []MiddlewareFunc
|
||
ErrorHandlerFunc func(w http.ResponseWriter, r *http.Request, err error)
|
||
}
|
||
|
||
type MiddlewareFunc func(http.Handler) http.Handler
|
||
|
||
// AuthLogin operation middleware
|
||
func (siw *ServerInterfaceWrapper) AuthLogin(w http.ResponseWriter, r *http.Request) {
|
||
|
||
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||
siw.Handler.AuthLogin(w, r)
|
||
}))
|
||
|
||
for _, middleware := range siw.HandlerMiddlewares {
|
||
handler = middleware(handler)
|
||
}
|
||
|
||
handler.ServeHTTP(w, r)
|
||
}
|
||
|
||
// AuthLogout operation middleware
|
||
func (siw *ServerInterfaceWrapper) AuthLogout(w http.ResponseWriter, r *http.Request) {
|
||
|
||
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||
siw.Handler.AuthLogout(w, r)
|
||
}))
|
||
|
||
for _, middleware := range siw.HandlerMiddlewares {
|
||
handler = middleware(handler)
|
||
}
|
||
|
||
handler.ServeHTTP(w, r)
|
||
}
|
||
|
||
// AuthRefresh operation middleware
|
||
func (siw *ServerInterfaceWrapper) AuthRefresh(w http.ResponseWriter, r *http.Request) {
|
||
|
||
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||
siw.Handler.AuthRefresh(w, r)
|
||
}))
|
||
|
||
for _, middleware := range siw.HandlerMiddlewares {
|
||
handler = middleware(handler)
|
||
}
|
||
|
||
handler.ServeHTTP(w, r)
|
||
}
|
||
|
||
// AuthRegister operation middleware
|
||
func (siw *ServerInterfaceWrapper) AuthRegister(w http.ResponseWriter, r *http.Request) {
|
||
|
||
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||
siw.Handler.AuthRegister(w, r)
|
||
}))
|
||
|
||
for _, middleware := range siw.HandlerMiddlewares {
|
||
handler = middleware(handler)
|
||
}
|
||
|
||
handler.ServeHTTP(w, r)
|
||
}
|
||
|
||
// ListDrivers operation middleware
|
||
func (siw *ServerInterfaceWrapper) ListDrivers(w http.ResponseWriter, r *http.Request) {
|
||
|
||
var err error
|
||
|
||
// Parameter object where we will unmarshal all parameters from the context
|
||
var params ListDriversParams
|
||
|
||
// ------------- Optional query parameter "status" -------------
|
||
|
||
err = runtime.BindQueryParameterWithOptions("form", true, false, "status", r.URL.Query(), ¶ms.Status, runtime.BindQueryParameterOptions{Type: "string", Format: ""})
|
||
if err != nil {
|
||
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "status", Err: err})
|
||
return
|
||
}
|
||
|
||
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||
siw.Handler.ListDrivers(w, r, params)
|
||
}))
|
||
|
||
for _, middleware := range siw.HandlerMiddlewares {
|
||
handler = middleware(handler)
|
||
}
|
||
|
||
handler.ServeHTTP(w, r)
|
||
}
|
||
|
||
// CreateDriver operation middleware
|
||
func (siw *ServerInterfaceWrapper) CreateDriver(w http.ResponseWriter, r *http.Request) {
|
||
|
||
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||
siw.Handler.CreateDriver(w, r)
|
||
}))
|
||
|
||
for _, middleware := range siw.HandlerMiddlewares {
|
||
handler = middleware(handler)
|
||
}
|
||
|
||
handler.ServeHTTP(w, r)
|
||
}
|
||
|
||
// UpdateMyDriverStatus operation middleware
|
||
func (siw *ServerInterfaceWrapper) UpdateMyDriverStatus(w http.ResponseWriter, r *http.Request) {
|
||
|
||
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||
siw.Handler.UpdateMyDriverStatus(w, r)
|
||
}))
|
||
|
||
for _, middleware := range siw.HandlerMiddlewares {
|
||
handler = middleware(handler)
|
||
}
|
||
|
||
handler.ServeHTTP(w, r)
|
||
}
|
||
|
||
// DeleteDriver operation middleware
|
||
func (siw *ServerInterfaceWrapper) DeleteDriver(w http.ResponseWriter, r *http.Request) {
|
||
|
||
var err error
|
||
|
||
// ------------- Path parameter "slug" -------------
|
||
var slug string
|
||
|
||
err = runtime.BindStyledParameterWithOptions("simple", "slug", chi.URLParam(r, "slug"), &slug, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""})
|
||
if err != nil {
|
||
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "slug", Err: err})
|
||
return
|
||
}
|
||
|
||
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||
siw.Handler.DeleteDriver(w, r, slug)
|
||
}))
|
||
|
||
for _, middleware := range siw.HandlerMiddlewares {
|
||
handler = middleware(handler)
|
||
}
|
||
|
||
handler.ServeHTTP(w, r)
|
||
}
|
||
|
||
// GetDriver operation middleware
|
||
func (siw *ServerInterfaceWrapper) GetDriver(w http.ResponseWriter, r *http.Request) {
|
||
|
||
var err error
|
||
|
||
// ------------- Path parameter "slug" -------------
|
||
var slug string
|
||
|
||
err = runtime.BindStyledParameterWithOptions("simple", "slug", chi.URLParam(r, "slug"), &slug, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""})
|
||
if err != nil {
|
||
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "slug", Err: err})
|
||
return
|
||
}
|
||
|
||
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||
siw.Handler.GetDriver(w, r, slug)
|
||
}))
|
||
|
||
for _, middleware := range siw.HandlerMiddlewares {
|
||
handler = middleware(handler)
|
||
}
|
||
|
||
handler.ServeHTTP(w, r)
|
||
}
|
||
|
||
// UpdateDriver operation middleware
|
||
func (siw *ServerInterfaceWrapper) UpdateDriver(w http.ResponseWriter, r *http.Request) {
|
||
|
||
var err error
|
||
|
||
// ------------- Path parameter "slug" -------------
|
||
var slug string
|
||
|
||
err = runtime.BindStyledParameterWithOptions("simple", "slug", chi.URLParam(r, "slug"), &slug, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""})
|
||
if err != nil {
|
||
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "slug", Err: err})
|
||
return
|
||
}
|
||
|
||
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||
siw.Handler.UpdateDriver(w, r, slug)
|
||
}))
|
||
|
||
for _, middleware := range siw.HandlerMiddlewares {
|
||
handler = middleware(handler)
|
||
}
|
||
|
||
handler.ServeHTTP(w, r)
|
||
}
|
||
|
||
// ListManagers operation middleware
|
||
func (siw *ServerInterfaceWrapper) ListManagers(w http.ResponseWriter, r *http.Request) {
|
||
|
||
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||
siw.Handler.ListManagers(w, r)
|
||
}))
|
||
|
||
for _, middleware := range siw.HandlerMiddlewares {
|
||
handler = middleware(handler)
|
||
}
|
||
|
||
handler.ServeHTTP(w, r)
|
||
}
|
||
|
||
// CreateManager operation middleware
|
||
func (siw *ServerInterfaceWrapper) CreateManager(w http.ResponseWriter, r *http.Request) {
|
||
|
||
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||
siw.Handler.CreateManager(w, r)
|
||
}))
|
||
|
||
for _, middleware := range siw.HandlerMiddlewares {
|
||
handler = middleware(handler)
|
||
}
|
||
|
||
handler.ServeHTTP(w, r)
|
||
}
|
||
|
||
// DeleteManager operation middleware
|
||
func (siw *ServerInterfaceWrapper) DeleteManager(w http.ResponseWriter, r *http.Request) {
|
||
|
||
var err error
|
||
|
||
// ------------- Path parameter "slug" -------------
|
||
var slug string
|
||
|
||
err = runtime.BindStyledParameterWithOptions("simple", "slug", chi.URLParam(r, "slug"), &slug, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""})
|
||
if err != nil {
|
||
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "slug", Err: err})
|
||
return
|
||
}
|
||
|
||
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||
siw.Handler.DeleteManager(w, r, slug)
|
||
}))
|
||
|
||
for _, middleware := range siw.HandlerMiddlewares {
|
||
handler = middleware(handler)
|
||
}
|
||
|
||
handler.ServeHTTP(w, r)
|
||
}
|
||
|
||
// GetManager operation middleware
|
||
func (siw *ServerInterfaceWrapper) GetManager(w http.ResponseWriter, r *http.Request) {
|
||
|
||
var err error
|
||
|
||
// ------------- Path parameter "slug" -------------
|
||
var slug string
|
||
|
||
err = runtime.BindStyledParameterWithOptions("simple", "slug", chi.URLParam(r, "slug"), &slug, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""})
|
||
if err != nil {
|
||
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "slug", Err: err})
|
||
return
|
||
}
|
||
|
||
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||
siw.Handler.GetManager(w, r, slug)
|
||
}))
|
||
|
||
for _, middleware := range siw.HandlerMiddlewares {
|
||
handler = middleware(handler)
|
||
}
|
||
|
||
handler.ServeHTTP(w, r)
|
||
}
|
||
|
||
// DeleteMe operation middleware
|
||
func (siw *ServerInterfaceWrapper) DeleteMe(w http.ResponseWriter, r *http.Request) {
|
||
|
||
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||
siw.Handler.DeleteMe(w, r)
|
||
}))
|
||
|
||
for _, middleware := range siw.HandlerMiddlewares {
|
||
handler = middleware(handler)
|
||
}
|
||
|
||
handler.ServeHTTP(w, r)
|
||
}
|
||
|
||
// GetMe operation middleware
|
||
func (siw *ServerInterfaceWrapper) GetMe(w http.ResponseWriter, r *http.Request) {
|
||
|
||
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||
siw.Handler.GetMe(w, r)
|
||
}))
|
||
|
||
for _, middleware := range siw.HandlerMiddlewares {
|
||
handler = middleware(handler)
|
||
}
|
||
|
||
handler.ServeHTTP(w, r)
|
||
}
|
||
|
||
// UpdateMe operation middleware
|
||
func (siw *ServerInterfaceWrapper) UpdateMe(w http.ResponseWriter, r *http.Request) {
|
||
|
||
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||
siw.Handler.UpdateMe(w, r)
|
||
}))
|
||
|
||
for _, middleware := range siw.HandlerMiddlewares {
|
||
handler = middleware(handler)
|
||
}
|
||
|
||
handler.ServeHTTP(w, r)
|
||
}
|
||
|
||
// GetMyTrips operation middleware
|
||
func (siw *ServerInterfaceWrapper) GetMyTrips(w http.ResponseWriter, r *http.Request) {
|
||
|
||
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||
siw.Handler.GetMyTrips(w, r)
|
||
}))
|
||
|
||
for _, middleware := range siw.HandlerMiddlewares {
|
||
handler = middleware(handler)
|
||
}
|
||
|
||
handler.ServeHTTP(w, r)
|
||
}
|
||
|
||
// ListNotifications operation middleware
|
||
func (siw *ServerInterfaceWrapper) ListNotifications(w http.ResponseWriter, r *http.Request) {
|
||
|
||
var err error
|
||
|
||
// Parameter object where we will unmarshal all parameters from the context
|
||
var params ListNotificationsParams
|
||
|
||
// ------------- Optional query parameter "unreadOnly" -------------
|
||
|
||
err = runtime.BindQueryParameterWithOptions("form", true, false, "unreadOnly", r.URL.Query(), ¶ms.UnreadOnly, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""})
|
||
if err != nil {
|
||
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "unreadOnly", Err: err})
|
||
return
|
||
}
|
||
|
||
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||
siw.Handler.ListNotifications(w, r, params)
|
||
}))
|
||
|
||
for _, middleware := range siw.HandlerMiddlewares {
|
||
handler = middleware(handler)
|
||
}
|
||
|
||
handler.ServeHTTP(w, r)
|
||
}
|
||
|
||
// MarkNotificationRead operation middleware
|
||
func (siw *ServerInterfaceWrapper) MarkNotificationRead(w http.ResponseWriter, r *http.Request) {
|
||
|
||
var err error
|
||
|
||
// ------------- Path parameter "id" -------------
|
||
var id openapi_types.UUID
|
||
|
||
err = runtime.BindStyledParameterWithOptions("simple", "id", chi.URLParam(r, "id"), &id, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"})
|
||
if err != nil {
|
||
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "id", Err: err})
|
||
return
|
||
}
|
||
|
||
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||
siw.Handler.MarkNotificationRead(w, r, id)
|
||
}))
|
||
|
||
for _, middleware := range siw.HandlerMiddlewares {
|
||
handler = middleware(handler)
|
||
}
|
||
|
||
handler.ServeHTTP(w, r)
|
||
}
|
||
|
||
// ListOrders operation middleware
|
||
func (siw *ServerInterfaceWrapper) ListOrders(w http.ResponseWriter, r *http.Request) {
|
||
|
||
var err error
|
||
|
||
// Parameter object where we will unmarshal all parameters from the context
|
||
var params ListOrdersParams
|
||
|
||
// ------------- Optional query parameter "status" -------------
|
||
|
||
err = runtime.BindQueryParameterWithOptions("form", true, false, "status", r.URL.Query(), ¶ms.Status, runtime.BindQueryParameterOptions{Type: "string", Format: ""})
|
||
if err != nil {
|
||
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "status", Err: err})
|
||
return
|
||
}
|
||
|
||
// ------------- Optional query parameter "driverId" -------------
|
||
|
||
err = runtime.BindQueryParameterWithOptions("form", true, false, "driverId", r.URL.Query(), ¶ms.DriverId, runtime.BindQueryParameterOptions{Type: "string", Format: "uuid"})
|
||
if err != nil {
|
||
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "driverId", Err: err})
|
||
return
|
||
}
|
||
|
||
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||
siw.Handler.ListOrders(w, r, params)
|
||
}))
|
||
|
||
for _, middleware := range siw.HandlerMiddlewares {
|
||
handler = middleware(handler)
|
||
}
|
||
|
||
handler.ServeHTTP(w, r)
|
||
}
|
||
|
||
// CreateOrder operation middleware
|
||
func (siw *ServerInterfaceWrapper) CreateOrder(w http.ResponseWriter, r *http.Request) {
|
||
|
||
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||
siw.Handler.CreateOrder(w, r)
|
||
}))
|
||
|
||
for _, middleware := range siw.HandlerMiddlewares {
|
||
handler = middleware(handler)
|
||
}
|
||
|
||
handler.ServeHTTP(w, r)
|
||
}
|
||
|
||
// CancelOrder operation middleware
|
||
func (siw *ServerInterfaceWrapper) CancelOrder(w http.ResponseWriter, r *http.Request) {
|
||
|
||
var err error
|
||
|
||
// ------------- Path parameter "id" -------------
|
||
var id openapi_types.UUID
|
||
|
||
err = runtime.BindStyledParameterWithOptions("simple", "id", chi.URLParam(r, "id"), &id, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"})
|
||
if err != nil {
|
||
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "id", Err: err})
|
||
return
|
||
}
|
||
|
||
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||
siw.Handler.CancelOrder(w, r, id)
|
||
}))
|
||
|
||
for _, middleware := range siw.HandlerMiddlewares {
|
||
handler = middleware(handler)
|
||
}
|
||
|
||
handler.ServeHTTP(w, r)
|
||
}
|
||
|
||
// GetOrder operation middleware
|
||
func (siw *ServerInterfaceWrapper) GetOrder(w http.ResponseWriter, r *http.Request) {
|
||
|
||
var err error
|
||
|
||
// ------------- Path parameter "id" -------------
|
||
var id openapi_types.UUID
|
||
|
||
err = runtime.BindStyledParameterWithOptions("simple", "id", chi.URLParam(r, "id"), &id, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"})
|
||
if err != nil {
|
||
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "id", Err: err})
|
||
return
|
||
}
|
||
|
||
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||
siw.Handler.GetOrder(w, r, id)
|
||
}))
|
||
|
||
for _, middleware := range siw.HandlerMiddlewares {
|
||
handler = middleware(handler)
|
||
}
|
||
|
||
handler.ServeHTTP(w, r)
|
||
}
|
||
|
||
// GetRoute operation middleware
|
||
func (siw *ServerInterfaceWrapper) GetRoute(w http.ResponseWriter, r *http.Request) {
|
||
|
||
var err error
|
||
|
||
// ------------- Path parameter "id" -------------
|
||
var id openapi_types.UUID
|
||
|
||
err = runtime.BindStyledParameterWithOptions("simple", "id", chi.URLParam(r, "id"), &id, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"})
|
||
if err != nil {
|
||
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "id", Err: err})
|
||
return
|
||
}
|
||
|
||
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||
siw.Handler.GetRoute(w, r, id)
|
||
}))
|
||
|
||
for _, middleware := range siw.HandlerMiddlewares {
|
||
handler = middleware(handler)
|
||
}
|
||
|
||
handler.ServeHTTP(w, r)
|
||
}
|
||
|
||
// RouteWebSocket operation middleware
|
||
func (siw *ServerInterfaceWrapper) RouteWebSocket(w http.ResponseWriter, r *http.Request) {
|
||
|
||
var err error
|
||
|
||
// ------------- Path parameter "id" -------------
|
||
var id openapi_types.UUID
|
||
|
||
err = runtime.BindStyledParameterWithOptions("simple", "id", chi.URLParam(r, "id"), &id, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"})
|
||
if err != nil {
|
||
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "id", Err: err})
|
||
return
|
||
}
|
||
|
||
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||
siw.Handler.RouteWebSocket(w, r, id)
|
||
}))
|
||
|
||
for _, middleware := range siw.HandlerMiddlewares {
|
||
handler = middleware(handler)
|
||
}
|
||
|
||
handler.ServeHTTP(w, r)
|
||
}
|
||
|
||
// UpdateOrderStatus operation middleware
|
||
func (siw *ServerInterfaceWrapper) UpdateOrderStatus(w http.ResponseWriter, r *http.Request) {
|
||
|
||
var err error
|
||
|
||
// ------------- Path parameter "id" -------------
|
||
var id openapi_types.UUID
|
||
|
||
err = runtime.BindStyledParameterWithOptions("simple", "id", chi.URLParam(r, "id"), &id, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"})
|
||
if err != nil {
|
||
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "id", Err: err})
|
||
return
|
||
}
|
||
|
||
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||
siw.Handler.UpdateOrderStatus(w, r, id)
|
||
}))
|
||
|
||
for _, middleware := range siw.HandlerMiddlewares {
|
||
handler = middleware(handler)
|
||
}
|
||
|
||
handler.ServeHTTP(w, r)
|
||
}
|
||
|
||
// GetDashboard operation middleware
|
||
func (siw *ServerInterfaceWrapper) GetDashboard(w http.ResponseWriter, r *http.Request) {
|
||
|
||
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||
siw.Handler.GetDashboard(w, r)
|
||
}))
|
||
|
||
for _, middleware := range siw.HandlerMiddlewares {
|
||
handler = middleware(handler)
|
||
}
|
||
|
||
handler.ServeHTTP(w, r)
|
||
}
|
||
|
||
// GetOrdersReport operation middleware
|
||
func (siw *ServerInterfaceWrapper) GetOrdersReport(w http.ResponseWriter, r *http.Request) {
|
||
|
||
var err error
|
||
|
||
// Parameter object where we will unmarshal all parameters from the context
|
||
var params GetOrdersReportParams
|
||
|
||
// ------------- Optional query parameter "from" -------------
|
||
|
||
err = runtime.BindQueryParameterWithOptions("form", true, false, "from", r.URL.Query(), ¶ms.From, runtime.BindQueryParameterOptions{Type: "string", Format: "date"})
|
||
if err != nil {
|
||
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "from", Err: err})
|
||
return
|
||
}
|
||
|
||
// ------------- Optional query parameter "to" -------------
|
||
|
||
err = runtime.BindQueryParameterWithOptions("form", true, false, "to", r.URL.Query(), ¶ms.To, runtime.BindQueryParameterOptions{Type: "string", Format: "date"})
|
||
if err != nil {
|
||
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "to", Err: err})
|
||
return
|
||
}
|
||
|
||
// ------------- Optional query parameter "status" -------------
|
||
|
||
err = runtime.BindQueryParameterWithOptions("form", true, false, "status", r.URL.Query(), ¶ms.Status, runtime.BindQueryParameterOptions{Type: "string", Format: ""})
|
||
if err != nil {
|
||
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "status", Err: err})
|
||
return
|
||
}
|
||
|
||
// ------------- Optional query parameter "driverId" -------------
|
||
|
||
err = runtime.BindQueryParameterWithOptions("form", true, false, "driverId", r.URL.Query(), ¶ms.DriverId, runtime.BindQueryParameterOptions{Type: "string", Format: "uuid"})
|
||
if err != nil {
|
||
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "driverId", Err: err})
|
||
return
|
||
}
|
||
|
||
// ------------- Optional query parameter "warehouseId" -------------
|
||
|
||
err = runtime.BindQueryParameterWithOptions("form", true, false, "warehouseId", r.URL.Query(), ¶ms.WarehouseId, runtime.BindQueryParameterOptions{Type: "string", Format: "uuid"})
|
||
if err != nil {
|
||
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "warehouseId", Err: err})
|
||
return
|
||
}
|
||
|
||
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||
siw.Handler.GetOrdersReport(w, r, params)
|
||
}))
|
||
|
||
for _, middleware := range siw.HandlerMiddlewares {
|
||
handler = middleware(handler)
|
||
}
|
||
|
||
handler.ServeHTTP(w, r)
|
||
}
|
||
|
||
// ListVehicles operation middleware
|
||
func (siw *ServerInterfaceWrapper) ListVehicles(w http.ResponseWriter, r *http.Request) {
|
||
|
||
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||
siw.Handler.ListVehicles(w, r)
|
||
}))
|
||
|
||
for _, middleware := range siw.HandlerMiddlewares {
|
||
handler = middleware(handler)
|
||
}
|
||
|
||
handler.ServeHTTP(w, r)
|
||
}
|
||
|
||
// CreateVehicle operation middleware
|
||
func (siw *ServerInterfaceWrapper) CreateVehicle(w http.ResponseWriter, r *http.Request) {
|
||
|
||
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||
siw.Handler.CreateVehicle(w, r)
|
||
}))
|
||
|
||
for _, middleware := range siw.HandlerMiddlewares {
|
||
handler = middleware(handler)
|
||
}
|
||
|
||
handler.ServeHTTP(w, r)
|
||
}
|
||
|
||
// DeleteVehicle operation middleware
|
||
func (siw *ServerInterfaceWrapper) DeleteVehicle(w http.ResponseWriter, r *http.Request) {
|
||
|
||
var err error
|
||
|
||
// ------------- Path parameter "slug" -------------
|
||
var slug string
|
||
|
||
err = runtime.BindStyledParameterWithOptions("simple", "slug", chi.URLParam(r, "slug"), &slug, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""})
|
||
if err != nil {
|
||
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "slug", Err: err})
|
||
return
|
||
}
|
||
|
||
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||
siw.Handler.DeleteVehicle(w, r, slug)
|
||
}))
|
||
|
||
for _, middleware := range siw.HandlerMiddlewares {
|
||
handler = middleware(handler)
|
||
}
|
||
|
||
handler.ServeHTTP(w, r)
|
||
}
|
||
|
||
// GetVehicle operation middleware
|
||
func (siw *ServerInterfaceWrapper) GetVehicle(w http.ResponseWriter, r *http.Request) {
|
||
|
||
var err error
|
||
|
||
// ------------- Path parameter "slug" -------------
|
||
var slug string
|
||
|
||
err = runtime.BindStyledParameterWithOptions("simple", "slug", chi.URLParam(r, "slug"), &slug, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""})
|
||
if err != nil {
|
||
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "slug", Err: err})
|
||
return
|
||
}
|
||
|
||
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||
siw.Handler.GetVehicle(w, r, slug)
|
||
}))
|
||
|
||
for _, middleware := range siw.HandlerMiddlewares {
|
||
handler = middleware(handler)
|
||
}
|
||
|
||
handler.ServeHTTP(w, r)
|
||
}
|
||
|
||
// UpdateVehicle operation middleware
|
||
func (siw *ServerInterfaceWrapper) UpdateVehicle(w http.ResponseWriter, r *http.Request) {
|
||
|
||
var err error
|
||
|
||
// ------------- Path parameter "slug" -------------
|
||
var slug string
|
||
|
||
err = runtime.BindStyledParameterWithOptions("simple", "slug", chi.URLParam(r, "slug"), &slug, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""})
|
||
if err != nil {
|
||
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "slug", Err: err})
|
||
return
|
||
}
|
||
|
||
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||
siw.Handler.UpdateVehicle(w, r, slug)
|
||
}))
|
||
|
||
for _, middleware := range siw.HandlerMiddlewares {
|
||
handler = middleware(handler)
|
||
}
|
||
|
||
handler.ServeHTTP(w, r)
|
||
}
|
||
|
||
// ListWarehouses operation middleware
|
||
func (siw *ServerInterfaceWrapper) ListWarehouses(w http.ResponseWriter, r *http.Request) {
|
||
|
||
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||
siw.Handler.ListWarehouses(w, r)
|
||
}))
|
||
|
||
for _, middleware := range siw.HandlerMiddlewares {
|
||
handler = middleware(handler)
|
||
}
|
||
|
||
handler.ServeHTTP(w, r)
|
||
}
|
||
|
||
// CreateWarehouse operation middleware
|
||
func (siw *ServerInterfaceWrapper) CreateWarehouse(w http.ResponseWriter, r *http.Request) {
|
||
|
||
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||
siw.Handler.CreateWarehouse(w, r)
|
||
}))
|
||
|
||
for _, middleware := range siw.HandlerMiddlewares {
|
||
handler = middleware(handler)
|
||
}
|
||
|
||
handler.ServeHTTP(w, r)
|
||
}
|
||
|
||
// DeleteWarehouse operation middleware
|
||
func (siw *ServerInterfaceWrapper) DeleteWarehouse(w http.ResponseWriter, r *http.Request) {
|
||
|
||
var err error
|
||
|
||
// ------------- Path parameter "slug" -------------
|
||
var slug string
|
||
|
||
err = runtime.BindStyledParameterWithOptions("simple", "slug", chi.URLParam(r, "slug"), &slug, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""})
|
||
if err != nil {
|
||
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "slug", Err: err})
|
||
return
|
||
}
|
||
|
||
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||
siw.Handler.DeleteWarehouse(w, r, slug)
|
||
}))
|
||
|
||
for _, middleware := range siw.HandlerMiddlewares {
|
||
handler = middleware(handler)
|
||
}
|
||
|
||
handler.ServeHTTP(w, r)
|
||
}
|
||
|
||
// GetWarehouse operation middleware
|
||
func (siw *ServerInterfaceWrapper) GetWarehouse(w http.ResponseWriter, r *http.Request) {
|
||
|
||
var err error
|
||
|
||
// ------------- Path parameter "slug" -------------
|
||
var slug string
|
||
|
||
err = runtime.BindStyledParameterWithOptions("simple", "slug", chi.URLParam(r, "slug"), &slug, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""})
|
||
if err != nil {
|
||
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "slug", Err: err})
|
||
return
|
||
}
|
||
|
||
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||
siw.Handler.GetWarehouse(w, r, slug)
|
||
}))
|
||
|
||
for _, middleware := range siw.HandlerMiddlewares {
|
||
handler = middleware(handler)
|
||
}
|
||
|
||
handler.ServeHTTP(w, r)
|
||
}
|
||
|
||
// UpdateWarehouse operation middleware
|
||
func (siw *ServerInterfaceWrapper) UpdateWarehouse(w http.ResponseWriter, r *http.Request) {
|
||
|
||
var err error
|
||
|
||
// ------------- Path parameter "slug" -------------
|
||
var slug string
|
||
|
||
err = runtime.BindStyledParameterWithOptions("simple", "slug", chi.URLParam(r, "slug"), &slug, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""})
|
||
if err != nil {
|
||
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "slug", Err: err})
|
||
return
|
||
}
|
||
|
||
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||
siw.Handler.UpdateWarehouse(w, r, slug)
|
||
}))
|
||
|
||
for _, middleware := range siw.HandlerMiddlewares {
|
||
handler = middleware(handler)
|
||
}
|
||
|
||
handler.ServeHTTP(w, r)
|
||
}
|
||
|
||
type UnescapedCookieParamError struct {
|
||
ParamName string
|
||
Err error
|
||
}
|
||
|
||
func (e *UnescapedCookieParamError) Error() string {
|
||
return fmt.Sprintf("error unescaping cookie parameter '%s'", e.ParamName)
|
||
}
|
||
|
||
func (e *UnescapedCookieParamError) Unwrap() error {
|
||
return e.Err
|
||
}
|
||
|
||
type UnmarshalingParamError struct {
|
||
ParamName string
|
||
Err error
|
||
}
|
||
|
||
func (e *UnmarshalingParamError) Error() string {
|
||
return fmt.Sprintf("Error unmarshaling parameter %s as JSON: %s", e.ParamName, e.Err.Error())
|
||
}
|
||
|
||
func (e *UnmarshalingParamError) Unwrap() error {
|
||
return e.Err
|
||
}
|
||
|
||
type RequiredParamError struct {
|
||
ParamName string
|
||
}
|
||
|
||
func (e *RequiredParamError) Error() string {
|
||
return fmt.Sprintf("Query argument %s is required, but not found", e.ParamName)
|
||
}
|
||
|
||
type RequiredHeaderError struct {
|
||
ParamName string
|
||
Err error
|
||
}
|
||
|
||
func (e *RequiredHeaderError) Error() string {
|
||
return fmt.Sprintf("Header parameter %s is required, but not found", e.ParamName)
|
||
}
|
||
|
||
func (e *RequiredHeaderError) Unwrap() error {
|
||
return e.Err
|
||
}
|
||
|
||
type InvalidParamFormatError struct {
|
||
ParamName string
|
||
Err error
|
||
}
|
||
|
||
func (e *InvalidParamFormatError) Error() string {
|
||
return fmt.Sprintf("Invalid format for parameter %s: %s", e.ParamName, e.Err.Error())
|
||
}
|
||
|
||
func (e *InvalidParamFormatError) Unwrap() error {
|
||
return e.Err
|
||
}
|
||
|
||
type TooManyValuesForParamError struct {
|
||
ParamName string
|
||
Count int
|
||
}
|
||
|
||
func (e *TooManyValuesForParamError) Error() string {
|
||
return fmt.Sprintf("Expected one value for %s, got %d", e.ParamName, e.Count)
|
||
}
|
||
|
||
// Handler creates http.Handler with routing matching OpenAPI spec.
|
||
func Handler(si ServerInterface) http.Handler {
|
||
return HandlerWithOptions(si, ChiServerOptions{})
|
||
}
|
||
|
||
type ChiServerOptions struct {
|
||
BaseURL string
|
||
BaseRouter chi.Router
|
||
Middlewares []MiddlewareFunc
|
||
ErrorHandlerFunc func(w http.ResponseWriter, r *http.Request, err error)
|
||
}
|
||
|
||
// HandlerFromMux creates http.Handler with routing matching OpenAPI spec based on the provided mux.
|
||
func HandlerFromMux(si ServerInterface, r chi.Router) http.Handler {
|
||
return HandlerWithOptions(si, ChiServerOptions{
|
||
BaseRouter: r,
|
||
})
|
||
}
|
||
|
||
func HandlerFromMuxWithBaseURL(si ServerInterface, r chi.Router, baseURL string) http.Handler {
|
||
return HandlerWithOptions(si, ChiServerOptions{
|
||
BaseURL: baseURL,
|
||
BaseRouter: r,
|
||
})
|
||
}
|
||
|
||
// HandlerWithOptions creates http.Handler with additional options
|
||
func HandlerWithOptions(si ServerInterface, options ChiServerOptions) http.Handler {
|
||
r := options.BaseRouter
|
||
|
||
if r == nil {
|
||
r = chi.NewRouter()
|
||
}
|
||
if options.ErrorHandlerFunc == nil {
|
||
options.ErrorHandlerFunc = func(w http.ResponseWriter, r *http.Request, err error) {
|
||
http.Error(w, err.Error(), http.StatusBadRequest)
|
||
}
|
||
}
|
||
wrapper := ServerInterfaceWrapper{
|
||
Handler: si,
|
||
HandlerMiddlewares: options.Middlewares,
|
||
ErrorHandlerFunc: options.ErrorHandlerFunc,
|
||
}
|
||
|
||
r.Group(func(r chi.Router) {
|
||
r.Post(options.BaseURL+"/auth/login", wrapper.AuthLogin)
|
||
})
|
||
r.Group(func(r chi.Router) {
|
||
r.Post(options.BaseURL+"/auth/logout", wrapper.AuthLogout)
|
||
})
|
||
r.Group(func(r chi.Router) {
|
||
r.Post(options.BaseURL+"/auth/refresh", wrapper.AuthRefresh)
|
||
})
|
||
r.Group(func(r chi.Router) {
|
||
r.Post(options.BaseURL+"/auth/register", wrapper.AuthRegister)
|
||
})
|
||
r.Group(func(r chi.Router) {
|
||
r.Get(options.BaseURL+"/drivers", wrapper.ListDrivers)
|
||
})
|
||
r.Group(func(r chi.Router) {
|
||
r.Post(options.BaseURL+"/drivers", wrapper.CreateDriver)
|
||
})
|
||
r.Group(func(r chi.Router) {
|
||
r.Patch(options.BaseURL+"/drivers/me/status", wrapper.UpdateMyDriverStatus)
|
||
})
|
||
r.Group(func(r chi.Router) {
|
||
r.Delete(options.BaseURL+"/drivers/{slug}", wrapper.DeleteDriver)
|
||
})
|
||
r.Group(func(r chi.Router) {
|
||
r.Get(options.BaseURL+"/drivers/{slug}", wrapper.GetDriver)
|
||
})
|
||
r.Group(func(r chi.Router) {
|
||
r.Put(options.BaseURL+"/drivers/{slug}", wrapper.UpdateDriver)
|
||
})
|
||
r.Group(func(r chi.Router) {
|
||
r.Get(options.BaseURL+"/managers", wrapper.ListManagers)
|
||
})
|
||
r.Group(func(r chi.Router) {
|
||
r.Post(options.BaseURL+"/managers", wrapper.CreateManager)
|
||
})
|
||
r.Group(func(r chi.Router) {
|
||
r.Delete(options.BaseURL+"/managers/{slug}", wrapper.DeleteManager)
|
||
})
|
||
r.Group(func(r chi.Router) {
|
||
r.Get(options.BaseURL+"/managers/{slug}", wrapper.GetManager)
|
||
})
|
||
r.Group(func(r chi.Router) {
|
||
r.Delete(options.BaseURL+"/me", wrapper.DeleteMe)
|
||
})
|
||
r.Group(func(r chi.Router) {
|
||
r.Get(options.BaseURL+"/me", wrapper.GetMe)
|
||
})
|
||
r.Group(func(r chi.Router) {
|
||
r.Patch(options.BaseURL+"/me", wrapper.UpdateMe)
|
||
})
|
||
r.Group(func(r chi.Router) {
|
||
r.Get(options.BaseURL+"/me/trips", wrapper.GetMyTrips)
|
||
})
|
||
r.Group(func(r chi.Router) {
|
||
r.Get(options.BaseURL+"/notifications", wrapper.ListNotifications)
|
||
})
|
||
r.Group(func(r chi.Router) {
|
||
r.Patch(options.BaseURL+"/notifications/{id}/read", wrapper.MarkNotificationRead)
|
||
})
|
||
r.Group(func(r chi.Router) {
|
||
r.Get(options.BaseURL+"/orders", wrapper.ListOrders)
|
||
})
|
||
r.Group(func(r chi.Router) {
|
||
r.Post(options.BaseURL+"/orders", wrapper.CreateOrder)
|
||
})
|
||
r.Group(func(r chi.Router) {
|
||
r.Delete(options.BaseURL+"/orders/{id}", wrapper.CancelOrder)
|
||
})
|
||
r.Group(func(r chi.Router) {
|
||
r.Get(options.BaseURL+"/orders/{id}", wrapper.GetOrder)
|
||
})
|
||
r.Group(func(r chi.Router) {
|
||
r.Get(options.BaseURL+"/orders/{id}/route", wrapper.GetRoute)
|
||
})
|
||
r.Group(func(r chi.Router) {
|
||
r.Get(options.BaseURL+"/orders/{id}/route/ws", wrapper.RouteWebSocket)
|
||
})
|
||
r.Group(func(r chi.Router) {
|
||
r.Patch(options.BaseURL+"/orders/{id}/status", wrapper.UpdateOrderStatus)
|
||
})
|
||
r.Group(func(r chi.Router) {
|
||
r.Get(options.BaseURL+"/reports/dashboard", wrapper.GetDashboard)
|
||
})
|
||
r.Group(func(r chi.Router) {
|
||
r.Get(options.BaseURL+"/reports/orders", wrapper.GetOrdersReport)
|
||
})
|
||
r.Group(func(r chi.Router) {
|
||
r.Get(options.BaseURL+"/vehicles", wrapper.ListVehicles)
|
||
})
|
||
r.Group(func(r chi.Router) {
|
||
r.Post(options.BaseURL+"/vehicles", wrapper.CreateVehicle)
|
||
})
|
||
r.Group(func(r chi.Router) {
|
||
r.Delete(options.BaseURL+"/vehicles/{slug}", wrapper.DeleteVehicle)
|
||
})
|
||
r.Group(func(r chi.Router) {
|
||
r.Get(options.BaseURL+"/vehicles/{slug}", wrapper.GetVehicle)
|
||
})
|
||
r.Group(func(r chi.Router) {
|
||
r.Put(options.BaseURL+"/vehicles/{slug}", wrapper.UpdateVehicle)
|
||
})
|
||
r.Group(func(r chi.Router) {
|
||
r.Get(options.BaseURL+"/warehouses", wrapper.ListWarehouses)
|
||
})
|
||
r.Group(func(r chi.Router) {
|
||
r.Post(options.BaseURL+"/warehouses", wrapper.CreateWarehouse)
|
||
})
|
||
r.Group(func(r chi.Router) {
|
||
r.Delete(options.BaseURL+"/warehouses/{slug}", wrapper.DeleteWarehouse)
|
||
})
|
||
r.Group(func(r chi.Router) {
|
||
r.Get(options.BaseURL+"/warehouses/{slug}", wrapper.GetWarehouse)
|
||
})
|
||
r.Group(func(r chi.Router) {
|
||
r.Put(options.BaseURL+"/warehouses/{slug}", wrapper.UpdateWarehouse)
|
||
})
|
||
|
||
return r
|
||
}
|