Search capabilities

Search (essentially, Filter) Capabilities and Use-Cases
To request filtering of the result, special field could be added to the request body: "dcs_filter". Contents of the "dcs_filter" define the rules of filtering - see below.

-------------------------------------------------------------

[x] 1. Constraint: WHERE ( A = B )

dcs_filter: { "A" : B }

[x] 2. Constraint: WHERE ( A = B  &&  C = "D" )

dcs_filter: { "A": B, "C": "D" }

[x] 3. Constraint: WHERE ( A = B  ||  C = "D" )

dcs_filter: {
  '_or': { "A": B, "C": "D" }
}

[x] 4. Constraint: WHERE ( A = B  ||  A = C  ||  A = D )

dcs_filter: {
  "A": {
    '_in': [ B, C, D ]
  }
}

[x] 5. Constraint: WHERE ( A = B && ( C = D || E = F ) )
dcs_filter: {
  "A": B,
  "_or" : { C: D, E: F }
}

-------------------------------------------------------------

[x] 6.1 Constraint: WHERE ( A > B )

dcs_filter: {
  A: { '_gt': B }
}

[x] 6.2 Constraint: WHERE ( A >= B )

dcs_filter: {
  A: { '_ge': B }
}

[x] 7.1 Constraint: WHERE ( A < B )

dcs_filter: {
  A: { '_gt': B }
}

[x] 7.2 Constraint: WHERE ( A <= B )

dcs_filter: {
  A: { '_ge': B }
}

[x] 8. Constraint: WHERE ( A > B  &&  A < C )

dcs_filter: {
  A: { '_gt': B, '_lt': C }
}

-------------------------------------------------------------

...To Be Continued