Esempio n. 1
0
 def searchUser(self, args):
     phone = args.get("phone")
     email = args.get("email")
     fName = args.get("fName")
     userName = args.get("userName")
     dao = UserDAO()
     user_list = []
     if (len(args) == 3) and phone and email and fName:
         user_list = dao.getUsersByPhoneEmailAndfName(phone, email, fName)
     elif (len(args) == 2) and phone and email:
         user_list = dao.getUsersByPhoneAndEmail(phone, email)
     elif (len(args) == 2) and phone and fName:
         user_list = dao.getUsersByPhoneAndFname(phone, fName)
     elif (len(args) == 2) and email and fName:
         user_list = dao.getUsersByEmailAndFname(email, fName)
     elif (len(args) == 1) and phone:
         user_list = dao.getUserByPhone(phone)
     elif (len(args) == 1) and email:
         user_list = dao.getUserByEmail(email)
     elif (len(args) == 1) and fName:
         user_list = dao.getUserByfName(fName)
     elif (len(args) == 1) and userName:
         user_list = dao.getUserByUserName(userName)
     else:
         return jsonify(Error="Malformed query string"), 400
     result_list = []
     for row in user_list:
         result = self.nameToDict(row)
         result_list.append(result)
     return jsonify(Users=result_list)
Esempio n. 2
0
 def insertUser(self, form):
     print("form: ", form)
     if len(form) != 6:
         return jsonify(Error="Malformed post request"), 400
     else:
         fName = form['fName']
         lName = form['lName']
         username = form['username']
         email = form['email']
         phone = form['phone']
         password = form['password']
         if fName and lName and username and email and phone and password:
             dao = UserDAO()
             if dao.validateInsert(username, email, phone):
                 userId = dao.insert(fName, lName, username, email, phone,
                                     password)
                 result = self.build_user_attributes(
                     userId, fName, lName, username, email, phone, password)
                 return jsonify(User=result), 201
             else:
                 return jsonify(
                     Error="Username, email or phone already exists"), 400
         else:
             return jsonify(
                 Error="Unexpected attributes in post request"), 400
Esempio n. 3
0
 def getUserContacts(self, userID):
     dao = UserDAO()
     result = dao.getUserContacts(userID)
     mapped_results = []
     for r in result:
         mapped_results.append(self.contactsToDict(r))
     return jsonify(Contacts=mapped_results)
Esempio n. 4
0
 def getUserByEmail(self, email):
     dao = UserDAO()
     result = dao.getUserByEmail(email)
     if result is None:
         return jsonify(Error="NOT FOUND"), 404
     else:
         mapped = self.mapToDict(result)
         return jsonify(User=mapped)
Esempio n. 5
0
 def profileInfoById(self, id):
     dao = UserDAO()
     result = dao.profileInfoById(id)
     if result is None:
         return jsonify(Error="NOT FOUND"), 404
     else:
         mapped = self.fullInfoToDict(result)
         return jsonify(User=mapped)
Esempio n. 6
0
    def getAllUsers(self):
        dao = UserDAO()
        result = dao.getAllUsers()
        mapped_results = []
        for r in result:
            mapped_results.append(self.nameToDict(r))

        return jsonify(Users=mapped_results)
Esempio n. 7
0
 def getUserById(self, form):
     print(form)
     dao = UserDAO()
     result = dao.getUserById(id)
     if result is None:
         return jsonify(Error="NOT FOUND"), 404
     else:
         mapped = self.mapToDict(result)
         return jsonify(User=mapped)
 def insertUserToGroup(self, userName, groupID, ownerID):
     gdao = GroupDAO()
     cdao = ContactDAO()
     udao = UserDAO()
     userID = udao.getUserIdByUserName(userName)
     result = []
     if int(ownerID) in (gdao.getOwnerId(groupID)) and cdao.isContact(userID, ownerID) and \
             not userID in (self.getAllUsersIdOnGroup(groupID)):
         cursor =self.conn.cursor()
         query = "INSERT INTO Participants(groupid,userid) values(%s,%s) returning userid;"
         cursor.execute(query,(groupID,userID,))
         result.append(cursor.fetchone())
         self.conn.commit()
     return result
Esempio n. 9
0
    def insertContact(self, userId, phone):
        dao = UserDAO()
        cursor = self.conn.cursor()
        contactTobeAdded = dao.getUserIdByPhone(phone)
        result = []
        if len(contactTobeAdded) != 0:
            if contactTobeAdded[0] not in (self.getAllContactsForId(
                    userId)) and contactTobeAdded[0] in (dao.getAllUsersId()):
                query = "INSERT INTO contacts(contactOfId, contactId) values(%s,%s) returning contactId;"
                cursor.execute(query, (userId, contactTobeAdded[0]))
                for row in cursor:
                    result.append(row)
                self.conn.commit()

        return result
Esempio n. 10
0
class UserService(object):
    __dao = None

    def __init__(self):
        self.__dao = UserDAO()

    def find_all(self):
        rows = self.__dao.find_all()
        return [UserDto(*row) for row in rows]

    def find_by_id(self, user_id):
        row = self.__dao.find_by_id(user_id)
        return UserDto(*row)

    def add(self, user: UserUpdateDto):
        user_entity = User(id=None,
                           username=user.username,
                           address=user.address,
                           phone=user.phone)
        row = self.__dao.create(user_entity)
        return UserDto(*row)

    def update(self, user_id, user: UserUpdateDto):
        user_entity = User(id=user_id,
                           username=user.username,
                           address=user.address,
                           phone=user.phone)
        row = self.__dao.update(user_entity)
        return UserDto(*row)

    def delete(self, user_id: int):
        self.__dao.delete(user_id)
Esempio n. 11
0
 def login(self, form):
     print("form: ", form)
     if len(form) != 2:
         return jsonify(Error="Malformed post request"), 400
     else:
         username = form['username']
         password = form['password']
         if username and password:
             dao = UserDAO()
             userId = dao.validateLogin(username, password)
             print(userId)
             if userId is None:
                 return jsonify(
                     Error="User has not been authenticated"), 400
             elif len(userId) == 1:
                 result = self.build_user_login(userId)
                 return jsonify(User_Logged_In=result), 201
             else:
                 return jsonify(
                     Error="Username or password do not exist"), 400
         else:
             return jsonify(
                 Error="Unexpected attributes in post request"), 400
Esempio n. 12
0
 def __init__(self):
     self.__dao = UserDAO()