| 12345678910111213141516171819202122232425262728293031323334353637 |
- // Package models определяет основные доменные модели Photoplaces.
- // Содержит структуры: User, Place, PlaceImage, Booking, Review, Service,
- // ServiceImage, Tag, Feature, а также фильтры (UserFilter, PlaceFilter, ServiceFilter)
- // и вспомогательные типы (Bounds). Все модели имеют JSON-теги для сериализации.
- package models
- import "time"
- type User struct {
- ID string `json:"id"`
- Email string `json:"email"`
- PasswordHash string `json:"-"`
- Role string `json:"role"`
- Status string `json:"status"`
- Name *string `json:"name"`
- AvatarURL *string `json:"avatar_url"`
- Phone *string `json:"phone"`
- Bio *string `json:"bio"`
- Country *string `json:"country"`
- CreatedAt time.Time `json:"created_at"`
- UpdatedAt time.Time `json:"updated_at"`
- DeletedAt *time.Time `json:"-"`
- }
- type UserFilter struct {
- Role string
- Status string
- Limit_ int
- Cursor string
- }
- func (f UserFilter) Limit() int {
- if f.Limit_ <= 0 || f.Limit_ > 100 {
- return 20
- }
- return f.Limit_
- }
|