# -*- coding: utf-8 -*-
# This file is part of FirmwareDroid - https://github.com/FirmwareDroid/FirmwareDroid/blob/main/LICENSE.md
# See the file 'LICENSE' for copying permission.
import graphene
from graphene_mongo import MongoengineObjectType
from graphql_jwt.decorators import superuser_required
from api.v2.types.GenericFilter import generate_filter, get_filtered_queryset
from model.ApkleaksStatisticsReport import ApkleaksStatisticsReport

ModelFilter = generate_filter(ApkleaksStatisticsReport)


class ApkleaksStatisticsReportType(MongoengineObjectType):
    class Meta:
        model = ApkleaksStatisticsReport


class ApkleaksStatisticsReportQuery(graphene.ObjectType):
    apkleaks_statistics_report_list = graphene.List(ApkleaksStatisticsReportType,
                                                    object_id=graphene.List(graphene.String),
                                                    field_filter=graphene.Argument(ModelFilter),
                                                    name="apkleaks_statistics_report_list"
                                                    )

    @superuser_required
    def resolve_apkleaks_statistics_report_list(self, info, object_id_list=None, field_filter=None):
        return get_filtered_queryset(ApkleaksStatisticsReport, object_id_list, field_filter)
