Generate the email_from from the service name.

This commit is contained in:
Martyn Inglis
2016-02-19 17:07:59 +00:00
parent dc294c32ae
commit 98314485d3
3 changed files with 16 additions and 12 deletions

View File

@@ -1,3 +1,4 @@
import re
from datetime import datetime
from flask import (jsonify, request)
@@ -70,16 +71,16 @@ def get_service_by_id(service_id):
@service.route('', methods=['POST'])
def create_service():
data = request.get_json()
if not data.get('user_id', None):
return jsonify(result="error", message={'user_id': ['Missing data for required field.']}), 400
user = get_model_users(data['user_id'])
if not user:
return jsonify(result="error", message={'user_id': ['not found']}), 400
request.get_json().pop('user_id', None)
data.pop('user_id', None)
if 'name' in data:
data['email_from'] = _email_safe(data.get('name', None))
valid_service, errors = service_schema.load(request.get_json())
@@ -90,6 +91,13 @@ def create_service():
return jsonify(data=service_schema.dump(valid_service).data), 201
def _email_safe(string):
return "".join([
character.lower() if character.isalnum() or character == "." else ""
for character in re.sub("\s+", ".", string.strip())
])
@service.route('/<service_id>', methods=['POST'])
def update_service(service_id):
fetched_service = dao_fetch_service_by_id(service_id)

View File

@@ -149,11 +149,8 @@ def send_user_code(user_id):
@user.route('/<int:user_id>', methods=['GET'])
@user.route('', methods=['GET'])
def get_user(user_id=None):
try:
users = get_model_users(user_id=user_id)
except DataError:
return jsonify(result="error", message="Invalid user id"), 400
except NoResultFound:
return jsonify(result="error", message="User not found"), 404
users = get_model_users(user_id=user_id)
if not users:
return jsonify(result="error", message="not found"), 404
result = users_schema.dump(users) if isinstance(users, list) else user_schema.dump(users)
return jsonify(data=result.data)