Esempio n. 1
0
 def updateUser(self, uid, form):
     dao = UsersDAO()
     if not dao.getUserById(uid):
         return jsonify(Error="User not found."), 404
     else:
         if len(form) == 1 and form['isAdmin']:
             dao = UsersDAO()
             uid = dao.updateAdmin(uid, form['isAdmin'])
             result = User().build_dict_from_row(dao.getUserById(uid))
             return jsonify(result), 201
         elif len(form) != 7:
             return jsonify(Error="Malformed update request"), 400
         else:
             username = form['username']
             lastname = form['lastName']
             firstname = form['firstName']
             password = form['password']
             phone = form['phone']
             email = form['email']
             addId = form['addId']
             if username and lastname and firstname and password and addId and email and phone:
                 uid = dao.update(uid, username, lastname, firstname,
                                  password, email, phone, addId)
                 result = User().build_dict_from_row(dao.getUserById(uid))
                 return jsonify(result), 201
             else:
                 return jsonify(
                     Error="Unexpected attributes in post request"), 400
Esempio n. 2
0
 def insertSupplierJson(self, json):
     ufirstname = None
     ulastname = None
     compid = None
     susername = json['susername']
     scompany = json['scompany']
     if len(json) == 3:
         compid = json['compid']
     elif len(json) == 4:
         ufirstname = json['ufirstname']
         ulastname = json['ulastname']
     elif len(json) == 5:
         ufirstname = json['ufirstname']
         ulastname = json['ulastname']
         compid = json['compid']
     if susername and scompany and ufirstname and ulastname and compid:
         if not CompanyDAO().getCompanyById(compid):
             return jsonify(Error="Company Not Found"), 404
         uid = UsersDAO().insert(ufirstname, ulastname)
         sid = SupplierDAO().insertSupplierAsNewUsers(
             uid, susername, scompany)
         CompanyDAO().supplierWorksForCompany(compid, sid)
         self.build_user_attributes(uid, ufirstname, ulastname)
         result = self.build_supplier_attributes(sid, uid, susername,
                                                 scompany)
         return jsonify(Supplier=result), 201
     elif susername and scompany and ufirstname and ulastname:
         uid = UsersDAO().insert(ufirstname, ulastname)
         sid = SupplierDAO().insertSupplierAsNewUsers(
             uid, susername, scompany)
         self.build_user_attributes(uid, ufirstname, ulastname)
         result = self.build_supplier_attributes(sid, uid, susername,
                                                 scompany)
         return jsonify(Supplier=result), 201
     elif susername and scompany and compid:
         if not CompanyDAO().getCompanyById(compid):
             return jsonify(Error="Company Not Found"), 404
         uid = ""
         sid = SupplierDAO().insert(susername, scompany)
         CompanyDAO().supplierWorksForCompany(compid, sid)
         result = self.build_supplier_attributes(sid, uid, susername,
                                                 scompany)
         return jsonify(Supplier=result), 201
     elif susername and scompany:
         uid = ""
         sid = SupplierDAO().insert(susername, scompany)
         result = self.build_supplier_attributes(sid, uid, susername,
                                                 scompany)
         return jsonify(Supplier=result), 201
     else:
         return jsonify(Error="Unexpected attributes in post request"), 400
Esempio n. 3
0
 def insertUser(self, form):
     print(len(form))
     if len(form) != 7:
         return jsonify(Error="Malformed post request"), 400
     else:
         username = form['username']
         lastname = form['lastName']
         firstname = form['firstName']
         password = form['password']
         phone = form['phone']
         email = form['email']
         #isAdmin = form['isAdmin']
         address1 = form['address']['address1']
         address2 = form['address']['address2']
         zipcode = form['address']['zipcode']
         region = form['address']['region']
         country = form['address']['country']
         city = form['address']['city']
         if username and lastname and firstname and password and address1 and zipcode and region and country and city and email and phone:
             dao = UsersDAO()
             dao2 = AddressesDAO()
             add_id = dao2.insert(address1, address2, zipcode, region,
                                  country, city)
             uid = dao.insert(username, lastname, firstname, password,
                              email, phone, add_id)
             result = User().build_dict_from_row(dao.getUserById(uid))
             return jsonify(result), 201
         else:
             return jsonify(
                 Error="Unexpected attributes in post request"), 400
Esempio n. 4
0
 def insertUser(self, form):
     print("form: ", form)
     if len(form) != 9:
         return jsonify(Error="Malformed post request"), 400
     else:
         username = form['UserName']
         password = form['Password']
         email = form['Email']
         cardid = form['CardID']
         ulocation = form['ULocation']
         firstname = form['FirstName']
         lastname = form['LastName']
         dateofbirth = form['DateofBirth']
         gender = form['Gender']
         if username and password and email and cardid and ulocation and firstname and lastname and dateofbirth and gender:
             dao = UsersDAO()
             userid = dao.insert(username, password, email, cardid,
                                 ulocation, firstname, lastname,
                                 dateofbirth, gender)
             result = self.build_users_attributes(userid, username,
                                                  password, email, cardid,
                                                  ulocation, firstname,
                                                  lastname, dateofbirth,
                                                  gender)
             return jsonify(Users=result), 201
         else:
             return jsonify(
                 Error="Unexpected attributes in post request"), 400
