def get(self, user_id): location = Location.query.filter_by(user_id=user_id).first() if location: result = location_schema.dump(Location.query.get(location.id)) return jsonify({"location": result.data}) else: return error_serializers('Unknown location!', 404), 404
def get(self, user_id): user = User.query.filter_by(id=user_id).first() invitations_from_me_arr = [] invitations_to_me_arr = [] if user: invitations_from_me = Invitation.query.filter(Invitation.inviter_id == user_id, Invitation.status != 5).all() for invitationFrom in invitations_from_me: inviter = User.query.filter_by(id=invitationFrom.inviter_id).first() invitationFrom.inviter = inviter invitee = User.query.filter_by(id=invitationFrom.invitee_id).first() invitationFrom.invitee = invitee invitations_from_me_arr.append(invitationFrom) invitations_to_me = Invitation.query.filter(Invitation.invitee_id == user_id, Invitation.status != 5).all() for invitationTo in invitations_to_me: inviter = User.query.filter_by(id=invitationTo.inviter_id).first() invitationTo.inviter = inviter invitee = User.query.filter_by(id=invitationTo.invitee_id).first() invitationTo.invitee = invitee invitations_to_me_arr.append(invitationTo) # Serialize the queryset result_invitations_from_me = invitations_schema.dump(invitations_from_me_arr) result_invitations_to_me = invitations_schema.dump(invitations_to_me_arr) return jsonify({'invitationsFromMe': result_invitations_from_me.data, "invitationsToMe": result_invitations_to_me.data}) else: return error_serializers('User not found!', 404), 404
def get(self): args = parser.parse_args() if not args['venueId'] or not args['userId']: return error_serializers('Params Error!', 400), 400 same_location_users = get_location_users(args['venueId'], args['userId']) return jsonify({"users" : users_with_tags_schema.dump(same_location_users).data})
def post(self): args = parser.parse_args() if not args['firstName'] or not args['lastName'] or not args['linkedinId']: return error_serializers('Params Error!', 400), 400 # Add user or update user in our database user = add_or_update_user(args) # Analysis user tags analysis_tags(user.id, args) if user: return jsonify(user_schema.dump(user).data) else: return error_serializers('Error token!', 401), 401
def get(self, id): user = User.query.filter_by(id=id).first() if user: return jsonify(user_schema.dump(user).data) else: return error_serializers('Unknown user!', 400), 400
def get(self, id, sub_id): user = User.query.filter_by(id=id).first() subscribe = Subscribe.query.filter_by(id=sub_id).first() if user and subscribe: subscribe.user = user result = subscribe_schema.dump(subscribe) return jsonify({"subscribe": result.data}) else: return error_serializers('Record not found!', 404), 404
def put(self, id): user = User.query.filter_by(id=id).first() if user: # PUT param self.reqparse = reqparse.RequestParser() self.reqparse.add_argument('wish', type = str, location = 'json') args = self.reqparse.parse_args() user.wish = args['wish'] db.session.commit() return user_wish_serializers(id, user.wish) else: return error_serializers('User not found!', 404), 404
def get(self, invitation_id): invitation = Invitation.query.filter_by(id=invitation_id).first() inviter_id = invitation.inviter_id inviter = User.query.filter_by(id=inviter_id).first() invitee_id = invitation.invitee_id invitee = User.query.filter_by(id=invitee_id).first() invitation.inviter = inviter invitation.invitee = invitee if invitation: result = invitation_schema.dump(Invitation.query.get(invitation.id)) return jsonify({"invitation": result.data}) else: return error_serializers('Unknown invitation!', 404), 404
def put(self, id, sub_id): user = User.query.filter_by(id=id).first() subscribe = Subscribe.query.filter_by(id=sub_id).first() if user and subscribe: # PUT param self.reqparse = reqparse.RequestParser() self.reqparse.add_argument('tags', type = str, location = 'json') args = self.reqparse.parse_args() subscribe.tags = args['tags'] subscribe.user = user db.session.commit() result = subscribe_schema.dump(subscribe.query.get(subscribe.id)) return jsonify({"subscribe": result.data}) else: return error_serializers('Record not found!', 404), 404
def post(self, user_id): user = User.query.filter_by(id=user_id).first() if user: # POST param self.reqparse = reqparse.RequestParser() self.reqparse.add_argument('inviteeId', type = str, required = True, help = 'No invitee id provided', location = 'json') args = self.reqparse.parse_args() # create new invitation invitation = Invitation(inviter_id = user_id, invitee_id=args['inviteeId']) db.session.add(invitation) db.session.commit() result = invitation_schema.dump(Invitation.query.get(invitation.id)) return jsonify({"invitation": result.data}) else: return error_serializers('User not found!', 404), 404
def get(self, id): user = User.query.filter_by(id=id).first() if user: return user_wish_serializers(id, user.wish) else: return error_serializers('User not found!', 404), 404
def put(self, invitation_id): # PUT param self.reqparse = reqparse.RequestParser() self.reqparse.add_argument('status', type=int, required=True, help='No status id provided', location='json') args = self.reqparse.parse_args() # query location in table status = args['status'] if status == 2 or status == 5: invitation_query = Invitation.query.filter_by(id=invitation_id, status=1) if invitation_query.first(): invitation = invitation_query.scalar() invitation.status = status invitation.update_time = db.func.now() db.session.commit() # notify inviter status # Send a notification to inviter if invitation.status == 2: # notify inviter status # Send a notification to invitee invitee_id = invitation.invitee_id invitee = User.query.filter_by(id=invitee_id).first() token_hex = invitee.device_id if token_hex: #get inviter name inviter_id = invitation.inviter_id inviter = User.query.filter_by(id=inviter_id).first() inviter_name = inviter.first_name + " " + inviter.last_name alert_text = "You got a chat invitation from " + inviter_name + "!" payload = Payload(alert=alert_text, sound="default", badge=1, custom={'invitationId': invitation.id}) apns.gateway_server.send_notification(token_hex, payload) print alert_text elif status == 3 or status == 4: invitation_query = Invitation.query.filter_by(id=invitation_id, status=2) if invitation_query.first(): invitation = invitation_query.scalar() invitation.status = status invitation.update_time = db.func.now() db.session.commit() # notify inviter status # Send a notification to inviter if invitation.status == 3: inviter_id = invitation.inviter_id inviter = User.query.filter_by(id=inviter_id).first() token_hex = inviter.device_id if token_hex: # get invitee name invitee_id = invitation.invitee_id invitee = User.query.filter_by(id=invitee_id).first() invitee_name = invitee.first_name + " " + invitee.last_name alert_text = "Your invitation to " + invitee_name + " is accepted!" payload = Payload(alert=alert_text, sound="default", badge=1, custom={'invitationId': invitation.id}) apns.gateway_server.send_notification(token_hex, payload) print alert_text else: return error_serializers('Unknown invitation!', 404), 404 result = invitation_schema.dump(Invitation.query.get(invitation_id)) return jsonify({"invitation": result.data})
except Exception, e: print 'match users to master user error', e.message # Match and send notification to who is checking in try: for some_location_user in same_location_users: tags = db.session.query(Tag).join(UserTag).filter(UserTag.user_id==some_location_user.id).all() if match(tags, user.id): if send_notification(user.id, some_location_user.id): break except Exception, e: print 'match master user to users error', e.message return {'msg':'success'} else: return error_serializers('User not found!', 404), 404 def get(self, user_id): location = Location.query.filter_by(user_id=user_id).first() if location: result = location_schema.dump(Location.query.get(location.id)) return jsonify({"location": result.data}) else: return error_serializers('Unknown location!', 404), 404 def match(tags, user_id): subscribe = Subscribe.query.filter_by(user_id=user_id).first() if subscribe: