Skip to content
Snippets Groups Projects
process-objects.json 930 KiB
Newer Older
                                "description": "A valid attribute or relationship attribute on the people resource."
                              },
                              "operator": {
                                "type": "string",
                                "example": "STARTS_WITH",
                                "description": "The comparison to be performed on the values. Valid operators are - 'STARTS_WITH', 'ENDS_WITH', 'CONTAINS', or 'EQUALS'."
                              },
                              "values": {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                },
                                "example": [
                                  "A192",
                                  "A193"
                                ],
                                "description": "A list of values to compare against. Values are required and must be a list of up to 10 non-empty strings. For non-string fields, such as booleans, provide their string equivalents (e.g. \"true\")."
                              }
Rebecca Wheeler's avatar
Rebecca Wheeler committed
                            }
                          },
                          "description": "Filters to apply when generating the exported data."
Rebecca Wheeler's avatar
Rebecca Wheeler committed
                        },
                        "status": {
                          "type": "string",
                          "enum": [
                            "Pending",
                            "Completed",
                            "Deleted",
                            "Error"
                          ],
                          "readOnly": true,
                          "example": "Pending",
                          "description": "Status of the exported data. If the status is Error, please contact api@doit.wisc.edu for further investigation."
                        },
                        "exportUrl": {
                          "type": "string",
                          "format": "url",
                          "readOnly": true,
                          "description": "URL of the exported data. This field will only contain the URL when the status of the export is \"Done\"."
                        },
                        "requestTime": {
                          "type": "string",
                          "format": "date-time",
                          "readOnly": true,
                          "example": "2024-01-01T00:00:00Z",
                          "description": "The time the export request was created."
                        },
                        "completionTime": {
                          "type": "string",
                          "format": "date-time",
                          "readOnly": true,
                          "example": "2024-01-01T00:05:00Z",
                          "description": "The time the export was done processing.",
                          "nullable": true
                        }
                      }
                    },
                    "links": {
                      "description": "The link to access a resource itself",
                      "type": "object",
                      "properties": {
                        "self": {
                          "type": "string",
                          "example": "https://api.wisc.edu/link/to/self"
Rebecca Wheeler's avatar
Rebecca Wheeler committed
                        }
Rebecca Wheeler's avatar
Rebecca Wheeler committed
                    }
                  }
                },
                "links": {
                  "description": "The link to access a resource itself",
                  "type": "object",
                  "properties": {
                    "self": {
                      "type": "string",
                      "example": "https://api.wisc.edu/link/to/self"
                    }
                  }
Rebecca Wheeler's avatar
Rebecca Wheeler committed
                }
