Skip to content

Commit f34eebc

Browse files
feat(specs): add secrets authentications to ingestion (generated)
algolia/api-clients-automation#4054 Co-authored-by: algolia-bot <[email protected]> Co-authored-by: Clément Vannicatte <[email protected]>
1 parent f1a8685 commit f34eebc

File tree

2 files changed

+43
-1
lines changed

2 files changed

+43
-1
lines changed

algoliasearch/src/main/java/com/algolia/model/ingestion/AuthInput.java

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,44 @@
66
import com.algolia.exceptions.AlgoliaRuntimeException;
77
import com.fasterxml.jackson.annotation.*;
88
import com.fasterxml.jackson.core.*;
9+
import com.fasterxml.jackson.core.type.TypeReference;
910
import com.fasterxml.jackson.databind.*;
1011
import com.fasterxml.jackson.databind.annotation.*;
1112
import java.io.IOException;
13+
import java.util.Map;
1214
import java.util.logging.Logger;
1315

1416
/** AuthInput */
1517
@JsonDeserialize(using = AuthInput.Deserializer.class)
1618
public interface AuthInput {
19+
// AuthInput as Map<String, String> wrapper.
20+
static AuthInput of(Map<String, String> value) {
21+
return new MapOfStringStringWrapper(value);
22+
}
23+
24+
// AuthInput as Map<String, String> wrapper.
25+
@JsonSerialize(using = MapOfStringStringWrapper.Serializer.class)
26+
class MapOfStringStringWrapper implements AuthInput {
27+
28+
private final Map<String, String> value;
29+
30+
MapOfStringStringWrapper(Map<String, String> value) {
31+
this.value = value;
32+
}
33+
34+
public Map<String, String> getValue() {
35+
return value;
36+
}
37+
38+
static class Serializer extends JsonSerializer<MapOfStringStringWrapper> {
39+
40+
@Override
41+
public void serialize(MapOfStringStringWrapper value, JsonGenerator gen, SerializerProvider provider) throws IOException {
42+
gen.writeObject(value.getValue());
43+
}
44+
}
45+
}
46+
1747
class Deserializer extends JsonDeserializer<AuthInput> {
1848

1949
private static final Logger LOGGER = Logger.getLogger(Deserializer.class.getName());
@@ -77,6 +107,16 @@ public AuthInput deserialize(JsonParser jp, DeserializationContext ctxt) throws
77107
LOGGER.finest("Failed to deserialize oneOf AuthAlgoliaInsights (error: " + e.getMessage() + ") (type: AuthAlgoliaInsights)");
78108
}
79109
}
110+
// deserialize Map<String, String>
111+
if (tree.isObject()) {
112+
try (JsonParser parser = tree.traverse(jp.getCodec())) {
113+
Map<String, String> value = parser.readValueAs(new TypeReference<Map<String, String>>() {});
114+
return new AuthInput.MapOfStringStringWrapper(value);
115+
} catch (Exception e) {
116+
// deserialization failed, continue
117+
LOGGER.finest("Failed to deserialize oneOf Map<String, String> (error: " + e.getMessage() + ") (type: Map<String, String>)");
118+
}
119+
}
80120
throw new AlgoliaRuntimeException(String.format("Failed to deserialize json element: %s", tree));
81121
}
82122

algoliasearch/src/main/java/com/algolia/model/ingestion/AuthenticationType.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,9 @@ public enum AuthenticationType {
2020

2121
ALGOLIA("algolia"),
2222

23-
ALGOLIA_INSIGHTS("algoliaInsights");
23+
ALGOLIA_INSIGHTS("algoliaInsights"),
24+
25+
SECRETS("secrets");
2426

2527
private final String value;
2628

0 commit comments

Comments
 (0)