def admin(): users = list(Users.objects.values_list('id', 'login')) temperature_sensors = list( TemperatureSensor.objects.distinct().values_list('sensor_id', flat=True)) pressure_sensors = list(PressureSensor.objects.distinct().values_list( 'sensor_id', flat=True)) if request.method == 'POST': sensor_form = request.form.get('sensor') user_form = request.form.get('user') if sensor_form == 'add': if request.form.get('sensor_type') == 'temperature': TemperatureSensor.create(sensor_id=uuid.uuid4(), measure_timestamp=datetime.utcnow(), value=0) return redirect(url_for('admin')) elif request.form.get('sensor_type') == 'pressure': PressureSensor.create(sensor_id=uuid.uuid4(), measure_timestamp=datetime.utcnow(), value=0) return redirect(url_for('admin')) elif sensor_form == 'drop': id_for_drop = request.form.get('id_for_drop') if (request.form.get('sensor_type') == 'temperature') and id_for_drop: TemperatureSensor(sensor_id=uuid.UUID(id_for_drop)).delete() return redirect(url_for('admin')) elif (request.form.get('sensor_type') == 'pressure') and id_for_drop: PressureSensor(sensor_id=uuid.UUID(id_for_drop)).delete() return redirect(url_for('admin')) login = request.form.get('login') if (user_form == 'add') and login: user = Users.objects( Users.login == login).allow_filtering().first() if user: flash( 'Пользователь с таким логином уже существует, введите другой логин' ) else: password = secrets.token_hex(4) Users.create(id=uuid.uuid4(), login=login, password=generate_password_hash(password)) flash('Добавлен пользователь ' + login + ' пароль: ' + str(password)) return redirect(url_for('admin')) elif (user_form == 'drop') and login: user = Users.objects( Users.login == login).allow_filtering().first() if user: Users(id=user.id).delete() return redirect(url_for('admin')) else: flash('Пользователя с таким логином не существует') return render_template("admin_page.html", users=users, temperature_sensors=temperature_sensors, pressure_sensors=pressure_sensors)
def user(ctx, username='******', password='******'): get_env() app = create_app() with app.app_context(): user = Users.query.filter_by(username=username).first() if not user: Users.create(username=username, password=password) print("User has been created")
def users_register(): request_data = request.get_json() email = request_data['email'] user = Users.query.filter_by(email=email).first() if user: # NOTE: There needs to be some more logic here. TO prevent users from seeing a broken QR code. return jsonify(user.brief), SUCCESS password = request_data['password'] if not password or password != request_data['passwordMatch']: return error_response(INCORRECT_PASSWORD) # At this point we call out to the SSI backend and send a POST request. # POST request is going to contain the request data so that can be used to create the VC r = requests.post(SSI_ENDPOINT + '/users/register', json={ 'email': email, 'password': password }) print(r.json()) # Make sure we create the user in the db # NOTE: Password should be hashed. user = Users.create(email=email, password=password, username=email.split('@')[0]) return jsonify(r.json()), SUCCESS
def users_register(): request_data = request.get_json() email = request_data['email'] user = Users.query.filter_by(email=email).first() if user: return jsonify(user.brief), SUCCESS password = request_data['password'] if not password or password != request_data['passwordMatch']: return error_response(INCORRECT_PASSWORD) user = Users.create(email=email, password=password, username=email.split('@')[0]) return jsonify(user.brief), SUCCESS