vehicle added

This commit is contained in:
Dmitry Sirotkin 2025-03-22 11:23:09 +03:00
parent a72814e377
commit 5dde392e10
3 changed files with 67 additions and 0 deletions

View File

@ -9,6 +9,7 @@ type Client struct {
gorm.Model
Bonuse Bonuse `json:"bonus_id"`
Name string `json:"name"`
Vehicles []Vehicle `json:"vehicles"`
}
func (client *Client) CreateClient() map[string]interface{} {

View File

@ -0,0 +1,66 @@
package models
import (
u "gocommunity.ru/workshop/internal/utils"
"fmt"
"github.com/jinzhu/gorm"
)
type Vehicle struct {
gorm.Model
ClientId int `json:"client_id"`
Brand string `json:"brand"`
Color string `json:"color"`
}
func (vehicle *Vehicle) ValidateVehicle() (map[string]interface{}, bool) {
if vehicle.Brand == "" {
return u.Message(false, "Name cannot be empty!"), false
}
if vehicle.Color == "" {
return u.Message(false, "Phone number cannot be empty!"), false
}
if vehicle.ClientId <= 0 {
return u.Message(false, "User not found!"), false
}
return u.Message(true, "success"), true
}
func (vehicle *Vehicle) CreateVehicle() map[string]interface{} {
if response, ok := vehicle.ValidateVehicle(); !ok {
return response
}
GetDB().Create(vehicle)
resp := u.Message(true, "success")
resp["vehicle"] = vehicle
return resp
}
func Getvehicle(id uint) *Vehicle {
vehicle := &Vehicle{}
err := GetDB().Table("vehicles").Where("id = ?", id).First(vehicle).Error
if err != nil {
return nil
}
return vehicle
}
func Getvehicles(user uint) []*Vehicle {
vehiclesSlice := make([]*Vehicle, 0)
err := GetDB().Table("vehicles").Where("user_id = ?", user).Find(&vehiclesSlice).Error
if err != nil {
fmt.Println(err)
return nil
}
return vehiclesSlice
}