コード例 #1
0
def add_or_get_auth_user(ucid, name):
    """
    Obtains the AuthUser corresponding to the given UCID and name (or creates
    one if one does not exist)
    """
    existing_user = (
        DB.session.query(models.AuthUser)
        .filter(func.lower(models.AuthUser.ucid) == func.lower(ucid))
        .first()
    )
    if existing_user:
        user_info = models.UserInfo(
            id=existing_user.id,
            ucid=existing_user.ucid,
            role=models.UserRole(existing_user.role),
            name=existing_user.name,
        )
    else:
        new_user = models.AuthUser(
            ucid=ucid,
            auth_type=models.AuthUserType.GOOGLE,
            role=models.UserRole.STUDENT,
            name=name,
        )
        DB.session.add(new_user)
        DB.session.flush()
        user_info = models.UserInfo(
            id=new_user.id,
            ucid=new_user.ucid,
            role=models.UserRole(new_user.role),
            name=new_user.name,
        )

    DB.session.commit()
    return user_info
コード例 #2
0
def create_user(db: Session, user: schemas.UserCreate):
    hashed_password = bcrypt.hashpw(user.password.encode('utf-8'), bcrypt.gensalt())
    db_user = models.UserInfo(username=user.username, password=hashed_password.decode('utf-8'), fullname=user.fullname)
    db.add(db_user)
    db.commit()
    db.refresh(db_user)
    return db_user
コード例 #3
0
def update_user_role(user_id, role):
    """
    Obtains the User corresponding to the given ID and updates its role
    with the provided value
    """
    assert all(
        [
            isinstance(user_id, int),
            isinstance(role, models.UserRole),
        ]
    )

    existing_user = (
        DB.session.query(models.AuthUser)
        .filter(models.AuthUser.id == user_id)
        .first()
    )

    if not existing_user:
        DB.session.commit()
        return None

    existing_user.role = role.value
    DB.session.commit()
    return models.UserInfo(
        id=user_id,
        name=existing_user.name,
        ucid=existing_user.ucid,
        role=role,
    )
コード例 #4
0
 def setUp(self):
     self.feedback_test_user = models.FeedbackLog(
         'Jay Amin', 'I learned a lot about politics')
     self.quiz_test_question = models.QuizQuestions(
         'Test question for unit test', 'test group', -32)
     self.test_user = models.UserInfo("*****@*****.**", "Test McTestface",
                                      "http://this-is-a-fake-url.com")
     self.test_quiz_score = models.QuizScore("*****@*****.**", -99)
コード例 #5
0
def create_user(db: Session, user: schemas.UserCreate):
    fake_hashed_password = user.password + "notreallyhashed"
    db_user = models.UserInfo(username=user.username,
                              password=fake_hashed_password,
                              fullname=user.fullname)
    db.add(db_user)
    db.commit()
    db.refresh(db_user)
    return db_user
コード例 #6
0
ファイル: actions.py プロジェクト: melvinalmonte/fast-graphql
def create_user(db: Session, user: schema.CreateUser):
    hashed_password = bcrypt.hashpw(user.password.encode("utf-8"),
                                    bcrypt.gensalt())
    db_user = models.UserInfo(username=user.username,
                              password=hashed_password,
                              firstname=user.firstname,
                              lastname=user.lastname)
    db.add(db_user)
    db.commit()
    db.refresh(db_user)
    return db_user
コード例 #7
0
def get_all_user_objs(as_dicts=False):
    """
    Obtains all AuthUsers and returns them as UserInfo objects or dictionaries
    """
    users = DB.session.query(models.AuthUser).order_by(models.AuthUser.name).all()
    user_objs = [
        models.UserInfo(
            id=user.id,
            ucid=user.ucid,
            role=user.role,
            name=user.name,
        )
        for user in users
    ]
    DB.session.commit()
    if as_dicts:
        return [user._asdict() for user in user_objs]
    return user_objs
