bieno002
bieno002

Reputation: 415

Does the scim spec define how to specify a filter for nested objects?

If I have data that looks like this:

{
  "source": {
    "id": "someStr",
    "type": "someTypeStr",
    "someObj": {
      "objId": "someStr",
      "numField": 2
    }
  },

  "destination": {
    "id": "someStr",
    "type": "someTypeStr",
    "someObj": {
      "objId": "someStr",
      "numField": 2
    }
  }
}

Filtering works fine when we want to filter someting like source.id PR or destination.type co "something". However, I'm not sure what the proper scim way is to filter on the "someObj" field within? I can't seem to find anything in the spec about this, is there a accepted way to represent a filter like source.someObj.numField eq 2?

Upvotes: 0

Views: 861

Answers (1)

Zollnerd
Zollnerd

Reputation: 912

This is not defined in the spec because it is not allowed. Complex attributes cannot have sub-attributes that are themselves complex attributes. See: https://datatracker.ietf.org/doc/html/rfc7643#section-2.3.8

A complex attribute MUST NOT contain sub-attributes that have sub-attributes (i.e., that are complex).

The filter rules/syntax do not account for this because it is not possible in SCIM.

Upvotes: 1

Related Questions