feat(pricing): add workspace user rates and price units
This commit is contained in:
@@ -1,12 +1,10 @@
|
||||
from rest_framework import serializers
|
||||
from core.serializers.base import BaseModelSerializer
|
||||
from apps.projects.models import (
|
||||
Project,
|
||||
ProjectMembership,
|
||||
ProjectRate,
|
||||
ProjectUserRate,
|
||||
)
|
||||
from core.serializers.mini import UserMiniSerializer
|
||||
from rest_framework import serializers
|
||||
from core.serializers.base import BaseModelSerializer
|
||||
from apps.projects.models import (
|
||||
Project,
|
||||
ProjectMembership,
|
||||
)
|
||||
from core.serializers.mini import UserMiniSerializer
|
||||
|
||||
|
||||
class ProjectMemberInputSerializer(serializers.Serializer):
|
||||
@@ -94,52 +92,6 @@ class ProjectMembershipCreateSerializer(serializers.Serializer):
|
||||
role = serializers.ChoiceField(choices=ProjectMembership.Role.choices)
|
||||
|
||||
|
||||
class ProjectMembershipUpdateSerializer(serializers.Serializer):
|
||||
role = serializers.ChoiceField(choices=ProjectMembership.Role.choices, required=False)
|
||||
is_active = serializers.BooleanField(required=False)
|
||||
|
||||
|
||||
class ProjectRateSerializer(BaseModelSerializer):
|
||||
class Meta:
|
||||
model = ProjectRate
|
||||
fields = BaseModelSerializer.Meta.fields + (
|
||||
"project",
|
||||
"hourly_rate",
|
||||
"currency",
|
||||
)
|
||||
read_only_fields = fields
|
||||
|
||||
|
||||
class ProjectRateCreateSerializer(serializers.Serializer):
|
||||
project_id = serializers.UUIDField()
|
||||
hourly_rate = serializers.DecimalField(max_digits=10, decimal_places=2)
|
||||
currency = serializers.CharField(max_length=3, default="USD")
|
||||
|
||||
|
||||
class ProjectRateUpdateSerializer(serializers.Serializer):
|
||||
hourly_rate = serializers.DecimalField(max_digits=10, decimal_places=2, required=False)
|
||||
currency = serializers.CharField(max_length=3, required=False)
|
||||
|
||||
|
||||
class ProjectUserRateSerializer(BaseModelSerializer):
|
||||
class Meta:
|
||||
model = ProjectUserRate
|
||||
fields = BaseModelSerializer.Meta.fields + (
|
||||
"project",
|
||||
"user",
|
||||
"hourly_rate",
|
||||
"currency",
|
||||
)
|
||||
read_only_fields = fields
|
||||
|
||||
|
||||
class ProjectUserRateCreateSerializer(serializers.Serializer):
|
||||
project_id = serializers.UUIDField()
|
||||
user_id = serializers.UUIDField()
|
||||
hourly_rate = serializers.DecimalField(max_digits=10, decimal_places=2)
|
||||
currency = serializers.CharField(max_length=3, default="USD")
|
||||
|
||||
|
||||
class ProjectUserRateUpdateSerializer(serializers.Serializer):
|
||||
hourly_rate = serializers.DecimalField(max_digits=10, decimal_places=2, required=False)
|
||||
currency = serializers.CharField(max_length=3, required=False)
|
||||
class ProjectMembershipUpdateSerializer(serializers.Serializer):
|
||||
role = serializers.ChoiceField(choices=ProjectMembership.Role.choices, required=False)
|
||||
is_active = serializers.BooleanField(required=False)
|
||||
|
||||
Reference in New Issue
Block a user