Here you find a list of interfaces we support and won't change without further notice.
The info object holds the resolver info.
info.contextholds the http requestinfo.context.userholds 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_atmodified_atcreated_by_usercreated_by_grouphistory--> manager for accessing historical records
This model contains the forms.
slug/pknamedescriptionmetais_publishedis_archivedquestionssource
This model contains the questions.
slug/pklabeltypeis_requiredis_hiddenis_archivedplaceholderinfo_textstatic_contentconfigurationmetadata_sourceoptionsrow_formsub_formsourceformat_validators
min_lengthmax_lengthmax_valuemin_value
Intermediary table for the Form <--> Question m2m.
id/pkformquestionsort
This model contains the options used in choice and mutliple choice questions.
slug/pklabelis_archivedmetasource
Intermediary table for the Question <--> Option m2m.
id/pkquestionoptionsort
This model contains the documents.
id/pkfamilyformmeta
This model contains the answers.
id/pkquestionvaluemetadocumentdocumentsdatefile
Intermediary table for the Answer <--> Document m2m used in table answers.
id/pkanswerdocumentsort
This model contains the file records used in file answers.
id/pkname
object_nameupload_urldownload_urlmetadata
This model contains tasks.
slug/pknamedescriptiontypemetaaddress_groupscontrol_groupsis_archivedformlead_timeis_multiple_instance
calculate_deadline()
This model contains workflows.
slug/pknamedescriptionmetais_publishedis_archivedstart_tasksallow_all_formsallow_forms
flows
This model contains flows.
id/pknext
This model contains task flows.
id/pkworkflowtaskflow
This model contains cases.
id/pkclosed_atclosed_by_userclosed_by_groupworkflowstatusmetadocument
This model contains work items.
id/pkclosed_atclosed_by_userclosed_by_groupdeadlinetaskstatusmetaaddressed_groupscontrolling_groupsassigned_userscasechild_casedocument
The user models are special in Caluma, as they are not stored in the database, but only available during the lifetime of a request.
claimsusernamegroupstokenis_authenticated
group
All the schemas:
caluma_data_source.schemacaluma_form.schemacaluma_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.Mutationcaluma_core.permissions.AllowAnycaluma_core.permissions.BasePermissioncaluma_core.permissions.object_permission_forcaluma_core.permissions.permission_forcaluma_core.validations.BaseValidationcaluma_core.validations.validation_forcaluma_core.visibilities.Anycaluma_core.visibilities.BaseVisibilitycaluma_core.visibilities.filter_queryset_forcaluma_core.visibilities.Unioncaluma_data_source.data_source.BaseDataSourcecaluma_data_source.utils.data_source_cachecaluma_user.permissions.CreatedByGroupcaluma_user.permissions.IsAuthenticatedcaluma_user.visibilities.Authenticatedcaluma_user.visibilities.CreatedByGroupcaluma_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_answerTo save an answer for give question, documentcaluma_form.api.save_documentTo save an documentcaluma_workflow.api.start_caseTo start a new case of a given workflowcaluma_workflow.api.cancel_caseTo cancel a casecaluma_workflow.api.suspend_caseTo suspend a casecaluma_workflow.api.resume_caseTo resume a casecaluma_workflow.api.complete_work_itemTo complete a work itemcaluma_workflow.api.skip_work_itemTo skip a work itemcaluma_workflow.api.cancel_work_itemTo cancel a work itemcaluma_workflow.api.suspend_work_itemTo suspend a work itemcaluma_workflow.api.resume_work_itemTo resume a work item