def signup(self, signup_data): study = signup_data.get("study", None) email = signup_data.get("email", None) username = signup_data.get("username", None) password = signup_data.get("password", None) self._validate_signup_data(study, email, username, password) self._validate_study(study) user_dao = UserDAO() user = user_dao.get_user_by_email(email) created_datetime = DateUtils.get_datetime_utc() if not user: user = user_dao.create(username, email, password, study, created_datetime) else: user["studies"].append({"username": username, "password":password, "id":study, "created_datetime": created_datetime} ) user_dao.save(user) #Create a record in User Linked to the Study #Creadentials per Study? return {"message": "Signed up."}