class CompanyDetailedInfoSerializer(CompanyBasicInfoSerializer):
    admins = serpy.MethodField()
    roles = serpy.MethodField()
    website = serpy.Field()
    facebook = serpy.Field()
    twitter = serpy.Field()
    linkedin = serpy.Field()
    id = serpy.Field()
    city = serpy.MethodField()
    city_raw = serpy.MethodField()

    def get_admins(self, instance):
        from django.contrib.postgres.aggregates.general import ArrayAgg
        qs = Membership.objects.filter(company_id=instance.id).select_related(
            'user', 'role')
        qs = qs.annotate(arr=ArrayAgg('jobs'))
        return MembershipBasicInfoSerializer(qs, many=True).data

    def get_roles(self, instance):
        return CompanyRolesSerializer(
            instance.roles.filter(company__id=instance.id), many=True).data

    def get_city(self, obj):
        if obj.city:
            return obj.city.pk

    def get_city_raw(self, obj):
        if obj.city:
            return ", ".join([
                obj.city.name,
                obj.city.region.name if obj.city.region else 'NA',
                obj.city.country.name
            ])
Beispiel #2
0
class CohortSmallSerializer(serpy.Serializer):
    """The serializer schema definition."""
    # Use a Field subclass like IntField if you need more validation.
    id = serpy.Field()
    slug = serpy.Field()
    name = serpy.Field()
    syllabus = SyllabusCertificateSerializer()
class HostelSerializer(serpy.Serializer):
    google = HostelField()
    hostelworld = HostelField()
    booking = HostelField()
    avg_rating = serpy.Field()
    rating = serpy.Field()
    reviews = ReviewSerializer(many=True)
Beispiel #4
0
class ServerSerializer(serpy.Serializer):
    id              = serpy.Field()
    name            = serpy.Field()
    character_count = serpy.Field()
    online_count    = serpy.Field()
    ip_address      = serpy.Field()
    last_sync       = DatetimeToUnixField()
Beispiel #5
0
class PointSerializer(serpy.Serializer):
    x = serpy.Field()
    y = serpy.Field()
    mean = serpy.MethodField()

    def get_mean(self, obj):
        return (obj.x + obj.y)
Beispiel #6
0
class EventTinySerializer(serpy.Serializer):
    id = serpy.Field()
    slug = serpy.Field()
    title = serpy.Field()
    starting_at = serpy.Field()
    ending_at = serpy.Field()
    event_type = EventTypeSmallSerializer()
class FoodDonationSerializers(serpy.Serializer):

    id = serpy.Field()
    id_stripe = serpy.Field()
    food = FoodRunSerializers()
    user = accounts_serializers.UserSerializers()
    amount = serpy.Field()
Beispiel #8
0
class UserSerializer(serpy.Serializer):
    """The serializer schema definition."""
    # Use a Field subclass like IntField if you need more validation.
    id = serpy.Field()
    first_name = serpy.Field()
    last_name = serpy.Field()
    email = serpy.Field()
class CompanyBasicInfoSerializer(TBLightSerializer):
    name = serpy.Field()
    slug = serpy.Field()
    size = serpy.Field()
    verified = serpy.Field()
    avatar = serpy.MethodField()
    gravatar_id = serpy.MethodField()
    city_raw = serpy.MethodField()

    def get_avatar(self, instance):
        request = self.context.get('request')
        if request and instance.avatar:
            avatar_url = instance.avatar.url
            return request.build_absolute_uri(avatar_url)

    def get_gravatar_id(self, obj):
        return get_user_gravatar_id(obj.owner)

    def get_city_raw(self, obj):
        if obj.city:
            return ", ".join([
                obj.city.name,
                obj.city.region.name if obj.city.region else 'NA',
                obj.city.country.name
            ])

    class Meta:
        model = Company
        fields = '__all__'
