package com.social.media.application.company.dto;

import com.social.media.domain.shared.enums.CompanyPlan;
import com.social.media.domain.shared.enums.CompanyStatus;

import java.time.LocalDateTime;
import java.util.UUID;

/**
 * Data Transfer Object for Company information.
 * Used for read operations and API responses.
 */
public record CompanyDto(
    UUID id,
    String cnpj,
    String companyName,
    String tradeName,
    String email,
    String phoneNumber,
    String website,
    String activitySector,
    CompanyPlan plan,
    CompanyStatus status,
    AddressDto address,
    LocalDateTime createdAt,
    LocalDateTime updatedAt
) {
    
    /**
     * Nested DTO for address information
     */
    public record AddressDto(
        String street,
        String number,
        String complement,
        String neighborhood,
        String city,
        String state,
        String postalCode,
        String country
    ) {}
}

