Browse Source

added user info api

old
Efe Aydın 6 years ago
parent
commit
8f9a314219
5 changed files with 84 additions and 1 deletions
  1. +4
    -0
      server_side/api/app.py
  2. +1
    -1
      server_side/api/rating_system/rating_system.py
  3. +0
    -0
      server_side/api/user_info/__init__.py
  4. +64
    -0
      server_side/api/user_info/user_info.py
  5. +15
    -0
      server_side/api/user_info/users.json

+ 4
- 0
server_side/api/app.py View File

@ -3,6 +3,7 @@ from flask_restful import Resource, Api
from voting_system import voting_system
from rating_system import rating_system
from user_info import user_info
app = Flask(__name__)
api = Api(app)
@ -20,4 +21,7 @@ if __name__ == '__main__':
api.add_resource(rating_system.Rating, '/ratings/<int:rating_id>', '/ratings/<int:rating_id>/')
api.add_resource(rating_system.Rate, '/rate', '/rate/')
api.add_resource(user_info.Users, '/users', '/users/')
api.add_resource(user_info.User, '/users/<int:user_id>', '/users/<int:user_id>/')
app.run(host='0.0.0.0', port=5000)

+ 1
- 1
server_side/api/rating_system/rating_system.py View File

@ -83,4 +83,4 @@ if __name__ == '__main__':
api.add_resource(Rating, '/ratings/<int:rating_id>', '/ratings/<int:rating_id>/')
api.add_resource(Rate, '/rate', '/rate/')
app.run(host='0.0.0.0', port=5000)
app.run(host='0.0.0.0', port=5000)

+ 0
- 0
server_side/api/user_info/__init__.py View File


+ 64
- 0
server_side/api/user_info/user_info.py View File

@ -0,0 +1,64 @@
import os
import json
from flask import Flask, request
from flask_restful import Resource, Api, abort
app = Flask(__name__)
api = Api(app)
with open(os.path.join(app.root_path, 'users.json'), 'r') as f:
users = json.load(f)
class Users(Resource):
def get(self):
user = [
{
'id' : v['id'],
'username': v['username']
}
for v in users
]
return user
def post(self):
"""
Example POST Data:
username=<username>&
realname=<realname>& # OPTIONAL
avatar=<avatar_url>& # OPTIONAL
"""
args = request.form
user_id = len(users) + 1
user = {
'id': user_id,
'username': args['username'],
'realname': args.get('realname'),
'avatar' : args.get('avatar'),
'stats': {
'bus_usage_week': 0,
'bus_usage_month': 0,
'bus_usage_year': 0
},
'points': 0
}
users.append(user)
with open(os.path.join(app.root_path, 'users.json'), 'w') as f:
json.dump(users, f, indent=4)
return user
class User(Resource):
def get(self, user_id):
try:
return users[user_id - 1]
except:
abort(404, error="User {} doesn't exist".format(voting_id))
if __name__ == '__main__':
api.add_resource(Users, '/users', '/users/')
api.add_resource(User, '/users/<int:user_id>', '/users/<int:user_id>/')
app.run(host='0.0.0.0', port=5000)

+ 15
- 0
server_side/api/user_info/users.json View File

@ -0,0 +1,15 @@
[
{
"id": 1,
"username": "efe",
"realname": "Efe Aydın",
"avatar": "img/user1.png",
"stats": {
"bus_usage_week": 1,
"bus_usage_month": 5,
"bus_usage_year": 67
},
"points": 50
}
]

Loading…
Cancel
Save