def create_message_to_channel(user_id, channel_id, content): new_message = Message(user_id=user_id, channel_id=channel_id, content=content) db.session.add(new_message) db.session.commit() return new_message.serialize()
def create_message(sender_id, content, channel_id): new_message = Message(sender=sender_id, content=content, channel=channel_id) db.session.add(new_message) db.session.commit() return new_message.serialize()
def create_message(chat_id, body): message = Message(timestamp=datetime.datetime.now(), content=body.get("content"), sender_id=body.get("sender_id"), chat_id=chat_id) chat = Chat.query.filter_by(id=chat_id).first() sender = User.query.filter_by(id=body.get("sender_id")).first() if sender not in chat.users: return None for user in chat.users: if user is not sender: user.messages_received.append(message) db.session.add(message) db.session.commit() return message.serialize()
def send_message_to_group(sender_id, group_id, message): sender = User.query.filter_by(id=sender_id).first() group = Group.query.filter_by(id=group_id).first() if sender is None or group is None or sender not in group.members: return None new_message = Message( sender_id=sender_id, group_id=group_id, message=message ) db.session.add(new_message) db.session.commit() return new_message.serialize()
def add_message_to_assignment(class_id, assign_id): post_body = json.loads(request.data) single_class = Class.query.filter_by(id=class_id).first() assignment = Assignment.query.filter_by(id=assign_id).first() user = User.query.filter_by(username=post_body.get('username')).first() if single_class is None: return json.dumps({'success': False, 'error': 'Class not found'}), 404 elif assignment is None: return json.dumps({ 'success': False, 'error': 'Assignment not found' }), 404 message = Message(message=post_body.get('message', ''), username=post_body.get('username', 'anonymous'), name=post_body.get('name', 'anonymous'), time=post_body.get('time', '2000-01-01T00:00:00'), assignment_id=assign_id) if user is not None: user.classes.append(single_class) user.assignments.append(assignment) assignment.messages.append(message) db.session.add(message) db.session.commit() return json.dumps({'success': True, 'data': message.serialize()}), 200