Module: field_data

Copyright 2020 Parsable, Inc
API address: /api/field_data
Field Data contains definitions for data which is entered inside a Step Field ("Input Field" in the application). It is in its own class so it can be re-used across thrift classes.

ModuleServicesData typesConstants
field_dataFieldDataService
Action
Condition
DateRangeCondition
DeviationAction
DocumentChange
Documents
ExecutionData
FieldData
FieldLocator
FieldType
IsCompletedCondition
IsEmptyCondition
IsNACondition
LinkCondition
ListCondition
ListOptions
MatchType
MeasuredUnitNumber
MessageAction
MultiListCondition
NotificationAction
NumberConstraints
NumberRangeCondition
NumberUnit
NumberUnitConstraint
NumberUnitQuantity
NumberUnitSystem
TextCondition
Trigger
YesNoCondition

Enumerations

Enumeration: FieldType

The different types of inputs a Step can have. There is no longer a 1to1 mapping of field types to execution data fields. To make it easier to track, there will be comments after each field type indicating which execution data types it can map to.

Text1 Text that is entered
Number2 Numerical input that can have a valid range
List3 Selector list of options
Photo4
Video5
Audio6
Signature7 A person's signature
Date8 A date value, encoded as a 64-bit unix timestamp (in seconds)
YesNo9
Link10 A url string. Will be validated for proper formatting
MultiSelectList11
File12
CompactList13 CompactList can only have two options and each option must be under 20 characters It will be displayed in a flattened/compacted form for faster execution
DateTime14
Integration15

Enumeration: NumberUnitSystem

SI unit system type

Standard1
Imperial2
Alternative3

Enumeration: MatchType


None1
Any2
All3

Data structures

Struct: NumberUnit

KeyFieldTypeDescriptionRequirednessDefault value
1idcommon.UUIDdefault
2namestringdefault
3symbolstringdefault

SI unit type for number inputs

Struct: MeasuredUnitNumber

KeyFieldTypeDescriptionRequirednessDefault value
1numbercommon.PreciseNumberdefault
2unitNumberUnitoptional

SI unit number for number execution input

Struct: DocumentChange

KeyFieldTypeDescriptionRequirednessDefault value
1addedIdslist<string>optional
2removedIdslist<string>optional

The set of documents that have changed for merging with the backend

Struct: Documents

KeyFieldTypeDescriptionRequirednessDefault value
1documentIdslist<common.UUID>optional

There is a bug in golang thrift that doesn't support list in unions need to use this wrapper

Union: ExecutionData

KeyFieldTypeDescriptionRequirednessDefault value
1textstringoptional
2numberdoubleoptional
3optionstringoptional
4photostringoptional
5videostringoptional
6audiostringoptional
7signaturestringoptional
8datei64optional
9yesNobooloptional
10preciseNumbercommon.PreciseNumberoptional
11linkstringoptional
12selectedListValuescommon.SelectedListValuesoptional
13filestringoptional
14unitNumberMeasuredUnitNumberoptional
15documentsDocumentsoptional
16documentChangeDocumentChangeoptional

Union representing the various field input types Don't confuse with various ExecutionData types in job.thrift [VR] This is a slight misnomer. FieldEntry might've been a better name [VR] Since there is no longer a 1to1 mapping of field types to execution data fields, there will be comments indicating which field types maps to each exection data type

Union: NumberUnitConstraint

KeyFieldTypeDescriptionRequirednessDefault value
1quantityIdcommon.UUIDdefault
2unitIdcommon.UUIDdefault

Constraint on number unit execution selection between a quantity type (containing a list of units) and an exact unit

Struct: NumberConstraints

KeyFieldTypeDescriptionRequirednessDefault value
1rangeStartdoubleDeprecated. Use preciseStart and preciseEnd instead optional
2rangeEnddoubleoptional
4preciseStartcommon.PreciseNumberDeprecated. These replace rangeStart and rangeEnd going forward optional
5preciseEndcommon.PreciseNumberoptional
7rangeLowWrapperreference.NumberWrapperUse these wrappers instead of preciseStart and preciseEnd optional
8rangeHighWrapperreference.NumberWrapperoptional
3unitstringdeprecated, use unitWrapper or numberUnit optional
6unitWrapperreference.StringWrapperoptional
9numberUnitConstraintNumberUnitConstraintoptional

Limits on a numerical input

Struct: ListOptions

KeyFieldTypeDescriptionRequirednessDefault value
1optionslist<string>each option has a character limit of common.MAX_LIST_OPTION_LENGTH default

Options in an option list

Union: FieldData