Beispiel #10
0
class EntitySerializer(ModelSerializer):
    """Serializer for entities."""

    name = serpy.Field()
    unabbreviated_name = serpy.Field()
    aliases = serpy.Field()
    birth_date = serpy.MethodField('get_serialized_birth_date')
    death_date = serpy.MethodField('get_serialized_death_date')
    description = serpy.Field(attr='description.html', required=False)
    serialized_images = serpy.Field()
    categorizations = CategorizationSerializer(many=True,
                                               attr='categorizations.all',
                                               call=True)

    def get_model(self, instance) -> str:  # noqa
        """Return the model name of the instance."""
        return f'entities.{instance.__class__.__name__.lower()}'

    def get_serialized_birth_date(self, instance: 'Entity'):
        """Return the entity's birth date, serialized."""
        return instance.birth_date.serialize() if instance.birth_date else None

    def get_serialized_death_date(self, instance: 'Entity'):
        """Return the entity's death date, serialized."""
        return instance.death_date.serialize() if instance.death_date else None
Beispiel #11
0
class GetAcademySerializer(serpy.Serializer):
    id = serpy.Field()
    slug = serpy.Field()
    name = serpy.Field()
    country = CountrySerializer(required=False)
    city = CitySerializer(required=False)
    logo_url = serpy.Field()
Beispiel #12
0
class BadgeSerializer(serpy.Serializer):
    """The serializer schema definition."""
    # Use a Field subclass like IntField if you need more validation.
    id = serpy.Field()
    slug = serpy.Field()
    name = serpy.Field()
    logo_url = serpy.Field()
Beispiel #13
0
class DragonSerializer(serpy.Serializer):
    """Dragon serilizer."""

    ip_address = serpy.Field()
    worker = serpy.Field()
    mac_address = serpy.Field()
    overview = serpy.Field()
Beispiel #14
0
class UserSmallSerializer(serpy.Serializer):
    """The serializer schema definition."""
    # Use a Field subclass like IntField if you need more validation.
    id = serpy.Field()
    first_name = serpy.Field()
    last_name = serpy.Field()
    profile = ProfileSmallSerializer(required=False, many=False)
class PortfolioSerializers(serpy.Serializer):
    """
		This class convert user data into json
	"""
    id = serpy.Field()
    homeless = accounts_serializers.HomelessProfileSerializers()
    userRegisterer = accounts_serializers.UserSerializers()
    image = serpy.MethodField()
    details = serpy.Field()

    def get_image(self, obj):
        print('********************************************')
        print(obj)
        print('********************************************')
        """
			With this method obtain phone number of the user

			:param obj: object User
			:type obj: Model User
			:return: if phone number is None return None
			:return: phone number
		"""
        if obj.image:
            return obj.image.url
        return None
Beispiel #16
0
class UserMeSerializer(serpy.Serializer):
    """The serializer schema definition."""
    # Use a Field subclass like IntField if you need more validation.
    id = serpy.Field()
    email = serpy.Field()
    first_name = serpy.Field()
    last_name = serpy.Field()
    github = serpy.MethodField()
    profile = ProfileSerializer(required=False)
    roles = serpy.MethodField()
    cohorts = serpy.MethodField()
    date_joined = serpy.Field()

    def get_github(self, obj):
        github = CredentialsGithub.objects.filter(user=obj.id).first()
        if github is None:
            return None
        return GithubSmallSerializer(github).data

    def get_roles(self, obj):
        roles = ProfileAcademy.objects.filter(user=obj.id)
        return ProfileAcademySmallSerializer(roles, many=True).data

    def get_cohorts(self, obj):
        cohorts = CohortUser.objects.filter(user__id=obj.id)
        return GETCohortUserSmallSerializer(cohorts, many=True).data
Beispiel #17
0
class AssetMidSerializer(AssetSerializer):

    solution_url = serpy.Field()
    readme = serpy.Field()
    
    interactive = serpy.Field()
    with_solutions = serpy.Field()
    with_video = serpy.Field()
Beispiel #18
0
class ClientSerializer(serpy.Serializer):
    id = serpy.IntField()
    client_name = serpy.Field()
    client_first_name = serpy.Field()
    client_last_name = serpy.Field()
    client_address = serpy.Field()
    client_email = serpy.Field()
    client_phone_number = serpy.IntField()
