Esempio n. 1
0
def get_user(eid):
  email, guid = (eid, None)[::'@' not in eid and -1 or 1]

  if email:
    result = User.by_email(email)
    if not result:
      return "Email available", 404
    return 'Email in use', 200

  return User.by_guid(guid)
Esempio n. 2
0
def create_account(email=None, password=None):
  result = User.by_email(email)
  if result:
    raise exceptions.BadRequest("Email in use")
  
  user = User()
  user.email = email
  user.password = bcrypt.hashpw(password, bcrypt.gensalt())
  user.save()
  init_session(user)
  return user.guid
Esempio n. 3
0
def login(email=None, password=None):

  user = User.by_email(email)
  if not user:
    raise exceptions.NotFound('User not found')

  hashed = user.password().value
  if bcrypt.hashpw(password, hashed) != hashed:
    raise exceptions.Unauthorized()

  init_session(user)
  return user.guid