Beispiel #1
0
 def post(self, request):
     req_data = request.data
     user = request.user
     try:
         device = FCMDevice.objects.get(user=user)
         connection.close()
         return Response(
             {"message": "Device already registered for the user"},
             status=status.HTTP_400_BAD_REQUEST,
         )
     except:
         device = FCMDevice()
         device.device_id = req_data["device_id"]
         device.registration_id = req_data["registration_id"]
         device.type = "Android"
         device.user = request.user
         device.save()
         connection.close()
         return Response(
             {
                 "message": "New Device Registered",
                 "device_details": {
                     "device_id": device.device_id,
                     "registration_id": device.registration_id,
                     "type": device.type,
                     "user": device.user.id,
                 },
             },
             status=status.HTTP_201_CREATED,
         )
Beispiel #2
0
def send_app_notification(all_devices, title, body, data=None):
    return
    from notification.models import MobileDevice
    all_devices = MobileDevice.objects.filter(id__in=all_devices)
    if not all_devices:
        print('No Devices found for notification')
        return
    if settings.ENABLE_NOTIFICATION:
        device = FCMDevice()
        for each_user in all_devices:
            # print(each_user.device_id)
            # print(each_user.token)
            device.device_id = each_user.device_id
            device.registration_id = each_user.token
            device.save()
            device.send_message(data=data)
    else:
        print('Notification sent to Users:')
        for each_user in all_devices:
            msg = "Device Id: {} Token: {} Title: {} Body: {} ".format(
                each_user.device_id, each_user.token, title, body)
            print(msg)
Beispiel #3
0
 def post(self, request, **kwargs):
     ser = self.serializer_class(data=request.data,
                                 context={'request': request})
     if ser.is_valid():
         try:
             device = FCMDevice.objects.get(
                 device_id=request.data['device'])
             device.registration_id = request.data['token']
             device.save()
             return Response(True, status=status.HTTP_200_OK)
         except ObjectDoesNotExist as e:
             fcm_device = FCMDevice()
             user_details: UserDetails = UserDetails.objects.get(
                 user=request.user)
             fcm_device.name = user_details.username
             fcm_device.user = request.user
             fcm_device.device_id = request.data['device']
             fcm_device.registration_id = request.data['token']
             fcm_device.type = 'ios' if request.data[
                 'platform'] == 2 else 'android' if request.data[
                     'platform'] == 1 else 'web'
             fcm_device.save()
         return Response(True, status=status.HTTP_200_OK)
     return Response(False, status=status.HTTP_200_OK)