Ejemplo n.º 1
0
    def post(self):
        parser = reqparse.RequestParser(bundle_errors=True)
        parser.add_argument(name='first_name',
                            type=str,
                            location='json',
                            required=True,
                            trim=True)
        parser.add_argument(name='last_name',
                            type=str,
                            location='json',
                            required=True,
                            trim=True)
        parser.add_argument(name='organization',
                            type=str,
                            location='json',
                            required=True,
                            trim=True)
        parser.add_argument(name='email',
                            type=str,
                            location='json',
                            required=True,
                            trim=True)
        parser.add_argument(name='phone_number',
                            type=str,
                            location='json',
                            required=True,
                            trim=True)
        parser.add_argument(name='passcode',
                            type=str,
                            location='json',
                            required=True,
                            trim=True,
                            dest='passcode')
        args = parser.parse_args(strict=True)
        try:
            rand = random.randint(a=000000, b=999999)
            print(rand)
            userdata = UsersData(first_name=args.get('first_name'),
                                 last_name=args.get('first_name'),
                                 organization=args.get('first_name'),
                                 id=args.get('email'),
                                 phone_number=args.get('phone_number'),
                                 password=args.get('passcode'),
                                 verification_code=rand)
            userdata.store(db=server['users_data'])

            return {'status': 'Email Sent', 'email': userdata.id, 'code': rand}
        except:
            abort(http_status_code=400, message='UserAlreadyFound')
Ejemplo n.º 2
0
 def post(self):
     parser = reqparse.RequestParser()
     parser.add_argument(name='email',
                         type=str,
                         required=True,
                         location='json',
                         trim=True)
     parser.add_argument(name='verification_code',
                         type=str,
                         required=True,
                         location='json',
                         trim=True)
     parser.add_argument(name='password',
                         type=str,
                         required=True,
                         location='json',
                         trim=True)
     args = parser.parse_args()
     userdata = UsersData.load(id=args.get('email'),
                               db=server['users_data'])
     if userdata is not None:
         if args.get('verification_code') == userdata.verification_code:
             userdata.verification_code = None
             userdata.last_modified = datetime.now()
             userdata.password = args.get('password')
             userdata.store(db=server['users_data'])
         else:
             abort(http_status_code=401, message='Invalid Code')
     else:
         abort(http_status_code=404, message='UserNotFound')
Ejemplo n.º 3
0
    def get(self):
        parser = reqparse.RequestParser(bundle_errors=True)
        parser.add_argument(name='Authorization',
                            location='headers',
                            required=True,
                            trim=True,
                            type=str)
        args = parser.parse_args(strict=True)
        try:
            decoded = jwt.decode(jwt=args.get('Authorization'),
                                 key='ananth1404',
                                 algorithms='HS256')
            userdata = UsersData.load(id=decoded['email'],
                                      db=server['users_data'])
            if userdata is not None:
                db = server['tts_data']
                response = db.get(id='list_language')
                del response['_id']
                del response['_rev']
                return response
            else:
                response = {'message': 'UserNotFound'}
                return response, 404

        except jwt.exceptions.InvalidTokenError:
            abort(http_status_code=401, message='Invalid Token')

        except jwt.exceptions.InvalidSignatureError:
            abort(http_status_code=401, message='Invalid Signature')

        except jwt.exceptions.ExpiredSignatureError:
            abort(http_status_code=401, message='Expired Signature')
Ejemplo n.º 4
0
    def put(self):
        parser = reqparse.RequestParser(bundle_errors=True)
        parser.add_argument(name='Authorization',
                            required=True,
                            location='headers',
                            trim=True)
        parser.add_argument(name='first_name',
                            type=str,
                            location='json',
                            required=False,
                            trim=True)
        parser.add_argument(name='last_name',
                            type=str,
                            location='json',
                            required=False,
                            trim=True)
        parser.add_argument(name='organization',
                            type=str,
                            location='json',
                            required=False,
                            trim=True)
        parser.add_argument(name='email',
                            type=str,
                            location='json',
                            required=False,
                            trim=True)
        parser.add_argument(name='phone_number',
                            type=str,
                            location='json',
                            required=False,
                            trim=True)
        args = parser.parse_args(strict=True)
        try:
            decoded = jwt.decode(jwt=args.get('Authorization'),
                                 key='ananth1404',
                                 algorithms='HS256')
            userdata = UsersData.load(id=decoded['email'],
                                      db=server['users_data'])
            if userdata is not None:
                del args['Authorization']
                for x, y in args.items():
                    if y is not None:
                        userdata[x] = y
                userdata.last_modified = datetime.now()
                userdata.store(db=server['users_data'])
                return {'message': 'success'}
            else:
                response = {'message': 'UserNotFound'}
                return response, 404

        except jwt.exceptions.InvalidTokenError:
            abort(http_status_code=401, message='Invalid Token')

        except jwt.exceptions.InvalidSignatureError:
            abort(http_status_code=401, message='Invalid Signature')

        except jwt.exceptions.ExpiredSignatureError:
            abort(http_status_code=401, message='Expired Signature')
