Beispiel #1
0
 def get(self):
     auth_header = request.headers.get('Authorization')
     if auth_header:
         try:
             auth_token = auth_header.split(" ")[1]
         except IndexError:
             responseObject = {
                 'status': 'fail',
                 'message': 'Bearer token malformed.'
             }
             return make_response(jsonify(responseObject)), 403
     else:
         auth_token = ''
     if auth_token:
         try:
             resp = DashboardUser.decode_auth_token(auth_token)
             current_app.logger.info(resp)
             current_app.logger.info('==============info================')
             if not isinstance(resp, str):
                 user = DashboardUser.query.filter_by(id=resp).first()
                 current_app.logger.info('=========here===========')
                 responseObject = []
                 if user:
                     current_app.logger.info('============there==========')
                     companies = Companies.query.all()
                     for company in companies:
                         responseObject.append({
                             "id": company.id,
                             "name": company.name,
                             "address": company.address,
                             "tin": company.tin
                         })
                     return make_response(jsonify(responseObject)), 200
                 responseObject = {
                     'status': 'fail',
                     'message': "You do not have sufficient permission."
                 }
                 return make_response(jsonify(responseObject)), 400    
             responseObject = {
                 'status': 'fail',
                 'message': "You do not have sufficient permissions."
             }
             return make_response(jsonify(responseObject)), 400
         except Exception as e:
             responseObject = {
                 'status': 'fail',
                 'message': "Failed to parse auth token."
             }
             return make_response(jsonify(responseObject)), 400
     else:
         responseObject = {
             'status': 'fail',
             'message': 'Provide a valid auth token.'
         }
         return make_response(jsonify(responseObject)), 403
Beispiel #2
0
 def get(self, company_id):
     auth_header = request.headers.get('Authorization')
     if auth_header:
         try:
             auth_token = auth_header.split(" ")[1]
         except IndexError:
             responseObject = {
                 'status': 'fail',
                 'message': 'Bearer token malformed.'
             }
             return make_response(jsonify(responseObject)), 403
     else:
         auth_token = ''
     if auth_token:
         try:
             resp = DashboardUser.decode_auth_token(auth_token)
             if not isinstance(resp, str):
                 user = DashboardUser.query.filter_by(id=resp).first()
                 responseObject = []
                 if user:
                     users = CompanyUsers.query.filter_by(company_id=company_id).all()
                     for user in users:
                         user_info = User.query.filter_by(id=user.user_id).first()
                         responseObject.append({
                             "id": user_info.id,
                             "registered_on": user_info.registered_on,
                             "first_name": user_info.first_name,
                             "phone_number": user_info.phone_number,
                             "email": user_info.email
                         })
                     return make_response(jsonify(responseObject)), 200
                 responseObject = {
                     'status': 'fail',
                     'message': "You do not have sufficient permission."
                 }
                 return make_response(jsonify(responseObject)), 400    
             responseObject = {
                 'status': 'fail',
                 'message': "You do not have sufficient permission."
             }
             return make_response(jsonify(responseObject)), 400
         except Exception as e:
             responseObject = {
                 'status': 'fail',
                 'message': "Failed to parse auth token."
             }
             return make_response(jsonify(responseObject)), 400
     else:
         responseObject = {
             'status': 'fail',
             'message': 'Provide a valid auth token.'
         }
         return make_response(jsonify(responseObject)), 403
Beispiel #3
0
 def get(self):
     auth_header = request.headers.get('Authorization')
     if auth_header:
         try:
             auth_token = auth_header.split(" ")[1]
         except IndexError:
             responseObject = {
                 'status': 'fail',
                 'message': 'Bearer token malformed.'
             }
             return make_response(jsonify(responseObject)), 403
     else:
         auth_token = ''
     if auth_token:
         try:
             resp = DashboardUser.decode_auth_token(auth_token)
             if not isinstance(resp, str):
                 user = DashboardUser.query.filter_by(id=resp).first()
                 responseObject = {
                     'status': 'success',
                     'data': user.id
                 }
                 return make_response(jsonify(responseObject)), 200
             responseObject = {
                 'status': 'fail',
                 'message': "Failed to parse auth token."
             }
             return make_response(jsonify(responseObject)), 400
         except Exception as e:
             responseObject = {
                 'status': 'fail',
                 'message': "Failed to parse auth token."
             }
             return make_response(jsonify(responseObject)), 400
     else:
         responseObject = {
             'status': 'fail',
             'message': 'Provide a valid auth token.'
         }
         return make_response(jsonify(responseObject)), 403
