package contract

import (
	"github.com/google/uuid"
)

type CreateChartOfAccountTypeRequest struct {
	Name        string  `json:"name" validate:"required,min=1,max=100"`
	Code        string  `json:"code" validate:"required,min=1,max=10"`
	Description *string `json:"description"`
}

type UpdateChartOfAccountTypeRequest struct {
	Name        *string `json:"name" validate:"omitempty,min=1,max=100"`
	Code        *string `json:"code" validate:"omitempty,min=1,max=10"`
	Description *string `json:"description"`
	IsActive    *bool   `json:"is_active"`
}

type ChartOfAccountTypeResponse struct {
	ID          uuid.UUID `json:"id"`
	Name        string    `json:"name"`
	Code        string    `json:"code"`
	Description *string   `json:"description"`
	IsActive    bool      `json:"is_active"`
	CreatedAt   string    `json:"created_at"`
	UpdatedAt   string    `json:"updated_at"`
}
