def view_room(room_id): room = get_room(room_id) print("here") print(is_room_member(room_id, current_user.username)) if room and is_room_member(room_id, current_user.username): room_members = get_room_members(room_id) messages = get_messages(room_id) print(messages) return render_template('view_room.html', messages=messages, username=current_user.username, room=room, room_members=room_members) return "Room not found", 404
def single_room_members(room_id): user_id = get_jwt_identity() current_app.logger.info('{} requested members for {}'.format( user_id, room_id)) members_raw = get_room_members(room_id) members = [] if not is_room_member(room_id, user_id): return jsonify( {'Error': 'You are not a member of the requested room.'}), 403 for member in members_raw: try: # this is really messy, can this be improved? this_user = get_user(str(member['_id']['user_id'])) except KeyError as e: continue except TypeError as e: return jsonify({'Error': e}), 400 if not this_user: continue new_member = get_user(this_user.ID) members.append(new_member.create_json()) return jsonify(members), 200
def view_room(room_id): room = get_room(room_id) if room and is_room_member(room_id, current_user.username): room_members = get_room_members(room_id) messages = get_messages(room_id) return render_template('view_room.html', username=current_user.username,room=room, room_members=room_members, messages=messages) else: return "Room not found", 404
def get_older_messages(room_id): room = get_room(room_id) if room and is_room_member(room_id, current_user.username): page = int(request.args.get('page', 0)) messages = get_messages(room_id, page) return dumps(messages) else: return "Room not found", 404
def get_oldr_messages(room_id): room = [i for i in db.get_room(room_id)] if room and db.is_room_member(room_id, current_user.username): page = request.args.get('page', 0) messages = [i for i in db.get_messages(room_id, int(page))] return dumps(messages[0]) return 'Room not fould', 404
def view_room(room_id): room = get_room(room_id) if room and is_room_member(room_id, current_user.username): room_members = get_room_members(room_id) messages = get_messages(room_id) return render_template('vr1.html', username=current_user.username, room=room, room_members=room_members, messages=messages, room_id=room_id)
def view_room(room_id): room = [i for i in db.get_room(room_id)] if room and db.is_room_member(room_id, current_user.username): room_members = [i for i in db.get_room_members(room_id)] messages = [i for i in db.get_messages(room_id)] return render_template('view-room.html', user=current_user.username, room=room[0], room_members=room_members[0], messages=messages[0]) return 'Room not fould', 404
def get_room_messages(room_id): room = get_room(room_id) user_id = get_jwt_identity() if not room: return jsonify({'Error': 'Not Found'}), 404 if not is_room(room_id): return jsonify({'Error': 'Not Found'}), 404 if room and is_room_member(room_id, user_id): bucket_number = get_latest_bucket_number( room_id) # defaulted to latest bucket if none given in args requested_bucket_number = int( request.args.get('bucket_number', default=bucket_number)) if not requested_bucket_number: return jsonify({'Error': 'Stinky stinky'}), 500 try: message_bson = get_messages(str(room.room_id), requested_bucket_number) return jsonify(message_bson) if not message_bson: return jsonify([]), 200 if len(message_bson) == 0: return jsonify([]), 200 messages = [] users = {} for item in message_bson: try: user_id = str(item['sender']) if user_id not in users: users[user_id] = get_user(user_id) # time_sent, text, username, user_id, avatar, image_id) messages.append( Message(item['time_sent'], item['text'], users[user_id].username, users[user_id].ID, users[user_id].avatar, str(item['image_id'])).create_json()) except Exception as e: current_app.logger.info(e) return jsonify(messages) except Exception as e: current_app.logger.info(e) return jsonify({'e': 'e'}), 500 else: return jsonify({'Error': 'Room not found'}), 400
def room_mute(room_id): user_id = get_jwt_identity() if not is_room_member(room_id, user_id): return jsonify({'Error': 'You are not a member of this room.'}), 403 if request.method == 'GET': mute_status = room_is_mute(room_id, user_id) return jsonify({'muted': mute_status}) elif request.method == 'PUT': mute_status = toggle_mute(room_id, user_id) return jsonify({'muted': mute_status})
def chat(room_id): room = get_room(room_id) room_members = get_room_members(room_id) if room and is_room_member(room_id, current_user.username): is_room_admin = check_if_room_admin(room_id, current_user.username) return render_template('view_room.html', username=current_user.username, room=room, room_members=room_members, is_room_admin=is_room_admin) else: return redirect(url_for('home'))
def view_room(room_id): room = get_room(room_id) print(room) print(room_id) print(current_user.username) if room and is_room_member(room_id, current_user.username): room_members = get_room_members(room_id) print(room_members) # 2020.07.17 여기까지 완료 # username 부분이 채팅화면으로 들어갔을 때, 제대로 데아터를 가지고 오지 못하는 오류가 발생 return render_template('view_room.html', room=room, room_members=room_members, username=username) else: return "Room not found", 404
def view_room(room_id): room = get_room(room_id) if room and is_room_member(room_id, current_user.username): room_rule = get_room_rules(room_id) room_members = get_room_members(room_id) messages = get_messages(room_id) return render_template('view_room.html', username=current_user.username, room=room, room_rule=room_rule, room_members=room_members, messages=messages) #username = request.args.get('username') #room = request.args.get('room') else: return "Room not found", 404
def edit_room(room_id): room = get_room(room_id) room_members = [ member['_id']['username'] for member in get_room_members(room_id) ] print('room members are ==', room_members) is_room_admin = check_if_room_admin(room_id, current_user.username) if request.method == 'POST': new_room_name = request.form.get('new_room_name') change_room_name(room_id, new_room_name) room['room_name'] = new_room_name new_room_members = [ username.strip() for username in request.form.get('members').split(',') ] members_to_add = list(set(new_room_members) - set(room_members)) members_to_remove = list(set(room_members) - set(new_room_members)) if members_to_add: add_room_members(room_id, new_room_name, members_to_add, current_user.username) if members_to_remove: remove_room_members(room_id, members_to_remove) room_members = get_room_members(room_id) return render_template('view_room.html', username=current_user.username, room=room, room_members=room_members, is_room_admin=is_room_admin) else: room_members = ','.join(room_members) if room and is_room_member(room_id, current_user.username): return render_template('edit_room.html', username=current_user.username, room=room, room_members=room_members) else: return redirect(url_for('home'))
def edit_single_room(room_id): auth_user_id = get_jwt_identity() auth_user = get_user(auth_user_id) json_input = request.get_json(force=True) changed_room = json_input['room'].items() if not is_room_member(room_id, auth_user_id): return jsonify({'Error': 'Not authorized'}), 403 changeable_values = ['emoji', 'name'] for kvp in changed_room: if kvp[0] not in changeable_values: return jsonify( {'Error': 'You can only edit email, real_name, or username.'}), 400 update_room(room_id, changed_room) return jsonify({'Success': 'Room modified.'})
def view_room(room_id): room = get_room(room_id) try: is_dm = room['is_dm'] except KeyError: is_dm = False if room and is_room_member(room_id, current_user.username): room_members = get_room_members(room_id) messages = get_messages(room_id) rooms = get_rooms_for_user(current_user.username) return render_template('view_room.html', username=current_user.username, this_room=room, messages=messages, room_members=room_members, other_rooms=rooms, is_dm=is_dm) else: return "Room not found", 404
def chat_room(room_id): rooms = get_rooms_for_user(current_user.username) room = get_room(room_id) email = get_email(current_user.username) admins = [] not_admin = [] if room and is_room_member(room_id, current_user.username): room_members = get_room_members(room_id) for member in room_members: if is_room_admin(room_id, member['_id']['username']): admins.append(member['_id']['username']) else: not_admin.append(member['_id']['username']) messages = get_messages(room_id) return render_template('chat.html', admins=admins, rooms=rooms, username=current_user.username, not_admin=not_admin, email=email, room=room, room_members=room_members, room_id=room_id, messages=messages) else: return render_template('404.html', message='Room does not exist')
def single_room(room_id): if room_id == 'create': return jsonify({'Error': ''}), 405 if not is_room(room_id): return jsonify({'Error': 'Not Found'}), 404 user_id = get_jwt_identity() user = get_user(user_id) room = get_room(room_id) if not room: return jsonify({'Error': 'Room not found.'}), 404 if not is_room_member(room_id, user_id): return jsonify({'Error': 'You are not a member of this room.'}), 403 else: return jsonify(return_room(room, user.username, user_id)), 200 return jsonify({'Error': ''}), 500
def single_room_members_test(room_id): user_id = get_jwt_identity() current_app.logger.info('{} requested members for {}'.format( user_id, room_id)) members_from_db = get_room_members(room_id) this_room = get_room(room_id) members = [] if not this_room or not members_from_db: return jsonify({'Error': 'Room not found.'}), 404 if not is_room_member(room_id, user_id): return jsonify( {'Error': 'You are not a member of the requested room.'}), 403 if request.method == 'GET': for member in members_from_db: try: some_user = get_user(str(member['_id']['user_id'])) except KeyError as e: continue except TypeError as e: return jsonify({'Error': e}), 400 if not some_user: continue members.append(some_user.create_json()) return jsonify(members), 200 elif request.method == 'POST': json_input = request.get_json(force=True) try: new_members = json_input['add_members'] except Exception as e: return jsonify({'Error': 'Bad input'}), 400
def get_image(upload_id): user_id = get_jwt_identity() user = get_user(user_id) target_image = locate_image(upload_id) current_app.logger.info("{} attempted to view file {}".format( user.username, upload_id)) if target_image: image_room = target_image['room_id'] if not is_room_member( image_room, user_id ) and not target_image['avatar']: # avatars can be accessed anywhere return jsonify({'Error': 'Not authorized'}), 403 file_path = os.path.join(current_app.config['UPLOAD_FOLDER'], target_image['location']) current_app.logger.info(file_path) if os.path.exists(file_path): return send_file(file_path) else: return jsonify({'I could not find the requested file': upload_id}), 404 return jsonify({'No such image.': upload_id}), 404
def event_handle(room_id): if is_room_member(room_id,current_user.username): return render_template('index1.html',username=current_user.username,room_id=room_id) else: return render_template('index.html',username=username)
def view_room(room_id): room = get_room(room_id) a=emoji.emojize(":grinning_face_with_big_eyes:") b=emoji.emojize(":winking_face_with_tongue:") c=emoji.emojize(":zipper-mouth_face:") d=emoji.emojize(":nauseated_face:") e=emoji.emojize(":face_with_head-bandage:") f=emoji.emojize(":sleepy_face:") g=emoji.emojize(":face_with_rolling_eyes:") h=emoji.emojize(":lying_face:") i=emoji.emojize(":relieved_face:") j=emoji.emojize(":pensive_face:") k=emoji.emojize(":smirking_face:") l=emoji.emojize(":expressionless_face:") m=emoji.emojize(":shushing_face:") n=emoji.emojize(":thinking_face:") o=emoji.emojize(":face_with_raised_eyebrow:") p = emoji.emojize(":grinning_face:") q = emoji.emojize(":grinning_face_with_smiling_eyes:") r = emoji.emojize(":beaming_face_with_smiling_eyes:") s = emoji.emojize(":grinning_squinting_face:") t = emoji.emojize(":rolling_on_the_floor_laughing:") u = emoji.emojize(":grinning_face_with_sweat:") v = emoji.emojize(":face_with_tears_of_joy:") w = emoji.emojize(":slightly_smiling_face:") x = emoji.emojize(":upside-down_face:") y = emoji.emojize(":winking_face:") a1= emoji.emojize(":smiling_face_with_smiling_eyes:") b1= emoji.emojize(":smiling_face_with_halo:") c1= emoji.emojize(":face_blowing_a_kiss:") d1= emoji.emojize(":smiling_face_with_heart-eyes:") e1= emoji.emojize(":star-struck:") f1= emoji.emojize(":kissing_face:") g1= emoji.emojize(":kissing_face_with_closed_eyes:") h1= emoji.emojize(":kissing_face_with_smiling_eyes:") i1= emoji.emojize(":face_savoring_food:") j1= emoji.emojize(":zany_face:") k1= emoji.emojize(":sunglasses:") l1= emoji.emojize(":kiss:") m1= emoji.emojize(":collision:") n1= emoji.emojize(":princess:") o1= emoji.emojize(":eyes:") q1= emoji.emojize(":pizza:") p1= emoji.emojize(":memo:") r1= emoji.emojize(":poultry_leg:") s1= emoji.emojize(":custard:") t1= emoji.emojize(":cookie:") u1=emoji.emojize(":sushi:") v1=emoji.emojize(":pear:") w1=emoji.emojize(":cherries:") x1=emoji.emojize(":chocolate_bar:") y1=emoji.emojize(":musical_note:") a2 = emoji.emojize(":video_game:") b2 = emoji.emojize(":family:") c2 = emoji.emojize(":hotel:") d2 = emoji.emojize(":boy:") e2 = emoji.emojize(":girl:") f2 = emoji.emojize(":school:") g2 = emoji.emojize(":house:") h2 = emoji.emojize(":hospital:") i2 = emoji.emojize(":bank:") j2 = emoji.emojize(":cinema:") k2 = emoji.emojize(":station:") l2 = emoji.emojize(":ambulance:") m2 = emoji.emojize(":airplane:") n2 = emoji.emojize(":taxi:") o2 = emoji.emojize(":oncoming_automobile:") if room and is_room_member(room_id, current_user.username): room_members = get_room_members(room_id) messages = get_messages(room_id) return render_template('view_room.html', username=current_user.username, room_id=room_id, room=room, room_members=room_members, messages=messages,a=a,b=b,c=c,d=d,e=e,f=f,g=g,h=h,i=i,j=j,k=k,l=l,m=m,n=n,o=o,p=p,q=q,r=r,s=s,t=t,u=u, v=v,w=w,x=x,y=y,a1=a1,b1=b1,c1=c1,d1=d1,e1=e1,f1=f1,g1=g1,h1=h1,i1=i1,j1=j1,k1=k1,l1=l1,m1=m1,n1=n1,o1=o1,p1=p1,q1=q1,r1=r1, s1=s1,t1=t1,u1=u1,v1=v1,w1=w1,x1=x1,y1=y1,a2=a2,b2=b2,c2=c2,d2=d2,e2=e2,f2=f2,g2=g2,h2=h2,i2=i2,j2=j2,k2=k2,l2=l2,m2=m2,n2=n2,o2=o2) else: return "Room not found", 404