package dto

import (
	"time"

	"github.com/timetracker/backend/internal/types"
)

type ProjectDto struct {
	ID           string    `json:"id" example:"01HGW2BBG0000000000000000"`
	CreatedAt    time.Time `json:"createdAt" example:"2024-01-01T00:00:00Z"`
	UpdatedAt    time.Time `json:"updatedAt" example:"2024-01-01T00:00:00Z"`
	LastEditorID string    `json:"lastEditorID" example:"01HGW2BBG0000000000000000"`
	Name         string    `json:"name" example:"Time Tracking App"`
	CustomerID   *string   `json:"customerId,omitempty" example:"01HGW2BBG0000000000000000"`
}

type ProjectCreateDto struct {
	Name       string  `json:"name" example:"Time Tracking App"`
	CustomerID *string `json:"customerId" example:"01HGW2BBG0000000000000000"`
}

type ProjectUpdateDto struct {
	CreatedAt  *time.Time             `json:"createdAt" example:"2024-01-01T00:00:00Z"`
	UpdatedAt  *time.Time             `json:"updatedAt" example:"2024-01-01T00:00:00Z"`
	Name       *string                `json:"name" example:"Time Tracking App"`
	CustomerID types.Nullable[string] `json:"customerId" example:"01HGW2BBG0000000000000000"`
}
