def _setTargetCredentialsForUser(self, targetId, userId, credentials): self._deleteTargetCredentials(targetId, userId) cu = self.db.cursor() # Newline-separated credential fields data = mintdata.marshalTargetUserCredentials(self.cfg, credentials) targetCredentialsId = self._getCredentialsId(cu, data) if targetCredentialsId is None: cu.execute("INSERT INTO TargetCredentials (credentials) VALUES (?)", data) targetCredentialsId = self._getCredentialsId(cu, data) cu.execute(""" INSERT INTO TargetUserCredentials (targetId, userId, targetCredentialsId) VALUES (?, ?, ?)""", targetId, userId, targetCredentialsId) self._pruneTargetCredentials(cu)
def setTargetUserCredentials(self, target, credentials): data = mintdata.marshalTargetUserCredentials(self.cfg, credentials) tcred, created = models.TargetCredentials.objects.get_or_create( credentials=data) oldTUCreds = models.TargetUserCredentials.objects.filter(target=target, user__user_id=self.auth.userId) if oldTUCreds: oldTUCreds = oldTUCreds[0] if oldTUCreds.target_credentials_id == tcred.target_credentials_id: return oldTUCreds # Remove old credentials if present oldTUCreds.delete() user = self.mgr.usersMgr.getUser(self.auth.userId) tucreds = models.TargetUserCredentials(target=target, user=user, target_credentials=tcred) tucreds.save() self._pruneTargetCredentials() self.recomputeTargetDeployableImages() return tucreds