Passed
Pull Request — develop (#32)
by Antony
02:05
created

build.resources.user.User.get()   A

Complexity

Conditions 3

Size

Total Lines 5
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 5
dl 0
loc 5
rs 9.4285
c 0
b 0
f 0
cc 3
nop 2
1
"""
2
from flask import Flask, jsonify, request, abort, g
3
from flask_restful import Api,Resource, reqparse
4
from flask_httpauth import HTTPBasicAuth
5
from passlib.apps import custom_app_context as pass_context
6
7
8
from flask_jwt_extended import (create_access_token,create_refresh_token,
9
jwt_required, jwt_refresh_token_required,get_jwt_identity, get_raw_jwt)
10
11
auth = HTTPBasicAuth()
12
13
#parsing incoming data
14
parser = reqparse.RequestParser()
15
parser.add_argument('username', help = 'Please fill in the username', required = True)
16
parser.add_argument('password', help= 'This field cannot be blank', required = True)
17
class UserResource(Resource):
18
    #get all registered users
19
    def get(self):
20
        return dtusers, 200
21
22
    #create new user
23
    def post(self):
24
        #json_data = request.get_json(force=True)
25
        data = parser.parse_args()        
26
    
27
        
28
        try:
29
            dtusers.append(data)
30
            access_token = create_access_token(identity = data['username'])
31
            refresh_token = create_refresh_token(identity = data['username'])
32
33
            return {
34
                'message': 'User {} was created'.format(data['username']),
35
                'access_token': access_token,
36
                'refresh_token': refresh_token
37
            }
38
39
        except:
40
            return {'message':'Somenthing went wrong'}, 500
41
42
        return {"status":"success", "data": data }, 201
43
    
44
45
class User(Resource):
46
    #get user by id
47
    def get(self, uid):
48
        for user in dtusers:
49
            if (uid== user['id']):
50
                return user, 200    
51
        return "No record found", 404
52
    
53
    #Modify / update an existing user
54
    def put(self, uid):
55
        json_data = request.get_json(force=True)
56
        for user in dtusers:
57
            if (uid == user['id']):
58
                user.update(json_data)
59
                return {"status":"success", "data": json_data }, 201
60
        return "Request not found", 404
61
    
62
    #Delete user
63
    def delete(self, uid):
64
        for user in dtusers:
65
            if (uid == user['id']):
66
                dtusers[:]=[user for user in dtusers if not(uid == user.get('id'))]
67
                return {"status":"Deleted successfuly", "data": user}, 201
68
        return "Record not found", 404
69
"""