class ModuleLauncher: def __init__(self, clientId, data, verifykey, apiEndPoint): self.message = data self.sessionkey = verifykey self.apiEndPoint = apiEndPoint self.splitUrl = apiEndPoint.split('/') self.auth = Authentication() self.master = Master() self.admin = Admin() self.role = roleManage() self.attendance = attendanceManage() self.project = projectManage() self.labourer = labbourerManage() self.labclass = labourerClass() self.shift = shiftManage() self.log = Logger() self.paymentDesk = paymentDesk() self.clientId = clientId def handleRequest(self): if self.splitUrl[0] == "master": return self.handleMaster() elif self.apiEndPoint == "/register": return self.master.adminRegister(self.message, self.sessionkey) elif self.apiEndPoint == "/companyprofile": return self.admin.companyProfile(self.clientId, self.sessionkey) elif self.apiEndPoint == "/userprofile": return self.admin.userProfile(self.clientId, self.message, self.sessionkey) else: return self.handleClient(self.splitUrl[0]) def handleClient(self, clientId): if self.splitUrl[1] == "login": return self.admin.login(self.clientId, self.message, self.sessionkey) elif self.splitUrl[1] == "user": return self.handleClientUser() elif self.splitUrl[1] == "projects": return self.handleProjects() elif self.splitUrl[1] == "paymentDesk": return self.handlePaymentDesk() elif self.splitUrl[1] == "userrole": return self.roleManage() elif self.splitUrl[1] == "labourer": return self.handleLabourer() elif self.splitUrl[1] == "attendance": if self.splitUrl[2] == "list": return self.attendance.getAttendace(self.clientId, self.sessionkey) elif self.splitUrl[1] == "logout": return self.auth.logout(self.message, self.sessionkey) elif self.splitUrl[1] == "payments": pass else: self.log.logEvent("ModuleLauncher", 3, "wrong url acess") return "url does not defined" def handleMaster(self): if self.splitUrl[1] == "login": return self.master.login(self.message, self.sessionkey) elif self.splitUrl[1] == "register": # digest = self.auth.signUp(self.message["password"]) # self.message["password"] = digest["hashPassword"] # self.message["salt"] = digest["salt"] # print("message",self.message) # return self.master.createMaster(self.message) # self.log.logEvent("ModuleLauncher",3,"Master registerd") return self.master.createMaster(self.message, self.sessionkey) #return "sucess" elif self.splitUrl[1] == "user": return self.handleMasterUser() elif self.splitUrl[1] == "app": if self.splitUrl[2] == "logs": return self.master.fetchAppLogs(self.message, self.sessionkey) elif self.splitUrl[1] == "clients": return self.handleMasterclients() elif self.splitUrl[1] == "logout": return self.auth.logout(self.message, self.sessionkey) else: print("master can't have this endpoint") self.log.logEvent("ModuleLauncher", 3, "master can't have this endpoint") return "master can't have this endpoint" def handleMasterUser(self): if self.splitUrl[2] == "add": return self.master.addUser(self.message, self.sessionkey) elif self.splitUrl[2] == "delete": return self.master.deleteUser(self.message, self.sessionkey) elif self.splitUrl[2] == "list": return self.master.listUser(self.sessionkey) elif self.splitUrl[2] == "editlist": return self.master.mastereditList(self.message, self.sessionkey) elif self.splitUrl[2] == "save": return self.master.editUser(self.message, self.sessionkey) elif self.splitUrl[2] == "archive": return self.master.archiveUser(self.message, self.sessionkey) elif self.splitUrl[2] == "unarchive": return self.master.unArchiveUser(self.message, self.sessionkey) else: self.log.logEvent("ModuleLauncher", 3, "master_user can't have this endpoint") return "wrong url access1" def handleMasterclients(self): if self.splitUrl[2] == "list": return self.master.getRegUserDetails(self.sessionkey) elif self.splitUrl[2] == "editlist": return self.master.clienteditList(self.message) elif self.splitUrl[2] == 'delete': return self.master.deleteClient(self.message, self.sessionkey) elif self.splitUrl[2] == "archive": return self.master.archiveClient(self.message, self.sessionkey) elif self.splitUrl[2] == "save": return self.master.editClient(self.message, self.sessionkey) elif self.splitUrl[2] == "approve": return self.master.clientApprove(self.message, self.sessionkey) elif self.splitUrl[2] == "reject": self.master.rejectClients(self.message, self.sessionkey) else: self.log.logEvent("ModuleLauncher", 3, "master_client can't have this endpoint") return "url access error" def handleClientUser(self): if self.splitUrl[2] == "add": return self.admin.addUser(self.clientId, self.message, self.sessionkey) elif self.splitUrl[2] == "delete": return self.admin.deleteUser(self.clientId, self.message, self.sessionkey) elif self.splitUrl[2] == "save": return self.admin.editUser(self.clientId, self.message, self.sessionkey) elif self.splitUrl[2] == "archive": return self.admin.archiveUser(self.clientId, self.message, self.sessionkey) elif self.splitUrl[2] == "unarchive": return self.admin.unArchiveUser(self.clientId, self.message, self.sessionkey) elif self.splitUrl[2] == "list": return self.admin.listClientUser(self.clientId, self.sessionkey) elif self.splitUrl[2] == "roles": return self.admin.roleList(self.clientId, self.sessionkey) elif self.splitUrl[2] == "editlist": return self.admin.editList(self.clientId, self.message, self.sessionkey) else: self.log.logEvent("ModuleLauncher", 3, "client_user can't have this endpoint") return "wrong url access2" def handleProjects(self): if self.splitUrl[2] == "list": return self.project.listProjects(self.clientId, self.sessionkey) elif self.splitUrl[2] == "add": return self.project.projectsAdding(self.clientId, self.message, self.sessionkey) elif self.splitUrl[2] == "siteadd": return self.project.addSites(self.clientId, self.message, self.sessionkey) elif self.splitUrl[2] == "editList": return self.project.editList(self.clientId, self.message, self.sessionkey) elif self.splitUrl[2] == "sitedelete": return self.project.deletSites(self.clientId, self.message, self.sessionkey) elif self.splitUrl[2] == "idList": return self.project.projectIdList(self.clientId, self.sessionkey) else: self.log.logEvent("ModuleLauncher", 3, "client_user can't have this endpoint") return "wrong url access2" def handleLabourer(self): if self.splitUrl[2] == "info": return self.labourer.labourerInfo(self.clientId, self.message, self.sessionkey) elif self.splitUrl[2] == "list": return self.labourer.labouerList(self.clientId, self.sessionkey) elif self.splitUrl[2] == "personalInfo": return self.labourer.personalInfo(self.clientId, self.message, self.sessionkey) elif self.splitUrl[2] == "employeeInfo": return self.labourer.employeeInfo(self.clientId, self.message, self.sessionkey) elif self.splitUrl[2] == "identityInfo": return self.labourer.identityInfo(self.clientId, self.message, self.sessionkey) elif self.splitUrl[2] == "bankInfo": return self.labourer.bankInfo(self.clientId, self.message, self.sessionkey) elif self.splitUrl[2] == "save": return self.labourer.labourerReg(self.clientId, self.message, self.sessionkey) elif self.splitUrl[2] == "update": return self.labourer.editLabourer(self.clientId, self.message, self.sessionkey) elif self.splitUrl[2] == "delete": return self.labourer.deleteLabourer(self.clientId, self.message, self.sessionkey) elif self.splitUrl[2] == "attendance": return self.labourer.getAttendacePers(self.clientId, self.message, self.sessionkey) elif self.splitUrl[2] == "class": return self.classManage() elif self.splitUrl[2] == "addlist": return self.labourer.labbourerAddlist(self.clientId, self.sessionkey) elif self.splitUrl[2] == "shift": return self.shiftManage() else: return "wrong url access" def shiftManage(self): if self.splitUrl[3] == "add": return self.shift.shiftCreation(self.clientId, self.message, self.sessionkey) elif self.splitUrl[3] == "list": return self.shift.shiftList(self.clientId, self.sessionkey) elif self.splitUrl[3] == "delete": return self.shift.shiftDeleted(self.clientId, self.message, self.sessionkey) else: return "wrong url acess" def classManage(self): if self.splitUrl[3] == "list": return self.labclass.classList(self.clientId, self.sessionkey) elif self.splitUrl[3] == "add": return self.labclass.classAdding(self.clientId, self.message, self.sessionkey) elif self.splitUrl[3] == "delete": return self.labclass.classDelete(self.clientId, self.message, self.sessionkey) else: return "wrong url acess" def roleManage(self): if self.splitUrl[2] == "add": return self.role.createRoles(self.clientId, self.message, self.sessionkey) elif self.splitUrl[2] == "list": return self.role.listRoles(self.clientId, self.sessionkey) elif self.splitUrl[2] == "update": return self.role.editRoles(self.clientId, self.message, self.sessionkey) else: return "wrong url acess" def handlePaymentDesk(self): if self.splitUrl[2] == "apply": return self.paymentDesk.advanceApply(self.clientId, self.message, self.sessionkey) elif self.splitUrl[2] == "applyList": return self.paymentDesk.requstList(self.clientId, self.sessionkey) elif self.splitUrl[2] == "payList": return self.paymentDesk.advancePayList(self.clientId, self.sessionkey) elif self.splitUrl[2] == "approveCodeList": return self.paymentDesk.approvecodeList(self.clientId, self.message, self.sessionkey) elif self.splitUrl[2] == "payment": return self.paymentDesk.payProcess(self.clientId, self.message, self.sessionkey) elif self.splitUrl[2] == "status": return self.paymentDesk.advanceRespo(self.clientId, self.message, self.sessionkey) elif self.splitUrl[2] == "approve": return self.paymentDesk.requstApprove(self.clientId, self.message, self.sessionkey) elif self.splitUrl[2] == "reject": return self.paymentDesk.requstReject(self.clientId, self.message, self.sessionkey) else: return "wrong url acess"