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
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
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
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
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
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
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
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
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)
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')
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)
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)
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)
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)
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)
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)
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
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)
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)
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)
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)
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)
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)
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)
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)
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)
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
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)
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)
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)