Documentation
¶
Overview ¶
Package entity defines main entities for business logic (services), data base mapping and HTTP response objects if suitable. Each logic group entities in own file.
Package entity defines main entities for business logic (services), data base mapping and HTTP response objects if suitable. Each logic group entities in own file.
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrUserNotFound = errors.New("user not found") ErrUserAlreadyExists = errors.New("user already exists") ErrInvalidCredentials = errors.New("invalid credentials") ErrTaskNotFound = errors.New("task not found") ErrTaskForbidden = errors.New("task does not belong to user") ErrInvalidTransition = errors.New("invalid status transition") )
Functions ¶
This section is empty.
Types ¶
type Task ¶ added in v1.16.0
type Task struct {
ID string `json:"id" example:"550e8400-e29b-41d4-a716-446655440000"`
UserID string `json:"user_id" example:"550e8400-e29b-41d4-a716-446655440000"`
Title string `json:"title" example:"My task"`
Description string `json:"description" example:"Task description"`
Status TaskStatus `json:"status" example:"todo"`
CreatedAt time.Time `json:"created_at" example:"2026-01-01T00:00:00Z"`
UpdatedAt time.Time `json:"updated_at" example:"2026-01-01T00:00:00Z"`
} // @name entity.Task
Task -.
func (*Task) Transition ¶ added in v1.16.0
func (t *Task) Transition(newStatus TaskStatus) error
Transition validates and applies a status transition.
type TaskStatus ¶ added in v1.16.0
type TaskStatus string // @name entity.TaskStatus
TaskStatus -.
const ( TaskStatusTodo TaskStatus = "todo" TaskStatusInProgress TaskStatus = "in_progress" TaskStatusDone TaskStatus = "done" )
func (TaskStatus) Valid ¶ added in v1.16.0
func (s TaskStatus) Valid() bool
Valid reports whether s is a known task status.
type Translation ¶
type Translation struct {
Source string `json:"source" example:"auto"`
Destination string `json:"destination" example:"en"`
Original string `json:"original" example:"текст для перевода"`
Translation string `json:"translation" example:"text for translation"`
} // @name entity.Translation
Translation -.
type TranslationHistory ¶ added in v1.12.0
type TranslationHistory struct {
History []Translation `json:"history"`
} // @name entity.TranslationHistory
TranslationHistory -.
type User ¶ added in v1.16.0
type User struct {
ID string `json:"id" example:"550e8400-e29b-41d4-a716-446655440000"`
Username string `json:"username" example:"johndoe"`
Email string `json:"email" example:"john@example.com"`
PasswordHash string `json:"-"`
CreatedAt time.Time `json:"created_at" example:"2026-01-01T00:00:00Z"`
UpdatedAt time.Time `json:"updated_at" example:"2026-01-01T00:00:00Z"`
} // @name entity.User
User -.
Click to show internal directories.
Click to hide internal directories.