diff options
Diffstat (limited to 'web-server/opendc/api/v2/users/endpoint.py')
| -rw-r--r-- | web-server/opendc/api/v2/users/endpoint.py | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/web-server/opendc/api/v2/users/endpoint.py b/web-server/opendc/api/v2/users/endpoint.py new file mode 100644 index 00000000..c6041756 --- /dev/null +++ b/web-server/opendc/api/v2/users/endpoint.py @@ -0,0 +1,31 @@ +from opendc.models.user import User +from opendc.util import exceptions +from opendc.util.database import DB +from opendc.util.rest import Response + + +def GET(request): + """Search for a User using their email address.""" + + request.check_required_parameters(query={'email': 'string'}) + + user = User.from_email(request.params_query['email']) + + user.check_exists() + + return Response(200, f'Successfully retrieved user.', user.obj) + + +def POST(request): + """Add a new User.""" + + request.check_required_parameters(body={'user': {'email': 'string'}}) + + user = User(request.params_body['user']) + user.set_property('googleId', request.google_id) + user.set_property('authorizations', []) + + user.check_already_exists() + + user.insert() + return Response(200, f'Successfully created user.', user.obj) |
