Skip to content

Retrieve User Schema

Description

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

Method

Backendless.UserService.describeUserClass(): Promise<Object[]>;
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 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 );
  });