25 lines
471 B
Go
25 lines
471 B
Go
package database
|
|
|
|
import "gorm.io/gorm"
|
|
|
|
type Manufacturer struct {
|
|
gorm.Model
|
|
Name string `gorm:"unique" validate:"required,custom_unique=Name"`
|
|
}
|
|
|
|
type Product struct {
|
|
gorm.Model
|
|
Name string
|
|
Price uint
|
|
ManufacturerID uint
|
|
Manufacturer *Manufacturer `gorm:"foreignKey:ManufacturerID;references:ID"`
|
|
}
|
|
|
|
type User struct {
|
|
gorm.Model
|
|
Name string
|
|
Email string
|
|
Password string
|
|
Products []*Product `gorm:"many2many:user_products;"`
|
|
}
|