def CreateUser(): #if not 'logged_in' in session: return ResponseUnauthorized() if request.method != "POST": return ResponseMethodNotAllowed() insertion_result_list = {} data = request.get_json() if not data: return ResponseBadRequest() if not IsString(data['name']): return ResponseBadRequest() #Fazer a inserção da security key. O retorno é um dicionario result = InsertSecurityKey(data) insertion_result_list["security_key"] = result["state"] #Se teve sucesso na inserção da security key ou já existe... if insertion_result_list["security_key"] == "fail": return ResponseBadRequest() if SearchUser(data=data): insertion_result_list["user"] = "******" else: sk = SearchSecurityKey(data=data) u = CreateUserData(data, sk) if u == None: return ResponseNotFound() insertion_result_list["user"] = SaveToDataBase(u) result = UpdatePermission(data) insertion_result_list["allowed_lab_id"] = result["state"] if insertion_result_list["user"] == "success": return ResponseCreated() elif insertion_result_list["user"] == "exist": return ResponseConflict()
def InsertPermission(data): from app.controllers.user import SearchUser flag = 0 fail_list = [] user_data = SearchUser(data=data) if len(data["permission"]) == 0: return { "message": "No have permissions for insertion", "state": "fail" } for lab in data["permission"]: laboratory = SearchLaboratory(name=lab) if not SearchPermission( data=data, user_data=user_data, laboratory=laboratory): SaveToDataBase(CreatePermissionData(user_data, laboratory)) else: flag = 1 fail_list.append("{}".format(lab)) if flag == 0: return { "message": "All permissions inserted successfully", "state": "success" } message = "" for fail in fail_list: message = "{0} {1}".format(message, fail) message = message[1:] return {"message": "Have permissions alredy exists", "state": "exist"}
def CreateEventLog(): #if not 'logged_in' in session: return ResponseUnauthorized() errors = [] count = 1 if request.method != "POST": return ResponseMethodNotAllowed() datas = request.get_json() for data in datas['events']: if SearchEventLog(data_for_one=data): errors.append(RegisterError("exist", count)) count += 1 continue new_event_log = CreateEventLogData(data) if not new_event_log: errors.append(RegisterError("not created"), count) count += 1 continue SaveToDataBase(new_event_log) for error in errors: print(error) return ResponseCreated()
def InsertSecurityKey(data): new_data = None if not data: return {"message": "Failed security key insertion", "state": "fail"} if SearchSecurityKey(data=data): return {"message": "Security key alredy exists", "state": "exist"} result = SaveToDataBase(CreateSecurityKeyData(data)) return {"message": "Security key inserted successfully", "state": result}
def CreateLaboratory(): #if not 'logged_in' in session: return ResponseUnauthorized() if request.method != "POST": return ResponseMethodNotAllowed() data = request.get_json() if not IsString(data['name']): return ResponseBadRequest() if SearchLaboratory(data=data): return ResponseConflict() new_lab = Laboratory(name=data['name']) if not new_lab: return ResponseBadRequest() SaveToDataBase(new_lab) return ResponseCreated()
def UpdatePermission(data): from app.controllers.user import SearchUser user_data = SearchUser(data=data) for lab_id in data['allowed_lab_id']: laboratory = SearchLaboratory(ident=lab_id) if not SearchPermission( data=data, user_data=user_data, laboratory=laboratory): SaveToDataBase(CreatePermissionData(user_data, laboratory)) return { "message": "All permissions inserted successfully", "state": "success" }
def CreateAdmin(): #if not 'logged_in' in session: return ResponseUnauthorized() if request.method != "POST": return ResponseMethodNotAllowed() data = request.get_json() if not IsString(data['name']): return ResponseBadRequest() #criptografar a senha que vem do Json hashed_password = generate_password_hash(data['password'], method='sha256') #checar se já existe tal usuário no BD, caso não tenha ele inseri if SearchAdmin(data=data): return ResponseConflict() new_admin = CreateAdminData(data, hashed_password) if not new_admin: return ResponseBadRequest() SaveToDataBase(new_admin) return ResponseCreated()
def CreateSchedule(): #if not 'logged_in' in session: return ResponseUnauthorized() if request.method != "POST": return ResponseMethodNotAllowed() data = request.get_json() if SearchSchedule(data_for_one=data): return ResponseConflict() if not CanCreateNewSchedule(data): print("Conflito de horário") return ResponseConflict() lab = SearchLaboratory(ident=data['laboratory_id']) if not lab: return ResponseNotFound() new_schedule = CreateScheduleData(data, lab) if not new_schedule: return ResponseBadRequest() SaveToDataBase(new_schedule) return ResponseCreated()
def __repr__(self): return "<User %r>" % self.user_name db.create_all() from app.controllers.functions import SaveToDataBase from app.controllers.user import CreateUserData from app.controllers.securitykey import InsertSecurityKey, SearchSecurityKey if len(Admin.query.all()) == 0: first_admin = Admin(name="Admin", login_name="admin", password="******", email="*****@*****.**") db.session.add(first_admin) db.session.commit() if len(User.query.all()) == 0: data = { "name": "Estudante001", "internal_id": "00000", "email": "*****@*****.**", "profession": "Estudante", "security_key": "990011223344", "allowed_lab_id": [] } InsertSecurityKey(data) sk = SearchSecurityKey(data=data) SaveToDataBase(CreateUserData(data, sk))