Esempio n. 5
0
 def deleteUser(self, uid):
     dao = UsersDAO()
     if not dao.getUserById(uid):
         return jsonify(Error="User not found."), 404
     else:
         dao.delete(uid)
         return jsonify(DeleteStatus="OK"), 200
Esempio n. 6
0
 def updateSysAdm(self, said, form):
     dao = SysAdmDAO()
     if not dao.getSysAdmById(said):
         return jsonify(Error="System Admin not found."), 404
     else:
         if len(form) == 2:
             uid = form['uid']
             sausername = form['sausername']
             if sausername and uid:
                 dao.update(said, uid, sausername)
                 result = self.build_systemadmin_attributes(
                     said, uid, sausername)
                 return jsonify(SysAdm=result), 200
         if len(form) == 3:
             uid = form['uid']
             sausername = form['sausername']
             manages = form['manages']
             if not UsersDAO().getUsersById(manages):
                 return jsonify(Error="User To Manage Not Found"), 404
             if uid and sausername and manages:
                 try:
                     dao.populateManages(said, manages)
                 except:
                     return jsonify('Admin ' + str(said) +
                                    ' already manages user ' +
                                    str(manages)), 400
                 return jsonify('Admin ' + str(said) + ' manages user ' +
                                str(manages)), 200
         else:
             return jsonify(Error="Malformed update request"), 400
Esempio n. 7
0
 def updateUser(self, userid, form):
     dao = UsersDAO()
     if not dao.getUserById(userid):
         return jsonify(Error="User not found."), 404
     else:
         if len(form) != 4:
             return jsonify(Error="Malformed update request"), 400
         else:
             username = form['UserName']
             password = form['Password']
             email = form['Email']
             cardid = form['CardID']
             ulocation = form['ULocation']
             firstname = form['FirstName']
             lastname = form['LastName']
             dateofbirth = form['DateofBirth']
             gender = form['Gender']
             if username and password and email and cardid and ulocation and firstname and lastname and dateofbirth and gender:
                 dao.update(username, password, email, cardid, ulocation,
                            firstname, lastname, dateofbirth, gender)
                 result = self.build_users_attributes(
                     username, password, email, cardid, ulocation,
                     firstname, lastname, dateofbirth, gender)
                 return jsonify(Users=result), 200
             else:
                 return jsonify(
                     Error="Unexpected attributes in update request"), 400
Esempio n. 8
0
 def deleteContact(self, uid, cid):
     dao = UsersDAO()
     if not dao.getContact(uid, cid):
         return jsonify(Error="Part not found."), 404
     else:
         dao.deleteContact(uid, cid)
         return jsonify(DeleteStatus="OK"), 200
Esempio n. 9
0
 def getAllUsers(self):
     dao = UsersDAO()
     result = dao.getAllUsers()
     mapped_result = []
     for r in result:
         mapped_result.append(self.users_dict(r))
     return jsonify(Users=mapped_result)
Esempio n. 10
0
async def initialize(app):
    loop = asyncio.get_event_loop()

    config = get_config()

    app['channels'] = {}

    app['db'] = DatabaseConnection(**config['db'])
    await app['db'].connect(loop)
    logger.info('Database pool created')

    app['redis'] = RedisConnection(**config['redis'])
    await app['redis'].connect(loop)
    logger.info('Redis pool created')

    users_dao = UsersDAO(db=app['db'])
    schedule_dao = ScheduleDAO(db=app['db'])

    user_handler = UsersHandler(users_dao=users_dao, schedule_dao=schedule_dao)
    schedule_handler = ScheduleHandler(schedule_dao=schedule_dao)
    chat_handler = ChatHandler(redis=app['redis'], users_dao=users_dao)

    app.add_routes([web.post('/user/', user_handler.create_user)])
    app.add_routes([web.get('/user/{user_id}', user_handler.get_user)])
    app.add_routes([web.get('/users/', user_handler.get_users_list)])
    app.add_routes([web.post('/user/{user_id}/schedule/', schedule_handler.add_schedule)])

    app.add_routes([web.get('/ws/{chat_id}/{user_id}/', chat_handler.websocket_server)])
    logger.info('Routes added')
Esempio n. 11
0
 def getUserByID(self, id):
     dao = UsersDAO()
     result = dao.getUserById(id)
     if result == None:
         return jsonify(Error="USER NOT FOUND")
     else:
         mapped_results = self.users_dict(result)
         return jsonify(User=mapped_results)
Esempio n. 12
0
 def getDislikersByMessageId(self, mid):
     dao = UsersDAO()
     users_list = dao.getDislikersByMessageId(mid)
     result_list = []
     for row in users_list:
         result = self.build_reaction_dict(row)
         result_list.append(result)
     return jsonify(Dislikers=result_list)
