def get(self, login=None): authorize(request.headers["Authorization"]) if login is None: return self.get_all_users() else: return self.get_a_user(login)
def get(self, contact_id=None): authorize(request.headers["Authorization"]) if contact_id is None: return self.get_all_contacts() else: return self.get_a_contact(contact_id)
def delete(self, contact_id): authorize(request.headers["Authorization"]) existing = mongo.db.contacts.find_one_or_404({"_id": contact_id}) c_delete = existing.contact_from_dict(existing) c_delete.deleteDate = datetime.now() delete_id = mongo.db.contacts_deleted.insert(c_delete.format_for_delete()) mongo.db.contacts.remove({"_id": contact_id}) print "deleted : ", delete_id return {"message": "deleted"}, 200
def post(self, quiz_id, contact_group=None): session = authorize(request.headers["Authorization"]) if contact_group is None: contact_group = "default" contacts = self.get_contacts(contact_group, session.get("user").get("login")) if contacts is None: return {"message": "no contact to send"}, 400 criteria = {"createdBy": session.get('user').get('login'), "_id": int(quiz_id)} quiz = Quiz.quiz_from_dict(mongo.db.quiz.find_one_or_404(criteria)) for contact in contacts: c = Contact.contact_from_dict(contact) p = Publication() p._id = get_id("publication") p.creationDate = datetime.now() p.hash = hashlib.sha256("%d.%s" % (p._id, str(p.creationDate))).hexdigest() p.by = session.get('user').get('login') p.quiz = quiz p.to = c mongo.db.publications.insert(p.format()) self.send_email(quiz.title, p.hash, c.email, c.language) return {"message": "quiz %s published to %d contacts" % (quiz.title, len(contacts))}, 200
def get(self, quiz_id=None): session = authorize(request.headers["Authorization"]) if quiz_id is None: return self.get_all_quiz(session.get('user').get('login')) else: return (self.get_single_quiz(quiz_id)).format_http()
def delete(self, contact_id): authorize(request.headers["Authorization"]) existing = mongo.db.contacts.find_one_or_404({"_id": contact_id}) c_delete = existing.contact_from_dict(existing) c_delete.deleteDate = datetime.now() delete_id = mongo.db.contacts_deleted.insert( c_delete.format_for_delete()) mongo.db.contacts.remove({"_id": contact_id}) print "deleted : ", delete_id return {"message": "deleted"}, 200
def post(self, group_name=None): session = authorize(request.headers["Authorization"]) print session contacts = post_parser.parse_args().get("contacts") if contacts is None: abort(403) if group_name is None: group_name = "default" new_contacts = 0 existing_contact = 0 for contact in contacts: print contact contact = Contact.contact_from_dict(contact) existing = mongo.db.contacts.find_one({"email": contact.email}) if existing is None: contact._id = get_id("contacts") contact.creationDate = datetime.now() contact.createdBy = session.get("user").get("login") if contact.language is None: contact.language = "fr" mongo.db.contacts.insert(contact.format()) self.update_group(group_name, contact.createdBy, contact) new_contacts += 1 else: existing_contact += 1 contact = Contact.contact_from_dict(existing) self.update_group(group_name, contact.createdBy, contact) return {"inserted": new_contacts, "existing": existing_contact}, 200
def delete(self): session_dict = authorize(request.headers["Authorization"]) mongo.db.sessions.update({"token": session_dict.get('token'), "status": 0}, {"$set": {"status": 1}}) print session_dict return '', 202
def post(self): authorize(request.headers["Authorization"]) user = User.user_from_dict(post_parser.parse_args()) user.password = hashlib.sha256(user.password).hexdigest() user.creationDate = datetime.now() existing = mongo.db.users.find_one({"login":user.login}) if not (existing is None): abort(409) user_id = mongo.db.users.insert(user.format_for_create()) user._id = user_id print "inserted : ", user_id return user, 201
def post(self): authorize(request.headers["Authorization"]) user = User.user_from_dict(post_parser.parse_args()) user.password = hashlib.sha256(user.password).hexdigest() user.creationDate = datetime.now() existing = mongo.db.users.find_one({"login": user.login}) if not (existing is None): abort(409) user_id = mongo.db.users.insert(user.format_for_create()) user._id = user_id print "inserted : ", user_id return user, 201
def delete(self, quiz_id, question_id=None): session = authorize(request.headers["Authorization"]) if question_id is None: return self.delete_quiz(session.get('user').get('login'), quiz_id) else: return self.delete_question( session.get('user').get('login'), quiz_id, question_id)
def delete(self, login): authorize(request.headers["Authorization"]) if login == SUPER_USER: abort(403) existing = mongo.db.users.find_one_or_404({"login": login}) user_delete = User.user_from_dict(existing) user_delete.deleteDate = datetime.now() delete_id = mongo.db.users_deleted.insert(user_delete.format_for_delete()) mongo.db.users.remove({"login": login}) print "deleted : ", delete_id return {"message": "deleted"}, 200
def post(self, pub_hash): self.parser.add_argument("Authorization", type=str, location='headers', required=True, help="Authorization header missing") session = authorize(request.headers["Authorization"]) print session print participation_parser.parse_args()
def delete(self, login): authorize(request.headers["Authorization"]) if login == SUPER_USER: abort(403) existing = mongo.db.users.find_one_or_404({"login": login}) user_delete = User.user_from_dict(existing) user_delete.deleteDate = datetime.now() delete_id = mongo.db.users_deleted.insert( user_delete.format_for_delete()) mongo.db.users.remove({"login": login}) print "deleted : ", delete_id return {"message": "deleted"}, 200
def put(self, login): authorize(request.headers["Authorization"]) if login == SUPER_USER: abort(403) existing = mongo.db.users.find_one({"login": login}) if existing is None: abort(404) user_edit = User.user_from_dict(post_parser.parse_args()) user_edit.password = hashlib.sha256(user_edit.password).hexdigest() user_edit.creationDate = existing.get('creationDate') print user_edit.format() mongo.db.users.update({"login": login}, {"$set": user_edit.format_for_update()}) print "modified : ", user_edit return user_edit, 201
def delete(self): session_dict = authorize(request.headers["Authorization"]) mongo.db.sessions.update( { "token": session_dict.get('token'), "status": 0 }, {"$set": { "status": 1 }}) print session_dict return '', 202
def put(self, quiz_id): session = authorize(request.headers["Authorization"]) put_request = Quiz.quiz_from_dict(put_parser.parse_args()) criteria = { "createdBy": session.get('user').get('login'), "_id": int(quiz_id) } quiz = Quiz.quiz_from_dict(mongo.db.quiz.find_one_or_404(criteria)) for qst in put_request.questions: self.add_question(qst, quiz) return {"message": "modified % s" % quiz_id}, 200
def patch(self, quiz_id): session = authorize(request.headers["Authorization"]) patch_request = Quiz.quiz_from_dict( patch_parser.parse_args()).format_patch() if len(patch_request) == 0: abort(400) criteria = { "createdBy": session.get('user').get('login'), "_id": int(quiz_id) } mongo.db.quiz.find_one_or_404(criteria) mongo.db.quiz.update(criteria, {"$set": patch_request}) return {"message": "modified % s" % quiz_id}, 200
def post(self): session = authorize(request.headers["Authorization"]) quiz_input = creation_parser.parse_args() quiz = Quiz.quiz_from_dict(quiz_input) quiz.creationDate = datetime.now() quiz.createdBy = session.get('user').get('login') """ we create the quiz first """ quiz._id = int(get_id("quiz")) print "\n", quiz.format() mongo.db.quiz.insert(quiz.format()) """ we create questions as objects and we embbed them into the quiz""" for qst in quiz.questions: self.add_question(qst, quiz) return {"quiz_id": "%s" % (quiz._id)}, 201