def __get_contact(request): contact_id = request.POST.get('contact') if not contact_id: return {'code': 400, 'error': 'No contact provided (contact=XXXXXX)'} contact_id = normalize(contact_id) if contact_id is None: return {'code': 400, 'error': 'Invalid contact value [contact=XXXXXX]'} return {'contact': contact_id, 'code': 200}
def handle_contact(request, contact_id): if not contact_id: return Response({'error': 'No contact_id provided (contact_id=XXXXXX)'}, 400) contact_id = normalize(contact_id) if contact_id is None: return Response({'error': 'Invalid contact_id value [contact_id=XXXXXX]'}, 400) if request.method == 'PATCH': return __update_contact(request, contact_id) if request.method == 'DELETE': return __remove_contact(request, contact_id) return __list_contact(request, contact_id)
def register_code(request): code = str(request.POST.get('code')) if not code: return Response({'error': 'No code provided [code=<code received from SMS>]'}, 400) code = normalize(code) if not code or not code.isdigit(): return Response({'error':'Invalid account number [code=<code received from SMS>]'}, 400) controller = account.Account(request.account) result = controller.register_code(code) status_code = int(result.pop('code')) return Response(result, status_code)
def unblock(request, contact_id): if not contact_id: return Response({'error': 'No contact_id provided (contact_id=XXXXXX)'}, 400) contact_id = normalize(contact_id) if contact_id is None: return Response({'error': 'Invalid contact_id value [contact_id=XXXXXX]'}, 400) controller = contacts_controller.Contacts(request.account) result = controller.unblock(contact_id) status_code = int(result.pop('code')) return Response(result, status_code)
def photo_history_urls(request, contact_id): if not contact_id: return Response({'error': 'No contact_id provided (contact_id=XXXXXX)'}, 400) contact_id = normalize(contact_id) if contact_id is None: return Response({'error': 'Invalid contact_id value [contact_id=XXXXXX]'}, 400) controller = contacts_controller.Contacts(request.account) result = controller.photo_history_urls(contact_id, preview=False) status_code = int(result.pop('code')) return Response(result, status_code)
def create_account(request): number = str(request.POST.get('account')) if not number: return Response({'error':'No account number provided [account=<account number>]'}, 400) number = normalize(number) if not number or not number.isdigit(): return Response ({'error':'Invalid account number [number=<account number>]'}, 400) nickname = request.POST.get('nickname') user = request.resource_owner result = account.Account.create_account(number, nickname, user) status_code = int(result.pop('code')) if status_code == 200: # Return 'Created' if success status_code = 201 return Response(result, status_code)
def register_code(request): code = str(request.POST.get('code')) if not code: return Response( {'error': 'No code provided [code=<code received from SMS>]'}, 400) code = normalize(code) if not code or not code.isdigit(): return Response( { 'error': 'Invalid account number [code=<code received from SMS>]' }, 400) controller = account.Account(request.account) result = controller.register_code(code) status_code = int(result.pop('code')) return Response(result, status_code)
def create_account(request): number = str(request.POST.get('account')) if not number: return Response( {'error': 'No account number provided [account=<account number>]'}, 400) number = normalize(number) if not number or not number.isdigit(): return Response( {'error': 'Invalid account number [number=<account number>]'}, 400) nickname = request.POST.get('nickname') user = request.resource_owner result = account.Account.create_account(number, nickname, user) status_code = int(result.pop('code')) if status_code == 200: # Return 'Created' if success status_code = 201 return Response(result, status_code)
def photo_url(request, contact_id): if not contact_id: return Response({'error': 'No contact_id provided (contact_id=XXXXXX)'}, 400) contact_id = normalize(contact_id) if contact_id is None: return Response({'error': 'Invalid contact_id value [contact_id=XXXXXX]'}, 400) controller = contacts_controller.Contacts(request.account) result = controller.photo(contact_id, preview=False, url=True) status_code = result.pop('code') if status_code is None or status_code[0] == '5': return Response(result, int(status_code)) response = {'photo_url': result['photo_url'], 'photo_status': status_code } return Response(response)
def photo(request, contact_id): if not contact_id: return Response({'error': 'No contact_id provided (contact_id=XXXXXX)'}, 400) contact_id = normalize(contact_id) if contact_id is None: return Response({'error': 'Invalid contact_id value [contact_id=XXXXXX]'}, 400) controller = contacts_controller.Contacts(request.account) result = controller.photo(contact_id, preview=False, url=False) status_code = int(result.pop('code')) if status_code != 200: return Response(result, status_code) picture_data = result['picture_data'] mime_type = result['mime_type'] return HttpResponse (picture_data, mime_type)
def add_contact(request): contact_id = str(request.POST.get('contact_id')) if not contact_id: return Response({'error': 'No contact_id provided (contact_id=XXXXXX)'}, 400) contact_id = normalize(contact_id) if contact_id is None: return Response({'error': 'Invalid contact_id value [contact_id=XXXXXX]'}, 400) first_name = request.POST.get('first_name') last_name = request.POST.get('last_name') controller = contacts_controller.Contacts(request.account) result = controller.add_contact(contact_id, first_name, last_name) status_code = int(result.pop('code')) if status_code == 200: # Return 'Created' if success status_code = 201 return Response(result, status_code)