Serializers¶
Serializers transform models to and from JSON representations for the ReST API.
This is where you’ll find inbound data validation.
-
class
fleetingform.serializers.
FleetingActionSerializer
(instance=None, data=<class 'rest_framework.fields.empty'>, **kwargs)[source]¶ Bases:
rest_framework.serializers.ModelSerializer
-
class
Meta
[source]¶ Bases:
object
-
fields
= ['label']¶
-
model
¶ alias of
fleetingform.models.FleetingAction
-
-
class
-
class
fleetingform.serializers.
FleetingAuthSerializer
(instance=None, data=<class 'rest_framework.fields.empty'>, **kwargs)[source]¶ Bases:
drf_writable_nested.serializers.WritableNestedModelSerializer
-
class
Meta
[source]¶ Bases:
object
-
fields
= ['type', 'title', 'content', 'form_controls', 'users']¶
-
model
¶ alias of
fleetingform.models.FleetingAuth
-
-
REQUIRED_FORM_CONTROLS
= {'password', 'username'}¶
-
REQUIRED_FORM_CONTROL_DEFAULTS
= {'password': {'label': 'Password', 'name': 'password', 'required': True, 'type': 'text', 'validations': [{'type': 'max-length', 'params': {'max': 32}, 'message': 'too long.'}]}, 'username': {'label': 'Username', 'name': 'username', 'required': True, 'type': 'text'}}¶
-
class
-
class
fleetingform.serializers.
FleetingChoiceSerializer
(instance=None, data=<class 'rest_framework.fields.empty'>, **kwargs)[source]¶ Bases:
rest_framework.serializers.ModelSerializer
-
class
Meta
[source]¶ Bases:
object
-
fields
= ['value', 'text']¶
-
model
¶ alias of
fleetingform.models.FleetingChoice
-
-
class
-
class
fleetingform.serializers.
FleetingFormControlSerializer
(instance=None, data=<class 'rest_framework.fields.empty'>, **kwargs)[source]¶ Bases:
drf_writable_nested.serializers.WritableNestedModelSerializer
-
class
fleetingform.serializers.
FleetingFormSerializer
(instance=None, data=<class 'rest_framework.fields.empty'>, **kwargs)[source]¶ Bases:
drf_writable_nested.serializers.WritableNestedModelSerializer
-
class
Meta
[source]¶ Bases:
object
-
fields
= ['id', 'code', 'template', 'app', 'auth', 'url', 'short_url', 'status', 'created_on', 'opened_on', 'completed_on', 'expires_on', 'result']¶
-
model
¶ alias of
fleetingform.models.FleetingForm
-
-
create
(validated_data)[source]¶ We have a bit of extra checking around this in order to provide descriptive messages when something goes wrong, but this method is essentially just:
return ExampleModel.objects.create(**validated_data)
If there are many to many fields present on the instance then they cannot be set until the model is instantiated, in which case the implementation is like so:
example_relationship = validated_data.pop(‘example_relationship’) instance = ExampleModel.objects.create(**validated_data) instance.example_relationship = example_relationship return instance
The default implementation also does not handle nested relationships. If you want to support writable nested relationships you’ll need to write an explicit .create() method.
-
class
-
class
fleetingform.serializers.
FleetingNamespaceSerializer
(instance=None, data=<class 'rest_framework.fields.empty'>, **kwargs)[source]¶ Bases:
rest_framework.serializers.ModelSerializer
-
class
fleetingform.serializers.
FleetingTemplateSerializer
(instance=None, data=<class 'rest_framework.fields.empty'>, **kwargs)[source]¶ Bases:
drf_writable_nested.serializers.WritableNestedModelSerializer
-
class
Meta
[source]¶ Bases:
object
-
fields
= ['type', 'title', 'content', 'content_type', 'form_controls', 'params', 'actions']¶
-
model
¶ alias of
fleetingform.models.FleetingTemplate
-
-
class
-
class
fleetingform.serializers.
FleetingUserSerializer
(instance=None, data=<class 'rest_framework.fields.empty'>, **kwargs)[source]¶ Bases:
rest_framework.serializers.ModelSerializer
-
class
Meta
[source]¶ Bases:
object
-
fields
= ['username', 'password', 'email', 'phone', 'opened_on']¶
-
model
¶ alias of
fleetingform.models.FleetingUser
-
-
validate_password
(data)[source]¶ Validate an inbound password.
Passwords may only come in two formats: - a string prefixed with
plain:
- PHC string format (https://github.com/P-H-C/phc-string-format/blob/master/phc-sf-spec.md)
Plain text passwords are immediately hashed before being stored. PHC strings are checked for formatting and valid hashing type.
-
class
-
class
fleetingform.serializers.
FleetingValidationSerializer
(instance=None, data=<class 'rest_framework.fields.empty'>, **kwargs)[source]¶ Bases:
rest_framework.serializers.ModelSerializer
-
class
fleetingform.serializers.
FleetingWebhookSerializer
(instance=None, data=<class 'rest_framework.fields.empty'>, **kwargs)[source]¶ Bases:
rest_framework.serializers.ModelSerializer
-
class
Meta
[source]¶ Bases:
object
-
fields
= ['id', 'namespace', 'url', 'token', 'name', 'event']¶
-
model
¶ alias of
fleetingform.models.FleetingWebhook
-
-
class