def register_device(self, request): json_data = (request.data if request.data else json.loads( request.body.decode("utf-8"))) username = json_data["email"] device = json_data["device"] user = self.queryset.get(email=username) response = "" json_r = {} if not user is None: fcm_d = FCMDevice() fcm_d.name = "phone" fcm_d.registration_id = device fcm_d.type = "android" fcm_d.user = user fcm_d.save() if not fcm_d.pk is None: FCMDevice.objects.filter(registration_id=device).exclude( pk=fcm_d.pk).update(active=False) json_r["message"] = "" json_r["type"] = "" json_r["title"] = "" json_r["success"] = True json_r["number"] = 1 json_r["extra"] = 0 response = json.dumps(json_r) return HttpResponse(response)
def register_device(self, request): username = request.data['email'] device = request.data['device'] user = self.queryset.get(email = username) response = "" json_r = {} if not user is None: fcm_d = FCMDevice() fcm_d.name = "phone" fcm_d.registration_id = device fcm_d.type = 'android' fcm_d.user = user fcm_d.save() if not fcm_d.pk is None: FCMDevice.objects.filter(registration_id = device).exclude(pk = fcm_d.pk).update(active = False) json_r["message"] = "" json_r["type"] = "" json_r["title"] = "" json_r["success"] = True json_r["number"] = 1 json_r['extra'] = 0 response = json.dumps(json_r) return HttpResponse(response)
def post(self, request): serializer = self.serializer_class(data=request.data) if serializer.is_valid(): user = serializer.save() if user: token = Token.objects.create(user=user) json = serializer.data fcm_token = json['fcm_token'] user = json['id'] device = FCMDevice() device.registration_id = fcm_token device.type = "Android" device.name = "Can be anything" device.user = user device.save() return Response( { "token": token.key, "device_id": device.registration_id, "error": False }, status=status.HTTP_201_CREATED) else: data = {"error": True, "errors": serializer.errors} return Response(data, status=status.HTTP_400_BAD_REQUEST)
def post(self, request): serializer = UserRegisterSerializer(data=request.data) if serializer.is_valid(): user = serializer.save() if user: token = Token.objects.create(user=user) json = serializer.data json['token'] = token.key fcm_token = json['fcm_token'] role = json['role'] device = FCMDevice() device.registration_id = fcm_token device.type = "Android" device.name = "Can be anything" device.user = user device.save() email = str(user) return Response( { "token": token.key, "role": role, "error": False }, status=status.HTTP_201_CREATED) else: data = {"error": True, "errors": serializer.errors} return Response(data, status=status.HTTP_400_BAD_REQUEST)
def register_device(self, request): json_data = request.data if request.data else json.loads(request.body.decode('utf-8')) username = json_data['email'] device = json_data['device'] user = self.queryset.get(email = username) response = "" json_r = {} if not user is None: fcm_d = FCMDevice() fcm_d.name = "phone" fcm_d.registration_id = device fcm_d.type = 'android' fcm_d.user = user fcm_d.save() if not fcm_d.pk is None: FCMDevice.objects.filter(registration_id = device).exclude(pk = fcm_d.pk).update(active = False) json_r["message"] = "" json_r["type"] = "" json_r["title"] = "" json_r["success"] = True json_r["number"] = 1 json_r['extra'] = 0 response = json.dumps(json_r) return HttpResponse(response)
def post(self, request): global device fcm = request.data.get("fcm_token") user = authenticate(email=request.data.get("email"), password=request.data.get("password")) if user is not None: ser = UserShortInfoSerializer(user) fb = User.objects.get(id=user.id) print(ser.data['id']) try: devices = FCMDevice.objects.get(user=ser.data['id']) except FCMDevice.DoesNotExist: devices = None if devices is None: device = FCMDevice() device.user = user device.registration_id = fcm device.type = "Android" device.name = "Can be anything" device.save() else: devices.registration_id = fcm devices.save() try: token = Token.objects.get(user_id=user.id) except: token = Token.objects.create(user=user) print(token.key) print(user) return Response({ "token": token.key, "device_id": device.registration_id, "error": False }) else: data = { "error": True, "msg": "User does not exist or password is wrong" } return Response(data, status=status.HTTP_401_UNAUTHORIZED)
def crud_device(request): """ CRUD Operation for FCM devices """ if request.method == 'POST': print('call crud') if request.user.is_authenticated: print('authen') try: req_data = json.loads(request.body.decode()) fcm_token = req_data['fcmtoken'] except (KeyError, ValueError): return HttpResponseBadRequest() device = FCMDevice() # registration_id is a mandatory field and should be the FCM token! device.registration_id = fcm_token # Fields below are not mandatory anymore device.name = request.user.name device.user = request.user # TODO check if this can always be web (or need something like "mobile") device.type = "web" device.save() return HttpResponse(status=status.HTTP_201_CREATED) else: return HttpResponse(status=status.HTTP_401_UNAUTHORIZED) elif request.method == 'DELETE': if request.user.is_authenticated: try: fcm_token = json.loads(request.body.decode())['fcmtoken'] except (KeyError, ValueError): return HttpResponseBadRequest() FCMDevice.objects.filter(registration_id=fcm_token).delete() return HttpResponse(status=status.HTTP_200_OK) else: return HttpResponse(status=status.HTTP_401_UNAUTHORIZED) else: return HttpResponseNotAllowed(['POST', 'DELETE'])
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)
def post(self, request): fcm = request.data.get("fcm_token") if fcm is None: return Response({ "Message": "Please provide a fcm token", "error": True }) email = None phone = None if 'email' in request.data: if request.data['email'] != "": email = request.data['email'] else: pass if 'phone' in request.data: if request.data['phone'] != "": phone = request.data['phone'] else: pass if email is None: if phone is None: return Response({ "Message": "Please enter email or phone no", "error": True }) # if email is not None: user = CustomAuthentication().authenticate( email=email, phone=phone, password=request.data.get("password")) # else: # user = CustomAuthentication().authenticate(email=email,phone=phone,password=request.data.get("password")) if user is not None: ser = UserDetailSerializer(user) fb = User.objects.get(id=user.id) fb.fcm_token = fcm fb.save() try: devices = FCMDevice.objects.get(user=ser.data['id']) except FCMDevice.DoesNotExist: devices = None if devices is None: device = FCMDevice() device.user = user device.registration_id = fcm device.type = "Android" device.name = "Can be anything" device.save() else: devices.registration_id = fcm devices.save() role = ser.data['role'] try: token = Token.objects.get(user_id=user.id) except: token = Token.objects.create(user=user) return Response({"token": token.key, "role": role, "error": False}) else: data = { "error": True, "msg": "User does not exist or password is wrong" } return Response(data, status=status.HTTP_401_UNAUTHORIZED)