Rebecca Wheeler's avatar
Rebecca Wheeler committed
            },
            "examples": {
              "example-export": {
                "value": {
                  "data": {
                    "attributes": {
                      "relationships": [
                        "names",
                        "jobs"
                      ],
                      "filters": [
                        {
                          "attribute": "jobs.divisionCode",
                          "operator": "STARTS_WITH",
                          "values": [
                            "A192",
                            "A193"
                          ]
                        }
                      ],
                      "status": "Completed",
                      "exportUrl": "https://example.com/person-export123.json?signature=456",
                      "requestTime": "2024-01-01T00:00:00Z",
                      "completionTime": "2024-01-01T00:05:00Z"
                    },
                    "id": "123",
                    "links": {
                      "self": "https://api.wisc.edu/people/exports/123"
                    },
                    "type": "exports"
                  },
                  "links": {
                    "self": "https://api.wisc.edu/people/exports/123"
                  }
                }
              }
            }
          }
        }
      },
      "newCreatedExport": {
        "description": "A single export.",
        "content": {
          "application/vnd.api+json": {
            "schema": {
              "type": "object",
              "required": [
                "data",
                "links"
              ],
              "properties": {
                "data": {
                  "type": "object",
                  "required": [
                    "type",
                    "id",
                    "attributes",
                    "links"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "example": "exports"
                    },
                    "id": {
                      "type": "string",
                      "example": "12345",
                      "description": "Ephemeral ID used to adhere to the JSON:API specification. This ID should not be stored."
                    },
                    "attributes": {
                      "type": "object",
                      "properties": {
                        "relationships": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "example": [
                            "names",
                            "jobs"
                          ],
                          "description": "Relationships to include in the exported data. By default, only the root person data will be included."
                        },
                        "filters": {
                          "type": "array",
                          "items": {
Rebecca Wheeler's avatar
Rebecca Wheeler committed
                            "type": "object",
                            "description": "Attributes for a filter object when creating a webhook filter (/people/webhooks/{webhookId}/filters) or an export filter (/people/exports).",
                            "required": [
                              "attribute",
                              "values"
                            ],
Rebecca Wheeler's avatar
Rebecca Wheeler committed
                            "properties": {
                              "attribute": {
                                "type": "string",
                                "example": "jobs.divisionCode",
                                "description": "A valid attribute or relationship attribute on the people resource."
                              },
                              "operator": {
                                "type": "string",
                                "example": "STARTS_WITH",
                                "description": "The comparison to be performed on the values. Valid operators are - 'STARTS_WITH', 'ENDS_WITH', 'CONTAINS', or 'EQUALS'."
                              },
                              "values": {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                },
                                "example": [
                                  "A192",
                                  "A193"
                                ],
                                "description": "A list of values to compare against. Values are required and must be a list of up to 10 non-empty strings. For non-string fields, such as booleans, provide their string equivalents (e.g. \"true\")."
                              }
Rebecca Wheeler's avatar
Rebecca Wheeler committed
                            }
                          },
                          "description": "Filters to apply when generating the exported data."
Rebecca Wheeler's avatar
Rebecca Wheeler committed
                        },
                        "status": {
                          "type": "string",
                          "enum": [
                            "Pending",
                            "Completed",
                            "Deleted",
                            "Error"
                          ],
                          "readOnly": true,
                          "example": "Pending",
                          "description": "Status of the exported data. If the status is Error, please contact api@doit.wisc.edu for further investigation."
                        },
                        "exportUrl": {
                          "type": "string",
                          "format": "url",
                          "readOnly": true,
                          "description": "URL of the exported data. This field will only contain the URL when the status of the export is \"Done\"."
                        },
                        "requestTime": {
                          "type": "string",
                          "format": "date-time",
                          "readOnly": true,
                          "example": "2024-01-01T00:00:00Z",
                          "description": "The time the export request was created."
                        },
                        "completionTime": {
                          "type": "string",
                          "format": "date-time",
                          "readOnly": true,
                          "example": "2024-01-01T00:05:00Z",
                          "description": "The time the export was done processing.",
                          "nullable": true
                        }
                      }
                    },
                    "links": {
                      "description": "The link to access a resource itself",
                      "type": "object",
                      "properties": {
                        "self": {
                          "type": "string",
                          "example": "https://api.wisc.edu/link/to/self"
Rebecca Wheeler's avatar
Rebecca Wheeler committed
                        }
                      }
                    }
                  }
                },
                "links": {
                  "description": "The link to access a resource itself",
                  "type": "object",
                  "properties": {
                    "self": {
                      "type": "string",
                      "example": "https://api.wisc.edu/link/to/self"
Rebecca Wheeler's avatar
Rebecca Wheeler committed
                    }
Rebecca Wheeler's avatar
Rebecca Wheeler committed
                }
Rebecca Wheeler's avatar
Rebecca Wheeler committed
            },
            "examples": {
              "example-export": {
                "value": {
                  "data": {
                    "attributes": {
                      "relationships": [
                        "names",
                        "jobs"
                      ],
                      "filters": [
                        {
                          "attribute": "jobs.divisionCode",
                          "operator": "STARTS_WITH",
                          "values": [
                            "A192",
                            "A193"
                          ]
Rebecca Wheeler's avatar
Rebecca Wheeler committed
                        }
                      ],
                      "status": "Pending",
                      "requestTime": "2024-01-01T00:00:00Z"
                    },
                    "id": "123",
                    "links": {
                      "self": "https://api.wisc.edu/people/exports/123"
                    },
                    "type": "exports"
                  },
                  "links": {
                    "self": "https://api.wisc.edu/people/exports/123"
                  }
                }
              }
            }
          }
        }
      },
      "not-found": {
        "description": "Unable to find the specified record",
        "content": {
          "application/vnd.api+json": {
            "schema": {
              "type": "object",
              "properties": {
                "errors": {
                  "type": "array",
                  "items": {
                    "description": "An error",
                    "type": "object",
                    "properties": {
                      "status": {
                        "type": "integer",
                        "example": 400
                      },
                      "title": {
                        "type": "string",
                        "example": "Error title"
                      },
                      "detail": {
                        "type": "string",
                        "example": "Additional details about the error"
                      },
                      "links": {
                        "type": "object"
                      },
                      "meta": {
                        "type": "object"
                      },
                      "source": {
                        "type": "object"
                      }
Rebecca Wheeler's avatar
Rebecca Wheeler committed
                    }
Rebecca Wheeler's avatar
Rebecca Wheeler committed
                }
Rebecca Wheeler's avatar
Rebecca Wheeler committed
            },
            "examples": {
              "not-found-example": {
                "value": {
                  "errors": [
                    {
                      "status": 404,
                      "title": "Not Found",
                      "detail": "Requested resource not found."
Rebecca Wheeler's avatar
Rebecca Wheeler committed
                    }
Rebecca Wheeler's avatar
Rebecca Wheeler committed
                }
Rebecca Wheeler's avatar
Rebecca Wheeler committed
            }
          }
        }
      },
      "not-acceptable": {
        "description": "Servers respond with a 406 Not Acceptable status code if a request’s Accept header contains the JSON:API media type and all instances of that media type are modified with media type parameters.",
        "content": {
          "application/vnd.api+json": {
            "schema": {
              "type": "object",
              "properties": {
                "errors": {
                  "type": "array",
                  "items": {
                    "description": "An error",
                    "type": "object",
                    "properties": {
                      "status": {
                        "type": "integer",
                        "example": 400
                      },
                      "title": {
                        "type": "string",
                        "example": "Error title"
                      },
                      "detail": {
                        "type": "string",
                        "example": "Additional details about the error"
                      },
                      "links": {
                        "type": "object"
                      },
                      "meta": {
                        "type": "object"
                      },
                      "source": {
                        "type": "object"
                      }
                    }
                  }
Rebecca Wheeler's avatar
Rebecca Wheeler committed
                }
Rebecca Wheeler's avatar
Rebecca Wheeler committed
            },
            "examples": {
              "not-acceptable-example": {
                "value": {
                  "errors": [
                    {
                      "status": 406,
                      "title": "Not Acceptable",
                      "detail": "Request's Accept header contained the JSON:API media type and all instances of that media type were modified with media type parameters."
                    }
                  ]
Rebecca Wheeler's avatar
Rebecca Wheeler committed
                }
              }
            }
          }
        }
      },
      "unsupported-media-type": {
        "description": "Request includes a body but not the valid JSON API Content-Type header: application/vnd.api+json",
        "content": {
          "application/vnd.api+json": {
            "schema": {
              "type": "object",
              "properties": {
                "errors": {
                  "type": "array",
                  "items": {
                    "description": "An error",
                    "type": "object",
                    "properties": {
                      "status": {
                        "type": "integer",
                        "example": 400
                      },
                      "title": {
                        "type": "string",
                        "example": "Error title"
                      },
                      "detail": {
                        "type": "string",
                        "example": "Additional details about the error"
                      },
                      "links": {
                        "type": "object"
                      },
                      "meta": {
                        "type": "object"
                      },
                      "source": {
                        "type": "object"
                      }
                    }
                  }
Rebecca Wheeler's avatar
Rebecca Wheeler committed
                }
Rebecca Wheeler's avatar
Rebecca Wheeler committed
            },
            "examples": {
              "unsupported-media-type-example": {
                "value": {
                  "errors": [
                    {
                      "status": 415,
                      "title": "Unsupported Media Type",
                      "detail": "Requests with a body must include the Content-Type header with a value of application/vnd.api+json"
                    }
                  ]
Rebecca Wheeler's avatar
Rebecca Wheeler committed
                }
              }
            }
          }
        }
      },
      "forbidden": {
        "description": "The API call is authenticated but the client isn't allowed to perform the requested operation. This can occur when trying to update a resource when granted read-only access.",
        "content": {
          "application/vnd.api+json": {
            "schema": {
              "type": "object",
              "properties": {
                "errors": {
                  "type": "array",
                  "items": {
                    "description": "An error",
                    "type": "object",
                    "properties": {
                      "status": {
                        "type": "integer",
                        "example": 400
                      },
                      "title": {
                        "type": "string",
                        "example": "Error title"
                      },
                      "detail": {
                        "type": "string",
                        "example": "Additional details about the error"
                      },
                      "links": {
                        "type": "object"
                      },
                      "meta": {
                        "type": "object"
                      },
                      "source": {
                        "type": "object"
                      }
                    }
                  }
Rebecca Wheeler's avatar
Rebecca Wheeler committed
                }
Rebecca Wheeler's avatar
Rebecca Wheeler committed
            },
            "examples": {
              "name-update-example": {
                "value": {
                  "errors": [
                    {
                      "status": 403,
                      "title": "Forbidden",
                      "detail": "Client is not allowed to create, update, or delete a person's name."
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "too-many-requests": {
        "description": "The API quota has been exceeded.",
        "content": {
          "application/vnd.api+json": {
            "schema": {
              "type": "object",
              "properties": {
                "errors": {
                  "type": "array",
                  "items": {
                    "description": "An error",
Rebecca Wheeler's avatar
Rebecca Wheeler committed
                    "type": "object",
                    "properties": {
                      "status": {
                        "type": "integer",
                        "example": 400
                      },
                      "title": {
                        "type": "string",
                        "example": "Error title"
                      },
                      "detail": {
                        "type": "string",
                        "example": "Additional details about the error"
                      },
                      "links": {
                        "type": "object"
                      },
                      "meta": {
                        "type": "object"
                      },
                      "source": {
                        "type": "object"
                      }
Rebecca Wheeler's avatar
Rebecca Wheeler committed
                    }
Rebecca Wheeler's avatar
Rebecca Wheeler committed
                }
Rebecca Wheeler's avatar
Rebecca Wheeler committed
            },
            "examples": {
              "not-found-example": {
                "value": {
                  "errors": [
                    {
                      "status": 429,
                      "title": "Too Many Requests",
                      "detail": "The quota has been exceeded."
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "unauthorized": {
        "description": "Incorrect or expired OAuth token.",
        "content": {
          "application/vnd.api+json": {
            "schema": {
              "type": "object",
              "properties": {
                "errors": {
                  "type": "array",
                  "items": {
                    "description": "An error",
                    "type": "object",
                    "properties": {
                      "status": {
                        "type": "integer",
                        "example": 400
                      },
                      "title": {
                        "type": "string",
                        "example": "Error title"
                      },
                      "detail": {
                        "type": "string",
                        "example": "Additional details about the error"
                      },
                      "links": {
                        "type": "object"
                      },
                      "meta": {
                        "type": "object"
                      },
                      "source": {
                        "type": "object"
                      }
                    }
                  }
Rebecca Wheeler's avatar
Rebecca Wheeler committed
                }
Rebecca Wheeler's avatar
Rebecca Wheeler committed
            },
            "examples": {
              "unauthorized-response": {
                "value": {
                  "errors": [
                    {
                      "status": 401,
                      "title": "Unauthorized",
                      "detail": "Invalid OAuth authentication - InvalidAccessToken"
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "internal-server-error": {
        "description": "An unexpected error.",
        "content": {
          "application/vnd.api+json": {
            "schema": {
              "type": "object",
              "properties": {
                "errors": {
                  "type": "array",
                  "items": {
                    "description": "An error",
Rebecca Wheeler's avatar
Rebecca Wheeler committed
                    "type": "object",
                    "properties": {
                      "status": {
                        "type": "integer",
                        "example": 400
                      },
                      "title": {
                        "type": "string",
                        "example": "Error title"
                      },
                      "detail": {
                        "type": "string",
                        "example": "Additional details about the error"
                      },
                      "links": {
                        "type": "object"
                      },
                      "meta": {
                        "type": "object"
                      },
                      "source": {
                        "type": "object"
                      }
Rebecca Wheeler's avatar
Rebecca Wheeler committed
                    }
Rebecca Wheeler's avatar
Rebecca Wheeler committed
                }
Rebecca Wheeler's avatar
Rebecca Wheeler committed
            },
            "examples": {
              "not-found-example": {
                "value": {
                  "errors": [
                    {
                      "status": 500,
                      "title": "Internal Server Error",
                      "detail": "Something went wrong in the server-side."
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "bad-request": {
        "description": "A bad request.",
        "content": {
          "application/vnd.api+json": {
            "schema": {
              "type": "object",
              "properties": {
                "errors": {
                  "type": "array",
                  "items": {
                    "description": "An error",
Rebecca Wheeler's avatar
Rebecca Wheeler committed
                    "type": "object",
                    "properties": {
                      "status": {
                        "type": "integer",
                        "example": 400
                      },
                      "title": {
                        "type": "string",
                        "example": "Error title"
                      },
                      "detail": {
                        "type": "string",
                        "example": "Additional details about the error"
                      },
                      "links": {
                        "type": "object"
                      },
                      "meta": {
                        "type": "object"
                      },
                      "source": {
                        "type": "object"
                      }
Rebecca Wheeler's avatar
Rebecca Wheeler committed
                    }
Rebecca Wheeler's avatar
Rebecca Wheeler committed
                }
              }
            },
            "examples": {
              "application/vnd.api+json": {
                "value": {
                  "errors": [
                    {
                      "id": null,
                      "links": {},
                      "meta": {},
                      "source": {},
                      "status": 400,
                      "title": "Bad Request",
                      "detail": "Invalid properties in query parameters - resource type 'people' has no attribute 'invalid'."
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "parameters": {
      "id": {
        "name": "id",
        "description": "ID of a person. This parameter should not be manually built/concatenated, but instead be used by following the fully-formed links returned in an API response. To get a person by an ID, use query parameters to search by a specific identifier. Example: /people?filter[identifiers.name]=netId&filter[identifiers.value]=bbadger",
        "in": "path",
        "example": "700",
        "required": true,
        "schema": {
          "type": "string",
          "description": "An ephemeral identifier used only in the Person API to adhere to the [JSON:API specification](https://jsonapi.org/format/#document-resource-object-identification). This ID may change if a person is split into two people or two people are merged into one person. This ID is used for paginating results or following other links returned in the API response. This ID should not be stored in a consuming system. Concatenating parts of the URL to form a link is discouraged. Instead, use the fully-formed links returned in an API response.",
          "example": "12345"
        }
      },
      "nameId": {
        "name": "nameId",
        "description": "ID of a name. This parameter should not be manually built/concatenated, but instead be used by following the fully-formed links returned in an API response.",
        "in": "path",
        "example": "710",
        "required": true,
        "schema": {
          "type": "string",
          "example": "12345",
          "description": "Ephemeral ID used to adhere to the JSON:API specification. This ID should not be stored."
        }
      },
      "webhookId": {
        "name": "webhookId",
        "description": "ID of a webhook. This parameter should not be manually built/concatenated, but instead be used by following the fully-formed links returned in an API response.",
        "in": "path",
        "example": "100",
        "required": true,
        "schema": {
          "type": "string",
          "example": "12345",
          "description": "Ephemeral ID used to adhere to the JSON:API specification. This ID should not be stored."
        }
      },
      "filterId": {
        "name": "filterId",
        "description": "ID of a webhook filter. This parameter should not be manually built/concatenated, but instead be used by following the fully-formed links returned in an API response.",
        "in": "path",
        "example": "100",
        "required": true,
        "schema": {
          "type": "string",
          "example": "12345",
          "description": "Ephemeral ID used to adhere to the JSON:API specification. This ID should not be stored."
        }
      },
      "relationshipFilterId": {
        "name": "relationshipFilterId",
        "description": "ID of a webhook relationship filter. This parameter should not be manually built/concatenated, but instead be used by following the fully-formed links returned in an API response.",
        "in": "path",
        "example": "100",
        "required": true,
        "schema": {
          "type": "string",
          "example": "12345",
          "description": "Ephemeral ID used to adhere to the JSON:API specification. This ID should not be stored."
        }
      },
      "exportId": {
        "name": "exportId",
        "description": "ID of an export. This parameter should not be manually built/concatenated, but instead be used by following the fully-formed links returned in an API response.",
        "in": "path",
        "example": "100",
        "required": true,
        "schema": {
          "type": "string",
          "example": "12345",
          "description": "Ephemeral ID used to adhere to the JSON:API specification. This ID should not be stored."
        }
      },
      "filter": {
        "name": "filter",
        "in": "query",
        "description": "Filter results of query using the [filter query parameter family](https://jsonapi.org/recommendations/#filtering). Refer to the [Person API Documentation](/person-api/filter-query-parameter) for more information about the `filter` query param.",
        "required": false,
        "style": "deepObject",
        "explode": true,
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "attribute": {
              "type": "string",
              "example": "firstName"
            }
          }
        }
      },
      "include": {
        "name": "include",
        "in": "query",
        "description": "[include related resources](https://jsonapi.org/format/#fetching-includes). The resources to include need to be direct relationships. Nested relationships are not supported. For example, `include=jobs,identifiers` is supported but `include=person.jobs` is not supported.",
        "schema": {
          "type": "string"
        }
      },
      "fields": {
        "name": "fields",
        "in": "query",
        "description": "Specify the list of fields you would like to return for each resource type.  For example, `fields[people]=firstName,lastName` will just return the names for people.  If you are including related resources with 'includes' you can also specify fields on those resources as well.  For example, `includes=jobs&fields[people]=jobs&fields[jobs]=title` will just return titles for jobs.  See [Sparse Fieldsets](https://jsonapi.org/format/#fetching-sparse-fieldsets) for more details.",
        "required": false,
        "style": "deepObject",
        "explode": true,
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "type": {
              "type": "string",
              "example": "people"
            }
          }
        }
      },
      "page": {
        "name": "page",
        "in": "query",
        "description": "Define options for pagination of responses. For example, `page[size]=5&page[after]=400&page[before]=800` will return a response with data about 5 people whose `id` value falls after `400` but before `800`. So `page[size]` determines the number of people resources in a response, `page[after]` is the ID of the person at the end of the previous page, `page[before]` is the ID of the person at the start of the next page. Offset pagination is also supported using `page[number]` parameter (example: `page[number]=4&page[size]=10`), but it is disabled by default. The `page[number]` determines the page to display. Offset pagination has significantly worse performance than cursor pagination, so it should only be used by applications that can't support cursor pagination. Contact the developers if you would like to enable it.",
        "required": false,
        "style": "deepObject",
        "explode": true,
        "schema": {
          "type": "object",
          "properties": {
            "size": {
              "type": "integer",
              "example": 50,
              "maximum": 1000,
              "minimum": 1,
              "default": 100,
              "description": "Size of page for paginated results."
            },
            "after": {
              "type": "string",
              "description": "An ephemeral identifier used only in the Person API to adhere to the [JSON:API specification](https://jsonapi.org/format/#document-resource-object-identification). This ID may change if a person is split into two people or two people are merged into one person. This ID is used for paginating results or following other links returned in the API response. This ID should not be stored in a consuming system. Concatenating parts of the URL to form a link is discouraged. Instead, use the fully-formed links returned in an API response.",
              "example": "12345"
            },
            "before": {
              "type": "string",
              "description": "An ephemeral identifier used only in the Person API to adhere to the [JSON:API specification](https://jsonapi.org/format/#document-resource-object-identification). This ID may change if a person is split into two people or two people are merged into one person. This ID is used for paginating results or following other links returned in the API response. This ID should not be stored in a consuming system. Concatenating parts of the URL to form a link is discouraged. Instead, use the fully-formed links returned in an API response.",
              "example": "12345"
            },
            "number": {
              "type": "integer",
              "example": 1,
              "minimum": 1,
              "description": "Page number for paginated results. This parameter is disabled by default. Contact the developers if you would like to enable it."
Rebecca Wheeler's avatar
Rebecca Wheeler committed
            }
Rebecca Wheeler's avatar
Rebecca Wheeler committed
        }
Rebecca Wheeler's avatar
Rebecca Wheeler committed
    }
Rebecca Wheeler's avatar
Rebecca Wheeler committed
}