def put(self, request, project, environment): try: instance = EnvironmentProject.objects.select_related( "environment").get( project=project, environment__name=Environment.get_name_from_path_segment( environment), ) except EnvironmentProject.DoesNotExist: raise ResourceDoesNotExist serializer = ProjectEnvironmentSerializer(data=request.data, partial=True) if not serializer.is_valid(): return Response(serializer.errors, status=400) data = serializer.validated_data fields = {} if "isHidden" in data: fields["is_hidden"] = data["isHidden"] if fields: instance.update(**fields) return Response(serialize(instance, request.user))
def get(self, request, project, environment): try: instance = EnvironmentProject.objects.select_related('environment').get( project=project, environment__name=Environment.get_name_from_path_segment(environment), ) except EnvironmentProject.DoesNotExist: raise ResourceDoesNotExist return Response(serialize(instance, request.user))
def get(self, request, project, environment): try: instance = EnvironmentProject.objects.select_related('environment').get( project=project, environment__name=Environment.get_name_from_path_segment(environment), ) except EnvironmentProject.DoesNotExist: raise ResourceDoesNotExist return Response(serialize(instance, request.user))
def put(self, request, project, environment): try: instance = EnvironmentProject.objects.select_related('environment').get( project=project, environment__name=Environment.get_name_from_path_segment(environment), ) except EnvironmentProject.DoesNotExist: raise ResourceDoesNotExist serializer = ProjectEnvironmentSerializer(data=request.DATA, partial=True) if not serializer.is_valid(): return Response(serializer.errors, status=400) data = serializer.object fields = {} if 'isHidden' in data: fields['is_hidden'] = data['isHidden'] if fields: instance.update(**fields) return Response(serialize(instance, request.user))
def get(self, request, group, environment): project = group.project try: environment = Environment.objects.get( projects=project, organization_id=project.organization_id, name=Environment.get_name_from_path_segment(environment), ) except Environment.DoesNotExist: raise ResourceDoesNotExist first_release = GroupRelease.objects.filter( group_id=group.id, environment=environment.name, ).order_by('first_seen').first() last_release = GroupRelease.objects.filter( group_id=group.id, environment=environment.name, ).order_by('-first_seen').first() # the current release is the 'latest seen' release within the # environment even if it hasnt affected this issue current_release = GroupRelease.objects.filter( group_id=group.id, environment=environment.name, release_id=ReleaseEnvironment.objects.filter( release_id__in=ReleaseProject.objects.filter( project_id=group.project_id).values_list('release_id', flat=True), organization_id=group.project.organization_id, environment_id=environment.id, ).order_by('-first_seen').values_list('release_id', flat=True).first(), ).first() last_seen = GroupRelease.objects.filter( group_id=group.id, environment=environment.name, ).order_by('-last_seen').values_list('last_seen', flat=True).first() until = request.GET.get('until') if until: until = to_datetime(float(until)) context = { 'environment': serialize( environment, request.user, GroupEnvironmentWithStatsSerializer( group=group, until=until, )), 'firstRelease': serialize(first_release, request.user), 'lastRelease': serialize(last_release, request.user), 'currentRelease': serialize(current_release, request.user, GroupReleaseWithStatsSerializer(until=until, )), 'lastSeen': last_seen, 'firstSeen': first_release.first_seen if first_release else None, } return Response(context)