Onesignal Elixir v0.1.5 OnesignalElixir.Filter View Source

Link to this section Summary

Functions

filters = Filter.new()

            |> Filter.app_version("=","2") 
            |> Filter.add_operator("OR") 
            |> Filter.first_session("<","1.2")

filters = Filter.new()

        |> Filter.amount_spent(">","1.2")

filters = Filter.new()

        |> Filter.app_version("=","3")

filters = Filter.new()

        |> Filter.bought_sku(">","com.xcelerator.ninja","1499")

filters = Filter.new()

            |> Filter.country("=","in",)

filters = Filter.new()

        |> Filter.email("abc@xyzdomain.com")

filters = Filter.new()

        |> Filter.first_session(">","1.2")

filters = Filter.new()

        |> Filter.language("!=","es")

filters = Filter.new()

        |> Filter.last_session(">","5.2")

filters = Filter.new()

        |> Filter.location("1000", "12.972442","77.580643")

filters = Filter.new()

        |> Filter.session_count("=","20")

filters = Filter.new()

        |> Filter.session_time(">","2.5")

filters = Filter.new()

            |> Filter.tag("=", "vip", "true")
filters = Filter.new() 
            |> Filter.tag("exists", "username")

#Todo

Need to validate the filter expression created

Link to this section Functions

Link to this function add_operator(current_filters, operator) View Source
filters = Filter.new() 
            |> Filter.app_version("=","2") 
            |> Filter.add_operator("OR") 
            |> Filter.first_session("<","1.2")

[%{field: "app_version", relation: "=", value: "2"},
%{operator: "OR"},
%{field: "first_session", hours_ago: "1.2", relation: "<"}]
Link to this function amount_spent(current_filters, relation, value) View Source
filters = Filter.new() 
        |> Filter.amount_spent(">","1.2")
Link to this function app_version(current_filters, relation, value) View Source
filters = Filter.new() 
        |> Filter.app_version("=","3")
Link to this function bought_sku(current_filters, relation, key, value) View Source
filters = Filter.new() 
        |> Filter.bought_sku(">","com.xcelerator.ninja","1499")
Link to this function country(current_filters, relation, value) View Source
filters = Filter.new() 
            |> Filter.country("=","in",)
Link to this function email(current_filters, value) View Source
filters = Filter.new() 
        |> Filter.email("abc@xyzdomain.com")
Link to this function first_session(current_filters, relation, hours_ago) View Source
filters = Filter.new() 
        |> Filter.first_session(">","1.2")
Link to this function language(current_filters, relation, value) View Source
filters = Filter.new() 
        |> Filter.language("!=","es")
Link to this function last_session(current_filters, relation, hours_ago) View Source
filters = Filter.new() 
        |> Filter.last_session(">","5.2")
Link to this function location(current_filters, radius, latitude, longitude) View Source
filters = Filter.new() 
        |> Filter.location("1000", "12.972442","77.580643")
Link to this function session_count(current_filters, relation, value) View Source
filters = Filter.new() 
        |> Filter.session_count("=","20")
Link to this function session_time(current_filters, relation, value) View Source
filters = Filter.new() 
        |> Filter.session_time(">","2.5")
Link to this function tag(current_filters, relation, key, value \\ nil) View Source
filters = Filter.new() 
            |> Filter.tag("=", "vip", "true")
filters = Filter.new() 
            |> Filter.tag("exists", "username")
Link to this function validate_filter_expression(expression) View Source
#Todo
Need to validate the filter expression created