def get_by_name(cls, user_name: int): c = conn.cursor() c.execute('SELECT * from Users WHERE user_name = ?', (user_name, )) existing_user = c.fetchone() c.close() if existing_user: return cls(*existing_user) return None
def get(cls, user_id: int): c = conn.cursor() c.execute('SELECT * from Users WHERE id = ?', (user_id, )) existing_user = c.fetchone() c.close() if existing_user: return cls(*existing_user) return None
def get(cls, message_id: int): c = conn.cursor() c.execute('SELECT * from Messages WHERE id = ?', (message_id, )) existing_message = c.fetchone() c.close() if existing_message: _, user_id, content, date_time = existing_message user = User.get(user_id) return cls(message_id, user, content, date_time) return None
def create(cls, user: '******', content: str): now = get_current_time_millis() c = conn.cursor() c.execute( 'INSERT INTO Messages (user_id, content, date_time) values(?, ?, ?)', (user.id, content, str(now))) message_id = c.lastrowid conn.commit() c.close() return cls(message_id, user, content, now)
def create(cls, name: str, color: str = "#FFF"): c = conn.cursor() c.execute('SELECT * from Users WHERE user_name = ?', (name, )) existing_user = c.fetchone() if existing_user: c.close() return False c.execute('INSERT INTO Users (user_name, color) values(?, ?)', ( name, color, )) user_id = c.lastrowid conn.commit() c.close() return cls(user_id, name, color)
def update(self, name: str = None, color: int = None): query = [] query_values = [] if name is not None: query.append('name = ?') query_values.append(name) self.name = name if color is not None: query.append('color = ?') query_values.append(name) self.color = color query_values.append(self.id) query_string = ', '.join(query) c = conn.cursor() c.execute(f'UPDATE Users SET {query_string} WHERE id = ?', query_values) conn.commit() c.close()