def register(): """Creates an account + the user in the database + auto login. input: RegistrationRequest output: "ok". """ registration_req_pb = data_models.DictToProto( all_pbs.RegistrationRequest(), request.get_json()) user_info_pb = registration_req_pb.user_info if not user_info_pb.email or \ not registration_req_pb.stripe_token or \ user_util.doesEmailExist(user_info_pb.email): abort(400) user_pb = all_pbs.User() user_pb.info.MergeFrom(user_info_pb) user_pb.id = data_models.GetUniqueId() customer = stripe.Customer.create( card=registration_req_pb.stripe_token, description='%s %s - %d' % (user_info_pb.first_name, user_info_pb.last_name, user_pb.id), email=user_info_pb.email, metadata={"user_id": user_pb.id}, ) if not customer: abort(400) timestamp_secs = utils.getTimestampSecs() user_pb.timestamp_creation_secs = timestamp_secs user_pb.stripe_customer_id = customer.id data_models.SaveProto(user_pb, data_models.RW_USERS) flogin.logout_user() user = user_util.FLUser(user_pb) flogin.login_user(user, remember=False) return 'ok'
def register(): """Creates an account + the user in the database + auto login. input: RegistrationRequest output: "ok". """ registration_req_pb = data_models.DictToProto(all_pbs.RegistrationRequest(), request.get_json()) user_info_pb = registration_req_pb.user_info if not user_info_pb.email or \ not registration_req_pb.stripe_token or \ user_util.doesEmailExist(user_info_pb.email): abort(400) user_pb = all_pbs.User() user_pb.info.MergeFrom(user_info_pb) user_pb.id = data_models.GetUniqueId() customer = stripe.Customer.create( card=registration_req_pb.stripe_token, description='%s %s - %d' % (user_info_pb.first_name, user_info_pb.last_name, user_pb.id), email=user_info_pb.email, metadata={"user_id": user_pb.id}, ) if not customer: abort(400) timestamp_secs = utils.getTimestampSecs() user_pb.timestamp_creation_secs = timestamp_secs user_pb.stripe_customer_id = customer.id data_models.SaveProto(user_pb, data_models.RW_USERS) flogin.logout_user() user = user_util.FLUser(user_pb) flogin.login_user(user, remember=False) return 'ok'
def check_email(): """Checks that an email can be used for registration, i.e that it is not used by someone else. output: "ok" or "error" Request [email protected] """ email = request.args.get("email", "") if not email or user_util.doesEmailExist(email): abort(400) return "ok"