2020-02-06 23:12:00 +00:00
|
|
|
# -*- mode: python; coding: utf-8 -*-
|
|
|
|
# Copyright (C) 2018-2020 by BDE ENS Paris-Saclay
|
|
|
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
|
2020-02-07 16:02:07 +00:00
|
|
|
from note.models.notes import Note, NoteClub, NoteSpecial, NoteUser
|
|
|
|
from note.models.transactions import TransactionTemplate, Transaction, MembershipTransaction
|
|
|
|
from rest_framework import serializers
|
|
|
|
|
2020-02-06 23:12:00 +00:00
|
|
|
|
|
|
|
class NoteSerializer(serializers.HyperlinkedModelSerializer):
|
2020-02-06 23:29:04 +00:00
|
|
|
"""
|
|
|
|
REST API Serializer for Notes.
|
|
|
|
The djangorestframework plugin will analyse the model `Note` and parse all fields in the API.
|
|
|
|
"""
|
2020-02-06 23:12:00 +00:00
|
|
|
class Meta:
|
|
|
|
model = Note
|
|
|
|
fields = ('balance', 'is_active', 'display_image', 'created_at',)
|
|
|
|
|
|
|
|
|
|
|
|
class NoteClubSerializer(serializers.HyperlinkedModelSerializer):
|
2020-02-06 23:29:04 +00:00
|
|
|
"""
|
|
|
|
REST API Serializer for Club's notes.
|
|
|
|
The djangorestframework plugin will analyse the model `NoteClub` and parse all fields in the API.
|
|
|
|
"""
|
2020-02-06 23:12:00 +00:00
|
|
|
class Meta:
|
|
|
|
model = NoteClub
|
|
|
|
fields = ('balance', 'is_active', 'display_image', 'created_at', 'club',)
|
|
|
|
|
|
|
|
|
|
|
|
class NoteClubViewSet(viewsets.ModelViewSet):
|
2020-02-06 23:29:04 +00:00
|
|
|
"""
|
|
|
|
REST API View set.
|
|
|
|
The djangorestframework plugin will get all `NoteClub` objects, serialize it to JSON with the given serializer,
|
|
|
|
then render it on /api/note/club/
|
|
|
|
"""
|
2020-02-06 23:12:00 +00:00
|
|
|
queryset = NoteClub.objects.all()
|
|
|
|
serializer_class = NoteClubSerializer
|
|
|
|
|
|
|
|
|
|
|
|
class NoteSpecialSerializer(serializers.HyperlinkedModelSerializer):
|
2020-02-06 23:29:04 +00:00
|
|
|
"""
|
|
|
|
REST API Serializer for special notes.
|
|
|
|
The djangorestframework plugin will analyse the model `NoteSpecial` and parse all fields in the API.
|
|
|
|
"""
|
2020-02-06 23:12:00 +00:00
|
|
|
class Meta:
|
|
|
|
model = NoteSpecial
|
|
|
|
fields = ('balance', 'is_active', 'display_image', 'created_at', 'club', 'special_type',)
|
|
|
|
|
|
|
|
|
|
|
|
class NoteUserSerializer(serializers.HyperlinkedModelSerializer):
|
2020-02-06 23:29:04 +00:00
|
|
|
"""
|
|
|
|
REST API Serializer for User's notes.
|
|
|
|
The djangorestframework plugin will analyse the model `NoteUser` and parse all fields in the API.
|
|
|
|
"""
|
2020-02-06 23:12:00 +00:00
|
|
|
class Meta:
|
|
|
|
model = NoteUser
|
|
|
|
fields = ('balance', 'is_active', 'display_image', 'created_at', 'user',)
|
|
|
|
|
|
|
|
|
|
|
|
class TransactionTemplateSerializer(serializers.HyperlinkedModelSerializer):
|
2020-02-06 23:29:04 +00:00
|
|
|
"""
|
|
|
|
REST API Serializer for Transaction templates.
|
|
|
|
The djangorestframework plugin will analyse the model `TransactionTemplate` and parse all fields in the API.
|
|
|
|
"""
|
2020-02-06 23:12:00 +00:00
|
|
|
class Meta:
|
|
|
|
model = TransactionTemplate
|
|
|
|
fields = '__all__'
|
|
|
|
|
|
|
|
|
|
|
|
class TransactionSerializer(serializers.HyperlinkedModelSerializer):
|
2020-02-06 23:29:04 +00:00
|
|
|
"""
|
|
|
|
REST API Serializer for Transactions.
|
|
|
|
The djangorestframework plugin will analyse the model `Transaction` and parse all fields in the API.
|
|
|
|
"""
|
2020-02-06 23:12:00 +00:00
|
|
|
class Meta:
|
|
|
|
model = Transaction
|
|
|
|
fields = '__all__'
|
|
|
|
|
|
|
|
|
|
|
|
class MembershipTransactionSerializer(serializers.HyperlinkedModelSerializer):
|
2020-02-06 23:29:04 +00:00
|
|
|
"""
|
|
|
|
REST API Serializer for Membership transactions.
|
|
|
|
The djangorestframework plugin will analyse the model `MembershipTransaction` and parse all fields in the API.
|
|
|
|
"""
|
2020-02-06 23:12:00 +00:00
|
|
|
class Meta:
|
|
|
|
model = MembershipTransaction
|
|
|
|
fields = '__all__'
|