Skip to content

Retrieve User Schema

Description

This operation retrieves a list of the properties associated with the user schema.

Method

Future<List<UserProperty>> Backendless.userService.describeUserClass();

The UserProperty class is defined as:

class UserProperty {

  // Returns true if the property is marked as 'identity'
  bool identity;

  // Returns the name of the property
  String name;

  // Returns true if the property is required during user registration
  bool required;

  // Returns the data type of the property
  DateTypeEnum type;
}
Return Value

An array of UserPropertyobjects containing detailed specification of user properties (the columns in the Users table). Each object has the following properties:

[  
  {  
    "name":"emailaddress",   
    "required":true|false,   
    "type":"STRING"|"STRING_ID"|"DATETIME"|"RELATION"|"INT"|"DOUBLE",  
    "relatedTable":tableName,  
    "identity":true|false   
    "customRegex":"STRING" | null  
    "autoLoad":true|false   
    "isPrimaryKey":true|false   
  },  
  {  
    "name":"password",   
    "required":true|false,   
    "type":"STRING"|"STRING_ID"|"DATETIME"|"RELATION"|"INT"|"DOUBLE",  
    "relatedTable":tableName,  
    "identity":true|false   
    "customRegex":"STRING" | null  
    "autoLoad":true|false   
    "isPrimaryKey":true|false   
  }  
]

where

Argument                Description
name Name of the property/column in the Users table.
required Indicates whether the property is required for user registration.
type Property data type.
defaultValue Default value of the property. The value is used if it is not provided during the registration API call.
identity Indicates whether the property is marked as user identity.
relatedTable If type is "RELATION", contains the name of the related table.
customRegex A regular expression assigned to the column as a validator. The validator applies when a new object is saved in the table or an existing one is updated.
autoLoad Applies only to relations. If true, the property is set to auto-load related data for the data retrieval queries.
isPrimaryKey true if the column is or is a part of a primary key.

Example

The example below retrieves a list of the properties associated with the user schema.

// do not forget to call Backendless.initApp when your app initializes
Backendless.userService.describeUserClass().then((properties) {
  for (UserProperty userProp in properties) {
    print("Property name - ${userProp.name}");
    print("\trequired - ${userProp.required}");
    print("\tidentity - ${userProp.identity}");
    print("\tdata type - ${userProp.type}");
  }
});