| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- package model
- import (
- "errors"
- "fmt"
- "gorm.io/gorm"
- "kng_feed_api/database"
- )
- type Availability struct {
- CodeCarCaDe string `gorm:"size:11;not null; unique; index; primaryKey" json:"code_carcade"`
- Available int `gorm:"default=0" json:"available"`
- }
- type AvailabilityArray struct {
- AvailabilityArray []Availability `binding:"dive" json:"items"`
- }
- func (availability *Availability) CreateOrUpdate() error {
- err := database.Database.Save(&availability).Error
- if err != nil {
- return fmt.Errorf("не удалось сохранить код %s", availability.CodeCarCaDe)
- }
- return nil
- }
- func GetAllAvailability() ([]Availability, error) {
- var availability []Availability
- err := database.Database.Find(&availability).Error
- if err != nil {
- return availability, err
- }
- return availability, nil
- }
- func GetOneAvailability(code string) (Availability, error) {
- var availability Availability
- err := database.Database.First(&availability, code).Error
- if err != nil {
- if errors.Is(err, gorm.ErrRecordNotFound) {
- return availability, fmt.Errorf("объект с кодом %s не найден", code)
- }
- return availability, err
- }
- return availability, nil
- }
|