Beispiel #4
0
 def get(self):
     auth_header = request.headers.get('Authorization')
     if auth_header:
         auth_token = auth_header.split(" ")[1]
     else:
         auth_token = ''
     if auth_token:
         resp = DashboardUser.decode_auth_token(auth_token)
         if not isinstance(resp, str):
             user = DashboardUser.query.filter_by(id=resp).first()
             db.session.add(user)
             blacklist_token = BlacklistToken(token=auth_token)
             try:
                 db.session.add(blacklist_token)
                 db.session.commit()
                 responseObject = {
                     'status': 'success',
                     'message': 'Successfully logged out.'
                 }
                 return make_response(jsonify(responseObject)), 200
             except Exception as e:
                 responseObject = {
                     'status': 'fail',
                     'message': e
                 }
                 return make_response(jsonify(responseObject)), 400
         else:
             responseObject = {
                 'status': 'fail',
                 'message': resp
             }
             return make_response(jsonify(responseObject)), 400
     else:
         responseObject = {
             'status': 'fail',
             'message': 'Provide a valid auth token.'
         }
         return make_response(jsonify(responseObject)), 403
Beispiel #5
0
    def post(self):
        post_data = request.get_json()
        response_msg = []
        if post_data.get('email') == '':
            response_msg.append('email must be non-empty')
        if post_data.get('password') == '':
            response_msg.append('password must be non-empty')
        if post_data.get('username') == '':
            response_msg.append('username must be non-empty')
        if post_data.get('firstname') == '':
            response_msg.append('firstname must be non-empty')
        if post_data.get('lastname') == '':
            response_msg.append('lastname must be non-empty')
        if post_data.get('company_id') == '':
            response_msg.append('company id must be non-empty')

        if len(response_msg) > 0:
            responseObject = {
                'status': 'failed',
                'message': response_msg
            }
            return make_response(jsonify(responseObject)), 403
        if not validators.email(post_data.get('email')):
            responseObject = {
                    'status': 'fail',
                    'message': 'Provide a valid e-mail.'
                }
            return make_response(jsonify(responseObject)), 403

        user = DashboardUser.query.filter_by(email=post_data.get('email')).first()
        is_username = DashboardUser.query.filter_by(username=post_data.get('username')).first()
        is_company = Companies.query.filter_by(id=post_data.get('company_id')).first()
        if not is_company:
            responseObject = {
                    'status': 'fail',
                    'message': 'Company does not exists. Please try again.'
                }
            return make_response(jsonify(responseObject)), 404
        if not user and not is_username:
            try:
                user = DashboardUser(
                    email=post_data.get('email'),
                    password=post_data.get('password'),
                    username=post_data.get('username'),
                    first_name=post_data.get('firstname'),
                    last_name=post_data.get('lastname'),
                    company_id=post_data.get('company_id'),
                    member_type=2
                )
                try:
                    db.session.add(user)
                    db.session.commit()
                    print(user.id)
                    panel_user = CompanyPanel(
                        panel_user_id=user.id,
                        company_id=post_data.get('company_id')
                    )
                    db.session.add(panel_user)
                    db.session.commit()
                except Exception as e:
                    print(e)
                    print("error creating user. Please try again.")

                responseObject = {
                    'status': 'success',
                    'message': 'Successfully registered dashboard user ' + str(post_data.get('username')) + '.'
                }
                return make_response(jsonify(responseObject)), 201
            except Exception as e:
                print(e)
                responseObject = {
                    'status': 'fail',
                    'message': 'Some error occurred. Email/Username already exists. Please try again.'
                }
                return make_response(jsonify(responseObject)), 400
        else:
            responseObject = {
                'status': 'fail',
                'message': 'User already exists. Please Log in.',
            }
            return make_response(jsonify(responseObject)), 400