def put(self): data = dict() for key in request.form: data[key] = request.form[key] if not Brand.objects(email=data['email']): return make_response( jsonify(role='brand', message='brand does not exist in database'), status.HTTP_404_NOT_FOUND) else: brand = Brand.objects(email=data['email']).first() file = request.files['file'] filename = secure_filename(file.filename) fileLocation = os.path.join('static/uploads/brand_profile/', filename) file.save(fileLocation) brand.image = '/' + fileLocation for key in data: if key == 'image': continue else: brand[key] = data[key] brand.save() if 'password' in data: user = User.objects(email=data['email']).first() user.password = User.generate_hash(data['password']) user.save() return make_response( jsonify( role='brand', message='brand details updated successfully in database'), status.HTTP_200_OK)
def post(self): data = request.get_json(force=True) user = User.objects(email=data['email']).first() if user: if User.verify_hash(data['password'], user['password']): user.authenticated = True user.save() access_token = create_access_token(identity=data['email']) refresh_token = create_refresh_token(identity=data['email']) temp = {} if user['role'] == 'influencer': influencer = Influencer.objects( email=data['email']).first() temp['first_name'] = influencer.first_name temp['last_name'] = influencer.last_name temp['email'] = influencer.email temp[ 'big_deal_on_option1'] = influencer.big_deal_on_option1 temp[ 'big_deal_on_option2'] = influencer.big_deal_on_option2 temp[ 'big_deal_on_option3'] = influencer.big_deal_on_option3 temp[ 'big_deal_on_option4'] = influencer.big_deal_on_option4 temp[ 'big_deal_on_option5'] = influencer.big_deal_on_option5 temp[ 'website_social_media_handles'] = influencer.website_social_media_handles temp['followers'] = influencer.followers temp['areas_of_interest'] = influencer.areas_of_interest temp['gender'] = influencer.gender temp['dob'] = influencer.dob elif user['role'] == 'brand': brand = Brand.objects(email=data['email']).first() temp['company_name'] = brand.company_name temp['email'] = brand.email temp['address'] = brand.address temp['isapproved'] = brand.isapproved temp['isactive'] = brand.isactive elif user['role'] == 'admin': admin = Admin.objects(email=data['email']).first() temp['email'] = admin.email return make_response( jsonify(role=user['role'], email=temp['email'], userobject=temp, message='login successful!', access_token=access_token, refresh_token=refresh_token), status.HTTP_200_OK) else: return make_response( jsonify(role=user['role'], message='Incorrect password!'), status.HTTP_401_UNAUTHORIZED) else: return make_response(jsonify(message='Email not found'), status.HTTP_404_NOT_FOUND)
def post(self): data = request.get_json(force=True) if not Influencer.objects(email=data['email']): return make_response( jsonify(role='admin', message='influencer does not exist in database'), status.HTTP_404_NOT_FOUND) else: user = Influencer.objects(email=data['email']).first() user.delete() user = User.objects(email=data['email']).first() user.delete() return make_response( jsonify(role='admin', message='influencer has been removed from database'), status.HTTP_200_OK)