Session initialisation
function getForm(_formId : text) do
first(select Form where 'Form ID' = _formId)
end;
function getSubmission(_formId : text,_submissionId : text) do
first(select Session where Form.'Form ID' = _formId and 'Session Id' = _submissionId)
end;
function getOrCreateSubmission(_formId : text,_submissionId : text) do
let s := getSubmission(_formId, _submissionId);
if s = null then
let form := getForm(_formId);
let newSubmission := (create Session);
newSubmission.(Form := form);
newSubmission.('Session Id' := generateRandomSubmissionId());
record(Session,number(newSubmission))
else
record(Session,number(s))
end
function initSession(_formId : text) do
"Expected Response";
let submission := getOrCreateSubmission(_formId, "");
{
submissionId: submission.'Session Id'
}
end;Last updated