コード例 #1
0
ファイル: views.py プロジェクト: Paladiamors/SanicBasics
async def createUser(request):

    if request.method == "POST":

        result = {}
        form = UserForm(request)
        #         print("validate form", form.validate())
        #         print("errors", form.errors)
        #         print("form", dir("form"))

        dSession = getSession()

        # Make this faster later
        unameResult = dSession.query(
            User.id).filter(User.username == form.data["username"]).scalar()
        emailResult = dSession.query(
            User.id).filter(User.email == form.data["email"]).scalar()
        errors = []
        if unameResult:
            errors.append({"msg": "This user already exists"})
        if emailResult:
            errors.append({"msg": "This email already exists"})

        if errors:
            result["errors"] = errors
            result["ok"] = False
        else:
            createUser_(form.data, dSession)
            result["ok"] = True

        return json(result)

    else:
        form = UserForm(request)
        return json({"csrf_token": form.csrf_token._value()})
コード例 #2
0
ファイル: auth.py プロジェクト: Paladiamors/SanicBasics
def userExists(info, dSession=None):

    dSession = getSession(session=dSession)
    uid = dSession.query(User.id).filter(or_(User.username == info,
                                             User.email == info)).\
        scalar()

    return True if uid else False
コード例 #3
0
ファイル: auth.py プロジェクト: Paladiamors/SanicBasics
def deleteUser(info, dSession=None):
    """
    deletes a user
    """
    dSession = getSession(session=dSession)
    query = User.__table__.delete().where(
        or_(User.username == info, User.email == info))
    dSession.execute(query)
    dSession.commit()
コード例 #4
0
ファイル: auth.py プロジェクト: Paladiamors/SanicBasics
def checkCredentials(username, password, dSession=None):
    """
    if the authentication info is ok
    then sets the authentication to authenticated
    returns the user.id if the authentication request
    was ok
    """

    dSession = dSession or getSession()
    user = dSession.query(User).filter(User.username == username).one_or_none()
    if user and user.password == password:
        return user.id
    else:
        return None
コード例 #5
0
ファイル: auth.py プロジェクト: Paladiamors/SanicBasics
def createUser(data, dSession=None):
    """
    creates a user
    """
    dSession = getSession(session=dSession)
    bulkInsert(dSession, User, [data])