βš™οΈ
API Reference
  • Introduction
  • Features
  • Roadmaps & Requests
  • Frequently Asked Questions
  • Release notes
  • πŸ’‘START HERE
    • Terminology
    • Identity and Access Management (IAM)
      • Overview
      • Users in IAM
      • Policies in IAM
      • Roles in IAM
      • Security best practices
    • Dynamic Objects
      • Object Definition
      • Field Definition
      • Data Validation
      • Data Security
        • Encryption
      • Version Control
      • Audit Logs
    • System Architecture Diagram
    • How-To Guides
      • Clinic Project
  • πŸ”ŒCORE API Reference
    • Overview
    • Auth
    • Projects
    • Organization
    • Users
    • Roles
    • Policies
    • Objects
    • Item
    • Files
    • Notifications
    • API Request History
    • Auto-Documentation
    • Branches & Merging
    • API Performance
  • ☁️[Coming SOON] YOUR ACCELERATOR PLATFORM ACCOUNT
    • Help and Support
    • Account Page
    • Billing
    • Upgrading an Instance
    • Adjust Server Performance
    • Custom Domain
    • Change Server Region
    • Manage Team
    • API Rate Limit
    • Developer API
  • πŸ”“SECURITY AND COMPLIANCE
    • Best Practices
    • SOC 2 Type 2 & SOC 3
    • GDPR
    • HIPAA
    • ISO 27001:2013
    • ISO 9001:2015
    • Penetration Testing
  • Accelerator Platform - Core APIs
  • Identity and Access Management
Powered by GitBook
On this page
  1. START HERE
  2. Dynamic Objects

Object Definition

PreviousDynamic ObjectsNextField Definition

Last updated 2 years ago

In Accelerator platform, objects are logical representations of data that can be stored and retrieved by a software application. Object metadata, which defines the attributes of the object, is stored in a MongoDB collection called "objects" within the organization database.

When creating an object, users can add fields to the object, defining the data types and properties of the field. In addition, users can define validation rules and business logic for each field, ensuring that the data stored in the object is accurate and consistent.

The validation rules and business logic are defined using scripts that are executed by the Accelerator platform. These scripts can check that the data being entered into the object meets specific criteria, such as ensuring that a field contains a valid email address or that a field value is within a specified range. The scripts can also perform more complex operations, such as manipulating data in one field based on the value of another field.

Overall, objects provide a flexible and powerful way to store and manage data within a software application. By defining the structure of the data and allowing for validation and business logic, objects help to ensure that the data stored in the software application is accurate, consistent, and meaningful.

Below are the list of the attributes or fields that Accelerator platform offers :

Field
Data Type
Description

_id

ObjectId

This is the unique identifier of the object.

name

String

Every Object name is unique in an organization. It should be in the camelCase format. We can use this name to get data from the object.

label

String

This describes the object

containsUsers

Boolean

This is an optional attribute. However, if the objective is to store additional user information in an Object, then this value must be set to true. This will allow the user to create an Item in the object in which the _id will be the same as the logged-in user, thereby enforcing a one-to-one relationship between the β€˜users’ collection in the auth database and the item collection of the object.

enableVersionHistory

Boolean

When this optional field is set to true, the system generates a read-only array field named '_versionHistory' and a read-only string field named '_version' within each item of the Object. The '_version' field begins with '1.0' and increments by 0.1 with each update made to the item. As a result, the previous version of the item is added to the '_versionHistory', allowing users to track the changes made to it.

fields

ObjectArray

"The 'fields' attribute is an array that contains the definitions for all the fields associated with an object. These fields have common attributes such as _id, name, label, type, and validators. The _id and name is unique within an Object. In the case of a choice field, an additional attribute called 'options' is included, which is a string array that lists all the available options.

_createdAt

Date

This is the date and time when the object was created.

_createdBy

String

This is the email of the user who created the object.

_modifiedAt

Date

This is the date and time when the object was last modified.

_modifiedBy

String

This is the email of the user who last modified the object.

_collectionName

String

This is the name of the item collection where the object data is stored. The item collection follows a specific syntax: <first_8_characters_of_object_name>_<object_id>

Example creating a object named as DocumentApprover which contains multiple Fields in it. .

// Example Object DocumentApprover
// It contains other users with a enableversionhistory set to true
{ 
  "name": "DocumentApprover",
  "label": "Document Approver",
  "containsUsers": true,
  "enableVersionHistory": true,
  "fields": [{field_obj}],   
}

πŸ’‘
Check out the list of fields here