deploy product & quota base system

This commit is contained in:
2025-06-09 16:09:50 +03:30
parent fa9c7dfaf8
commit 5f440c52bd
8 changed files with 562 additions and 107 deletions

View File

@@ -3,7 +3,6 @@ from apps.authorization.api.v1.serializers import (
PermissionSerializer,
RoleSerializer
)
from rest_framework.response import Response
from rest_framework import serializers
from apps.authentication.models import (
User,
@@ -18,6 +17,8 @@ import typing
class CitySerializer(serializers.ModelSerializer):
""" Serialize city data """
class Meta:
model = City
fields = [
@@ -27,6 +28,8 @@ class CitySerializer(serializers.ModelSerializer):
class ProvinceSerializer(serializers.ModelSerializer):
""" Serialize province data """
class Meta:
model = Province
fields = [
@@ -36,6 +39,8 @@ class ProvinceSerializer(serializers.ModelSerializer):
class BankAccountSerializer(serializers.ModelSerializer):
""" Serialize bank account data """
class Meta:
model = BankAccountInformation
fields = [
@@ -63,23 +68,9 @@ class BankAccountSerializer(serializers.ModelSerializer):
return instance
class UserDataRelationSerializer(serializers.ModelSerializer):
class Meta:
model = authorize_models.UserRelations
fields = '__all__'
def to_representation(self, instance):
representation = super().to_representation(instance)
representation['role'] = RoleSerializer(instance.role).data
representation['organization'] = instance.organization.name
representation['permissions'] = PermissionSerializer().permissions_structure_output(
instance.permissions.all()
)
return representation
class UserSerializer(serializers.ModelSerializer):
""" Serialize user data """
class Meta:
model = User
fields = [
@@ -103,11 +94,9 @@ class UserSerializer(serializers.ModelSerializer):
]
def to_representation(self, instance):
""" Custom output """
representation = super().to_representation(instance)
if authorize_models.UserRelations.objects.filter(user=instance).exists():
representation['relation_data'] = UserDataRelationSerializer(
authorize_models.UserRelations.objects.filter(user=instance).first()
).data
if instance.bank_information.all():
representation['bank_account'] = BankAccountSerializer(
instance.bank_information.all(), many=True
@@ -160,6 +149,8 @@ class UserSerializer(serializers.ModelSerializer):
class OrganizationTypeSerializer(serializers.ModelSerializer):
""" Serialize organization type data """
class Meta:
model = OrganizationType
fields = [
@@ -170,6 +161,8 @@ class OrganizationTypeSerializer(serializers.ModelSerializer):
class OrganizationSerializer(serializers.ModelSerializer):
""" Serialize organization data """
class Meta:
model = Organization
fields = [
@@ -184,14 +177,16 @@ class OrganizationSerializer(serializers.ModelSerializer):
extra_kwargs = {}
def to_representation(self, instance):
""" Custom output """
representation = super().to_representation(instance)
if isinstance(instance, Organization):
representation['province'] = ProvinceSerializer(instance.province).data
representation['city'] = CitySerializer(instance.city).data
representation['type'] = OrganizationTypeSerializer(instance.type).data
if instance.parent_organization:
representation['parent_organization'] = OrganizationSerializer(instance.parent_organization).data
representation['parent_organization'] = OrganizationSerializer(
instance.parent_organization
).data
return representation
def update(self, instance, validated_data):