예제 #1
0
    def _doPost(self, dataObject):

        if "email" in dataObject and "password" in dataObject:
            UM = UserMapper()
            ATM = ApitokenMapper()

            # Build user and token objects
            user = User()

            if not checkEmail(dataObject["email"]):
                raise BadRequest("The e-mail supplied was invalid.")

            user.setEmail(dataObject["email"])
            user.setPreHash(dataObject["password"])
            user.setRegistered(True)

            token = Apitoken()

            token.setUser(user)
            token.setToken(getKey())

            # Save changes to user
            try:
                UM.insert(user)

                # handle the possibility the user already exists
            except mdb.IntegrityError, e:
                raise Conflict("A user with that e-mail address exists already.")

                # handle all other DB errors
            except mdb.DatabaseError, e:
                raise ServerError("Unable to create user in the database (%s)" % e.args[1])
예제 #2
0
    def _doPost(self, dataObject):

        if "email" in dataObject and "password" in dataObject:
            UM = UserMapper()
            ATM = ApitokenMapper()

            # Build user and token objects
            user = User()

            if not checkEmail(dataObject["email"]):
                raise BadRequest("The e-mail supplied was invalid.")

            user.setEmail(dataObject["email"])
            user.setPreHash(dataObject["password"])
            user.setRegistered(True)

            token = Apitoken()

            token.setUser(user)
            token.setToken(getKey())

            # Save changes to user
            try:
                UM.insert(user)

            # handle the possibility the user already exists
            except mdb.IntegrityError, e:
                raise Conflict(
                    "A user with that e-mail address exists already.")

            # handle all other DB errors
            except mdb.DatabaseError, e:
                raise ServerError(
                    "Unable to create user in the database (%s)" % e.args[1])
예제 #3
0
	def _doCreateObject(self, data):
		"""Specifics required to build a User object given persistent storage data"""
		from Model.user import User
		user_ = User(data["id"])

		user_.setName(data["name"])
		user_.setPhoto(data["photo"])
		user_.setEmail(data["email"])
		user_.setPassword(data["password"])
		user_.setTime(data["time"])

		if data["registered"] == 1:
			user_.setRegistered(True)
		else:
			user_.setRegistered(False)

		return user_
예제 #4
0
    def _doCreateObject(self, data):
        """Specifics required to build a User object given persistent storage data"""
        from Model.user import User
        user_ = User(data["id"])

        user_.setName(data["name"])
        user_.setPhoto(data["photo"])
        user_.setEmail(data["email"])
        user_.setPassword(data["password"])
        user_.setTime(data["time"])

        if data["registered"] == 1:
            user_.setRegistered(True)
        else:
            user_.setRegistered(False)

        return user_
예제 #5
0
	def _doPost(self, dataObject):

		print str(dataObject)

		if "email" in dataObject and "password" in dataObject:
			try:

				UserMapper = UM.UserMapper()
				ApitokenMapper = ATM.ApitokenMapper()


				# Get the user by E-mail
				acidtest = UserMapper.getUserByEmail(dataObject["email"])

				if acidtest is None:
					user = User()

					if not checkEmail(dataObject["email"]):
						raise BadRequest("The e-mail supplied was invalid.")

					user.setEmail(dataObject["email"])
					user.setPreHash(dataObject["password"])

					token = Apitoken()

					token.setUser(user)
					token.setToken(getKey())

					user.setToken(token)

					UserMapper.insert(user)

					# Retrieve user with ID this time
					user = UserMapper.getUserByEmail(dataObject["email"])

					ApitokenMapper.insert(token)

					return self._response(token.dict(), CODE.CREATED)
				else:
					raise RequestError(CODE.CONFLICT, "A user with that e-mail address exists already.")
				
			except mdb.DatabaseError, e:
				import traceback, sys
				traceback.print_exc(file=sys.stdout)
				raise ServerError("Unable to search the user database (%s)" % e.args[1])