Here you find a list of interfaces we support and won't change without further notice.
The info
object holds the resolver info.
info.context
holds the http requestinfo.context.user
holds theUser
We can't guarantee stability for whole models. However certain fields are considered stable. Changes in non-guaranteed fields won't receive prominent mention in release notes, for example, and won't trigger a major version bump (according to semver).
For more information about a model and it's fields, please consult the source code.
All models share a common set of fields:
created_at
modified_at
created_by_user
created_by_group
history
--> manager for accessing historical records
This model contains the forms.
slug
/pk
name
description
meta
is_published
is_archived
questions
source
This model contains the questions.
slug
/pk
label
type
is_required
is_hidden
is_archived
placeholder
info_text
static_content
configuration
meta
data_source
options
row_form
sub_form
source
format_validators
min_length
max_length
max_value
min_value
Intermediary table for the Form
<--> Question
m2m.
id
/pk
form
question
sort
This model contains the options used in choice and mutliple choice questions.
slug
/pk
label
is_archived
meta
source
Intermediary table for the Question
<--> Option
m2m.
id
/pk
question
option
sort
This model contains the documents.
id
/pk
family
form
meta
This model contains the answers.
id
/pk
question
value
meta
document
documents
date
file
Intermediary table for the Answer
<--> Document
m2m used in table answers.
id
/pk
answer
document
sort
This model contains the file records used in file answers.
id
/pk
name
object_name
upload_url
download_url
metadata
This model contains tasks.
slug
/pk
name
description
type
meta
address_groups
control_groups
is_archived
form
lead_time
is_multiple_instance
calculate_deadline()
This model contains workflows.
slug
/pk
name
description
meta
is_published
is_archived
start_tasks
allow_all_forms
allow_forms
flows
This model contains flows.
id
/pk
next
This model contains task flows.
id
/pk
workflow
task
flow
This model contains cases.
id
/pk
closed_at
closed_by_user
closed_by_group
workflow
status
meta
document
This model contains work items.
id
/pk
closed_at
closed_by_user
closed_by_group
deadline
task
status
meta
addressed_groups
controlling_groups
assigned_users
case
child_case
document
The user models are special in Caluma, as they are not stored in the database, but only available during the lifetime of a request.
claims
username
groups
token
is_authenticated
group
All the schemas:
caluma_data_source.schema
caluma_form.schema
caluma_workflow.schema
You can include the graphql
endpoint into your urls.py
from caluma.caluma_core.urls
.
Further information about extensions and their utilities can be found here.
For completeness, they are listed here:
caluma_core.mutation.Mutation
caluma_core.permissions.AllowAny
caluma_core.permissions.BasePermission
caluma_core.permissions.object_permission_for
caluma_core.permissions.permission_for
caluma_core.validations.BaseValidation
caluma_core.validations.validation_for
caluma_core.visibilities.Any
caluma_core.visibilities.BaseVisibility
caluma_core.visibilities.filter_queryset_for
caluma_core.visibilities.Union
caluma_data_source.data_source.BaseDataSource
caluma_data_source.utils.data_source_cache
caluma_user.permissions.CreatedByGroup
caluma_user.permissions.IsAuthenticated
caluma_user.visibilities.Authenticated
caluma_user.visibilities.CreatedByGroup
caluma_workflow.visibilities.AddressedGroups
You can also use the full business logic that is provided by the GraphQL API in your application that installs Caluma as a django app:
caluma_form.api.save_answer
To save an answer for give question, documentcaluma_form.api.save_document
To save an documentcaluma_workflow.api.start_case
To start a new case of a given workflowcaluma_workflow.api.cancel_case
To cancel a casecaluma_workflow.api.suspend_case
To suspend a casecaluma_workflow.api.resume_case
To resume a casecaluma_workflow.api.complete_work_item
To complete a work itemcaluma_workflow.api.skip_work_item
To skip a work itemcaluma_workflow.api.cancel_work_item
To cancel a work itemcaluma_workflow.api.suspend_work_item
To suspend a work itemcaluma_workflow.api.resume_work_item
To resume a work item