Methods
(static) createNewEnketoId(idopt, triesRemainingopt) → {Promise.<(Error|string|Promise)>}
- Source:
Generates a new random Enketo ID that has not been used yet, or checks whether a provided id has not been used. 8 characters keeps the chance of collisions below about 10% until about 10,000,000 IDs have been generated
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
id |
string |
<optional> |
This is only really included to write tests for collissions or a future "vanity ID" feature |
triesRemaining |
number |
<optional> |
Avoid infinite loops when collissions become the norm. |
Returns:
a Promise that resolves with a new unique Enketo ID
- Type
- Promise.<(Error|string|Promise)>
(static) get(id) → {Promise.<SurveyObject>}
- Source:
Returns the information stored in the database for an enketo id.
Parameters:
Name | Type | Description |
---|---|---|
id |
string | Survey ID |
Returns:
Promise that resolves with a survey object
- Type
- Promise.<SurveyObject>
(static) getId(survey) → {Promise.<(Error|null|string)>}
- Source:
Parameters:
Name | Type | Description |
---|---|---|
survey |
module:survey-model~SurveyObject | survey object |
Returns:
Promise that resolves with survey ID
- Type
- Promise.<(Error|null|string)>
(static) getList(server) → {Promise.<(Error|Array.<SurveyObject>)>}
- Source:
Parameters:
Name | Type | Description |
---|---|---|
server |
string | Server URL |
Returns:
Promise that resolves with a list of SurveyObjects
- Type
- Promise.<(Error|Array.<SurveyObject>)>
(static) getNumber(server) → {Promise.<(Error|string|number)>}
- Source:
Parameters:
Name | Type | Description |
---|---|---|
server |
string | Server URL |
Returns:
Promise that resolves with number of surveys
- Type
- Promise.<(Error|string|number)>
(static) incrementSubmissions(id) → {Promise.<(Error|string)>}
- Source:
Parameters:
Name | Type | Description |
---|---|---|
id |
string | Survey ID |
Returns:
Promise that eventually resolves with survey ID
- Type
- Promise.<(Error|string)>
(static) set(survey) → {Promise.<(Error|string)>}
- Source:
Function for updating or creating a survey
Parameters:
Name | Type | Description |
---|---|---|
survey |
SurveyObject | survey object |
Returns:
Promise that eventually resolves with Survey ID
- Type
- Promise.<(Error|string)>
(static) update(survey) → {Promise.<(Error|string)>}
- Source:
Parameters:
Name | Type | Description |
---|---|---|
survey |
module:survey-model~SurveyObject | survey object |
Returns:
Promise that resolves with survey ID
- Type
- Promise.<(Error|string)>
(inner) _404Empty(error) → {object}
- Source:
Parameters:
Name | Type | Description |
---|---|---|
error |
Error | error object |
Returns:
Empty object for 404
errors; throws normally for other
- Type
- object
(inner) _addSurvey(openRosaKey, survey) → {Promise.<(Error|string)>}
- Source:
Parameters:
Name | Type | Description |
---|---|---|
openRosaKey |
string | |
survey |
module:survey-model~SurveyObject | survey object |
Returns:
Promise that eventually resolves with survey ID
- Type
- Promise.<(Error|string)>
(inner) _ascendingLaunchDate(a, b) → {number}
- Source:
Function for launch date comparison
Parameters:
Name | Type | Description |
---|---|---|
a |
module:survey-model~SurveyObject | a survey object |
b |
module:survey-model~SurveyObject | a survey object |
Returns:
difference in launch date as a number
- Type
- number
(inner) _getActiveSurveys(openRosaIds) → {Promise.<SurveyObject>}
- Source:
Parameters:
Name | Type | Description |
---|---|---|
openRosaIds |
Array.<string> | A list of |
Returns:
a Promise that resolves with a list of survey objects
- Type
- Promise.<SurveyObject>
(inner) _getEnketoId(openRosaKey) → {Promise.<(Error|null|string)>}
- Source:
Parameters:
Name | Type | Description |
---|---|---|
openRosaKey |
string | database key of survey |
Returns:
Promise that resolves with survey ID
- Type
- Promise.<(Error|null|string)>
(inner) _nonEmpty(survey) → {boolean}
- Source:
Parameters:
Name | Type | Description |
---|---|---|
survey |
module:survey-model~SurveyObject | survey object |
Returns:
Whether survey has openRosaId
- Type
- boolean
(inner) _updateProperties(id, survey) → {Promise.<(Error|string)>}
- Source:
Parameters:
Name | Type | Description |
---|---|---|
id |
string | Survey ID |
survey |
module:survey-model~SurveyObject | New survey |
Returns:
Promise that resolves with survey ID
- Type
- Promise.<(Error|string)>
Type Definitions
EnketoTransformerPreprocess(doc) → {XMLJSDocument}
- Source:
Parameters:
Name | Type | Description |
---|---|---|
doc |
XMLJSDocument |
Returns:
- Type
- XMLJSDocument
ManifestItem
- Source:
Properties:
Name | Type | Description |
---|---|---|
downloadUrl |
string | |
filename |
string | |
hash |
string |
SurveyCredentials
- Source:
Properties:
Name | Type | Description |
---|---|---|
user |
string | |
pass |
string | |
bearer |
string |
SurveyExternalData
- Source:
Properties:
Name | Type | Description |
---|---|---|
id |
string | |
src |
string | |
xml |
string | Document |
SurveyInfo
- Source:
Properties:
Name | Type | Description |
---|---|---|
downloadUrl |
string | |
manifestUrl |
string |
SurveyObject
- Source:
Properties:
Name | Type | Attributes | Description |
---|---|---|---|
openRosaServer |
string | ||
openRosaId |
string | ||
enketoId |
string | ||
theme |
string | ||
info |
SurveyInfo |
<optional> |
|
account |
AccountObj |
<optional> |
|
active |
boolean | 'true' | 'false' |
<optional> |
|
cookie |
string |
<optional> |
|
credentials |
SurveyCredentials |
<optional> |
|
customParam |
string |
<optional> |
|
externalData |
Array.<(SurveyExternalData|undefined)> |
<optional> |
|
form |
string |
<optional> |
|
formHash |
string |
<optional> |
|
instance |
EnketoRecord |
<optional> |
|
instanceAttachments |
Array.<(string|object)> |
<optional> |
|
instanceId |
string |
<optional> |
|
lastSavedRecord |
EnketoRecord |
<optional> |
|
languageMap |
Record.<string, unknown> |
<optional> |
|
manifest |
Array.<ManifestItem> |
<optional> |
|
model |
string |
<optional> |
|
preprocess |
EnketoTransformerPreprocess |
<optional> |
|
returnUrl |
string |
<optional> |
|
xslHash |
string |
<optional> |
SurveyObject
is Enketo's internal representation of an XForm, with some
additional properties representing resolved/deserialized external data.
This type definition captures the current state of "what is"—i.e. the full
known set of properties which may be added to a SurveyObject
through
several data flow paths throught enketo-express. Some related resources,
notably those describing instances, are only populated in paths specific
to the interaction between a SurveyObject
and those resources.