Beispiel #19
0
class AcademySerializer(serpy.Serializer):
    """The serializer schema definition."""
    # Use a Field subclass like IntField if you need more validation.
    id = serpy.Field()
    name = serpy.Field()
    logo_url = serpy.Field()
    website_url = serpy.Field()
    street_address = serpy.Field()
Beispiel #20
0
class GetCohortSerializer(serpy.Serializer):
    """The serializer schema definition."""
    # Use a Field subclass like IntField if you need more validation.
    slug = serpy.Field()
    name = serpy.Field()
    kickoff_date = serpy.Field()
    certificate = GetCertificateSerializer()
    academy = GetAcademySerializer()
Beispiel #21
0
class GetCategorySerializer(serpy.Serializer):
    id = serpy.Field()
    slug = serpy.Field()
    name = serpy.Field()
    medias = serpy.MethodField()

    def get_medias(self, obj):
        return Media.objects.filter(categories__id=obj.id).count()
Beispiel #22
0
class ProgramSerializer(serpy.Serializer):
    id = serpy.IntField()
    program_name = serpy.Field()
    program_product = ProductSerializer()
    program_client = ClientSerializer()
    program_start_date = serpy.Field()
    program_end_date = serpy.Field()
    program_total_amount = serpy.IntField()
Beispiel #23
0
class GETCohortUserSmallSerializer(serpy.Serializer):
    """The serializer schema definition."""
    # Use a Field subclass like IntField if you need more validation.
    cohort = GetMeCohortSerializer()
    role = serpy.Field()
    finantial_status = serpy.Field()
    educational_status = serpy.Field()
    created_at = serpy.Field()
Beispiel #24
0
class SwaggerMethodSerializer(serpy.Serializer):
    consumes = LiteralField(None, display_none=False)
    produces = LiteralField(["application/json"])
    responses = SwaggerResponseSerializer(attr='output_type')
    parameters = SwaggerParamSerializer(many=True)
    summary = serpy.Field()
    operationId = serpy.Field(attr='id')
    tags = serpy.Field()
Beispiel #25
0
class CardSerializerNoPending(serpy.Serializer):
    id = serpy.IntField()
    user = NestedUserDetail()
    card_template = NestedTemplate()
    value = serpy.Field()
    position = serpy.Field()
    created = serpy.Field()
    updated = serpy.Field()
Beispiel #26
0
class EventCheckinSerializer(serpy.Serializer):
    id = serpy.Field()
    email = serpy.Field()
    status = serpy.Field()
    created_at = serpy.Field()
    attended_at = serpy.Field()
    attendee = UserSerializer(required=False)
    event = EventTinySerializer()
Beispiel #27
0
class PlaceSerializer(GenericSerializer):
    id = serpy.Field(attr='uri')
    name = serpy.Field()
    quality = serpy.Field(required=False)
    stop_area = StopAreaSerializer(display_none=False)
    stop_point = StopPointSerializer(display_none=False)
    administrative_region = AdminSerializer(display_none=False)
    embedded_type = EnumField(attr='embedded_type')
Beispiel #28
0
class UserSerializers(serpy.Serializer):
	"""
		This class convert user data into json
	"""
	id = serpy.Field()
	first_name = serpy.Field()
	last_name = serpy.Field()
	email = serpy.Field()
Beispiel #29
0
class ListOriginIssueSerializer(serializers.LightSerializer):
    id = serpy.Field()
    ref = serpy.Field()
    subject = serpy.Field()

    def to_value(self, instance):
        if instance is None:
            return None

        return super().to_value(instance)
Beispiel #30
0
class SyllabusGetSerializer(serpy.Serializer):
    """The serializer schema definition."""
    # Use a Field subclass like IntField if you need more validation.
    version = serpy.Field()
    course = serpy.MethodField()
    updated_at = serpy.Field()
    json = serpy.Field()

    def get_course(self, obj):
        return obj.course.slug