KeyFieldTypeDescriptionRequirednessDefault value
1numberConstraintsNumberConstraintsdefault
2listOptionsListOptionsdefault
3isSingleDocumentbooldefault

Union of data about an input field

Struct: NumberUnitQuantity

KeyFieldTypeDescriptionRequirednessDefault value
1idcommon.UUIDdefault
2localizedNameMapmap<string, string>Map of language code (en-US, es-MX etc.) to quantity name default
3unitsmap<NumberUnitSystem, list<NumberUnit>>default

SI unit quantity / category of measurement

Struct: ListCondition

KeyFieldTypeDescriptionRequirednessDefault value
1idcommon.UUIDdefault
2expectedOptionslist<reference.StringWrapper>default
3matchTypeMatchTypedefault

Struct: MultiListCondition

KeyFieldTypeDescriptionRequirednessDefault value
1idcommon.UUIDdefault
2expectedOptionslist<reference.StringWrapper>default
3matchTypeMatchTypedefault

Struct: TextCondition

KeyFieldTypeDescriptionRequirednessDefault value
1idcommon.UUIDdefault
2expectedValueslist<reference.StringWrapper>default
3matchTypeMatchTypedefault

Struct: LinkCondition

KeyFieldTypeDescriptionRequirednessDefault value
1idcommon.UUIDdefault
2expectedValueslist<reference.StringWrapper>default
3matchTypeMatchTypedefault

Struct: NumberRangeCondition

KeyFieldTypeDescriptionRequirednessDefault value
1idcommon.UUIDdefault
2lessThanWrapperreference.NumberWrapperoptional
3lessThanIsInclusivebooloptional
4greaterThanWrapperreference.NumberWrapperoptional
5greaterThanIsInclusivebooloptional
6exactMatcheslist<reference.NumberWrapper>optional

Struct: DateRangeCondition

KeyFieldTypeDescriptionRequirednessDefault value
1idcommon.UUIDdefault
2beforeDatei64optional
3beforeDateIsInclusivebooloptional
4afterDatei64optional
5afterDateIsInclusivebooloptional
6exactMatcheslist<i64>optional
7timezonestringoptional

Struct: YesNoCondition

KeyFieldTypeDescriptionRequirednessDefault value
1yesNobooldefault

Struct: IsNACondition

KeyFieldTypeDescriptionRequirednessDefault value
1isNAbooldefault

Struct: IsCompletedCondition

KeyFieldTypeDescriptionRequirednessDefault value
1isCompletedbooldefault

Struct: IsEmptyCondition

KeyFieldTypeDescriptionRequirednessDefault value
1isEmptybooldefault

Union: Condition

KeyFieldTypeDescriptionRequirednessDefault value
1listConditionListConditiondefault
2multiListConditionMultiListConditiondefault
3textConditionTextConditiondefault
4linkConditionLinkConditiondefault
5numberRangeConditionNumberRangeConditiondefault
6dateRangeConditionDateRangeConditiondefault
7yesNoConditionYesNoConditiondefault
8isNaConditionIsNAConditiondefault
9isCompletedConditionIsCompletedConditiondefault
10isEmptyConditionIsEmptyConditiondefault

Struct: DeviationAction

KeyFieldTypeDescriptionRequirednessDefault value
1sendDeviationbooldefault

Struct: NotificationAction

KeyFieldTypeDescriptionRequirednessDefault value
1idcommon.UUIDdefault
2notificationTemplatesFieldlist<notification_template.NotificationTemplateField>default

Struct: MessageAction

KeyFieldTypeDescriptionRequirednessDefault value
1idcommon.UUIDdefault
2icongroup_headers.NoticeIconoptional
3descripWrapperreference.StringWrapperdefault

Union: Action

KeyFieldTypeDescriptionRequirednessDefault value
1deviationActionDeviationActiondefault
2notificationActionNotificationActiondefault
3messageActionMessageActiondefault

Struct: Trigger

KeyFieldTypeDescriptionRequirednessDefault value
1idcommon.UUIDdefault
2conditionConditiondefault
3actionslist<Action>default

Struct: FieldLocator

KeyFieldTypeDescriptionRequirednessDefault value
1fieldIdcommon.UUIDdefault
2jobBaseStepIdcommon.UUIDdefault

NOTHML Since execution data site are unique input fields, and fields need the job-base-step-id to disambiguate, locating a site requires both ids

Services

Service: FieldDataService

Function: FieldDataService.getNumberUnits

list<NumberUnitQuantity> getNumberUnits(common.UUID teamId)
    throws common.SystemException
Get all pre-defined measurement units