Ejemplo n.º 5
0
    def post(self):
        parser = reqparse.RequestParser(bundle_errors=True)
        parser.add_argument(name='Authorization',
                            location='headers',
                            required=True,
                            trim=True,
                            type=str)
        parser.add_argument(name='lang',
                            location='json',
                            required=True,
                            trim=True,
                            type=str)
        parser.add_argument(name='text',
                            location='json',
                            required=True,
                            trim=True,
                            type=str)
        args = parser.parse_args(strict=True)
        try:
            decoded = jwt.decode(jwt=args.get('Authorization'),
                                 key='ananth1404',
                                 algorithms='HS256')
            userdata = UsersData.load(id=decoded['email'],
                                      db=server['users_data'])
            if userdata is not None:
                history = HistoryData(client_id=userdata.client_id,
                                      text=args.get('text'),
                                      language=args.get('lang'))
                threading.Thread(target=history.store(
                    db=server['history_data']))
                text = translator(text=args.get('text'),
                                  lang=args.get('lang')[0:5])
                userdata.wallet = userdata.wallet - userdata.per_request
                response = Response(response=tts(language=args.get('lang'),
                                                 text=text),
                                    mimetype='audio/x-wav')
                threading.Thread(target=userdata.store(
                    db=server['users_data']))
                return response
            else:
                response = {'message': 'UserNotFound'}
                return response, 404

        except jwt.exceptions.InvalidTokenError:
            abort(http_status_code=401, message='Invalid Token')

        except jwt.exceptions.InvalidSignatureError:
            abort(http_status_code=401, message='Invalid Signature')

        except jwt.exceptions.ExpiredSignatureError:
            abort(http_status_code=401, message='Expired Signature')
Ejemplo n.º 6
0
 def get(self):
     parser = reqparse.RequestParser(bundle_errors=True)
     parser.add_argument(name='email',
                         type=str,
                         location='args',
                         default=None,
                         trim=True)
     args = parser.parse_args(strict=True)
     userdata = UsersData.load(id=args.get('email'),
                               db=server['users_data'])
     if userdata is not None:
         return {'message': 'User Already Present'}, 200
     else:
         abort(http_status_code=404, message='UserNotFound')
Ejemplo n.º 7
0
 def post(self):
     parser = reqparse.RequestParser(bundle_errors=True)
     parser.add_argument(name='email',
                         type=str,
                         location='json',
                         required=True,
                         trim=True)
     args = parser.parse_args(strict=True)
     userdata = UsersData.load(id=args.get('email'),
                               db=server['users_data'])
     if userdata is not None:
         print(userdata.verification_code)
         return {'message': 'sent'}
     else:
         abort(http_status_code=404, message='UserNotFound')
Ejemplo n.º 8
0
 def post(self):
     parser = reqparse.RequestParser()
     parser.add_argument(name='email',
                         type=str,
                         required=True,
                         location='json',
                         trim=True)
     args = parser.parse_args()
     userdata = UsersData.load(id=args.get('email'),
                               db=server['users_data'])
     if userdata is not None:
         rand = random.randint(a=000000, b=999999)
         userdata.verification_code = rand
         userdata.store(db=server['users_data'])
         return {'message': 'success', 'code': rand}
     else:
         abort(http_status_code=404, message='UserNotFound')
Ejemplo n.º 9
0
    def put(self):
        parser = reqparse.RequestParser(bundle_errors=True)
        parser.add_argument(name='Authorization',
                            required=True,
                            location='headers',
                            trim=True)
        parser.add_argument(name='old_password',
                            required=True,
                            location='json',
                            trim=True)
        parser.add_argument(name='new_password',
                            required=True,
                            location='json',
                            trim=True)
        args = parser.parse_args(strict=True)
        try:
            decoded = jwt.decode(jwt=args.get('Authorization'),
                                 key='ananth1404',
                                 algorithms='HS256')
            userdata = UsersData.load(id=decoded['email'],
                                      db=server['users_data'])
            if userdata is not None:
                if userdata.password == args.get('old_password'):
                    userdata.password = args.get('new_password')
                    userdata.last_modified = datetime.now()
                    userdata.store(db=server['users_data'])
                    return {'message': 'Password Changed'}
                else:
                    response = {'message': 'Invalid Password'}
                    return response, 401
            else:
                response = {'message': 'UserNotFound'}
                return response, 404

        except jwt.exceptions.InvalidTokenError:
            abort(http_status_code=401, message='Invalid Token')

        except jwt.exceptions.InvalidSignatureError:
            abort(http_status_code=401, message='Invalid Signature')

        except jwt.exceptions.ExpiredSignatureError:
            abort(http_status_code=401, message='Expired Signature')
Ejemplo n.º 10
0
    def get(self):
        parser = reqparse.RequestParser(bundle_errors=True)
        parser.add_argument(name='Authorization',
                            required=True,
                            location='headers',
                            trim=True,
                            type=str)
        args = parser.parse_args(strict=True)
        try:
            decoded = jwt.decode(jwt=args.get('Authorization'),
                                 key='ananth1404',
                                 algorithms='HS256')
            userdata = UsersData.load(id=decoded['email'],
                                      db=server['users_data'])
            output = {
                'email': userdata.id,
                'first_name': userdata.first_name,
                'last_name': userdata.last_name,
                'phone_number': userdata.phone_number,
                'organization': userdata.organization,
                'last_login': userdata.last_login,
                'last_modified': userdata.last_modified,
                'wallet': userdata.wallet,
                'client_id': userdata.client_id,
                'client_secret': userdata.client_secret,
                'created_on': userdata.created_on
            }
            return output

        except jwt.exceptions.InvalidTokenError:
            abort(http_status_code=404, message='Invalid Token')

        except jwt.exceptions.InvalidSignatureError:
            abort(http_status_code=404, message='Invalid Signature')

        except jwt.exceptions.ExpiredSignatureError:
            abort(http_status_code=403, message='Expired Signature')