def seleccionar_uno(id): habilidad = BaseDeDatos.correr_sql( f"SELECT * FROM habilidad WHERE id_habilidad = {id}") if habilidad.__len__() == 1: return habilidad[0] else: return None
def agregar_usuario(ci, nombre, apellido, fecha_nacimiento, email, telefono, calle, numero_puerta, esquina_1, esquina_2, password): usuario_id = BaseDeDatos.insert_sql( f"INSERT INTO usuario (ci,nombre,apellido,fecha_nacimiento,email,telefono,calle," f"numero_puerta,esquina_1,esquina_2,password) VALUES ({ci},'{nombre}'," f"'{apellido}','{fecha_nacimiento}','{email}',{telefono},'{calle}'," f"'{numero_puerta}','{esquina_1}','{esquina_2}','{password}')") return seleccionar_por_id(usuario_id)
def seleccionar_por_habilidades(idHabilidades, idUsuario): necesidades = BaseDeDatos.correr_sql( f"SELECT * FROM necesidad WHERE ID_habilidad in ({','.join(idHabilidades)}) AND NOT ID_usuario = {idUsuario}" ) for necesidad in necesidades: necesidad['usuario'] = Usuarios.seleccionar_por_id( necesidad['ID_usuario']) return necesidades
def seleccionar_uno(email, password): usuario = BaseDeDatos.correr_sql( f"select * from usuario where email = '{email}' and password = '******'" ) if usuario.__len__() == 1: usuario = usuario[0] return usuario else: return None
def seleccionar_por_id(idNecesidad): necesidad = BaseDeDatos.correr_sql( f"SELECT * FROM necesidad WHERE ID_Necesidad = {idNecesidad}") if necesidad.__len__() == 1: necesidad = necesidad[0] necesidad['habilidad'] = Habilidades.seleccionar_uno( necesidad['ID_habilidad']) return necesidad else: return None
def seleccionar_por_id(id): usuario = BaseDeDatos.correr_sql( f"select * from usuario where ID_usuario = {id}") if usuario.__len__() == 1: usuario = usuario[0] #usuario['habilidades'] = [] #for habilidad in Habilidades.seleccionar_todos_para_usuario(usuario['ID_usuario']): #usuario['habilidades'].append(habilidad) usuario['habilidades'] = Habilidades.seleccionar_todos_para_usuario( usuario['ID_usuario']) return usuario else: return None
def modificar_habilidades(id_usuario, id_habilidad): mod_Habilidades = BaseDeDatos.correr_sql( f"ALTER TABLE usuario_habilidad ADD ({id_usuario},{id_habilidad})") return mod_Habilidades
def agregar_alerta(id1, id2): BaseDeDatos.correr_sql( f"INSERT INTO alerta (ID_usuario_1, ID_usuario_2) VALUES('{id1}','{id2}')" ) return True
def obtener_mensajes(id1, id2): mensajes = BaseDeDatos.correr_sql( f"SELECT * FROM chat WHERE (id_usuario_1 = {id1} or id_usuario_1 = {id2}) and (id_usuario_2 = {id1} or id_usuario_2 = {id2}) order by fecha_hora_mensaje" ) eliminar_alertas(id2, id1) return mensajes
def eliminar_alertas(id1, id2): BaseDeDatos.correr_sql( f"DELETE FROM alerta WHERE ID_usuario_1 = '{id1}' AND ID_usuario_2 = '{id2}'" ) return True
def obtener_alertas(id2): alertas = BaseDeDatos.correr_sql( f"SELECT a.ID_usuario_1, u.nombre FROM alerta a INNER JOIN usuario u ON a.ID_usuario_1 = u.ID_usuario WHERE ID_usuario_2 = '{id2}'" ) return alertas
def agregar_mensajes(id1, id2, mensaje): agregar_alerta(id1, id2) BaseDeDatos.correr_sql( f"INSERT INTO chat (id_usuario_1,id_usuario_2,mensaje,fecha_hora_mensaje) VALUES ({id1},{id2},'{mensaje}',CURRENT_TIMESTAMP())" ) return True
def seleccionar_todos(): return BaseDeDatos.correr_sql("select * from usuario")
def obtener_necesidades(idUsuario, idHabilidades): necesidades = BaseDeDatos.correr_sql( f"SELECT * FROM necesidad WHERE (ID_habilidad = {idHabilidades} or(ID_usuario ={idUsuario}) order by fecha_creado" ) return necesidades
def seleccionar_todos(): return BaseDeDatos.correr_sql("select * from habilidad")
def agregar_habilidades(id_usuario, id_habilidad): add_Habilidades = BaseDeDatos.correr_sql( f"INSERT INTO usuario_habilidad (id_usuario, id_habilidad) VALUES ({id_usuario},{id_habilidad})" ) return add_Habilidades
def check_habilidades_existe(idUsuario, idHabilidades): habilidades = BaseDeDatos.correr_sql( f"SELECT * FROM usuario_habilidad WHERE (ID_usuario = {idUsuario} and (ID_habilidad = {idHabilidades})" ) return habilidades
def modificar_usuario(id_usuario, ci, nombre, apellido, correo, telefono, password): BaseDeDatos.correr_sql( f"UPDATE usuario SET ci = {ci}, nombre = {nombre}, apellido = {apellido}, correo = {correo}, telefono = {telefono}, password = {password} WHERE ID_usuario = {id_usuario}" ) return seleccionar_por_id(id_usuario)
def seleccionar_por_usuario(idUsuario): necesidades = BaseDeDatos.correr_sql( f"SELECT * FROM necesidad WHERE id_usuario = {idUsuario}") return necesidades
def eliminar_habilidades_usuario(id_usuario): BaseDeDatos.correr_sql( f"DELETE FROM usuario_habilidad WHERE ID_usuario = {id_usuario}")
def agregar_necesidades(id_usuario, id_habilidad, necesidad): necesidadId = BaseDeDatos.insert_sql( f"INSERT INTO necesidad (ID_habilidad,ID_usuario,descripcion_necesidad,fecha_creado) VALUES ({id_habilidad},{id_usuario},'{necesidad}',now())" ) return seleccionar_por_id(necesidadId)
def seleccionar_todos_para_usuario(idUsuario): return BaseDeDatos.correr_sql( f"SELECT * FROM habilidad WHERE id_habilidad IN (SELECT id_habilidad FROM usuario_habilidad WHERE id_usuario = {idUsuario})" )