Esempio n. 13
0
 def getOwnerByGroupId(self, gid):
     dao = UsersDAO()
     row = dao.getOwnerByGroupId(gid)
     if not row:
         return jsonify(Error="Group Not Found"), 404
     else:
         owner = self.build_user_dict(row)
         return jsonify(Owner=owner)
Esempio n. 14
0
 def getMembersByGroupId(self, gid):
     dao = UsersDAO()
     member_list = dao.getMembersByGroupId(gid)
     result_list = []
     for row in member_list:
         result = self.build_user_dict(row)
         result_list.append(result)
     return jsonify(Members=result_list)
Esempio n. 15
0
 def getUserContactsById(self, uid):
     dao = UsersDAO()
     contact_list = dao.getUserContactsById(uid)
     result_list = []
     for row in contact_list:
         result = self.build_user_dict(row)
         result_list.append(result)
     return jsonify(Contacts=result_list)
Esempio n. 16
0
 def getAllUsers(self):
     dao = UsersDAO()
     users_list = dao.getAllUsers()
     result_list = []
     for row in users_list:
         result = self.build_user_dict(row)
         result_list.append(result)
     return jsonify(Users=result_list)
Esempio n. 17
0
 def getAllUsers(self):
     dao = UsersDAO()
     user_list = dao.getAllUsers()
     results = []
     for row in user_list:
         element = self.buildUserAttributes(row)
         results.append(element)
     return jsonify(Users=results), 200
Esempio n. 18
0
 def chatOwner(self, cid):
     dao = UsersDAO()
     row = dao.chatOwner(cid)
     if not row:
         return jsonify(Error="User Not Found"), 404
     else:
         user = self.build_members(row)
         return jsonify(User=user)
Esempio n. 19
0
 def chatOwner(self, cid):
     dao = UsersDAO()
     user_list = dao.chatOwner(cid)
     result_list = []
     for row in user_list:
         result = self.build_user_dict(row)
         result_list.append(result)
     return jsonify(Users=result_list)
Esempio n. 20
0
 def showSupplier(self, uid):
     dao = UsersDAO()
     row = dao.showSupplier(uid)
     if not row:
         return jsonify(Error = "Supplier Not Found"), 404
     else:
         supplier = self.build_user_dict(row)
         return jsonify(Supplier = supplier)
Esempio n. 21
0
 def showAllSuppliers(self):
     dao = UsersDAO()
     request_list = dao.showAllSuppliers()
     result_list = []
     for row in request_list:
         result = self.build_user_dict(row)
         result_list.append(result)
     return jsonify(Suppliers=result_list)
Esempio n. 22
0
 def getAllUserTypes(self):
     dao = UsersDAO()
     location_list = dao.getAllUserTypes()
     result_list = []
     for row in location_list:
         result = self.build_userType_dict(row)
         result_list.append(result)
     return jsonify(UserType=result_list)
Esempio n. 23
0
 def getInfoById(self, uid):
     dao = UsersDAO()
     row = dao.getUserById(uid)
     if not row:
         return jsonify(Error="User Not Found"), 404
     else:
         user = self.build_user_dict(row)
         return jsonify(User=user)
Esempio n. 24
0
 def getUserByName(self, first_name, last_name):
     dao = UsersDAO()
     result = dao.getUserByName(first_name, last_name)
     if result == None:
         return jsonify(Error="USER NOT FOUND")
     else:
         mapped_results = self.users_dict(result)
         return jsonify(User=mapped_results)
Esempio n. 25
0
 def getAllUserChats(self, uid):
     dao = UsersDAO()
     user_list = dao.getAllUserChats(uid)
     result_list = []
     for row in user_list:
         result = self.build_user_chats(row)
         result_list.append(result)
     return jsonify(Chats=result_list)
Esempio n. 26
0
 def getUserByFirstName(self, first_name):
     dao = UsersDAO()
     row = dao.getUserByFirstName(first_name)
     if not row:
         return jsonify(Error="User Not Found"), 404
     else:
         user = self.build_user_dict(row)
         return jsonify(User=user)
Esempio n. 27
0
 def getUserByUName(self, uname):
     dao = UsersDAO()
     result = dao.getUserByUName(uname)
     if not result:
         return jsonify(Error='User not found.'), 404
     else:
         user = self.buildUserAttributes(result)
         return jsonify(User=user), 200
Esempio n. 28
0
 def getUserByEmail(self, email):
     dao = UsersDAO()
     row = dao.getUserByEmail(email)
     if not row:
         return jsonify(Error="User Not Found"), 404
     else:
         user = self.build_user_dict(row)
         return jsonify(User=user)
Esempio n. 29
0
 def getUserById(self, uID):
     dao = UsersDAO()
     row = dao.getUserById(uID)
     if not row:
         return jsonify(Error="User not found"), 404
     else:
         user = self.build_user_dict(row)
         return jsonify(User=user)
Esempio n. 30
0
 def login(self, email, password):
     dao = UsersDAO()
     row = dao.login(email, password)
     if not row:
         return jsonify(Error="Wrong email or password"), 404
     else:
         uid = self.buid_user_id_dict(row)
         return jsonify(User=uid)