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 get(self, email):
        """Auslesen aller Artikel, die zu einem Benutzer gehören"""
        adm = ApplikationsAdministration()
        user = adm.get_benutzer_by_email(email)

        if user is not None:
            article = adm.get_all_artikel_of_benutzer(user)
            return article
        else:
            return "Benutzer nicht gefunden", 500
    def post(self):
        """Anlegen eines Artikels"""
        adm = ApplikationsAdministration()

        test = Artikel.from_dict(api.payload)
        if test is not None:
            a = adm.artikel_anlegen(test)
            return a, 200
        else:
            return '', 500
    def post(self):
        """Anlegen eines Einzelhändlers"""
        adm = ApplikationsAdministration()

        test = Einzelhaendler.from_dict(api.payload)
        if test is not None:
            a = adm.einzelhaendler_anlegen(test)
            return a, 200
        else:
            return '', 500
    def get(self, email, von, bis):
        """Auslesen der meist gekauften Artikel bei einem durch Namen definierten Einzelhaendler"""
        adm = ApplikationsAdministration()
        user = adm.get_benutzer_by_email(email)

        if user is not None:
            stat = adm.get_top_artikel_5_by_datum(user, von, bis)
            return stat
        else:
            return "Benutzer nicht gefunden", 500
    def get(self, id):
        """Auslesen aller Listeneinträge in einem durch Id definierten Einkaufsliste"""
        adm = ApplikationsAdministration()
        liste = adm.get_einkaufsliste_by_id(id)

        if liste is not None:
            listeneintraege = adm.get_all_listeneintraege_of_einkaufslisten(liste)
            return listeneintraege
        else:
            return "Einkaufsliste nicht gefunden", 500
    def post(self):
        """Anlegen eines Anwenderverbundes"""
        adm = ApplikationsAdministration()

        test = Anwenderverbund.from_dict(api.payload)
        if test is not None:
            a = adm.anwenderverbund_anlegen(test.get_name())
            return a, 200
        else:
            return '', 500
    def get(self, id):
        """Auslesen aller Einkaufslisten in einem durch Id definierten Anwenderverbund"""
        adm = ApplikationsAdministration()
        verbund = adm.get_anwenderverbund_by_id(id)

        if verbund is not None:
            einkaufslisten = adm.get_all_einkaufslisten_of_anwenderverbund(verbund)
            return einkaufslisten
        else:
            return "Anwenderverbund nicht gefunden", 500
    def get(self, email):
        """Auslesen der meist gekauften Artikel"""
        adm = ApplikationsAdministration()
        user = adm.get_benutzer_by_email(email)

        if benutzer is not None:
            stat = adm.get_top_artikel_5(benutzer)
            return stat
        else:
            return "Benutzer nicht gefunden", 500
Example #10
0
    def post(self):
        """Anlegen eines Listeneintrages"""

        adm = ApplikationsAdministration()

        test = Listeneintrag.from_dict(api.payload)
        if test is not None:
            a = adm.listeneintrag_anlegen(test)
            return a, 200
        else:
            return '', 500
Example #11
0
    def put(self, id):
        """Update eines durch eine id bestimmten Artikel"""
        adm = ApplikationsAdministration()
        a = Artikel.from_dict(api.payload)

        if a is not None:
            a.set_id(id)
            adm.update_artikel(a)
            return '', 200
        else:
            return '', 500
Example #12
0
    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
Example #13
0
    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
Example #14
0
    def post(self, email):
        """Anlegen einer Einkaufsliste"""
        adm = ApplikationsAdministration()

        user = adm.get_benutzer_by_email(email)
        test = Einkaufsliste.from_dict(api.payload)
        if test is not None:
            a = adm.einkaufsliste_anlegen(test, user)
            return a, 200
        else:
            return '', 500
Example #15
0
    def put(self, id):
        """Update einer durch id bestimmten Einkaufsliste"""

        adm = ApplikationsAdministration()
        a = Einkaufsliste.from_dict(api.payload)

        if a is not None:
            a.set_id(id)
            adm.update_einkaufsliste(a)
            return '', 200
        else:
            return '', 500
Example #16
0
    def put(self, id):
        """Update eines durch eine id bestimmten Einzelhändlers"""

        adm = ApplikationsAdministration()
        a = Einzelhaendler.from_dict(api.payload)

        if a is not None:
            a.set_id(id)
            adm.update_einzelhaendler(a)
            return '', 200
        else:
            return '', 500
Example #17
0
    def put(self, id):
        """Update eines durch eine id bestimmten Listeneintrag"""

        adm = ApplikationsAdministration()
        eintrag = Listeneintrag.from_dict(api.payload)

        if eintrag is not None:
            eintrag.set_id(id)
            eintrag.set_aenderungs_zeitpunkt_now()
            new_eintrag = adm.update_listeneintrag(eintrag)
            return new_eintrag , 200
        else:
            return '', 500
Example #18
0
    def get(self, email):
        """Auslesen aller Anwenderverbünde für einen durch Email definierten Benutzer"""
        adm = ApplikationsAdministration()
        user = adm.get_benutzer_by_email(email)

        if benutzer is not None:
            anwenderverbund_ids = adm.get_anwenderverbuende_by_benutzer_email(user)
            result = []
            for i in anwenderverbund_ids:
                anwenderverbund_objekt = adm.get_anwenderverbund_by_id(i)
                result.append(anwenderverbund_objekt)
            return result
        else:
            return "Benutzer nicht gefunden", 500
