Vale firmalarını düşünerek kodlanmış apiler bulunmaktadır. Örneğin; müşteri ekleme, müşteriye araç plakası tanımlama, park kayıtları oluşturma gibi apiler bulunmaktadır. Dileyen kişiler front kısmını veya mobil uygulamasını yazarak pratik yapabilir.
// Endpoint => api/company/register
// Method => POST
type CompanyRegisterRequest struct {
FullName string `json:"full_name" validate:"required"`
CompanyName string `json:"company_name" validate:"required"`
Phone string `json:"phone" validate:"required"`
Password string `json:"password" validate:"required,min=6,max=16"`
Email *string `json:"email" validate:"omitempty,email"`
}
// Endpoint => api/company/login
// Method => POST
type CompanyLoginRequest struct {
Phone string `json:"phone" validate:"required"`
Password string `json:"password" validate:"required"`
}
// Endpoint => api/company/update
// Method => POST
type CompanyUpdateRequest struct {
FullName string `json:"full_name" validate:"required"`
Phone string `json:"phone" validate:"required"`
Password string `json:"password" validate:"required,min=6,max=16"`
Email *string `json:"email" validate:"omitempty,email"`
}
// Endpoint => api/parking/all
// Method => GET
// Endpoint => api/parking/create
// Method => POST
type ParkingCreateRequest struct {
CustomerId int `json:"customer_id" validate:"required"`
Type int8 `json:"type" validate:"required"`
Plate string `json:"plate" validate:"required"`
DateOfReceipt time.Time `json:"date_of_receipt" validate:"required"`
Amount *float64 `json:"amount"`
Note *string `json:"note"`
}
// Endpoint => api/parking/update
// Method => POST
type ParkingUpdateRequest struct {
ParkingId int `json:"parking_id" validate:"required"`
CustomerId int `json:"customer_id" validate:"required"`
Type int8 `json:"type" validate:"required"`
Plate string `json:"plate" validate:"required"`
DateOfReceipt time.Time `json:"date_of_receipt" validate:"required"`
DateOfDelivery *time.Time `json:"date_of_delivery"`
Amount *float64 `json:"amount"`
Note *string `json:"note"`
}
// Endpoint => api/parking/delete/{id}
// Method => GET
// Endpoint => api/customer/all
// Method => POST
// Endpoint => api/customer/create
// Method => POST
type CustomerCreateRequest struct {
FullName string `json:"full_name" validate:"required"`
Phone *string `json:"phone"`
Vehicles string `json:"vehicles" validate:"required"`
Note *string `json:"note"`
}
// Endpoint => api/customer/update
// Method => POST
type CustomerUpdateRequest struct {
CustomerId int `json:"customer_id" validate:"required"`
FullName string `json:"full_name" validate:"required"`
Phone *string `json:"phone"`
Vehicles string `json:"vehicles" validate:"required"`
Note *string `json:"note"`
}
// Endpoint => api/customer/delete/{id}
// Method => GET
// Endpoint => api/customer/get/vehicles/{id}
// Method => GET