package com.zhengmeng.ocrplatform.llm;

import java.time.LocalDateTime;

public record LlmModelItem(
        String modelId,
        String provider,
        String displayName,
        String baseUrl,
        String modelName,
        String apiType,
        boolean enabled,
        boolean selected,
        boolean thinkingEnabled,
        boolean apiKeyConfigured,
        LocalDateTime updatedAt
) {
    public static LlmModelItem fromEntity(LlmModelEntity entity) {
        return new LlmModelItem(
                entity.getModelId(),
                entity.getProvider(),
                entity.getDisplayName(),
                entity.getBaseUrl(),
                entity.getModelName(),
                entity.getApiType(),
                Boolean.TRUE.equals(entity.getEnabled()),
                Boolean.TRUE.equals(entity.getSelected()),
                Boolean.TRUE.equals(entity.getThinkingEnabled()),
                entity.getApiKey() != null && !entity.getApiKey().isBlank(),
                entity.getUpdatedAt()
        );
    }
}