Example #19
0
    def get(self, id):
        """Auslesen aller Mitglieder in einem durch Id definierten Anwenderverbund"""
        adm = ApplikationsAdministration()
        verbund = adm.get_anwenderverbund_by_id(id)

        if verbund is not None:

            mitglieder_id = adm.mitglieder_zum_anwenderverbund_ausgeben(verbund)
            benutze_objekte = []
            for i in mitglieder_id:
                benutze_objekt = adm.get_benutzer_by_id(i)
                benutze_objekte.append(benutze_objekt)
            return benutze_objekte
        else:
            return "Anwenderverbund nicht gefunden", 500
Example #20
0
 def delete(self, id):
     """Löschen eines Artikels anhand einer id"""
     adm = ApplikationsAdministration()
     article = adm.get_artikel_by_id(id)
     adm.delete_artikel(article)
     return '', 200
Example #21
0
 def delete(self, id):
     """Löschen eines Listeneintrages anhand einer id"""
     adm = ApplikationsAdministration()
     eintrag = adm.get_listeneintrag_by_id(id)
     adm.delete_listeneintrag(eintrag)
     return eintrag
Example #22
0
 def get(self, email):
     """Auslesen aller Einzelhändler anhand einer Benutzer-Email"""
     adm = ApplikationsAdministration()
     user = adm.get_benutzer_by_email(email)
     haendler = adm.get_all_einzelhaendler(user)
     return haendler
Example #23
0
 def delete(self, id):
     """Löschen eines Einzelhändlers anhand einer id"""
     adm = ApplikationsAdministration()
     haendler = adm.get_einzelhaendler_by_id(id)
     adm.delete_einzelhaendler(haendler)
     return '', 200
Example #24
0
 def delete(self, id):
     """Löschen eines Anwenderverbundes anhand einer id"""
     adm = ApplikationsAdministration()
     verbund = adm.get_anwenderverbund_by_id(id)
     adm.delete_anwenderverbund(verbund)
     return ''
Example #25
0
 def get(self, name):
     """Auslesen eines bestimmten Einzelhändlers anhand dessen Namen"""
     adm = ApplikationsAdministration()
     haendler = adm.get_einzelhaendler_by_name(name)
     return haendler
Example #26
0
 def get(self, name):
     """Auslesen eines bestimmten Benutzers anhand seines Namen"""
     adm = ApplikationsAdministration()
     user = adm.get_benutzer_by_name(name)
     return user
Example #27
0
 def get(self, email):
     """Auslesen eines bestimmten Benutzers anhand seiner Email"""
     adm = ApplikationsAdministration()
     user = adm.get_benutzer_by_email(email)
     return user
Example #28
0
 def delete(self, id):
     """Löschen einer Einkaufsliste anhand einer id"""
     adm = ApplikationsAdministration()
     liste = adm.get_einkaufsliste_by_id(id)
     adm.delete_einkaufsliste(liste)
     return ''
    def wrapper(*args, **kwargs):
        # Verify Firebase auth.
        id_token = request.cookies.get("token")
        error_message = None
        claims = None
        objects = None

        if id_token:
            try:
                # Verify the token against the Firebase Auth API. This example
                # verifies the token on each page load. For improved performance,
                # some applications may wish to cache results in an encrypted
                # session store (see for instance
                # http://flask.pocoo.org/docs/1.0/quickstart/#sessions).
                claims = google.oauth2.id_token.verify_firebase_token(
                    id_token, firebase_request_adapter)

                if claims is not None:
                    adm = ApplikationsAdministration()

                    google_user_id = claims.get("user_id")
                    email = claims.get("email")
                    name = claims.get("name")

                    user = adm.get_user_by_google_user_id(google_user_id)
                    # Benennen wie in ApplikationsAdministration
                    if user is not None:
                        """Fall: Der Benutzer ist unserem System bereits bekannt.
                        Wir gehen davon aus, dass die google_user_id sich nicht ändert.
                        Wohl aber können sich der zugehörige Klarname (name) und die
                        E-Mail-Adresse ändern. Daher werden diese beiden Daten sicherheitshalber
                        in unserem System geupdated."""
                        user.set_name(name)
                        user.set_email(email)
                        adm.update_benutzer(user)

                        #set_name und set_email benennen wie in Benutzer.py
                        #adm.save-user benennen wie in ApplikationsAdministration.py
                    else:
                        """Fall: Der Benutzer war bislang noch nicht eingelogged. 
                        Wir legen daher ein neues User-Objekt an, um dieses ggf. später
                        nutzen zu können.
                        """
                        user = adm.benutzer_anlegen(name, email,
                                                    google_user_id)
                        #Benennen wie in ApplikationsAdministration

                    print(request.method, request.path, "angefragt durch:",
                          name, email)

                    objects = function(*args, **kwargs)
                    return objects
                else:
                    return '', 401  # UNAUTHORIZED !!!
            except ValueError as exc:
                # This will be raised if the token is expired or any other
                # verification checks fail.
                error_message = str(exc)
                return exc, 401  # UNAUTHORIZED !!!

        return '', 401  # UNAUTHORIZED !!!
Example #30
0
 def get(self, name):
     """Auslesen eines bestimmten Artikel anhand dessen Namen"""
     adm = ApplikationsAdministration()
     article = adm.get_artikel_by_name(name)
     return article