Ejemplo n.º 1
0
    def post(self):
        args = utils.gen_fields(reqparse.RequestParser(),
                                ['username', 'email', 'password'])

        same_email = utils.col.find({"email": args['email']})
        same_username = utils.col.find({"username": args['username']})
        print(json_util.dumps(same_email))
        if same_email.count() > 0:
            return en_us.EMAIL_EXISTS
        if same_username.count() > 0:
            return en_us.UNAME_EXISTS

        user = {
            "username": args['username'],
            "email": args['email'],
            "password": auth.make_password(args['password']),
            "id": account_utils.get_user_id(),
            "time_created": int(time.time())
        }

        user.update({"salt": auth.salt()})

        utils.col.insert(user)

        user.update({"token": auth.generate(user)})

        return auth.user(json.loads(json_util.dumps(user))), 201
Ejemplo n.º 2
0
    def post(self):
        q_args = ["username", "email", "password"]
        args = utils.gen_fields(reqparse.RequestParser(), q_args)

        same_email = utils.col.find({"email": args['email']})
        same_username = utils.col.find({"username": args['username']})

        for arg in q_args:
            if arg not in args:
                return en_us.BAD_REQUEST
            if args[arg] == None or args[arg] == "":
                return en_us.BAD_REQUEST

        if same_email.count() > 0:
            return en_us.EMAIL_EXISTS
        if same_username.count() > 0:
            return en_us.UNAME_EXISTS

        user = {
            "username": args['username'],
            "email": args['email'],
            "password": auth.make_password(args['password']),
            "id": account_utils.get_user_id(),
            "time_created": int(time.time())
        }

        user.update({"salt": auth.salt()})

        utils.col.insert(user)

        user.update({"token": auth.generate(user)})

        return auth.user(utils.encoder(user)), 201
Ejemplo n.º 3
0
    def post(self):
        fields = ["username", "email"]
        q_args = ["username", "password"]
        args = utils.gen_fields(reqparse.RequestParser(), q_args)
        
        for arg in q_args:
            if arg not in args:
                return en_us.BAD_REQUEST
            if args[arg] == None or args[arg] == "":
                return en_us.BAD_REQUEST

        m_length = 0
        users = None
        for field in fields:
            length = len(utils.encoder(utils.col.find({field: args['username']})))
            if length > m_length:
                m_length = length
                users = utils.encoder(utils.col.find({field: args['username']}))

        if m_length == 0:
            return en_us.NOT_FOUND

        user = utils.encoder(users)[0]

        if not auth.check_password(args['password'], user['password']):
            return en_us.AUTH_FAILED

        user.update({"token": auth.generate(user)})
        return auth.user(user), 200
Ejemplo n.º 4
0
    def post(self):
        args = utils.gen_fields(reqparse.RequestParser(),
                                ['username', 'password'])

        fields = ["username", "email"]
        m_length = 0
        users = None
        for field in fields:
            length = len(
                utils.encoder(utils.col.find({field: args['username']})))
            if length > m_length:
                m_length = length
                users = utils.encoder(utils.col.find({field:
                                                      args['username']}))

        if m_length == 0:
            return en_us.NOT_FOUND

        user = utils.encoder(users)[0]

        if not auth.check_password(args['password'], user['password']):
            return en_us.AUTH_FAILED

        user.update({"token": auth.generate(user)})
        return auth.user(user), 200
Ejemplo n.º 5
0
    def get(self, client_id):
        request_token = request.headers.get('authorization')
        auth_status = auth.verify(client_id, request_token)
        if auth_status != 200:
            return auth_status

        user = utils.encoder(utils.col.find({"id": client_id}))[0]
        return auth.user(utils.encoder(user))
Ejemplo n.º 6
0
    def patch(self, client_id):
        request_token = request.headers.get('authorization')
        auth_status = auth.verify(client_id, request_token)
        if auth_status != 200:
            return auth_status

        args = utils.gen_fields(reqparse.RequestParser(),
                                ['username', 'email', 'password'])

        updates = {}
        for key in args:
            if key == "password":
                args[key] = auth.make_password(args[key])
            if args[key] != None:
                updates.update({key: args[key]})

        utils.col.update({'id': client_id}, {"$set": updates}, upsert=False)
        user = utils.encoder(utils.col.find({"id": client_id}))[0]

        return auth.user(user), 200