Retrieve User Schema¶
Description¶
This operation retrieves a list of the properties associated with the user schema.
Method¶
Backendless.UserService.describeUserClass(): Promise<Object[]>;
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 | trueif 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 initialize the app with the Backendless.initApp( appId, apiKey ) call
Backendless.UserService.describeUserClass()
 .then( function( result ) {
    for( var i in result )
    {
      console.log( "property name - " + result[ i ].name );
      console.log( "\tis property required - " + result[ i ].required );
      console.log( "\tproperty data type - " + result[ i ].type );
      console.log( "\tdefault value - " + result[ i ].defaultValue );
      console.log( "\tis property identity - " + result[ i ].identity );
   }
  })
 .catch( function( err ) {
    console.log( "server returned an error " + err.message );
  });