package dev.fyloz.trial.colorrecipesexplorer.web.response;

import dev.fyloz.trial.colorrecipesexplorer.config.Preferences;
import org.springframework.context.i18n.LocaleContextHolder;

import java.util.HashMap;
import java.util.Map;

public class JSONResponseBuilder extends ResponseBuilder<JSONResponseBuilder, Map<String, Object>> {

    @Override
    protected void addResponseCodeToAttribute(String responseCodeType, String responseMessagePath, String[] parameters) {
        Map<String, Object> attributeContent = new HashMap<>();

        // Récupère le message depuis le fichier des messages de la bonne language et rajoute ces paramètres.
        String message = Preferences.messageSource.getMessage(responseMessagePath, parameters, LocaleContextHolder.getLocale());
        attributeContent.put("message", message);

        addAttribute(responseCodeType, attributeContent);
    }

    public Map<String, Object> build() {
        return attributes;
    }
}
