def get_contact(phone_num): """ Return the collection document for the given phone number""" result = {} result['data'] = db_collection().find_one({Contact.phone:phone_num}) result['code'] = 200 if result['data'] else 404 return make_response(dumps(result), result['code'],{"Content-type": "application/json"})
def post_contact(): """ Create a new contact document, with the provided phone number and reg_id""" result = {} phone = request.form['phone_num'] reg_id = request.form['reg_id'] contact = Contact(phone,reg_id) result['data'] = db_collection().insert(contact.__dict__) result['code'] = 200 if result['data'] else 404 return make_response(dumps(result), result['code'],{"Content-type": "application/json"})
def push_message(sender_num): """ Takes a post request, with the phone number as URL parameter, and a message 'msg' as form parameter""" phone_nums = request.form["phone_nums"] # comma seperated numbers number_list = [s for s in phone_nums.split(",")] message = request.form["msg"] gcm_id = [] current_app.logger.debug("Pushing message to numbers %s from %s" % (number_list, sender_num)) for num in number_list: document = db_collection().find_one({Contact.phone: num}) gcm_id.append(document[Contact.reg_id]) result_code = gcm_send(gcm_id, message) return make_response(dumps(result_code), result_code, {"Content-type": "application/json"})
def put_contact(phone_num): """ Update the registration ID for the given phone number""" result = {} result['data'] = db_collection().update({Contact.phone:phone_num},{'$set':{Contact.reg_id:request.form['reg_id']}},False) result['code'] = 200 if result['data'] else 404 return make_response(dumps(result), result['code'],{"Content-type": "application/json"})
def get_contacts(): """ Return all database entries for our collection""" result = {} result['data'] = db_collection().find() result['code'] = 200 if result['data'] else 404 return make_response(dumps(result), result['code'],{"Content-type": "application/json"})