Skip to main content

Core

Core is the built-in app that provides the default functionality for your App. There are some common data types required for different applications. Core has built-in those types for you.

Core is always on the left side of the User Interface of Hypi as a dependency. You need not add it manually.

Let’s look at different data types available in the Core.

Data Types in Core

In built data types help in building the application quickly. Below is the list of data types under Core system app.

AccessToken

When the user logs into his account, the AccessToken object gets generated holding session details.

Field NameField typeDescription
sessionTokenStringAuthorization Token needed to perform various actions like Query/Mutation
sessionExpiresLongSession Expiry Time
errorCodeStringLogin Error Code
errorMsgStringLogin Error Message

Account

This data type holds the account details. When a user creates an account, he can store his account details.

Field NameField typeDescription
verifiedBooleanAccount is verified or not
enabledBooleanAccount enable/disable
usernameStringUsername of the account
passwordPasswordPassword of the account
ownerPersonPersonal Details
emailsEmailEmail Details
phonesPhonePhone Details
groupsGroupIf the account belongs to any group, store the details of the group
rolesRoleIf the account holds any Role, store the details
attemptsLoginAttemptThe login attempts to the account get updated
remoteLoginsRemoteLoginRemote Login Status

Password

Password details of an account.

Field NameField typeDescription
valueStringPassword value stored with Encryption
expiredBooleanPassword Expiry status

Person

Personal Details of an Account.

Field NameField typeDescription
dobDateTimeDate of Birth
genderGenderGender
avatarImagePhoto Image
namesPersonNameFirstname/lastname
addressesAddressAddress details
phonesPhonePhone Details
rolesPairRole details
preferencesPairPreference details

PersonName, Address, Country, Language, Currency, Phone data types are also available. The fields of these tables are self-explanatory. You may check the field details on the user interface.

URL

Details of a URL

Field NameField typeDescription
pathStringURL path
queryParamsJSONQuery Parameters of the URL
portIntPort details
hostStringHost of the url

GeoEnvelope

Latitude and Longitude details of a location.

Field NameField typeDescription
p1CoordinateLatitude coordinates
p2CoordinateLongitude coordinates

Coordinate

Coordinates of a location.

Field NameField typeDescription
xFloatx coordinates
yFloaty coordinates

Pair

This data type acts as a mapping between key-value pairs.

Field NameField typeDescription
keyStringkey of the pair
valueStringValue of the pair

Counter

This data type provides Counter functionality.

Field NameField typeDescription
nameStringName of the Counter
labelStringLabel of the counter
valueFloatValue
tagsStringAssociated tags

Email

This data type holds the Email details of an account. When the Email value is entered, it provides an internal validation to check for proper Email format.

Field NameField typeDescription
valueStringEmail Address value
typeStringType of Email: Work/Personal etc.

EmailMessage

This data type holds the content of an Email Message.

Field NameField typeDescription
fromEmailEmail Message from (Email ID)
subjectStringSubject of the Email
templateStringTemplate of the Email
textStringText content
htmlStringHTML message
deliveryTimeDateTimeDelivery time of the message
requireTlsBooleanRequired time
skipVerificationBooleanVerification should be skipped or not
headersJsonHeader of the Email
variablesJsonEmail Variables
recipientVariablesJsonRecipients
toEmailTo Email ID
ccEmailCc Email ID
bccEmailBcc Email ID
attachmentFileAttachment file object
InlineFileInline file object
tagsStringTags of the Email
responsesEmailSendingAttemptEmail response

LogMessage

Logs of the messages can be stored in this data type.

Field NameField typeDescription
levelLogLevelLog Level
messageStringLog message
stackTraceStringTracing the stack related to the log
releaseIdStringreleaseId of the application logging the message
typeStringType of Log
workflowStringWorkflow associated with Log

Enumerations

The core system app also contains in-built Enumerations types. Few enums are described below.

enum Gender {
MALE
FEMALE
OTHER
RATHER_NOT_SAY
}

enum TimeUnit {
SECONDS
MINUTES
HOURS
DAYS
}

enum OpType {
Query
Mutation
Subscription
}

enum EventType {
CREATED
#An event type indicating that the cache entry was created.
UPDATED
#An event type indicating that the cache entry was updated.i.e. a previous mapping existed
REMOVED
#An event type indicating that the cache entry was removed.
EXPIRED
#An event type indicating that the cache entry has expired.
}

enum EmailEventType {
delivered
#Hypi sent the email and it was accepted by the recipient email server.
failed
#Hypi could not deliver the email to the recipient email server.
}

enum LogLevel {
DEBUG
INFO
WARN
ERROR
}