Beispiel #1
0
	def put(self):
		"""
		Create a user
		"""
		parser = reqparse.RequestParser()
		parser.add_argument("username", type=str, help="Username.", required=True)
		parser.add_argument("password", type=str, help="Password.", required=True)
		args = parser.parse_args()

		if User.query.filter(User.username == args.username).first():
			return {'message':"Username already in use."}, 304
		
		user = User(args.username, args.password)

		# First user is admin
		if not User.query.first():
			user.admin = True

		s = Session()
		s.from_request(request)
		user.sessions.append(s)
		db.session.add(user)
		db.session.add(s)
		db.session.commit()

		session['session'] = s.session_id
		return s.jsonify()
Beispiel #2
0
	def put(self, username):
		"Add a session for a user and return the session cookie"
		parser = reqparse.RequestParser()
		parser.add_argument("password", type=str, help="password.", required=True)
		args = parser.parse_args()

		user = User.query.filter(User.username == username).first()
		if not user:
			return{}, 404

		if not user.verify_password(args.password):
			return {}, 401

		s = Session()
		s.from_request(request)
		user.sessions.append(s)
		db.session.add(user)
		db.session.add(s)
		db.session.commit()
		session['session'] = s.session_id

		log("%s logged in." % user.username)

		response            = user.jsonify()
		response['session'] = s.jsonify()
		return response