This commit is contained in:
2025-11-12 09:41:52 +03:00
commit 2a8566712a
44 changed files with 2602 additions and 0 deletions

View File

@@ -0,0 +1,12 @@
package auth
type LoginDTO struct {
Email string `json:"email" validate:"required"`
Password string `json:"password" validate:"required"`
}
type RegisterDTO struct {
Email string `json:"email" validate:"required,email"`
Name string `json:"name" validate:"required"`
Password string `json:"password" validate:"required"`
}

View File

@@ -0,0 +1,32 @@
package issue
import (
"madsky.ru/go-tracker/internal/model/project"
"madsky.ru/go-tracker/internal/model/status"
"time"
)
type Issue struct {
ID uint32 `json:"id"`
Name string `json:"name"`
Description *string `json:"description"`
Position uint32 `json:"position"`
Created time.Time `json:"created"`
StatusID uint32 `json:"status_id"`
ProjectID uint32 `json:"project_id"`
Status status.Status `json:"status"`
Project project.Project `json:"project"`
}
type CreateIssueDTO struct {
Name string `json:"name"`
Description string `json:"description"`
StatusID uint32 `json:"status_id"`
ProjectID uint32 `json:"project_id"`
Position *uint32 `json:"position"`
}
type PositionDTO struct {
StatusId uint32 `json:"status_id"`
Positions []uint32 `json:"positions"`
}

View File

@@ -0,0 +1,23 @@
package project
type Project struct {
ID uint32 `json:"id"`
Name string `json:"name"`
Description *string `json:"description"`
Key string `json:"key"`
}
type CreateProjectDTO struct {
Name string `json:"name" validate:"required"`
Description string `json:"description"`
Key string `json:"key"`
}
type UpdateProjectDTO struct {
Name string `json:"name"`
Description string `json:"description"`
}
type FilterDTO struct {
UserID *uint32 `json:"user_id"`
}

View File

@@ -0,0 +1,7 @@
package setting
type Setting struct {
ID uint32 `json:"id"`
Name string `json:"name"`
Value string `json:"value"`
}

View File

@@ -0,0 +1,13 @@
package status
type Status struct {
ID uint32 `json:"id"`
Name string `json:"name"`
Description *string `json:"description"`
Position uint32 `json:"position"`
}
type CreateStatusDTO struct {
Name string `json:"name"`
Description string `json:"description"`
}

View File

@@ -0,0 +1,27 @@
package user
type User struct {
ID uint32 `json:"id"`
Email string `json:"email"`
Name string `json:"name"`
PasswordHash string `json:"password_hash"`
Role string `json:"role"`
}
type CreateUserDTO struct {
Email string `json:"email"`
Name string `json:"name"`
PasswordHash string `json:"password_hash"`
Role string `json:"role"`
}
type UpdateUserDTO struct {
Name string `json:"name"`
}
type ResponseDTO struct {
ID uint32 `json:"id"`
Email string `json:"email"`
Name string `json:"name"`
Role string `json:"role"`
}