Exemplo n.º 1
0
    void ISelfTwoWaySerializable.Serialize(Utf8JsonWriter writer, JsonSerializerOptions options, IElasticsearchClientSettings settings)
    {
        writer.WriteStartObject();

        if (Language is not null)
        {
            writer.WritePropertyName("lang");
            JsonSerializer.Serialize(writer, Language, options);
        }

        if (Options is not null)
        {
            writer.WritePropertyName("options");
            JsonSerializer.Serialize(writer, Options, options);
        }

        writer.WritePropertyName("source");
        writer.WriteStringValue(Source);

        if (Params is not null)
        {
            writer.WritePropertyName("params");
            SourceSerialisation.SerializeParams(Params, writer, settings);
        }

        writer.WriteEndObject();
    }
Exemplo n.º 2
0
        protected override void SerializeProperties(Utf8JsonWriter writer, JsonSerializerOptions options, IElasticsearchClientSettings settings)
        {
            if (DocAsUpsert.HasValue)
            {
                writer.WritePropertyName("doc_as_upsert");
                writer.WriteBooleanValue(DocAsUpsert.Value);
            }

            if (PartialUpdate is not null)
            {
                writer.WritePropertyName("doc");
                SourceSerialisation.Serialize(PartialUpdate, writer, settings.SourceSerializer);
            }
        }
Exemplo n.º 3
0
        protected override void SerializeProperties(Utf8JsonWriter writer, JsonSerializerOptions options, IElasticsearchClientSettings settings)
        {
            if (PartialUpdate is not null)
            {
                writer.WritePropertyName("doc");
                SourceSerialisation.Serialize(PartialUpdate, writer, settings.SourceSerializer);
            }

            if (Script is not null)
            {
                writer.WritePropertyName("script");
                JsonSerializer.Serialize(writer, Script, options);
            }

            if (ScriptedUpsert.HasValue)
            {
                writer.WritePropertyName("scripted_upsert");
                JsonSerializer.Serialize(writer, ScriptedUpsert.Value, options);
            }

            if (DocAsUpsert.HasValue)
            {
                writer.WritePropertyName("doc_as_upsert");
                JsonSerializer.Serialize(writer, DocAsUpsert.Value, options);
            }

            if (Upsert is not null)
            {
                writer.WritePropertyName("upsert");
                SourceSerialisation.Serialize(Upsert, writer, settings.SourceSerializer);
            }

            if (Source is not null)
            {
                writer.WritePropertyName("_source");
                JsonSerializer.Serialize(writer, Source, options);
            }
        }
    private void WriteBody(IElasticsearchClientSettings settings, Utf8JsonWriter writer, JsonSerializerOptions options)
    {
        if (_scriptAction is not null)
        {
            writer.WritePropertyName("script");
            JsonSerializer.Serialize(writer, new InlineScriptDescriptor(_scriptAction), options);
        }

        if (_document is not null)
        {
            writer.WritePropertyName("doc");
            SourceSerialisation.Serialize(_document, writer, settings.SourceSerializer);
        }

        if (_scriptedUpsert.HasValue)
        {
            writer.WritePropertyName("scripted_upsert");
            JsonSerializer.Serialize(writer, _scriptedUpsert.Value, options);
        }

        if (_docAsUpsert.HasValue)
        {
            writer.WritePropertyName("doc_as_upsert");
            JsonSerializer.Serialize(writer, _docAsUpsert.Value, options);
        }

        if (_upsert is not null)
        {
            writer.WritePropertyName("upsert");
            SourceSerialisation.Serialize(_upsert, writer, settings.SourceSerializer);
        }

        if (_source is not null)
        {
            writer.WritePropertyName("_source");
            JsonSerializer.Serialize(writer, Source, options);
        }
    }