コード例 #8
0
ファイル: views.py プロジェクト: yiyuanqian/DjangoWebDemo
def add_user_info_list(request):
    try:
        user_name = request.POST.get('NAME')
        user_sex = request.POST.get('SEX')
        user_type = request.POST.get('TYPE')

        new_user = models.UserInfo(id=make_uuid_without_hypen(),
                                   name=user_name,
                                   sex=user_sex,
                                   type=user_type)
        new_user.save()
        print json.dumps(model_to_dict(new_user))
        return HttpResponse(json.dumps(model_to_dict(new_user)),
                            content_type='application/json')

    except:
        traceback.print_exc()
        raise Http404
コード例 #9
0
def get_user_obj_from_id(user_id, as_dict=False):
    """
    Obtains the AuthUser corresponding to the given ID and returns it as
    a UserInfo object or dictionary
    """
    user = (
        DB.session.query(models.AuthUser).filter(models.AuthUser.id == user_id).first()
    )
    if not user:
        DB.session.commit()
        return None
    user_obj = models.UserInfo(
        id=user.id,
        ucid=user.ucid,
        role=user.role,
        name=user.name,
    )
    DB.session.commit()
    if as_dict:
        return user_obj._asdict()
    return user_obj
コード例 #10
0
    def user_profile(self):
        user = users.get_current_user()
        userinfo = ndb.Key(models.UserInfo, user.user_id()).get()
        if userinfo is None:
            userinfo = models.UserInfo(
                id=users.get_current_user().user_id(),
                nickname=self.request.get('nickname'),
                email=self.request.get('email'),
                phoneNumber=self.request.get('phone_number'),
                meetPoint=self.request.get('meet_point'))
            userinfo.put()
            Notification = "Creation succesfully"
        else:
            userinfo.nickname = self.request.get('nickname')
            userinfo.email = self.request.get('email')
            userinfo.phoneNumber = self.request.get('phone_number')
            userinfo.meetPoint = self.request.get('meet_point')
            userinfo.put()
            Notification = "Updated succesfully"

        self.buildUserProfilePage(notification=Notification)
コード例 #11
0
def on_connect(userProfile):
    """ User's profile validating """
    global user_sids
    socketId = request.sid
    name = userProfile['name']
    email = userProfile['email']
    image = userProfile['imageUrl']

    # if user doesn't exist in DB, add user
    if db.session.query(models.UserInfo).filter(
            models.UserInfo.email == email).first() is None:
        db.session.add(models.UserInfo(email, name, image))
        db.session.commit()

    user_sids[socketId] = email

    socketio.emit('new connection', {
        "user": name,
        "userEmail": email,
        "userImage": image
    },
                  room=socketId)
コード例 #12
0
        role=models.UserRole.PROFESSOR,
        name="Johnny Appleseed",
    ),
    3:
    models.AuthUser(
        ucid="lr123",
        auth_type=models.AuthUserType.GOOGLE,
        role=models.UserRole.LIBRARIAN,
        name="Libra Rian",
    ),
}
MOCK_USER_INFOS = {
    1:
    models.UserInfo(
        id=1,
        ucid="jd123",
        role=models.UserRole.STUDENT,
        name="John Doe",
    ),
    2:
    models.UserInfo(
        id=2,
        ucid="johnny.appleseed",
        role=models.UserRole.LIBRARIAN,
        name="Johnny Appleseed",
    ),
    3:
    models.UserInfo(
        id=3,
        ucid="lr123",
        role=models.UserRole.LIBRARIAN,
        name="Libra Rian",
コード例 #13
0
ファイル: crud.py プロジェクト: abhirambj/ProfilePage
def create_user(db: Session, user: schemas.UserCreate):
    db_user = models.UserInfo(name=user.name, email=user.email,message=user.message)
    db.add(db_user)
    db.commit()
    db.refresh(db_user)
    return db_user