def GetTargetURLForID(self, ID): target_obj = self.db.session.query(models.Target).get(ID) if not target_obj: cprint("Failing with ID: %s" % str(ID)) raise InvalidTargetReference("Target doesn't exist with ID: %s" % str(ID)) return target_obj.target_url
def DeleteTarget(self, TargetURL=None, ID=None): if ID: target_obj = self.db.session.query(models.Target).get(ID) if TargetURL: target_obj = self.db.session.query(models.Target).filter_by( target_url=TargetURL).one() if not target_obj: raise InvalidTargetReference( "Target doesn't exist: " + str(ID) if ID else str(TargetURL)) target_url = target_obj.target_url self.db.session.delete(target_obj) self.db.session.commit() self.config.CleanUpForTarget(target_url)
def UpdateTarget(self, data_dict, TargetURL=None, ID=None): target_obj = None if ID: target_obj = self.db.session.query(models.Target).get(ID) if TargetURL: target_obj = self.db.session.query(models.Target).filter_by(target_url=TargetURL).one() if not target_obj: raise InvalidTargetReference( "Target doesn't exist: " + str(ID) if ID else str(TargetURL)) # TODO: Updating all related attributes when one attribute is changed if data_dict.get("scope", None) is not None: target_obj.scope = self.config.ConvertStrToBool(data_dict.get("scope", None)) self.db.session.commit()
def GetTargetConfigForID(self, ID): target_obj = self.db.session.query(models.Target).get(ID) if not target_obj: raise InvalidTargetReference("Target doesn't exist: " + str(ID)) return(self.DeriveTargetConfig(target_obj))