package com.airlock.iam.common.infrastructure.jackson;

import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
import jakarta.ws.rs.core.Link;
import java.io.IOException;
import java.util.Map.Entry;

public class LinkSerializer extends JsonSerializer<Link> {
   public void serialize(Link link, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException {
      jgen.writeString(link.getUri().toString());

      for (Entry<String, String> param : link.getParams().entrySet()) {
         jgen.writeStringField(param.getKey(), param.getValue());
      }
   }
}
