package dto

// ProjectDTO represents the data structure for transferring project data.
type ProjectDTO struct {
	ID          string  `json:"id"`
	Name        string  `json:"name"`
	Description *string `json:"description"`
	ClientID    *string `json:"clientId"`
	UserID      string  `json:"userId"`
	CreatedAt   string  `json:"createdAt"` // Use ISO8601 format
	UpdatedAt   string  `json:"updatedAt"` // Use ISO8601 format
}

// ProjectCreateDTO is used for creating a new project.
type ProjectCreateDTO struct {
	Name        string  `json:"name"`
	Description *string `json:"description"`
	ClientID    *string `json:"clientId"`
	UserID      string  `json:"userId"`
}

// ProjectUpdateDTO is used for updating an existing project.
type ProjectUpdateDTO struct {
	Name        *string `json:"name"`
	Description *string `json:"description"`
	ClientID    *string `json:"clientId"`
	UserID      *string `json:"userId"`
}
