def rejestrujLubZaloguj(): user = request.json # request.json to nie zwykly obiekt, a slownik (dictionary) print('user na wejsciu' + str(user)) walidujZgodnoscTokenaOrazMailaZFacebookiemLubGoogle(user) #sprawdzanie czy uzytkownik o takim emailu juz istnieje w bazie: hashed_new_email = hashing.hash_value(user['email'], salt) # porownywanie res = mongo.db.uzytkownicy.find_one({"email": hashed_new_email}) print(str(res)) if res is not None: #LOGOWANIE: id = str(res['_id']) print('id użytkownika w naszej bazie: ' + str(id)) access_token = str(create_access_token(identity=id)) refresh_token = str(create_refresh_token(identity=id)) return response( WynikRejestracji(access_token, refresh_token, False) ) # zwracamy do klienta id istniejacego uzytkownika i false - bo uzytkownik juz istnieje w bazie #REJESTRACJA: #jeśli uzytkownik pojawił się pierwszy raz, dodaj go do bazy: user['email'] = hashed_new_email usunNiepotrzebneDaneUzytkownika(user) user_id = str( mongo.db.uzytkownicy.insert_one(user).inserted_id ) # dodajemy nowy rekord do bazy oraz otrzymujemy spowrotem id nowego uzytkownika jako string print('id nowego użytkownika w naszej bazie: ' + str(user_id)) access_token = str(create_access_token(identity=user_id)) refresh_token = str(create_refresh_token(identity=user_id)) return response( WynikRejestracji(access_token, refresh_token, True) ) # zwracamy do klienta token nowego uzytkownika i true - bo uzytkownik zostal wlasnie dodany
def odswiezToken(): id_uzytkownika = get_jwt_identity( ) #funkcja podaje id uzytkownika z tokena. print('otrzymane id uzytkownika z tokena: ' + str(id_uzytkownika)) access_token = str(create_access_token(identity=id_uzytkownika)) refresh_token = str(create_refresh_token(identity=id_uzytkownika)) return response(WynikOdswiezeniaTokena(access_token, refresh_token, True))
def dodajWynikNinjatestu(): wynikTestu = request.json print('headers: ' + str(request.headers)) print('REQUEST ' + str(wynikTestu)) wynikTestu['test'] = 'ninjaTest' user_id = get_jwt_identity() user = podajUzytkownikaPoId(user_id) wynikTestu['user_id'] = user_id print('Dane uzytkownika pobranego z bazy przy pomocy jwt tokena: ' + str(user)) wynikTestu['waga'] = user['waga'] wynikTestu['wiek'] = user['wiek'] wynikTestu['wzrost'] = user['wzrost'] mongo.db.buttonTest.insert_one(wynikTestu) wynikTestu['jakasWartosc'] = 5 mongo.db.testowaTabela.insert_one(wynikTestu) return response('OK')
def dodajWynikButtontestu(): wynikTestu = request.json #pobranie danych zadania od androida - pobrane dane maja strukture slownikowa (mapa) print('headers: ' + str(request.headers)) #wyswietlenie w konsoli danych wejeciowych z zadania print('REQUEST ' + str(wynikTestu)) #wyswietlenie w konsoli danych wejsciowych z zadania # skoro jest to slownik, mozemy odwolac sie do wartosci poprzez mechanizm slownik['klucz'] -> wartosc. # w tym przypadku przypisujemy do klucza 'test' wartosc 'buttonTest', by w bazie danych bylo wiadomo ktory to byl test. wynikTestu['test'] = 'buttonTest' user_id = get_jwt_identity() #dzieki uzyciu malpki @jwt_required mozemy uzyc tej metody by wyluskac id uzytkownika ktory wyslal zadanie. user = podajUzytkownikaPoId(user_id) #metoda w project/utils zwracajaca obiekt uzytkownika po jego id. wynikTestu['user_id'] = user_id # przypisanie do wyniku testu id uzytkownika print('Dane uzytkownika pobranego z bazy przy pomocy jwt tokena: ' + str(user)) #wyswietlenie kontrolne danych w konsoli #przypisania aktualnych danych uzytkownika do wyniku testu: wynikTestu['waga'] = user['waga'] wynikTestu['wiek'] = user['wiek'] wynikTestu['wzrost'] = user['wzrost'] mongo.db.buttonTest.insert_one(wynikTestu) #wykonanie insertu do bazy danych # zwracamy dane uzywajac metody response() z project/utils. Metoda ta zamienia kazdy obiekt z pythona na JSON. # jest to potrzebne, by android mogl w poprawny sposob otrzymac dane. # obiekt ktory zwracamy, to WynikOperacji z project/models/dto.py ktory pozwala na zdefiniowanie identyfikatora oraz informacji boolowskiej. # po stronie androida musi byc utworzona klasa implementujaca w analogiczny sposob obiekt jak ten po stronie pythona. return response(WynikOperacji("buttonTestWynik", True))
def aktualizujProfil(): daneProfilu = request.json #dane typu waga, wzrost itp print('dane profilu' + str(daneProfilu)) daneProfilu['data_aktualizacji'] = now() print('dane profilu' + str(daneProfilu)) res = mongo.db.uzytkownicy.update_one( {'_id': ObjectId(get_jwt_identity())}, {'$set': daneProfilu}) print('wynik update: ' + str(res)) return response(WynikOperacji("ustawProfil", True))
def dodajAlkohole(): alkohole = request.json print('headers: ' + str(request.headers)) print('REQUEST ' + str(alkohole)) user_id = get_jwt_identity() user = podajUzytkownikaPoId(user_id) alkohole['user_id'] = user_id print('Dane uzytkownika pobranego z bazy przy pomocy jwt tokena: ' + str(user)) mongo.db.buttonAlkohole.insert_one(alkohole) return response('OK')
def podajRankingButtonTestu(): res = mongo.db.uzytkownicy.find_one( {"_id": ObjectId('5abab2745b58012b784c8a31')}) return response(res)
def hello(): daneWejsciowe = request.json # imię print(daneWejsciowe) return response("hello " + daneWejsciowe)
def podajDaneProfilu(): user_id = ObjectId(get_jwt_identity()) dane_z_bazy = mongo.db.uzytkownicy.find_one({'_id': user_id}) return response(dane_z_bazy)