Allow a user to register from the landing page. Fix spacing issues.
This commit is contained in:
parent
70685e2aa8
commit
0d6d463fc1
5 changed files with 205 additions and 137 deletions
|
@ -6,6 +6,7 @@ from functools import wraps
|
|||
|
||||
from data import model
|
||||
from app import app
|
||||
from util.email import send_confirmation_email
|
||||
from util.names import parse_repository_name
|
||||
from util.gravatar import compute_hash
|
||||
from auth.permissions import (ReadRepositoryPermission,
|
||||
|
@ -36,7 +37,7 @@ def welcome():
|
|||
return make_response('welcome', 200)
|
||||
|
||||
|
||||
@app.route('/api/user/')
|
||||
@app.route('/api/user/', methods=['GET'])
|
||||
def get_logged_in_user():
|
||||
if current_user.is_anonymous():
|
||||
return jsonify({'anonymous': True})
|
||||
|
@ -51,6 +52,23 @@ def get_logged_in_user():
|
|||
})
|
||||
|
||||
|
||||
@app.route('/api/user/', methods=['POST'])
|
||||
def create_user_api():
|
||||
user_data = request.get_json()
|
||||
try:
|
||||
new_user = model.create_user(user_data['username'], user_data['password'],
|
||||
user_data['email'])
|
||||
code = model.create_confirm_email_code(new_user)
|
||||
send_confirmation_email(new_user.username, new_user.email, code.code)
|
||||
return make_response('Created', 201)
|
||||
except model.DataModelException as ex:
|
||||
error_resp = jsonify({
|
||||
'message': ex.message,
|
||||
})
|
||||
error_resp.status_code = 400
|
||||
return error_resp
|
||||
|
||||
|
||||
@app.route('/api/users/<prefix>', methods=['GET'])
|
||||
@api_login_required
|
||||
def get_matching_users(prefix):
|
||||
|
|
Reference in a new issue