JSON Schema: User

URI Template

/users

Properties

- (string) uri

- (string (max length: 255)) username

- (string (max length: 255)) name

- (string) source

- (boolean) is_system_user

- (object) permissions

- (array (JSONModel(:group) uri)) groups

- (string (max length: 255)) email

- (string (max length: 255)) first_name

- (string (max length: 255)) last_name

- (string (max length: 255)) telephone

- (string (max length: 255)) title

- (string (max length: 255)) department

- (string (max length: 65000)) additional_contact

- (object) agent_record

- (boolean) is_active_user

- (boolean) is_admin

View Source


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# File 'common/schemas/user.rb', line 1

{
  :schema => {
    "$schema" => "http://www.archivesspace.org/archivesspace.json",
    "version" => 1,
    "type" => "object",
    "uri" => "/users",
    "properties" => {
      "uri" => {"type" => "string", "required" => false},

      "username" => {"type" => "string", "maxLength" => 255, "ifmissing" => "error", "minLength" => 1},
      "name" => {"type" => "string", "maxLength" => 255, "ifmissing" => "error", "minLength" => 1},
      "source" => {"type" => "string", "readonly" => true},

      "is_system_user" => {"type" => "boolean", "readonly" => true},

      "permissions" => {
        "type" => "object",
        "readonly" => true,
      },

      "groups" => {
        "type" => "array",
        "items" => {
          "type" => "JSONModel(:group) uri"
        }
      },

      "email" => {"type" => "string", "maxLength" => 255},
      "first_name" => {"type" => "string", "maxLength" => 255},
      "last_name" => {"type" => "string", "maxLength" => 255},
      "telephone" => {"type" => "string", "maxLength" => 255},
      "title" => {"type" => "string", "maxLength" => 255},
      "department" => {"type" => "string", "maxLength" => 255},
      "additional_contact" => {"type" => "string", "maxLength" => 65000},

      "agent_record" => {
        "type" => "object",
        "readonly" => true,
        "subtype" => "ref",
        "properties" => {
          "ref" => {
            "type" => [{"type" => "JSONModel(:agent_person) uri"}, {"type" => "JSONModel(:agent_software) uri"}]
            },
            "_resolved" => {
              "type" => "object",
              "readonly" => "true"
            }
          }
      },

      "is_active_user" => {"type" => "boolean", "default" => true},

      "is_admin" => {
        "type" => "boolean",
        "default" => false
      }
    },
  },
}

Plain Text Version