/
s4ze
/
api-lab4
Обзор
Документация
Войти
/
s4ze
/
api-lab4
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
internal/models/task.go
53 строки
2 KB
s4ze
Immigratiom
10 дек 2025, 11:20
10 дек 2025, 11:20
b292c79
Код
Авторство
О чём код?
package models import ( "time" ) // V1 - базовая версия type TaskV1 struct { ID int `json:"id,omitempty"` Title string `json:"title,omitempty" binding:"required"` Description string `json:"description,omitempty"` Status string `json:"status,omitempty"` UserID string `json:"user_id,omitempty"` CreatedAt time.Time `json:"created_at,omitempty"` UpdatedAt time.Time `json:"updated_at,omitempty"` } // V2 - с адаптивными изменениями (приоритет) type TaskV2 struct { ID int `json:"id,omitempty"` Title string `json:"title,omitempty" binding:"required"` Description string `json:"description,omitempty"` Status string `json:"status,omitempty"` Priority string `json:"priority,omitempty"` UserID string `json:"user_id,omitempty"` CreatedAt *time.Time `json:"created_at,omitempty"` UpdatedAt *time.Time `json:"updated_at,omitempty"` } type CreateTaskRequestV1 struct { Title string `json:"title" binding:"required" example:"Название задачи"` Description string `json:"description" example:"Описание задачи"` } type UpdateTaskRequestV1 struct { Title string `json:"title" example:"Обновленное название"` Description string `json:"description" example:"Обновленное описание"` Status string `json:"status" binding:"required,oneof=todo in-progress done" example:"done"` } type CreateTaskRequestV2 struct { Title string `json:"title" binding:"required" example:"Название задачи"` Description string `json:"description" example:"Описание задачи"` Priority string `json:"priority" binding:"required,oneof=low medium high" example:"medium"` Status string `json:"status" binding:"required,oneof=todo in-progress done" example:"todo"` } type UpdateTaskRequestV2 struct { Title string `json:"title" example:"Обновленное название"` Description string `json:"description" example:"Обновленное описание"` Priority string `json:"priority" binding:"required,oneof=low medium high" example:"medium"` Status string `json:"status" binding:"required,oneof=todo in-progress done" example:"done"` }