def find_by_google_user_id(self, google_Benutzer_id): """Suchen eines Benutzers mit vorgegebener Google ID. Da diese eindeutig ist, wird genau ein Objekt zurückgegeben. :param google_user_id die Google ID des gesuchten Users. :return User-Objekt, das die übergebene Google ID besitzt, None bei nicht vorhandenem DB-Tupel. """ cursor = self._cnx.cursor() command = "SELECT id, name, email, google_id FROM benutzer WHERE google_id='{}'"\ .format(google_Benutzer_id) # Änderung: aus google_benutzer_id wurde google_id cursor.execute(command) tuples = cursor.fetchall() try: (id, name, email, google_Benutzer_id) = tuples[0] b = Benutzer() b.set_id(id) b.set_name(name) b.set_email(email) b.set_google_id(google_Benutzer_id) result = b except IndexError: result = None self._cnx.commit() cursor.close() return result
def benutzer_anlegen(self, name, email, google_id): """Methode zum Anlegen von einem neuen Benutzer in der Datenbank""" benutzer = Benutzer() benutzer.set_name(name) benutzer.set_email(email) benutzer.set_google_id(google_id) with BenutzerMapper() as mapper: return mapper.insert(benutzer)
def post(self): """Anlegen eines Benutzers""" adm = ApplikationsAdministration() test = Benutzer.from_dict(api.payload) if test is not None: a = adm.benutzer_anlegen(test.get_name(), test.get_email(), test.get_google_id()) return a, 200 else: return '', 500
def delete(self, id): """Löschen eines Benutzers in einem Anwenderverbund""" adm = ApplikationsAdministration() verbund = adm.get_anwenderverbund_by_id(id) mitglied = Benutzer.from_dict(api.payload) if verbund is not None: adm.mitglieder_vom_anwenderverbund_entfernen(verbund, mitglied) return mitglied else: return "Benutzer oder Anwenderverbund unbekannt", 500
def post(self, id): """Hinzufügen eines Benutzers in einen Anwenderverbund""" adm = ApplikationsAdministration() verbund = adm.get_anwenderverbund_by_id(id) mitglied = Benutzer.from_dict(api.payload) if verbund is not None: adm.mitglieder_zum_anwenderverbund_hinzufuegen(verbund, mitglied) return mitglied else: return "Benutzer oder Anwenderverbund unbekannt", 500
def find_by_name(self, name): """ Mapper-Methode zum ausgeben eines Benutzers anhand dessen Name. Beim Aufruf Methode wird ein Name in der Variablen "name" gespeichert, welche schließlich an das SQL-Statement übergeben wird. Das entsprechende Objekt, welches aus der Datenbank ausgegeben wird, wird in einem Tupel gespeichert. Anschließend werden die einzelnen Attribute aus dem Tupel an der Stelle 0 genommen und an eine neue Benutzer-Instanz via den Setter-Methoden übergeben. Sollte die Datenbank anhand des Namens kein Objekt zurückliefern, wird ausgegeben was innerhalb des IndexErrors steht --> None. Das Ergebnis wir schließlich von der Mehtode zurückgegeben.""" cursor = self._cnx.cursor() command = "SELECT id, name, erstellungs_zeitpunkt, email, google_id FROM benutzer WHERE name LIKE '{}' " \ "ORDER BY name".format(name) cursor.execute(command) tuples = cursor.fetchall() try: (id, name, erstellungs_zeitpunkt, email, google_id) = tuples[0] benutzer = Benutzer() benutzer.set_id(id) benutzer.set_name(name) benutzer.set_erstellungs_zeitpunkt(erstellungs_zeitpunkt) benutzer.set_email(email) benutzer.set_google_id(google_id) result = benutzer except IndexError: result = [] self._cnx.commit() cursor.close() return result