Pavel Sinitsin
25e131269d
Streamlined API client initialization within the NewApi function by directly invoking the client creation. Additionally, removed custom type declarations and constants in model/product.go, replacing them with simpler string types to reduce complexity.
152 lines
5.0 KiB
Go
152 lines
5.0 KiB
Go
package model
|
|
|
|
type (
|
|
ImageVariant struct {
|
|
Url string `json:"url"`
|
|
Ext string `json:"ext"`
|
|
Width int `json:"width"`
|
|
}
|
|
|
|
Complects struct {
|
|
Article string `json:"article"`
|
|
Name string `json:"name"`
|
|
Quantity int `json:"quantity"`
|
|
}
|
|
|
|
LeftPeriod struct {
|
|
Name string `json:"name"`
|
|
Value string `json:"value"`
|
|
}
|
|
|
|
LeftPeriodRaw struct {
|
|
Lifespan interface{} `json:"lifespan"`
|
|
Warranty interface{} `json:"warranty"`
|
|
}
|
|
|
|
DesignFeatures struct {
|
|
ImageUrl string `json:"imageUrl"`
|
|
Description string `json:"description"`
|
|
}
|
|
|
|
Video struct {
|
|
Name string `json:"name"`
|
|
Description string `json:"description"`
|
|
Url string `json:"url"`
|
|
Type string `json:"type"`
|
|
}
|
|
|
|
Software struct {
|
|
Name string `json:"name"`
|
|
Description string `json:"description"`
|
|
Url string `json:"url"`
|
|
Size int `json:"size"`
|
|
}
|
|
|
|
Analog struct {
|
|
Article string `json:"article"`
|
|
Name string `json:"name"`
|
|
ShortName string `json:"shortName"`
|
|
Description string `json:"description"`
|
|
ImageUrl string `json:"imageUrl"`
|
|
ImageUrls []string `json:"imageUrls"`
|
|
ImageVariants []ImageVariant `json:"imageVariants"`
|
|
IsArchived bool `json:"isArchived"`
|
|
Tm string `json:"tm"`
|
|
}
|
|
|
|
WarehouseData struct {
|
|
WarehouseId string `json:"warehouseId"`
|
|
WarehouseName string `json:"warehouseName"`
|
|
AvailableAmount int `json:"availableAmount"`
|
|
Incoming []struct {
|
|
DateBegan string `json:"dateBegan"`
|
|
DateEnd string `json:"dateEnd"`
|
|
Amount int `json:"amount"`
|
|
Type string `json:"type"`
|
|
}
|
|
}
|
|
|
|
Etim struct {
|
|
Features []struct {
|
|
Id string `json:"id"`
|
|
Name string `json:"name"`
|
|
Sort int `json:"sort"`
|
|
Unit string `json:"unit"`
|
|
Value string `json:"value"`
|
|
} `json:"features"`
|
|
|
|
Class struct {
|
|
Id string `json:"id"`
|
|
Name string `json:"name"`
|
|
} `json:"class"`
|
|
}
|
|
|
|
LogisticParams struct {
|
|
Name string `json:"name"`
|
|
NameOrig string `json:"nameOrig"`
|
|
Value struct {
|
|
Group string `json:"group"`
|
|
Individual string `json:"individual"`
|
|
Transport string `json:"transport"`
|
|
} `json:"value"`
|
|
}
|
|
|
|
LogisticParamsData struct {
|
|
SinglePackage struct {
|
|
Multiplicity int `json:"multiplicity"`
|
|
Unit string `json:"unit"`
|
|
} `json:"singlePackage"`
|
|
}
|
|
|
|
ShortProduct struct {
|
|
Article string `json:"article"`
|
|
Name string `json:"name"`
|
|
Multiplicity int `json:"multiplicity"`
|
|
PriceBase int `json:"priceBase"`
|
|
PriceRrc int `json:"priceRrc"`
|
|
Available int `json:"available"`
|
|
Units string `json:"units"`
|
|
WarehouseData []WarehouseData `json:"warehouseData"`
|
|
}
|
|
|
|
Product struct {
|
|
ShortName string `json:"shortName"`
|
|
Description string `json:"description"`
|
|
CategoryName string `json:"categoryName"`
|
|
Category string `json:"category"`
|
|
Slug string `json:"slug"`
|
|
Tm string `json:"tm"`
|
|
Url string `json:"url"`
|
|
IsArchived bool `json:"isArchived"`
|
|
ImageUrl string `json:"imageUrl"`
|
|
ImageUrls []string `json:"imageUrls"`
|
|
ImageVariants []ImageVariant `json:"imageVariants"`
|
|
Advantages string `json:"advantages"`
|
|
Etim Etim `json:"etim"`
|
|
Complects []Complects `json:"complects"`
|
|
Complectations string `json:"complectations"`
|
|
Files []interface{} `json:"files"`
|
|
LeftPeriod []LeftPeriod `json:"leftPeriod"`
|
|
LeftPeriodRaw LeftPeriodRaw `json:"leftPeriodRaw"`
|
|
LogisticParams []LogisticParams `json:"logisticParams"`
|
|
LogisticParamsData LogisticParamsData `json:"logisticParamsData"`
|
|
Novelty bool `json:"novelty"`
|
|
DesignFeatures []DesignFeatures `json:"designFeatures"`
|
|
Videos []Video `json:"videos"`
|
|
Software []Software `json:"software"`
|
|
Banner string `json:"banner"`
|
|
LastModified string `json:"lastModified"`
|
|
CountryOfProduction string `json:"countryOfProduction"`
|
|
FirstSaleDate string `json:"firstSaleDate"`
|
|
Feacn string `json:"feacn"`
|
|
Family string `json:"family"`
|
|
Series string `json:"series"`
|
|
IndPacking []string `json:"indPacking"`
|
|
Analogs []Analog `json:"analogs"`
|
|
Related []Analog `json:"related"`
|
|
QrCode string `json:"qrCode"`
|
|
IsOutOfAssortment bool `json:"isOutOfAssortment"`
|
|
IsOutOfProduction bool `json:"isOutOfProduction"`
|
|
}
|
|
)
|