{"info":{"_postman_id":"05142aa3-ee21-4036-9f70-3f5e12b3f0df","name":"Personal loan tracker API collection","description":"<html><head></head><body><p>This collection contains sample requests from this <a href=\"BASE_URL/\">API</a> </p>\n<p>it contains the following requests</p>\n<ul>\n<li>Register User</li>\n<li>Login a user with given credentials</li>\n<li>Get details for a user</li>\n<li>Update User Profile</li>\n<li>Password Recovery</li>\n<li>Facebook social authentication</li>\n<li>Google social authentication</li>\n<li>Create loan record</li>\n<li>Retreive loan record</li>\n<li>Delete loan record</li>\n<li>Delete user account</li>\n<li>Create payment </li>\n<li>Update payment</li>\n<li>Delete payment</li>\n<li>Retrieve payments for loan record</li>\n</ul>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"6711768","collectionId":"05142aa3-ee21-4036-9f70-3f5e12b3f0df","publishedId":"T1DjjKXv","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"EF5B25"},"publishDate":"2020-07-18T00:14:02.000Z"},"item":[{"name":"Login user","id":"98e57a49-0b5f-437b-adc2-630b7b7ee2c5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n\t\"username\":\"nextwebb1\",\n\t\"password\":\"nextwebb1\"\n}","options":{"raw":{"language":"json"}}},"url":"localhost:8000/api/v1/login/","description":"<p>API endpoint to \"Login\" a user with the provided credentials.</p>\n<blockquote>\n<p>A succesful API request will return \"HTTP 200\" Status Code</p>\n</blockquote>\n<blockquote>\n<p>A Request for a non existing user will return \"HTTP 400\" Status</p>\n</blockquote>\n","urlObject":{"port":"8000","path":["api","v1","login",""],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"195088e6-4513-4f7f-add0-7dc041930fc9","name":"Login user","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n\t\"username\":\"nextwebb\",\n\t\"password\":\"password\"\n}","options":{"raw":{"language":"json"}}},"url":"https://dnappserver.herokuapp.com/api/v1/login/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"gunicorn/20.0.4"},{"key":"Date","value":"Sat, 29 Aug 2020 15:58:28 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Allow","value":"POST, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"52"},{"key":"Vary","value":"Origin, Cookie"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Via","value":"1.1 vegur"}],"cookie":[],"responseTime":null,"body":"{\n    \"token\": \"f8acf5b58175ce51f7bfe670c06f7aab3087e06f\"\n}"},{"id":"3dec338b-fcb0-494c-b5c6-394cd260bb43","name":"Login User Example","originalRequest":{"method":"POST","header":[],"body":{"mode":"formdata","formdata":[{"key":"username","value":"james17","type":"text"},{"key":"password","value":"james17","type":"text"}]},"url":"http://127.0.0.1:8000/auth/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 17 Jul 2020 23:42:01 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.6.9"},{"key":"Content-Type","value":"application/json"},{"key":"Allow","value":"POST, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"52"},{"key":"Vary","value":"Cookie"},{"key":"X-Content-Type-Options","value":"nosniff"}],"cookie":[],"responseTime":null,"body":"{\n    \"token\": \"e7e54381bc1533036be2419c45667e851b84c042\"\n}"},{"id":"9d0fca80-9bfb-4925-8eb6-ef6c8920ddc3","name":"Default","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":""},"url":"http://127.0.0.1:8000/auth/"},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":""},{"id":"a9507a50-2b5f-4a5e-9a6d-673e2a99e7c4","name":"http://127.0.0.1:8000/auth/","originalRequest":{"method":"POST","header":[],"body":{"mode":"formdata","formdata":[{"key":"username","value":"james17","type":"text"},{"key":"password","value":"james17","type":"text"}]},"url":"http://127.0.0.1:8000/api/v1/login/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sat, 18 Jul 2020 15:37:29 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.6.9"},{"key":"Content-Type","value":"application/json"},{"key":"Allow","value":"POST, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"52"},{"key":"Vary","value":"Cookie"},{"key":"X-Content-Type-Options","value":"nosniff"}],"cookie":[],"responseTime":null,"body":"{\n    \"token\": \"e7e54381bc1533036be2419c45667e851b84c042\"\n}"},{"id":"dd802bbb-71c9-4a9e-87f0-62faf6dc0e38","name":"http://127.0.0.1:8000/auth/","originalRequest":{"method":"POST","header":[],"body":{"mode":"formdata","formdata":[{"key":"username","value":"joblyn","type":"text"},{"key":"password","value":"joblyn","type":"text"}]},"url":"https://dnappserver.herokuapp.com/api/v1/login/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"gunicorn/20.0.4"},{"key":"Date","value":"Wed, 12 Aug 2020 17:54:39 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Allow","value":"POST, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"52"},{"key":"Vary","value":"Cookie"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Via","value":"1.1 vegur"}],"cookie":[],"responseTime":null,"body":"{\n    \"token\": \"d6209ef4ccd315806cad2327711c27760fd79abb\"\n}"}],"_postman_id":"98e57a49-0b5f-437b-adc2-630b7b7ee2c5"},{"name":"User registration","id":"fda83ea4-d61c-4c17-98d1-ffee60964a4e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"formdata","formdata":[{"key":"username","value":"nextwebb","type":"text"},{"key":"password","value":"nextwebb","type":"text"},{"key":"email","value":"oaikhenahpeterson@gmail.com","type":"text"},{"key":"first_name","value":"peterson","type":"text"},{"key":"last_name","value":"oaikhenah","type":"text"}]},"url":"https://dnappserver.herokuapp.com/api/v1/user/","description":"<p>API endpoint to \"Register\" a user in the system.</p>\n<blockquote>\n<p>A successful registration will result in a \"HTTP 200\" Status code</p>\n</blockquote>\n","urlObject":{"protocol":"https","path":["api","v1","user",""],"host":["dnappserver","herokuapp","com"],"query":[],"variable":[]}},"response":[{"id":"3175e5dd-a446-4b45-94f9-6246a761b7d3","name":"Default","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":""},"url":"http://127.0.0.1:8000/api/v1/user/"},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":""},{"id":"810dd5eb-4d9e-4337-8ac9-4a949b0539a9","name":"User registration","originalRequest":{"method":"POST","header":[],"body":{"mode":"formdata","formdata":[{"key":"username","value":"osemiles","type":"text"},{"key":"password","value":"osemiles","type":"text"},{"key":"email","value":"osemiles@gmail.com","type":"text"},{"key":"first_name","value":"ose","type":"text"},{"key":"last_name","value":"miles","type":"text"}],"options":{"raw":{"language":"text"}}},"url":"https://dnappserver.herokuapp.com/api/v1/user/"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"gunicorn/20.0.4"},{"key":"Date","value":"Sat, 29 Aug 2020 16:00:46 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, Origin"},{"key":"Allow","value":"GET, POST, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"98"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Via","value":"1.1 vegur"}],"cookie":[],"responseTime":null,"body":"{\n    \"id\": 9,\n    \"first_name\": \"ose\",\n    \"last_name\": \"miles\",\n    \"username\": \"osemiles\",\n    \"email\": \"osemiles@gmail.com\"\n}"},{"id":"a519680a-de75-476f-b2c1-00e781025b69","name":"User Registration Example","originalRequest":{"method":"POST","header":[],"body":{"mode":"formdata","formdata":[{"key":"username","value":"dillionRex","type":"text"},{"key":"first_name","value":"dillion","type":"text"},{"key":"last_name","value":"Rex","type":"text"},{"key":"username","value":"","type":"text","disabled":true},{"key":"email","value":"dillionRex@gmail.com","type":"text"},{"key":"password","value":"dillionRex","type":"text"}]},"url":"http://127.0.0.1:8000/api/v1/user/"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 17 Jul 2020 23:44:41 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.6.9"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept"},{"key":"Allow","value":"GET, POST, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"105"},{"key":"X-Content-Type-Options","value":"nosniff"}],"cookie":[],"responseTime":null,"body":"{\n    \"id\": 38,\n    \"first_name\": \"dillion\",\n    \"last_name\": \"Rex\",\n    \"username\": \"dillionRex\",\n    \"email\": \"dillionRex@gmail.com\"\n}"},{"id":"c543c2ef-3f8f-43c9-a1dc-8c7f85c68076","name":"User registration","originalRequest":{"method":"POST","header":[],"body":{"mode":"formdata","formdata":[{"key":"username","value":"nextwebb","type":"text"},{"key":"password","value":"nextwebb","type":"text"},{"key":"email","value":"oaikhenahpeterson@gmail.com","type":"text"},{"key":"first_name","value":"peterson","type":"text"},{"key":"last_name","value":"oaikhenah","type":"text"}],"options":{"raw":{"language":"text"}}},"url":"https://dnappserver.herokuapp.com/api/v1/user/"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"gunicorn/20.0.4"},{"key":"Date","value":"Fri, 28 Aug 2020 22:24:11 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept"},{"key":"Allow","value":"GET, POST, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"116"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Via","value":"1.1 vegur"}],"cookie":[],"responseTime":null,"body":"{\n    \"id\": 4,\n    \"first_name\": \"peterson\",\n    \"last_name\": \"oaikhenah\",\n    \"username\": \"nextwebb\",\n    \"email\": \"oaikhenahpeterson@gmail.com\"\n}"}],"_postman_id":"fda83ea4-d61c-4c17-98d1-ffee60964a4e"},{"name":"View user profile","id":"b1f36291-09ef-42bd-bd3d-474289027b64","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Authorization","value":"token 2becdf1d62f4634d6bf0f9426d14d7a3991dc621","type":"text"}],"url":"https://dnappserver.herokuapp.com/api/v1/profile/","description":"<p>API endpoint to \"Fetch information\" for a user profile in the system.</p>\n<blockquote>\n<p>A successful API request will return \"HTTP 200\" Status Code</p>\n</blockquote>\n<blockquote>\n<p>A request for a non existing user will return \"HTTP 400\" Status Code</p>\n</blockquote>\n","urlObject":{"protocol":"https","path":["api","v1","profile",""],"host":["dnappserver","herokuapp","com"],"query":[],"variable":[]}},"response":[{"id":"052453e9-ee30-498b-8f2f-86ddf42be0a3","name":"View User Profile","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"token e7e54381bc1533036be2419c45667e851b84c042","type":"text"}],"body":{"mode":"raw","raw":"{\"Emails\":\"dicksondoug@gmail.com\"}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/v1/profile/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 24 Jul 2020 03:18:04 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.6.11"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept"},{"key":"Allow","value":"GET, POST, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"243"},{"key":"X-Content-Type-Options","value":"nosniff"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"User profile \",\n    \"result\": {\n        \"id\": 24,\n        \"facebook_user\": \"shexxy\",\n        \"phone\": \"0909214214123\",\n        \"profile\": \"/profile/cloudzillaT.jpg\",\n        \"user\": {\n            \"id\": 37,\n            \"first_name\": \"james\",\n            \"last_name\": \"douglas\",\n            \"username\": \"james17\",\n            \"email\": \"douglas17@gmail.com\"\n        }\n    }\n}"},{"id":"28d113a5-a86d-4a8a-8a01-213a07892b08","name":"Default","originalRequest":{"method":"GET","header":[],"body":{"mode":"raw","raw":""},"url":"http://127.0.0.1:8000/api/v1/profile/"},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":""},{"id":"71ef5210-99ad-4174-a536-2f831b3fe9ed","name":"View User Profile","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"token e7e54381bc1533036be2419c45667e851b84c042","type":"text"}],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1:8000/api/v1/profile/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Thu, 30 Jul 2020 23:26:48 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.6.11"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept"},{"key":"Allow","value":"GET, POST, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"243"},{"key":"X-Content-Type-Options","value":"nosniff"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"User profile \",\n    \"result\": {\n        \"id\": 24,\n        \"facebook_user\": \"shexxy\",\n        \"phone\": \"0909214214123\",\n        \"profile\": \"/profile/cloudzillaT.jpg\",\n        \"user\": {\n            \"id\": 37,\n            \"first_name\": \"james\",\n            \"last_name\": \"douglas\",\n            \"username\": \"james17\",\n            \"email\": \"douglas17@gmail.com\"\n        }\n    }\n}"},{"id":"807cd223-73bb-4d3d-ba3a-63eb9930b195","name":"View User Profile","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"token e7e54381bc1533036be2419c45667e851b84c042","type":"text"}],"url":"http://127.0.0.1:8000/api/v1/profile/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Thu, 30 Jul 2020 23:26:48 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.6.11"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept"},{"key":"Allow","value":"GET, POST, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"243"},{"key":"X-Content-Type-Options","value":"nosniff"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"User profile \",\n    \"result\": {\n        \"id\": 24,\n        \"facebook_user\": \"shexxy\",\n        \"phone\": \"0909214214123\",\n        \"profile\": \"/profile/cloudzillaT.jpg\",\n        \"user\": {\n            \"id\": 37,\n            \"first_name\": \"james\",\n            \"last_name\": \"douglas\",\n            \"username\": \"james17\",\n            \"email\": \"douglas17@gmail.com\"\n        }\n    }\n}"},{"id":"9feb1a14-cb55-4f60-ad69-1353567a66ee","name":"Retreive User Profile Example","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"token e7e54381bc1533036be2419c45667e851b84c042","type":"text"}],"body":{"mode":"formdata","formdata":[]},"url":"http://127.0.0.1:8000/api/v1/profile/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 17 Jul 2020 23:50:02 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.6.9"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept"},{"key":"Allow","value":"GET, POST, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"269"},{"key":"X-Content-Type-Options","value":"nosniff"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"User profile \",\n    \"result\": {\n        \"id\": 24,\n        \"facebook_user\": \"dickson\",\n        \"phone\": \"0909214214124\",\n        \"profile\": \"/profile/4E266BE6-89F9-4784-B2A6-487E500E3ACA.png\",\n        \"user\": {\n            \"id\": 37,\n            \"first_name\": \"james\",\n            \"last_name\": \"douglas\",\n            \"username\": \"james17\",\n            \"email\": \"douglas17@gmail.com\"\n        }\n    }\n}"},{"id":"ac10c6ed-92c5-4d62-83db-fb046aacad6a","name":"View user profile","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"token f8acf5b58175ce51f7bfe670c06f7aab3087e06f","type":"text"}],"url":"https://dnappserver.herokuapp.com/api/v1/profile/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"gunicorn/20.0.4"},{"key":"Date","value":"Sat, 29 Aug 2020 16:01:58 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, Origin"},{"key":"Allow","value":"GET, POST, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"292"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Via","value":"1.1 vegur"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"User profile \",\n    \"result\": {\n        \"id\": 4,\n        \"facebook_user\": \"https://web.facebook.com/peterson.oaikhenah\",\n        \"phone\": \"0909214214123\",\n        \"profile\": \"/profile/cloudzillaT.jpg\",\n        \"user\": {\n            \"id\": 4,\n            \"first_name\": \"peterson\",\n            \"last_name\": \"oaikhenah\",\n            \"username\": \"nextwebb\",\n            \"email\": \"oaikhenahpeterson@gmail.com\"\n        }\n    }\n}"}],"_postman_id":"b1f36291-09ef-42bd-bd3d-474289027b64"},{"name":"Update user profile","id":"918911b9-9e58-4243-8138-6e7a1bb14b99","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"PUT","header":[{"key":"Authorization","type":"text","value":"token b15e064e04ad45645330fdb1f231d2dc6c8b855d"}],"body":{"mode":"raw","raw":"{\n    \"facebook_user\":\"https://web.facebook.com/peterson.oaikhenah\",\n    \"phone\":\"09067026252\",\n    \"profile\":\"https://pixabay.com/get/53e6d2434d53a814f6da8c7dda79357d133edae44e507749762a7ed6924ec5_1280.png\"\n}","options":{"raw":{"language":"json"}}},"url":"localhost:8080/api/v1/profile/update_profile/","description":"<p>API endpoint to \"Updates information\" for a user profile in the system.</p>\n<blockquote>\n<p>A successful API request will return \"HTTP 200\" Status Code</p>\n</blockquote>\n<blockquote>\n<p>A request for a non existing user will return \"HTTP 400\" Status Code</p>\n</blockquote>\n","urlObject":{"port":"8080","path":["api","v1","profile","update_profile",""],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"3d40be0e-2c88-45fd-9a9e-271ecaaf9f65","name":"Update user profile","originalRequest":{"method":"PUT","header":[{"key":"Authorization","type":"text","value":"token f8acf5b58175ce51f7bfe670c06f7aab3087e06f"}],"body":{"mode":"formdata","formdata":[{"key":"facebook_user","type":"text","value":"https://web.facebook.com/peterson.oaikhenah"},{"key":"phone","type":"text","value":"0909214214123"},{"key":"profile","type":"file","src":"/home/nextwebb/Downloads/cloudzillaT.jpg"}]},"url":"https://dnappserver.herokuapp.com/api/v1/profile/4/update_profile/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"gunicorn/20.0.4"},{"key":"Date","value":"Fri, 28 Aug 2020 22:28:21 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept"},{"key":"Allow","value":"PUT, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"176"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Via","value":"1.1 vegur"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"User profile  Updated\",\n    \"result\": {\n        \"id\": 4,\n        \"facebook_user\": \"https://web.facebook.com/peterson.oaikhenah\",\n        \"phone\": \"0909214214123\",\n        \"profile\": \"/profile/cloudzillaT.jpg\"\n    }\n}"},{"id":"701cb714-aa2f-4766-95de-0d5093eca4ef","name":"Update User Profile Example","originalRequest":{"method":"PUT","header":[{"key":"Authorization","type":"text","value":"token e7e54381bc1533036be2419c45667e851b84c042"}],"body":{"mode":"formdata","formdata":[{"key":"facebook_user","type":"text","value":"shakespear"},{"key":"phone","type":"text","value":"0909214214123"},{"key":"profile","type":"file","src":"/home/nextwebb/Downloads/cloudzillaT.jpg"}]},"url":"localhost:8000/api/v1/profile/24/update_profile/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 17 Jul 2020 23:53:05 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.6.9"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept"},{"key":"Allow","value":"PUT, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"95"},{"key":"X-Content-Type-Options","value":"nosniff"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"User profile  Updated\",\n    \"result\": {\n        \"facebook_user\": null,\n        \"phone\": null,\n        \"profile\": null\n    }\n}"},{"id":"880a0de8-7ba0-4933-a535-a82f2ba997f8","name":"Update user profile","originalRequest":{"method":"PUT","header":[{"key":"Authorization","type":"text","value":"token f8acf5b58175ce51f7bfe670c06f7aab3087e06f"}],"body":{"mode":"formdata","formdata":[{"key":"facebook_user","type":"text","value":"https://web.facebook.com/peterson.oaikhenah"},{"key":"phone","type":"text","value":"0909214214123"},{"key":"profile","type":"file","src":"/home/nextwebb/Downloads/cloudzillaT.jpg"}]},"url":"https://dnappserver.herokuapp.com/api/v1/profile/4/update_profile/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"gunicorn/20.0.4"},{"key":"Date","value":"Sat, 29 Aug 2020 16:02:29 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, Origin"},{"key":"Allow","value":"PUT, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"176"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Via","value":"1.1 vegur"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"User profile  Updated\",\n    \"result\": {\n        \"id\": 4,\n        \"facebook_user\": \"https://web.facebook.com/peterson.oaikhenah\",\n        \"phone\": \"0909214214123\",\n        \"profile\": \"/profile/cloudzillaT.jpg\"\n    }\n}"},{"id":"be57768a-72ea-482c-a9d8-38716affc491","name":"Update user profile","originalRequest":{"method":"PUT","header":[{"key":"Authorization","type":"text","value":"token 60c6e07565267395a203d7850ea01b67dcfc8bb3"}],"body":{"mode":"formdata","formdata":[{"key":"facebook_user","type":"text","value":"https://web.facebook.com/james401"},{"key":"phone","type":"text","value":"0909214214123"},{"key":"profile","type":"text","value":"https://unsplash.com/photos/5E5N49RWtbA"}],"options":{"raw":{"language":"json"}}},"url":"https://dnappserver.herokuapp.com/api/v1/profile/update_profile/"},"status":"Internal Server Error","code":500,"_postman_previewlanguage":"html","header":[{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"gunicorn/20.0.4"},{"key":"Date","value":"Fri, 11 Sep 2020 20:25:45 GMT"},{"key":"Content-Type","value":"text/html"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"136098"},{"key":"Vary","value":"Origin"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Via","value":"1.1 vegur"}],"cookie":[],"responseTime":null,"body":"<!DOCTYPE html>\n<html lang=\"en\">\n    <head>\n        <meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\">\n        <meta name=\"robots\" content=\"NONE,NOARCHIVE\">\n        <title>IntegrityError\n          at /api/v1/profile/update_profile/</title>\n        <style type=\"text/css\">\n    html * { padding:0; margin:0; }\n    body * { padding:10px 20px; }\n    body * * { padding:0; }\n    body { font:small sans-serif; background-color:#fff; color:#000; }\n    body>div { border-bottom:1px solid #ddd; }\n    h1 { font-weight:normal; }\n    h2 { margin-bottom:.8em; }\n    h3 { margin:1em 0 .5em 0; }\n    h4 { margin:0 0 .5em 0; font-weight: normal; }\n    code, pre { font-size: 100%; white-space: pre-wrap; }\n    table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }\n    tbody td, tbody th { vertical-align:top; padding:2px 3px; }\n    thead th {\n      padding:1px 6px 1px 3px; background:#fefefe; text-align:left;\n      font-weight:normal; font-size:11px; border:1px solid #ddd;\n    }\n    tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }\n    table.vars { margin:5px 0 2px 40px; }\n    table.vars td, table.req td { font-family:monospace; }\n    table td.code { width:100%; }\n    table td.code pre { overflow:hidden; }\n    table.source th { color:#666; }\n    table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }\n    ul.traceback { list-style-type:none; color: #222; }\n    ul.traceback li.frame { padding-bottom:1em; color:#4f4f4f; }\n    ul.traceback li.user { background-color:#e0e0e0; color:#000 }\n    div.context { padding:10px 0; overflow:hidden; }\n    div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }\n    div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }\n    div.context ol li pre { display:inline; }\n    div.context ol.context-line li { color:#464646; background-color:#dfdfdf; padding: 3px 2px; }\n    div.context ol.context-line li span { position:absolute; right:32px; }\n    .user div.context ol.context-line li { background-color:#bbb; color:#000; }\n    .user div.context ol li { color:#666; }\n    div.commands { margin-left: 40px; }\n    div.commands a { color:#555; text-decoration:none; }\n    .user div.commands a { color: black; }\n    #summary { background: #ffc; }\n    #summary h2 { font-weight: normal; color: #666; }\n    #explanation { background:#eee; }\n    #template, #template-not-exist { background:#f6f6f6; }\n    #template-not-exist ul { margin: 0 0 10px 20px; }\n    #template-not-exist .postmortem-section { margin-bottom: 3px; }\n    #unicode-hint { background:#eee; }\n    #traceback { background:#eee; }\n    #requestinfo { background:#f6f6f6; padding-left:120px; }\n    #summary table { border:none; background:transparent; }\n    #requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }\n    #requestinfo h3 { margin-bottom:-1em; }\n    .error { background: #ffc; }\n    .specific { color:#cc3300; font-weight:bold; }\n    h2 span.commands { font-size:.7em; font-weight:normal; }\n    span.commands a:link {color:#5E5694;}\n    pre.exception_value { font-family: sans-serif; color: #575757; font-size: 1.5em; margin: 10px 0 10px 0; }\n    .append-bottom { margin-bottom: 10px; }\n    .fname { user-select: all; }\n  </style>\n        <script>\n    function hideAll(elems) {\n      for (var e = 0; e < elems.length; e++) {\n        elems[e].style.display = 'none';\n      }\n    }\n    window.onload = function() {\n      hideAll(document.querySelectorAll('table.vars'));\n      hideAll(document.querySelectorAll('ol.pre-context'));\n      hideAll(document.querySelectorAll('ol.post-context'));\n      hideAll(document.querySelectorAll('div.pastebin'));\n    }\n    function toggle() {\n      for (var i = 0; i < arguments.length; i++) {\n        var e = document.getElementById(arguments[i]);\n        if (e) {\n          e.style.display = e.style.display == 'none' ? 'block': 'none';\n        }\n      }\n      return false;\n    }\n    function varToggle(link, id) {\n      toggle('v' + id);\n      var s = link.getElementsByTagName('span')[0];\n      var uarr = String.fromCharCode(0x25b6);\n      var darr = String.fromCharCode(0x25bc);\n      s.textContent = s.textContent == uarr ? darr : uarr;\n      return false;\n    }\n    function switchPastebinFriendly(link) {\n      s1 = \"Switch to copy-and-paste view\";\n      s2 = \"Switch back to interactive view\";\n      link.textContent = link.textContent.trim() == s1 ? s2: s1;\n      toggle('browserTraceback', 'pastebinTraceback');\n      return false;\n    }\n  \n        </script>\n    </head>\n    <body>\n        <div id=\"summary\">\n            <h1>IntegrityError\n       at /api/v1/profile/update_profile/</h1>\n            <pre class=\"exception_value\">duplicate key value violates unique constraint &quot;api_profile_phone_key&quot;\nDETAIL:  Key (phone)=(0909214214123) already exists.\n</pre>\n            <table class=\"meta\">\n                <tr>\n                    <th>Request Method:</th>\n                    <td>PUT</td>\n                </tr>\n                <tr>\n                    <th>Request URL:</th>\n                    <td>https://dnappserver.herokuapp.com/api/v1/profile/update_profile/</td>\n                </tr>\n                <tr>\n                    <th>Django Version:</th>\n                    <td>3.1</td>\n                </tr>\n                <tr>\n                    <th>Exception Type:</th>\n                    <td>IntegrityError</td>\n                </tr>\n                <tr>\n                    <th>Exception Value:</th>\n                    <td>\n                        <pre>duplicate key value violates unique constraint &quot;api_profile_phone_key&quot;\nDETAIL:  Key (phone)=(0909214214123) already exists.\n</pre>\n                    </td>\n                </tr>\n                <tr>\n                    <th>Exception Location:</th>\n                    <td>\n                        <span class=\"fname\">/app/.heroku/python/lib/python3.6/site-packages/django/db/backends/utils.py</span>, line 84, in _execute\n                    </td>\n                </tr>\n                <tr>\n                    <th>Python Executable:</th>\n                    <td>/app/.heroku/python/bin/python</td>\n                </tr>\n                <tr>\n                    <th>Python Version:</th>\n                    <td>3.6.12</td>\n                </tr>\n                <tr>\n                    <th>Python Path:</th>\n                    <td>\n                        <pre>[&#x27;/app/.heroku/python/bin&#x27;,\n &#x27;/app&#x27;,\n &#x27;/app/.heroku/python/lib/python36.zip&#x27;,\n &#x27;/app/.heroku/python/lib/python3.6&#x27;,\n &#x27;/app/.heroku/python/lib/python3.6/lib-dynload&#x27;,\n &#x27;/app/.heroku/python/lib/python3.6/site-packages&#x27;]</pre>\n                    </td>\n                </tr>\n                <tr>\n                    <th>Server time:</th>\n                    <td>Fri, 11 Sep 2020 20:25:45 +0000</td>\n                </tr>\n            </table>\n        </div>\n        <div id=\"traceback\">\n            <h2>Traceback \n                <span class=\"commands\">\n                    <a href=\"#\" onclick=\"return switchPastebinFriendly(this);\">\n    Switch to copy-and-paste view</a>\n                </span>\n            </h2>\n            <div id=\"browserTraceback\">\n                <ul class=\"traceback\">\n                    <li class=\"frame django\">\n                        <code class=\"fname\">/app/.heroku/python/lib/python3.6/site-packages/django/db/backends/utils.py</code>, line 84, in _execute\n                        <div class=\"context\" id=\"c139735548164616\">\n                            <ol start=\"77\" class=\"pre-context\" id=\"pre139735548164616\">\n                                <li onclick=\"toggle('pre139735548164616', 'post139735548164616')\">\n                                    <pre>    def _execute(self, sql, params, *ignored_wrapper_args):</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548164616', 'post139735548164616')\">\n                                    <pre>        self.db.validate_no_broken_transaction()</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548164616', 'post139735548164616')\">\n                                    <pre>        with self.db.wrap_database_errors:</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548164616', 'post139735548164616')\">\n                                    <pre>            if params is None:</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548164616', 'post139735548164616')\">\n                                    <pre>                # params default might be backend specific.</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548164616', 'post139735548164616')\">\n                                    <pre>                return self.cursor.execute(sql)</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548164616', 'post139735548164616')\">\n                                    <pre>            else:</pre>\n                                </li>\n                            </ol>\n                            <ol start=\"84\" class=\"context-line\">\n                                <li onclick=\"toggle('pre139735548164616', 'post139735548164616')\">\n                                    <pre>                return self.cursor.execute(sql, params)</pre>\n                                    <span>…</span>\n                                </li>\n                            </ol>\n                            <ol start='85' class=\"post-context\" id=\"post139735548164616\">\n                                <li onclick=\"toggle('pre139735548164616', 'post139735548164616')\">\n                                    <pre></pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548164616', 'post139735548164616')\">\n                                    <pre>    def _executemany(self, sql, param_list, *ignored_wrapper_args):</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548164616', 'post139735548164616')\">\n                                    <pre>        self.db.validate_no_broken_transaction()</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548164616', 'post139735548164616')\">\n                                    <pre>        with self.db.wrap_database_errors:</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548164616', 'post139735548164616')\">\n                                    <pre>            return self.cursor.executemany(sql, param_list)</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548164616', 'post139735548164616')\">\n                                    <pre></pre>\n                                </li>\n                            </ol>\n                        </div>\n                        <div class=\"commands\">\n                            <a href=\"#\" onclick=\"return varToggle(this, '139735548164616')\">\n                                <span>&#x25b6;</span> Local vars\n                            </a>\n                        </div>\n                        <table class=\"vars\" id=\"v139735548164616\">\n                            <thead>\n                                <tr>\n                                    <th>Variable</th>\n                                    <th>Value</th>\n                                </tr>\n                            </thead>\n                            <tbody>\n                                <tr>\n                                    <td>ignored_wrapper_args</td>\n                                    <td class=\"code\">\n                                        <pre>(False,\n {&#x27;connection&#x27;: &lt;django.db.backends.postgresql.base.DatabaseWrapper object at 0x7f16bcc80860&gt;,\n  &#x27;cursor&#x27;: &lt;django.db.backends.postgresql.base.CursorDebugWrapper object at 0x7f16b7b5c898&gt;})</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>params</td>\n                                    <td class=\"code\">\n                                        <pre>(&#x27;https://web.facebook.com/james401&#x27;,\n &#x27;0909214214123&#x27;,\n &#x27;https://unsplash.com/photos/5E5N49RWtbA&#x27;,\n 16)</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>self</td>\n                                    <td class=\"code\">\n                                        <pre>&lt;django.db.backends.postgresql.base.CursorDebugWrapper object at 0x7f16b7b5c898&gt;</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>sql</td>\n                                    <td class=\"code\">\n                                        <pre>(&#x27;UPDATE &quot;api_profile&quot; SET &quot;facebook_user&quot; = %s, &quot;phone&quot; = %s, &quot;profile&quot; = %s &#x27;\n &#x27;WHERE &quot;api_profile&quot;.&quot;user_id&quot; = %s&#x27;)</pre>\n                                    </td>\n                                </tr>\n                            </tbody>\n                        </table>\n                    </li>\n                    <li>\n                        <h3>\n          \n            The above exception (duplicate key value violates unique constraint &quot;api_profile_phone_key&quot;\nDETAIL:  Key (phone)=(0909214214123) already exists.\n) was the direct cause of the following exception:\n          \n        </h3>\n                    </li>\n                    <li class=\"frame django\">\n                        <code class=\"fname\">/app/.heroku/python/lib/python3.6/site-packages/django/core/handlers/exception.py</code>, line 47, in inner\n                        <div class=\"context\" id=\"c139735547744072\">\n                            <ol start=\"40\" class=\"pre-context\" id=\"pre139735547744072\">\n                                <li onclick=\"toggle('pre139735547744072', 'post139735547744072')\">\n                                    <pre>                response = await sync_to_async(response_for_exception)(request, exc)</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735547744072', 'post139735547744072')\">\n                                    <pre>            return response</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735547744072', 'post139735547744072')\">\n                                    <pre>        return inner</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735547744072', 'post139735547744072')\">\n                                    <pre>    else:</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735547744072', 'post139735547744072')\">\n                                    <pre>        @wraps(get_response)</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735547744072', 'post139735547744072')\">\n                                    <pre>        def inner(request):</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735547744072', 'post139735547744072')\">\n                                    <pre>            try:</pre>\n                                </li>\n                            </ol>\n                            <ol start=\"47\" class=\"context-line\">\n                                <li onclick=\"toggle('pre139735547744072', 'post139735547744072')\">\n                                    <pre>                response = get_response(request)</pre>\n                                    <span>…</span>\n                                </li>\n                            </ol>\n                            <ol start='48' class=\"post-context\" id=\"post139735547744072\">\n                                <li onclick=\"toggle('pre139735547744072', 'post139735547744072')\">\n                                    <pre>            except Exception as exc:</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735547744072', 'post139735547744072')\">\n                                    <pre>                response = response_for_exception(request, exc)</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735547744072', 'post139735547744072')\">\n                                    <pre>            return response</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735547744072', 'post139735547744072')\">\n                                    <pre>        return inner</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735547744072', 'post139735547744072')\">\n                                    <pre></pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735547744072', 'post139735547744072')\">\n                                    <pre></pre>\n                                </li>\n                            </ol>\n                        </div>\n                        <div class=\"commands\">\n                            <a href=\"#\" onclick=\"return varToggle(this, '139735547744072')\">\n                                <span>&#x25b6;</span> Local vars\n                            </a>\n                        </div>\n                        <table class=\"vars\" id=\"v139735547744072\">\n                            <thead>\n                                <tr>\n                                    <th>Variable</th>\n                                    <th>Value</th>\n                                </tr>\n                            </thead>\n                            <tbody>\n                                <tr>\n                                    <td>exc</td>\n                                    <td class=\"code\">\n                                        <pre>IntegrityError(&#x27;duplicate key value violates unique constraint &quot;api_profile_phone_key&quot;\\nDETAIL:  Key (phone)=(0909214214123) already exists.\\n&#x27;,)</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>get_response</td>\n                                    <td class=\"code\">\n                                        <pre>&lt;bound method BaseHandler._get_response of &lt;django.core.handlers.wsgi.WSGIHandler object at 0x7f16b81ebdd8&gt;&gt;</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>request</td>\n                                    <td class=\"code\">\n                                        <pre>&lt;WSGIRequest: PUT &#x27;/api/v1/profile/update_profile/&#x27;&gt;</pre>\n                                    </td>\n                                </tr>\n                            </tbody>\n                        </table>\n                    </li>\n                    <li class=\"frame django\">\n                        <code class=\"fname\">/app/.heroku/python/lib/python3.6/site-packages/django/core/handlers/base.py</code>, line 179, in _get_response\n                        <div class=\"context\" id=\"c139735548059592\">\n                            <ol start=\"172\" class=\"pre-context\" id=\"pre139735548059592\">\n                                <li onclick=\"toggle('pre139735548059592', 'post139735548059592')\">\n                                    <pre></pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548059592', 'post139735548059592')\">\n                                    <pre>        if response is None:</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548059592', 'post139735548059592')\">\n                                    <pre>            wrapped_callback = self.make_view_atomic(callback)</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548059592', 'post139735548059592')\">\n                                    <pre>            # If it is an asynchronous view, run it in a subthread.</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548059592', 'post139735548059592')\">\n                                    <pre>            if asyncio.iscoroutinefunction(wrapped_callback):</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548059592', 'post139735548059592')\">\n                                    <pre>                wrapped_callback = async_to_sync(wrapped_callback)</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548059592', 'post139735548059592')\">\n                                    <pre>            try:</pre>\n                                </li>\n                            </ol>\n                            <ol start=\"179\" class=\"context-line\">\n                                <li onclick=\"toggle('pre139735548059592', 'post139735548059592')\">\n                                    <pre>                response = wrapped_callback(request, *callback_args, **callback_kwargs)</pre>\n                                    <span>…</span>\n                                </li>\n                            </ol>\n                            <ol start='180' class=\"post-context\" id=\"post139735548059592\">\n                                <li onclick=\"toggle('pre139735548059592', 'post139735548059592')\">\n                                    <pre>            except Exception as e:</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548059592', 'post139735548059592')\">\n                                    <pre>                response = self.process_exception_by_middleware(e, request)</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548059592', 'post139735548059592')\">\n                                    <pre>                if response is None:</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548059592', 'post139735548059592')\">\n                                    <pre>                    raise</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548059592', 'post139735548059592')\">\n                                    <pre></pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548059592', 'post139735548059592')\">\n                                    <pre>        # Complain if the view returned None (a common error).</pre>\n                                </li>\n                            </ol>\n                        </div>\n                        <div class=\"commands\">\n                            <a href=\"#\" onclick=\"return varToggle(this, '139735548059592')\">\n                                <span>&#x25b6;</span> Local vars\n                            </a>\n                        </div>\n                        <table class=\"vars\" id=\"v139735548059592\">\n                            <thead>\n                                <tr>\n                                    <th>Variable</th>\n                                    <th>Value</th>\n                                </tr>\n                            </thead>\n                            <tbody>\n                                <tr>\n                                    <td>callback</td>\n                                    <td class=\"code\">\n                                        <pre>&lt;function ProfileViewSet at 0x7f16b7bd47b8&gt;</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>callback_args</td>\n                                    <td class=\"code\">\n                                        <pre>()</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>callback_kwargs</td>\n                                    <td class=\"code\">\n                                        <pre>{&#x27;version&#x27;: &#x27;v1&#x27;}</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>middleware_method</td>\n                                    <td class=\"code\">\n                                        <pre>&lt;bound method CsrfViewMiddleware.process_view of &lt;django.middleware.csrf.CsrfViewMiddleware object at 0x7f16b80d6550&gt;&gt;</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>request</td>\n                                    <td class=\"code\">\n                                        <pre>&lt;WSGIRequest: PUT &#x27;/api/v1/profile/update_profile/&#x27;&gt;</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>response</td>\n                                    <td class=\"code\">\n                                        <pre>None</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>self</td>\n                                    <td class=\"code\">\n                                        <pre>&lt;django.core.handlers.wsgi.WSGIHandler object at 0x7f16b81ebdd8&gt;</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>wrapped_callback</td>\n                                    <td class=\"code\">\n                                        <pre>&lt;function ProfileViewSet at 0x7f16b7bd47b8&gt;</pre>\n                                    </td>\n                                </tr>\n                            </tbody>\n                        </table>\n                    </li>\n                    <li class=\"frame django\">\n                        <code class=\"fname\">/app/.heroku/python/lib/python3.6/site-packages/django/views/decorators/csrf.py</code>, line 54, in wrapped_view\n                        <div class=\"context\" id=\"c139735548059336\">\n                            <ol start=\"47\" class=\"pre-context\" id=\"pre139735548059336\">\n                                <li onclick=\"toggle('pre139735548059336', 'post139735548059336')\">\n                                    <pre></pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548059336', 'post139735548059336')\">\n                                    <pre></pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548059336', 'post139735548059336')\">\n                                    <pre>def csrf_exempt(view_func):</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548059336', 'post139735548059336')\">\n                                    <pre>    &quot;&quot;&quot;Mark a view function as being exempt from the CSRF view protection.&quot;&quot;&quot;</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548059336', 'post139735548059336')\">\n                                    <pre>    # view_func.csrf_exempt = True would also work, but decorators are nicer</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548059336', 'post139735548059336')\">\n                                    <pre>    # if they don&#x27;t have side effects, so return a new function.</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548059336', 'post139735548059336')\">\n                                    <pre>    def wrapped_view(*args, **kwargs):</pre>\n                                </li>\n                            </ol>\n                            <ol start=\"54\" class=\"context-line\">\n                                <li onclick=\"toggle('pre139735548059336', 'post139735548059336')\">\n                                    <pre>        return view_func(*args, **kwargs)</pre>\n                                    <span>…</span>\n                                </li>\n                            </ol>\n                            <ol start='55' class=\"post-context\" id=\"post139735548059336\">\n                                <li onclick=\"toggle('pre139735548059336', 'post139735548059336')\">\n                                    <pre>    wrapped_view.csrf_exempt = True</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548059336', 'post139735548059336')\">\n                                    <pre>    return wraps(view_func)(wrapped_view)</pre>\n                                </li>\n                            </ol>\n                        </div>\n                        <div class=\"commands\">\n                            <a href=\"#\" onclick=\"return varToggle(this, '139735548059336')\">\n                                <span>&#x25b6;</span> Local vars\n                            </a>\n                        </div>\n                        <table class=\"vars\" id=\"v139735548059336\">\n                            <thead>\n                                <tr>\n                                    <th>Variable</th>\n                                    <th>Value</th>\n                                </tr>\n                            </thead>\n                            <tbody>\n                                <tr>\n                                    <td>args</td>\n                                    <td class=\"code\">\n                                        <pre>(&lt;WSGIRequest: PUT &#x27;/api/v1/profile/update_profile/&#x27;&gt;,)</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>kwargs</td>\n                                    <td class=\"code\">\n                                        <pre>{&#x27;version&#x27;: &#x27;v1&#x27;}</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>view_func</td>\n                                    <td class=\"code\">\n                                        <pre>&lt;function ProfileViewSet at 0x7f16b7bd4730&gt;</pre>\n                                    </td>\n                                </tr>\n                            </tbody>\n                        </table>\n                    </li>\n                    <li class=\"frame user\">\n                        <code class=\"fname\">/app/.heroku/python/lib/python3.6/site-packages/rest_framework/viewsets.py</code>, line 114, in view\n                        <div class=\"context\" id=\"c139735548058760\">\n                            <ol start=\"107\" class=\"pre-context\" id=\"pre139735548058760\">\n                                <li onclick=\"toggle('pre139735548058760', 'post139735548058760')\">\n                                    <pre>                self.head = self.get</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548058760', 'post139735548058760')\">\n                                    <pre></pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548058760', 'post139735548058760')\">\n                                    <pre>            self.request = request</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548058760', 'post139735548058760')\">\n                                    <pre>            self.args = args</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548058760', 'post139735548058760')\">\n                                    <pre>            self.kwargs = kwargs</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548058760', 'post139735548058760')\">\n                                    <pre></pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548058760', 'post139735548058760')\">\n                                    <pre>            # And continue as usual</pre>\n                                </li>\n                            </ol>\n                            <ol start=\"114\" class=\"context-line\">\n                                <li onclick=\"toggle('pre139735548058760', 'post139735548058760')\">\n                                    <pre>            return self.dispatch(request, *args, **kwargs)</pre>\n                                    <span>…</span>\n                                </li>\n                            </ol>\n                            <ol start='115' class=\"post-context\" id=\"post139735548058760\">\n                                <li onclick=\"toggle('pre139735548058760', 'post139735548058760')\">\n                                    <pre></pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548058760', 'post139735548058760')\">\n                                    <pre>        # take name and docstring from class</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548058760', 'post139735548058760')\">\n                                    <pre>        update_wrapper(view, cls, updated=())</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548058760', 'post139735548058760')\">\n                                    <pre></pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548058760', 'post139735548058760')\">\n                                    <pre>        # and possible attributes set by decorators</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548058760', 'post139735548058760')\">\n                                    <pre>        # like csrf_exempt from dispatch</pre>\n                                </li>\n                            </ol>\n                        </div>\n                        <div class=\"commands\">\n                            <a href=\"#\" onclick=\"return varToggle(this, '139735548058760')\">\n                                <span>&#x25b6;</span> Local vars\n                            </a>\n                        </div>\n                        <table class=\"vars\" id=\"v139735548058760\">\n                            <thead>\n                                <tr>\n                                    <th>Variable</th>\n                                    <th>Value</th>\n                                </tr>\n                            </thead>\n                            <tbody>\n                                <tr>\n                                    <td>action</td>\n                                    <td class=\"code\">\n                                        <pre>&#x27;update_profile&#x27;</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>actions</td>\n                                    <td class=\"code\">\n                                        <pre>{&#x27;put&#x27;: &#x27;update_profile&#x27;}</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>args</td>\n                                    <td class=\"code\">\n                                        <pre>()</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>cls</td>\n                                    <td class=\"code\">\n                                        <pre>&lt;class &#x27;api.views.ProfileViewSet&#x27;&gt;</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>handler</td>\n                                    <td class=\"code\">\n                                        <pre>&lt;bound method ProfileViewSet.update_profile of &lt;api.views.ProfileViewSet object at 0x7f16b7b5cf28&gt;&gt;</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>initkwargs</td>\n                                    <td class=\"code\">\n                                        <pre>{&#x27;basename&#x27;: &#x27;profile&#x27;,\n &#x27;description&#x27;: None,\n &#x27;detail&#x27;: False,\n &#x27;name&#x27;: &#x27;Update profile&#x27;}</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>kwargs</td>\n                                    <td class=\"code\">\n                                        <pre>{&#x27;version&#x27;: &#x27;v1&#x27;}</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>method</td>\n                                    <td class=\"code\">\n                                        <pre>&#x27;put&#x27;</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>request</td>\n                                    <td class=\"code\">\n                                        <pre>&lt;WSGIRequest: PUT &#x27;/api/v1/profile/update_profile/&#x27;&gt;</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>self</td>\n                                    <td class=\"code\">\n                                        <pre>&lt;api.views.ProfileViewSet object at 0x7f16b7b5cf28&gt;</pre>\n                                    </td>\n                                </tr>\n                            </tbody>\n                        </table>\n                    </li>\n                    <li class=\"frame user\">\n                        <code class=\"fname\">/app/.heroku/python/lib/python3.6/site-packages/rest_framework/views.py</code>, line 505, in dispatch\n                        <div class=\"context\" id=\"c139735548059080\">\n                            <ol start=\"498\" class=\"pre-context\" id=\"pre139735548059080\">\n                                <li onclick=\"toggle('pre139735548059080', 'post139735548059080')\">\n                                    <pre>                                  self.http_method_not_allowed)</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548059080', 'post139735548059080')\">\n                                    <pre>            else:</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548059080', 'post139735548059080')\">\n                                    <pre>                handler = self.http_method_not_allowed</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548059080', 'post139735548059080')\">\n                                    <pre></pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548059080', 'post139735548059080')\">\n                                    <pre>            response = handler(request, *args, **kwargs)</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548059080', 'post139735548059080')\">\n                                    <pre></pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548059080', 'post139735548059080')\">\n                                    <pre>        except Exception as exc:</pre>\n                                </li>\n                            </ol>\n                            <ol start=\"505\" class=\"context-line\">\n                                <li onclick=\"toggle('pre139735548059080', 'post139735548059080')\">\n                                    <pre>            response = self.handle_exception(exc)</pre>\n                                    <span>…</span>\n                                </li>\n                            </ol>\n                            <ol start='506' class=\"post-context\" id=\"post139735548059080\">\n                                <li onclick=\"toggle('pre139735548059080', 'post139735548059080')\">\n                                    <pre></pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548059080', 'post139735548059080')\">\n                                    <pre>        self.response = self.finalize_response(request, response, *args, **kwargs)</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548059080', 'post139735548059080')\">\n                                    <pre>        return self.response</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548059080', 'post139735548059080')\">\n                                    <pre></pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548059080', 'post139735548059080')\">\n                                    <pre>    def options(self, request, *args, **kwargs):</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548059080', 'post139735548059080')\">\n                                    <pre>        &quot;&quot;&quot;</pre>\n                                </li>\n                            </ol>\n                        </div>\n                        <div class=\"commands\">\n                            <a href=\"#\" onclick=\"return varToggle(this, '139735548059080')\">\n                                <span>&#x25b6;</span> Local vars\n                            </a>\n                        </div>\n                        <table class=\"vars\" id=\"v139735548059080\">\n                            <thead>\n                                <tr>\n                                    <th>Variable</th>\n                                    <th>Value</th>\n                                </tr>\n                            </thead>\n                            <tbody>\n                                <tr>\n                                    <td>args</td>\n                                    <td class=\"code\">\n                                        <pre>()</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>handler</td>\n                                    <td class=\"code\">\n                                        <pre>&lt;bound method ProfileViewSet.update_profile of &lt;api.views.ProfileViewSet object at 0x7f16b7b5cf28&gt;&gt;</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>kwargs</td>\n                                    <td class=\"code\">\n                                        <pre>{&#x27;version&#x27;: &#x27;v1&#x27;}</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>request</td>\n                                    <td class=\"code\">\n                                        <pre>&lt;rest_framework.request.Request object at 0x7f16b7b1b048&gt;</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>self</td>\n                                    <td class=\"code\">\n                                        <pre>&lt;api.views.ProfileViewSet object at 0x7f16b7b5cf28&gt;</pre>\n                                    </td>\n                                </tr>\n                            </tbody>\n                        </table>\n                    </li>\n                    <li class=\"frame user\">\n                        <code class=\"fname\">/app/.heroku/python/lib/python3.6/site-packages/rest_framework/views.py</code>, line 465, in handle_exception\n                        <div class=\"context\" id=\"c139735548059208\">\n                            <ol start=\"458\" class=\"pre-context\" id=\"pre139735548059208\">\n                                <li onclick=\"toggle('pre139735548059208', 'post139735548059208')\">\n                                    <pre></pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548059208', 'post139735548059208')\">\n                                    <pre>        exception_handler = self.get_exception_handler()</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548059208', 'post139735548059208')\">\n                                    <pre></pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548059208', 'post139735548059208')\">\n                                    <pre>        context = self.get_exception_handler_context()</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548059208', 'post139735548059208')\">\n                                    <pre>        response = exception_handler(exc, context)</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548059208', 'post139735548059208')\">\n                                    <pre></pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548059208', 'post139735548059208')\">\n                                    <pre>        if response is None:</pre>\n                                </li>\n                            </ol>\n                            <ol start=\"465\" class=\"context-line\">\n                                <li onclick=\"toggle('pre139735548059208', 'post139735548059208')\">\n                                    <pre>            self.raise_uncaught_exception(exc)</pre>\n                                    <span>…</span>\n                                </li>\n                            </ol>\n                            <ol start='466' class=\"post-context\" id=\"post139735548059208\">\n                                <li onclick=\"toggle('pre139735548059208', 'post139735548059208')\">\n                                    <pre></pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548059208', 'post139735548059208')\">\n                                    <pre>        response.exception = True</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548059208', 'post139735548059208')\">\n                                    <pre>        return response</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548059208', 'post139735548059208')\">\n                                    <pre></pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548059208', 'post139735548059208')\">\n                                    <pre>    def raise_uncaught_exception(self, exc):</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548059208', 'post139735548059208')\">\n                                    <pre>        if settings.DEBUG:</pre>\n                                </li>\n                            </ol>\n                        </div>\n                        <div class=\"commands\">\n                            <a href=\"#\" onclick=\"return varToggle(this, '139735548059208')\">\n                                <span>&#x25b6;</span> Local vars\n                            </a>\n                        </div>\n                        <table class=\"vars\" id=\"v139735548059208\">\n                            <thead>\n                                <tr>\n                                    <th>Variable</th>\n                                    <th>Value</th>\n                                </tr>\n                            </thead>\n                            <tbody>\n                                <tr>\n                                    <td>context</td>\n                                    <td class=\"code\">\n                                        <pre>{&#x27;args&#x27;: (),\n &#x27;kwargs&#x27;: {&#x27;version&#x27;: &#x27;v1&#x27;},\n &#x27;request&#x27;: &lt;rest_framework.request.Request object at 0x7f16b7b1b048&gt;,\n &#x27;view&#x27;: &lt;api.views.ProfileViewSet object at 0x7f16b7b5cf28&gt;}</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>exc</td>\n                                    <td class=\"code\">\n                                        <pre>IntegrityError(&#x27;duplicate key value violates unique constraint &quot;api_profile_phone_key&quot;\\nDETAIL:  Key (phone)=(0909214214123) already exists.\\n&#x27;,)</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>exception_handler</td>\n                                    <td class=\"code\">\n                                        <pre>&lt;function exception_handler at 0x7f16b7cfa048&gt;</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>response</td>\n                                    <td class=\"code\">\n                                        <pre>None</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>self</td>\n                                    <td class=\"code\">\n                                        <pre>&lt;api.views.ProfileViewSet object at 0x7f16b7b5cf28&gt;</pre>\n                                    </td>\n                                </tr>\n                            </tbody>\n                        </table>\n                    </li>\n                    <li class=\"frame user\">\n                        <code class=\"fname\">/app/.heroku/python/lib/python3.6/site-packages/rest_framework/views.py</code>, line 476, in raise_uncaught_exception\n                        <div class=\"context\" id=\"c139735548059272\">\n                            <ol start=\"469\" class=\"pre-context\" id=\"pre139735548059272\">\n                                <li onclick=\"toggle('pre139735548059272', 'post139735548059272')\">\n                                    <pre></pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548059272', 'post139735548059272')\">\n                                    <pre>    def raise_uncaught_exception(self, exc):</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548059272', 'post139735548059272')\">\n                                    <pre>        if settings.DEBUG:</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548059272', 'post139735548059272')\">\n                                    <pre>            request = self.request</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548059272', 'post139735548059272')\">\n                                    <pre>            renderer_format = getattr(request.accepted_renderer, &#x27;format&#x27;)</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548059272', 'post139735548059272')\">\n                                    <pre>            use_plaintext_traceback = renderer_format not in (&#x27;html&#x27;, &#x27;api&#x27;, &#x27;admin&#x27;)</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548059272', 'post139735548059272')\">\n                                    <pre>            request.force_plaintext_errors(use_plaintext_traceback)</pre>\n                                </li>\n                            </ol>\n                            <ol start=\"476\" class=\"context-line\">\n                                <li onclick=\"toggle('pre139735548059272', 'post139735548059272')\">\n                                    <pre>        raise exc</pre>\n                                    <span>…</span>\n                                </li>\n                            </ol>\n                            <ol start='477' class=\"post-context\" id=\"post139735548059272\">\n                                <li onclick=\"toggle('pre139735548059272', 'post139735548059272')\">\n                                    <pre></pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548059272', 'post139735548059272')\">\n                                    <pre>    # Note: Views are made CSRF exempt from within `as_view` as to prevent</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548059272', 'post139735548059272')\">\n                                    <pre>    # accidental removal of this exemption in cases where `dispatch` needs to</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548059272', 'post139735548059272')\">\n                                    <pre>    # be overridden.</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548059272', 'post139735548059272')\">\n                                    <pre>    def dispatch(self, request, *args, **kwargs):</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548059272', 'post139735548059272')\">\n                                    <pre>        &quot;&quot;&quot;</pre>\n                                </li>\n                            </ol>\n                        </div>\n                        <div class=\"commands\">\n                            <a href=\"#\" onclick=\"return varToggle(this, '139735548059272')\">\n                                <span>&#x25b6;</span> Local vars\n                            </a>\n                        </div>\n                        <table class=\"vars\" id=\"v139735548059272\">\n                            <thead>\n                                <tr>\n                                    <th>Variable</th>\n                                    <th>Value</th>\n                                </tr>\n                            </thead>\n                            <tbody>\n                                <tr>\n                                    <td>exc</td>\n                                    <td class=\"code\">\n                                        <pre>IntegrityError(&#x27;duplicate key value violates unique constraint &quot;api_profile_phone_key&quot;\\nDETAIL:  Key (phone)=(0909214214123) already exists.\\n&#x27;,)</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>renderer_format</td>\n                                    <td class=\"code\">\n                                        <pre>&#x27;json&#x27;</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>request</td>\n                                    <td class=\"code\">\n                                        <pre>&lt;rest_framework.request.Request object at 0x7f16b7b1b048&gt;</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>self</td>\n                                    <td class=\"code\">\n                                        <pre>&lt;api.views.ProfileViewSet object at 0x7f16b7b5cf28&gt;</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>use_plaintext_traceback</td>\n                                    <td class=\"code\">\n                                        <pre>True</pre>\n                                    </td>\n                                </tr>\n                            </tbody>\n                        </table>\n                    </li>\n                    <li class=\"frame user\">\n                        <code class=\"fname\">/app/.heroku/python/lib/python3.6/site-packages/rest_framework/views.py</code>, line 502, in dispatch\n                        <div class=\"context\" id=\"c139735548125320\">\n                            <ol start=\"495\" class=\"pre-context\" id=\"pre139735548125320\">\n                                <li onclick=\"toggle('pre139735548125320', 'post139735548125320')\">\n                                    <pre>            # Get the appropriate handler method</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548125320', 'post139735548125320')\">\n                                    <pre>            if request.method.lower() in self.http_method_names:</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548125320', 'post139735548125320')\">\n                                    <pre>                handler = getattr(self, request.method.lower(),</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548125320', 'post139735548125320')\">\n                                    <pre>                                  self.http_method_not_allowed)</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548125320', 'post139735548125320')\">\n                                    <pre>            else:</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548125320', 'post139735548125320')\">\n                                    <pre>                handler = self.http_method_not_allowed</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548125320', 'post139735548125320')\">\n                                    <pre></pre>\n                                </li>\n                            </ol>\n                            <ol start=\"502\" class=\"context-line\">\n                                <li onclick=\"toggle('pre139735548125320', 'post139735548125320')\">\n                                    <pre>            response = handler(request, *args, **kwargs)</pre>\n                                    <span>…</span>\n                                </li>\n                            </ol>\n                            <ol start='503' class=\"post-context\" id=\"post139735548125320\">\n                                <li onclick=\"toggle('pre139735548125320', 'post139735548125320')\">\n                                    <pre></pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548125320', 'post139735548125320')\">\n                                    <pre>        except Exception as exc:</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548125320', 'post139735548125320')\">\n                                    <pre>            response = self.handle_exception(exc)</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548125320', 'post139735548125320')\">\n                                    <pre></pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548125320', 'post139735548125320')\">\n                                    <pre>        self.response = self.finalize_response(request, response, *args, **kwargs)</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548125320', 'post139735548125320')\">\n                                    <pre>        return self.response</pre>\n                                </li>\n                            </ol>\n                        </div>\n                        <div class=\"commands\">\n                            <a href=\"#\" onclick=\"return varToggle(this, '139735548125320')\">\n                                <span>&#x25b6;</span> Local vars\n                            </a>\n                        </div>\n                        <table class=\"vars\" id=\"v139735548125320\">\n                            <thead>\n                                <tr>\n                                    <th>Variable</th>\n                                    <th>Value</th>\n                                </tr>\n                            </thead>\n                            <tbody>\n                                <tr>\n                                    <td>args</td>\n                                    <td class=\"code\">\n                                        <pre>()</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>handler</td>\n                                    <td class=\"code\">\n                                        <pre>&lt;bound method ProfileViewSet.update_profile of &lt;api.views.ProfileViewSet object at 0x7f16b7b5cf28&gt;&gt;</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>kwargs</td>\n                                    <td class=\"code\">\n                                        <pre>{&#x27;version&#x27;: &#x27;v1&#x27;}</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>request</td>\n                                    <td class=\"code\">\n                                        <pre>&lt;rest_framework.request.Request object at 0x7f16b7b1b048&gt;</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>self</td>\n                                    <td class=\"code\">\n                                        <pre>&lt;api.views.ProfileViewSet object at 0x7f16b7b5cf28&gt;</pre>\n                                    </td>\n                                </tr>\n                            </tbody>\n                        </table>\n                    </li>\n                    <li class=\"frame user\">\n                        <code class=\"fname\">/app/api/views.py</code>, line 124, in update_profile\n                        <div class=\"context\" id=\"c139735548058632\">\n                            <ol start=\"117\" class=\"pre-context\" id=\"pre139735548058632\">\n                                <li onclick=\"toggle('pre139735548058632', 'post139735548058632')\">\n                                    <pre>                fetched_data =  request.data</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548058632', 'post139735548058632')\">\n                                    <pre>                user = request.user</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548058632', 'post139735548058632')\">\n                                    <pre>                try :</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548058632', 'post139735548058632')\">\n                                    <pre>                     profile = Profile.objects.filter(user=user.id)</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548058632', 'post139735548058632')\">\n                                    <pre>                     profile.update(</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548058632', 'post139735548058632')\">\n                                    <pre>                                    facebook_user=fetched_data[&#x27;facebook_user&#x27;],</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548058632', 'post139735548058632')\">\n                                    <pre>                                    phone=fetched_data[&#x27;phone&#x27;],</pre>\n                                </li>\n                            </ol>\n                            <ol start=\"124\" class=\"context-line\">\n                                <li onclick=\"toggle('pre139735548058632', 'post139735548058632')\">\n                                    <pre>                                    profile=fetched_data[&#x27;profile&#x27;])</pre>\n                                    <span>…</span>\n                                </li>\n                            </ol>\n                            <ol start='125' class=\"post-context\" id=\"post139735548058632\">\n                                <li onclick=\"toggle('pre139735548058632', 'post139735548058632')\">\n                                    <pre>                                    </pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548058632', 'post139735548058632')\">\n                                    <pre>                     get_profile = Profile.objects.get(user=user.id)</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548058632', 'post139735548058632')\">\n                                    <pre>                     serializer = EditProfileSerilizer(get_profile, many=False)</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548058632', 'post139735548058632')\">\n                                    <pre>                     response = {&#x27;message&#x27;: &#x27;User profile  Updated&#x27;, &#x27;result&#x27;: serializer.data}</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548058632', 'post139735548058632')\">\n                                    <pre>                     return Response(response, status=status.HTTP_200_OK)</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548058632', 'post139735548058632')\">\n                                    <pre></pre>\n                                </li>\n                            </ol>\n                        </div>\n                        <div class=\"commands\">\n                            <a href=\"#\" onclick=\"return varToggle(this, '139735548058632')\">\n                                <span>&#x25b6;</span> Local vars\n                            </a>\n                        </div>\n                        <table class=\"vars\" id=\"v139735548058632\">\n                            <thead>\n                                <tr>\n                                    <th>Variable</th>\n                                    <th>Value</th>\n                                </tr>\n                            </thead>\n                            <tbody>\n                                <tr>\n                                    <td>fetched_data</td>\n                                    <td class=\"code\">\n                                        <pre>{&#x27;facebook_user&#x27;: &#x27;https://web.facebook.com/james401&#x27;,\n &#x27;phone&#x27;: &#x27;0909214214123&#x27;,\n &#x27;profile&#x27;: &#x27;https://unsplash.com/photos/5E5N49RWtbA&#x27;}</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>profile</td>\n                                    <td class=\"code\">\n                                        <pre>&lt;QuerySet [&lt;Profile: jame&gt;]&gt;</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>request</td>\n                                    <td class=\"code\">\n                                        <pre>&lt;rest_framework.request.Request object at 0x7f16b7b1b048&gt;</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>self</td>\n                                    <td class=\"code\">\n                                        <pre>&lt;api.views.ProfileViewSet object at 0x7f16b7b5cf28&gt;</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>user</td>\n                                    <td class=\"code\">\n                                        <pre>&lt;User: james401&gt;</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>version</td>\n                                    <td class=\"code\">\n                                        <pre>&#x27;v1&#x27;</pre>\n                                    </td>\n                                </tr>\n                            </tbody>\n                        </table>\n                    </li>\n                    <li class=\"frame django\">\n                        <code class=\"fname\">/app/.heroku/python/lib/python3.6/site-packages/django/db/models/query.py</code>, line 784, in update\n                        <div class=\"context\" id=\"c139735548125512\">\n                            <ol start=\"777\" class=\"pre-context\" id=\"pre139735548125512\">\n                                <li onclick=\"toggle('pre139735548125512', 'post139735548125512')\">\n                                    <pre>            &quot;Cannot update a query once a slice has been taken.&quot;</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548125512', 'post139735548125512')\">\n                                    <pre>        self._for_write = True</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548125512', 'post139735548125512')\">\n                                    <pre>        query = self.query.chain(sql.UpdateQuery)</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548125512', 'post139735548125512')\">\n                                    <pre>        query.add_update_values(kwargs)</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548125512', 'post139735548125512')\">\n                                    <pre>        # Clear any annotations so that they won&#x27;t be present in subqueries.</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548125512', 'post139735548125512')\">\n                                    <pre>        query.annotations = {}</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548125512', 'post139735548125512')\">\n                                    <pre>        with transaction.mark_for_rollback_on_error(using=self.db):</pre>\n                                </li>\n                            </ol>\n                            <ol start=\"784\" class=\"context-line\">\n                                <li onclick=\"toggle('pre139735548125512', 'post139735548125512')\">\n                                    <pre>            rows = query.get_compiler(self.db).execute_sql(CURSOR)</pre>\n                                    <span>…</span>\n                                </li>\n                            </ol>\n                            <ol start='785' class=\"post-context\" id=\"post139735548125512\">\n                                <li onclick=\"toggle('pre139735548125512', 'post139735548125512')\">\n                                    <pre>        self._result_cache = None</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548125512', 'post139735548125512')\">\n                                    <pre>        return rows</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548125512', 'post139735548125512')\">\n                                    <pre>    update.alters_data = True</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548125512', 'post139735548125512')\">\n                                    <pre></pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548125512', 'post139735548125512')\">\n                                    <pre>    def _update(self, values):</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548125512', 'post139735548125512')\">\n                                    <pre>        &quot;&quot;&quot;</pre>\n                                </li>\n                            </ol>\n                        </div>\n                        <div class=\"commands\">\n                            <a href=\"#\" onclick=\"return varToggle(this, '139735548125512')\">\n                                <span>&#x25b6;</span> Local vars\n                            </a>\n                        </div>\n                        <table class=\"vars\" id=\"v139735548125512\">\n                            <thead>\n                                <tr>\n                                    <th>Variable</th>\n                                    <th>Value</th>\n                                </tr>\n                            </thead>\n                            <tbody>\n                                <tr>\n                                    <td>kwargs</td>\n                                    <td class=\"code\">\n                                        <pre>{&#x27;facebook_user&#x27;: &#x27;https://web.facebook.com/james401&#x27;,\n &#x27;phone&#x27;: &#x27;0909214214123&#x27;,\n &#x27;profile&#x27;: &#x27;https://unsplash.com/photos/5E5N49RWtbA&#x27;}</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>query</td>\n                                    <td class=\"code\">\n                                        <pre>&lt;django.db.models.sql.subqueries.UpdateQuery object at 0x7f16b7b5c8d0&gt;</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>self</td>\n                                    <td class=\"code\">\n                                        <pre>&lt;QuerySet [&lt;Profile: jame&gt;]&gt;</pre>\n                                    </td>\n                                </tr>\n                            </tbody>\n                        </table>\n                    </li>\n                    <li class=\"frame django\">\n                        <code class=\"fname\">/app/.heroku/python/lib/python3.6/site-packages/django/db/models/sql/compiler.py</code>, line 1515, in execute_sql\n                        <div class=\"context\" id=\"c139735548125384\">\n                            <ol start=\"1508\" class=\"pre-context\" id=\"pre139735548125384\">\n                                <li onclick=\"toggle('pre139735548125384', 'post139735548125384')\">\n                                    <pre>    def execute_sql(self, result_type):</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548125384', 'post139735548125384')\">\n                                    <pre>        &quot;&quot;&quot;</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548125384', 'post139735548125384')\">\n                                    <pre>        Execute the specified update. Return the number of rows affected by</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548125384', 'post139735548125384')\">\n                                    <pre>        the primary update query. The &quot;primary update query&quot; is the first</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548125384', 'post139735548125384')\">\n                                    <pre>        non-empty query that is executed. Row counts for any subsequent,</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548125384', 'post139735548125384')\">\n                                    <pre>        related queries are not available.</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548125384', 'post139735548125384')\">\n                                    <pre>        &quot;&quot;&quot;</pre>\n                                </li>\n                            </ol>\n                            <ol start=\"1515\" class=\"context-line\">\n                                <li onclick=\"toggle('pre139735548125384', 'post139735548125384')\">\n                                    <pre>        cursor = super().execute_sql(result_type)</pre>\n                                    <span>…</span>\n                                </li>\n                            </ol>\n                            <ol start='1516' class=\"post-context\" id=\"post139735548125384\">\n                                <li onclick=\"toggle('pre139735548125384', 'post139735548125384')\">\n                                    <pre>        try:</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548125384', 'post139735548125384')\">\n                                    <pre>            rows = cursor.rowcount if cursor else 0</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548125384', 'post139735548125384')\">\n                                    <pre>            is_empty = cursor is None</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548125384', 'post139735548125384')\">\n                                    <pre>        finally:</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548125384', 'post139735548125384')\">\n                                    <pre>            if cursor:</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548125384', 'post139735548125384')\">\n                                    <pre>                cursor.close()</pre>\n                                </li>\n                            </ol>\n                        </div>\n                        <div class=\"commands\">\n                            <a href=\"#\" onclick=\"return varToggle(this, '139735548125384')\">\n                                <span>&#x25b6;</span> Local vars\n                            </a>\n                        </div>\n                        <table class=\"vars\" id=\"v139735548125384\">\n                            <thead>\n                                <tr>\n                                    <th>Variable</th>\n                                    <th>Value</th>\n                                </tr>\n                            </thead>\n                            <tbody>\n                                <tr>\n                                    <td>__class__</td>\n                                    <td class=\"code\">\n                                        <pre>&lt;class &#x27;django.db.models.sql.compiler.SQLUpdateCompiler&#x27;&gt;</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>result_type</td>\n                                    <td class=\"code\">\n                                        <pre>&#x27;cursor&#x27;</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>self</td>\n                                    <td class=\"code\">\n                                        <pre>&lt;django.db.models.sql.compiler.SQLUpdateCompiler object at 0x7f16b7b5cc50&gt;</pre>\n                                    </td>\n                                </tr>\n                            </tbody>\n                        </table>\n                    </li>\n                    <li class=\"frame django\">\n                        <code class=\"fname\">/app/.heroku/python/lib/python3.6/site-packages/django/db/models/sql/compiler.py</code>, line 1154, in execute_sql\n                        <div class=\"context\" id=\"c139735548125256\">\n                            <ol start=\"1147\" class=\"pre-context\" id=\"pre139735548125256\">\n                                <li onclick=\"toggle('pre139735548125256', 'post139735548125256')\">\n                                    <pre>            else:</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548125256', 'post139735548125256')\">\n                                    <pre>                return</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548125256', 'post139735548125256')\">\n                                    <pre>        if chunked_fetch:</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548125256', 'post139735548125256')\">\n                                    <pre>            cursor = self.connection.chunked_cursor()</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548125256', 'post139735548125256')\">\n                                    <pre>        else:</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548125256', 'post139735548125256')\">\n                                    <pre>            cursor = self.connection.cursor()</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548125256', 'post139735548125256')\">\n                                    <pre>        try:</pre>\n                                </li>\n                            </ol>\n                            <ol start=\"1154\" class=\"context-line\">\n                                <li onclick=\"toggle('pre139735548125256', 'post139735548125256')\">\n                                    <pre>            cursor.execute(sql, params)</pre>\n                                    <span>…</span>\n                                </li>\n                            </ol>\n                            <ol start='1155' class=\"post-context\" id=\"post139735548125256\">\n                                <li onclick=\"toggle('pre139735548125256', 'post139735548125256')\">\n                                    <pre>        except Exception:</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548125256', 'post139735548125256')\">\n                                    <pre>            # Might fail for server-side cursors (e.g. connection closed)</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548125256', 'post139735548125256')\">\n                                    <pre>            cursor.close()</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548125256', 'post139735548125256')\">\n                                    <pre>            raise</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548125256', 'post139735548125256')\">\n                                    <pre></pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548125256', 'post139735548125256')\">\n                                    <pre>        if result_type == CURSOR:</pre>\n                                </li>\n                            </ol>\n                        </div>\n                        <div class=\"commands\">\n                            <a href=\"#\" onclick=\"return varToggle(this, '139735548125256')\">\n                                <span>&#x25b6;</span> Local vars\n                            </a>\n                        </div>\n                        <table class=\"vars\" id=\"v139735548125256\">\n                            <thead>\n                                <tr>\n                                    <th>Variable</th>\n                                    <th>Value</th>\n                                </tr>\n                            </thead>\n                            <tbody>\n                                <tr>\n                                    <td>chunk_size</td>\n                                    <td class=\"code\">\n                                        <pre>100</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>chunked_fetch</td>\n                                    <td class=\"code\">\n                                        <pre>False</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>cursor</td>\n                                    <td class=\"code\">\n                                        <pre>&lt;django.db.backends.postgresql.base.CursorDebugWrapper object at 0x7f16b7b5c898&gt;</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>params</td>\n                                    <td class=\"code\">\n                                        <pre>(&#x27;https://web.facebook.com/james401&#x27;,\n &#x27;0909214214123&#x27;,\n &#x27;https://unsplash.com/photos/5E5N49RWtbA&#x27;,\n 16)</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>result_type</td>\n                                    <td class=\"code\">\n                                        <pre>&#x27;cursor&#x27;</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>self</td>\n                                    <td class=\"code\">\n                                        <pre>&lt;django.db.models.sql.compiler.SQLUpdateCompiler object at 0x7f16b7b5cc50&gt;</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>sql</td>\n                                    <td class=\"code\">\n                                        <pre>(&#x27;UPDATE &quot;api_profile&quot; SET &quot;facebook_user&quot; = %s, &quot;phone&quot; = %s, &quot;profile&quot; = %s &#x27;\n &#x27;WHERE &quot;api_profile&quot;.&quot;user_id&quot; = %s&#x27;)</pre>\n                                    </td>\n                                </tr>\n                            </tbody>\n                        </table>\n                    </li>\n                    <li class=\"frame django\">\n                        <code class=\"fname\">/app/.heroku/python/lib/python3.6/site-packages/django/db/backends/utils.py</code>, line 98, in execute\n                        <div class=\"context\" id=\"c139735548125640\">\n                            <ol start=\"91\" class=\"pre-context\" id=\"pre139735548125640\">\n                                <li onclick=\"toggle('pre139735548125640', 'post139735548125640')\">\n                                    <pre></pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548125640', 'post139735548125640')\">\n                                    <pre>class CursorDebugWrapper(CursorWrapper):</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548125640', 'post139735548125640')\">\n                                    <pre></pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548125640', 'post139735548125640')\">\n                                    <pre>    # XXX callproc isn&#x27;t instrumented at this time.</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548125640', 'post139735548125640')\">\n                                    <pre></pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548125640', 'post139735548125640')\">\n                                    <pre>    def execute(self, sql, params=None):</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548125640', 'post139735548125640')\">\n                                    <pre>        with self.debug_sql(sql, params, use_last_executed_query=True):</pre>\n                                </li>\n                            </ol>\n                            <ol start=\"98\" class=\"context-line\">\n                                <li onclick=\"toggle('pre139735548125640', 'post139735548125640')\">\n                                    <pre>            return super().execute(sql, params)</pre>\n                                    <span>…</span>\n                                </li>\n                            </ol>\n                            <ol start='99' class=\"post-context\" id=\"post139735548125640\">\n                                <li onclick=\"toggle('pre139735548125640', 'post139735548125640')\">\n                                    <pre></pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548125640', 'post139735548125640')\">\n                                    <pre>    def executemany(self, sql, param_list):</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548125640', 'post139735548125640')\">\n                                    <pre>        with self.debug_sql(sql, param_list, many=True):</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548125640', 'post139735548125640')\">\n                                    <pre>            return super().executemany(sql, param_list)</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548125640', 'post139735548125640')\">\n                                    <pre></pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548125640', 'post139735548125640')\">\n                                    <pre>    @contextmanager</pre>\n                                </li>\n                            </ol>\n                        </div>\n                        <div class=\"commands\">\n                            <a href=\"#\" onclick=\"return varToggle(this, '139735548125640')\">\n                                <span>&#x25b6;</span> Local vars\n                            </a>\n                        </div>\n                        <table class=\"vars\" id=\"v139735548125640\">\n                            <thead>\n                                <tr>\n                                    <th>Variable</th>\n                                    <th>Value</th>\n                                </tr>\n                            </thead>\n                            <tbody>\n                                <tr>\n                                    <td>__class__</td>\n                                    <td class=\"code\">\n                                        <pre>&lt;class &#x27;django.db.backends.utils.CursorDebugWrapper&#x27;&gt;</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>params</td>\n                                    <td class=\"code\">\n                                        <pre>(&#x27;https://web.facebook.com/james401&#x27;,\n &#x27;0909214214123&#x27;,\n &#x27;https://unsplash.com/photos/5E5N49RWtbA&#x27;,\n 16)</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>self</td>\n                                    <td class=\"code\">\n                                        <pre>&lt;django.db.backends.postgresql.base.CursorDebugWrapper object at 0x7f16b7b5c898&gt;</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>sql</td>\n                                    <td class=\"code\">\n                                        <pre>(&#x27;UPDATE &quot;api_profile&quot; SET &quot;facebook_user&quot; = %s, &quot;phone&quot; = %s, &quot;profile&quot; = %s &#x27;\n &#x27;WHERE &quot;api_profile&quot;.&quot;user_id&quot; = %s&#x27;)</pre>\n                                    </td>\n                                </tr>\n                            </tbody>\n                        </table>\n                    </li>\n                    <li class=\"frame django\">\n                        <code class=\"fname\">/app/.heroku/python/lib/python3.6/site-packages/django/db/backends/utils.py</code>, line 66, in execute\n                        <div class=\"context\" id=\"c139735548128776\">\n                            <ol start=\"59\" class=\"pre-context\" id=\"pre139735548128776\">\n                                <li onclick=\"toggle('pre139735548128776', 'post139735548128776')\">\n                                    <pre>            elif kparams is None:</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548128776', 'post139735548128776')\">\n                                    <pre>                return self.cursor.callproc(procname, params)</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548128776', 'post139735548128776')\">\n                                    <pre>            else:</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548128776', 'post139735548128776')\">\n                                    <pre>                params = params or ()</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548128776', 'post139735548128776')\">\n                                    <pre>                return self.cursor.callproc(procname, params, kparams)</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548128776', 'post139735548128776')\">\n                                    <pre></pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548128776', 'post139735548128776')\">\n                                    <pre>    def execute(self, sql, params=None):</pre>\n                                </li>\n                            </ol>\n                            <ol start=\"66\" class=\"context-line\">\n                                <li onclick=\"toggle('pre139735548128776', 'post139735548128776')\">\n                                    <pre>        return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)</pre>\n                                    <span>…</span>\n                                </li>\n                            </ol>\n                            <ol start='67' class=\"post-context\" id=\"post139735548128776\">\n                                <li onclick=\"toggle('pre139735548128776', 'post139735548128776')\">\n                                    <pre></pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548128776', 'post139735548128776')\">\n                                    <pre>    def executemany(self, sql, param_list):</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548128776', 'post139735548128776')\">\n                                    <pre>        return self._execute_with_wrappers(sql, param_list, many=True, executor=self._executemany)</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548128776', 'post139735548128776')\">\n                                    <pre></pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548128776', 'post139735548128776')\">\n                                    <pre>    def _execute_with_wrappers(self, sql, params, many, executor):</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548128776', 'post139735548128776')\">\n                                    <pre>        context = {&#x27;connection&#x27;: self.db, &#x27;cursor&#x27;: self}</pre>\n                                </li>\n                            </ol>\n                        </div>\n                        <div class=\"commands\">\n                            <a href=\"#\" onclick=\"return varToggle(this, '139735548128776')\">\n                                <span>&#x25b6;</span> Local vars\n                            </a>\n                        </div>\n                        <table class=\"vars\" id=\"v139735548128776\">\n                            <thead>\n                                <tr>\n                                    <th>Variable</th>\n                                    <th>Value</th>\n                                </tr>\n                            </thead>\n                            <tbody>\n                                <tr>\n                                    <td>params</td>\n                                    <td class=\"code\">\n                                        <pre>(&#x27;https://web.facebook.com/james401&#x27;,\n &#x27;0909214214123&#x27;,\n &#x27;https://unsplash.com/photos/5E5N49RWtbA&#x27;,\n 16)</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>self</td>\n                                    <td class=\"code\">\n                                        <pre>&lt;django.db.backends.postgresql.base.CursorDebugWrapper object at 0x7f16b7b5c898&gt;</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>sql</td>\n                                    <td class=\"code\">\n                                        <pre>(&#x27;UPDATE &quot;api_profile&quot; SET &quot;facebook_user&quot; = %s, &quot;phone&quot; = %s, &quot;profile&quot; = %s &#x27;\n &#x27;WHERE &quot;api_profile&quot;.&quot;user_id&quot; = %s&#x27;)</pre>\n                                    </td>\n                                </tr>\n                            </tbody>\n                        </table>\n                    </li>\n                    <li class=\"frame django\">\n                        <code class=\"fname\">/app/.heroku/python/lib/python3.6/site-packages/django/db/backends/utils.py</code>, line 75, in _execute_with_wrappers\n                        <div class=\"context\" id=\"c139735548126280\">\n                            <ol start=\"68\" class=\"pre-context\" id=\"pre139735548126280\">\n                                <li onclick=\"toggle('pre139735548126280', 'post139735548126280')\">\n                                    <pre>    def executemany(self, sql, param_list):</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548126280', 'post139735548126280')\">\n                                    <pre>        return self._execute_with_wrappers(sql, param_list, many=True, executor=self._executemany)</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548126280', 'post139735548126280')\">\n                                    <pre></pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548126280', 'post139735548126280')\">\n                                    <pre>    def _execute_with_wrappers(self, sql, params, many, executor):</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548126280', 'post139735548126280')\">\n                                    <pre>        context = {&#x27;connection&#x27;: self.db, &#x27;cursor&#x27;: self}</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548126280', 'post139735548126280')\">\n                                    <pre>        for wrapper in reversed(self.db.execute_wrappers):</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548126280', 'post139735548126280')\">\n                                    <pre>            executor = functools.partial(wrapper, executor)</pre>\n                                </li>\n                            </ol>\n                            <ol start=\"75\" class=\"context-line\">\n                                <li onclick=\"toggle('pre139735548126280', 'post139735548126280')\">\n                                    <pre>        return executor(sql, params, many, context)</pre>\n                                    <span>…</span>\n                                </li>\n                            </ol>\n                            <ol start='76' class=\"post-context\" id=\"post139735548126280\">\n                                <li onclick=\"toggle('pre139735548126280', 'post139735548126280')\">\n                                    <pre></pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548126280', 'post139735548126280')\">\n                                    <pre>    def _execute(self, sql, params, *ignored_wrapper_args):</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548126280', 'post139735548126280')\">\n                                    <pre>        self.db.validate_no_broken_transaction()</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548126280', 'post139735548126280')\">\n                                    <pre>        with self.db.wrap_database_errors:</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548126280', 'post139735548126280')\">\n                                    <pre>            if params is None:</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548126280', 'post139735548126280')\">\n                                    <pre>                # params default might be backend specific.</pre>\n                                </li>\n                            </ol>\n                        </div>\n                        <div class=\"commands\">\n                            <a href=\"#\" onclick=\"return varToggle(this, '139735548126280')\">\n                                <span>&#x25b6;</span> Local vars\n                            </a>\n                        </div>\n                        <table class=\"vars\" id=\"v139735548126280\">\n                            <thead>\n                                <tr>\n                                    <th>Variable</th>\n                                    <th>Value</th>\n                                </tr>\n                            </thead>\n                            <tbody>\n                                <tr>\n                                    <td>context</td>\n                                    <td class=\"code\">\n                                        <pre>{&#x27;connection&#x27;: &lt;django.db.backends.postgresql.base.DatabaseWrapper object at 0x7f16bcc80860&gt;,\n &#x27;cursor&#x27;: &lt;django.db.backends.postgresql.base.CursorDebugWrapper object at 0x7f16b7b5c898&gt;}</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>executor</td>\n                                    <td class=\"code\">\n                                        <pre>&lt;bound method CursorWrapper._execute of &lt;django.db.backends.postgresql.base.CursorDebugWrapper object at 0x7f16b7b5c898&gt;&gt;</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>many</td>\n                                    <td class=\"code\">\n                                        <pre>False</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>params</td>\n                                    <td class=\"code\">\n                                        <pre>(&#x27;https://web.facebook.com/james401&#x27;,\n &#x27;0909214214123&#x27;,\n &#x27;https://unsplash.com/photos/5E5N49RWtbA&#x27;,\n 16)</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>self</td>\n                                    <td class=\"code\">\n                                        <pre>&lt;django.db.backends.postgresql.base.CursorDebugWrapper object at 0x7f16b7b5c898&gt;</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>sql</td>\n                                    <td class=\"code\">\n                                        <pre>(&#x27;UPDATE &quot;api_profile&quot; SET &quot;facebook_user&quot; = %s, &quot;phone&quot; = %s, &quot;profile&quot; = %s &#x27;\n &#x27;WHERE &quot;api_profile&quot;.&quot;user_id&quot; = %s&#x27;)</pre>\n                                    </td>\n                                </tr>\n                            </tbody>\n                        </table>\n                    </li>\n                    <li class=\"frame django\">\n                        <code class=\"fname\">/app/.heroku/python/lib/python3.6/site-packages/django/db/backends/utils.py</code>, line 84, in _execute\n                        <div class=\"context\" id=\"c139735548126792\">\n                            <ol start=\"77\" class=\"pre-context\" id=\"pre139735548126792\">\n                                <li onclick=\"toggle('pre139735548126792', 'post139735548126792')\">\n                                    <pre>    def _execute(self, sql, params, *ignored_wrapper_args):</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548126792', 'post139735548126792')\">\n                                    <pre>        self.db.validate_no_broken_transaction()</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548126792', 'post139735548126792')\">\n                                    <pre>        with self.db.wrap_database_errors:</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548126792', 'post139735548126792')\">\n                                    <pre>            if params is None:</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548126792', 'post139735548126792')\">\n                                    <pre>                # params default might be backend specific.</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548126792', 'post139735548126792')\">\n                                    <pre>                return self.cursor.execute(sql)</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548126792', 'post139735548126792')\">\n                                    <pre>            else:</pre>\n                                </li>\n                            </ol>\n                            <ol start=\"84\" class=\"context-line\">\n                                <li onclick=\"toggle('pre139735548126792', 'post139735548126792')\">\n                                    <pre>                return self.cursor.execute(sql, params)</pre>\n                                    <span>…</span>\n                                </li>\n                            </ol>\n                            <ol start='85' class=\"post-context\" id=\"post139735548126792\">\n                                <li onclick=\"toggle('pre139735548126792', 'post139735548126792')\">\n                                    <pre></pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548126792', 'post139735548126792')\">\n                                    <pre>    def _executemany(self, sql, param_list, *ignored_wrapper_args):</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548126792', 'post139735548126792')\">\n                                    <pre>        self.db.validate_no_broken_transaction()</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548126792', 'post139735548126792')\">\n                                    <pre>        with self.db.wrap_database_errors:</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548126792', 'post139735548126792')\">\n                                    <pre>            return self.cursor.executemany(sql, param_list)</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548126792', 'post139735548126792')\">\n                                    <pre></pre>\n                                </li>\n                            </ol>\n                        </div>\n                        <div class=\"commands\">\n                            <a href=\"#\" onclick=\"return varToggle(this, '139735548126792')\">\n                                <span>&#x25b6;</span> Local vars\n                            </a>\n                        </div>\n                        <table class=\"vars\" id=\"v139735548126792\">\n                            <thead>\n                                <tr>\n                                    <th>Variable</th>\n                                    <th>Value</th>\n                                </tr>\n                            </thead>\n                            <tbody>\n                                <tr>\n                                    <td>ignored_wrapper_args</td>\n                                    <td class=\"code\">\n                                        <pre>(False,\n {&#x27;connection&#x27;: &lt;django.db.backends.postgresql.base.DatabaseWrapper object at 0x7f16bcc80860&gt;,\n  &#x27;cursor&#x27;: &lt;django.db.backends.postgresql.base.CursorDebugWrapper object at 0x7f16b7b5c898&gt;})</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>params</td>\n                                    <td class=\"code\">\n                                        <pre>(&#x27;https://web.facebook.com/james401&#x27;,\n &#x27;0909214214123&#x27;,\n &#x27;https://unsplash.com/photos/5E5N49RWtbA&#x27;,\n 16)</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>self</td>\n                                    <td class=\"code\">\n                                        <pre>&lt;django.db.backends.postgresql.base.CursorDebugWrapper object at 0x7f16b7b5c898&gt;</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>sql</td>\n                                    <td class=\"code\">\n                                        <pre>(&#x27;UPDATE &quot;api_profile&quot; SET &quot;facebook_user&quot; = %s, &quot;phone&quot; = %s, &quot;profile&quot; = %s &#x27;\n &#x27;WHERE &quot;api_profile&quot;.&quot;user_id&quot; = %s&#x27;)</pre>\n                                    </td>\n                                </tr>\n                            </tbody>\n                        </table>\n                    </li>\n                    <li class=\"frame django\">\n                        <code class=\"fname\">/app/.heroku/python/lib/python3.6/site-packages/django/db/utils.py</code>, line 90, in __exit__\n                        <div class=\"context\" id=\"c139735548164488\">\n                            <ol start=\"83\" class=\"pre-context\" id=\"pre139735548164488\">\n                                <li onclick=\"toggle('pre139735548164488', 'post139735548164488')\">\n                                    <pre>            db_exc_type = getattr(self.wrapper.Database, dj_exc_type.__name__)</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548164488', 'post139735548164488')\">\n                                    <pre>            if issubclass(exc_type, db_exc_type):</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548164488', 'post139735548164488')\">\n                                    <pre>                dj_exc_value = dj_exc_type(*exc_value.args)</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548164488', 'post139735548164488')\">\n                                    <pre>                # Only set the &#x27;errors_occurred&#x27; flag for errors that may make</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548164488', 'post139735548164488')\">\n                                    <pre>                # the connection unusable.</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548164488', 'post139735548164488')\">\n                                    <pre>                if dj_exc_type not in (DataError, IntegrityError):</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548164488', 'post139735548164488')\">\n                                    <pre>                    self.wrapper.errors_occurred = True</pre>\n                                </li>\n                            </ol>\n                            <ol start=\"90\" class=\"context-line\">\n                                <li onclick=\"toggle('pre139735548164488', 'post139735548164488')\">\n                                    <pre>                raise dj_exc_value.with_traceback(traceback) from exc_value</pre>\n                                    <span>…</span>\n                                </li>\n                            </ol>\n                            <ol start='91' class=\"post-context\" id=\"post139735548164488\">\n                                <li onclick=\"toggle('pre139735548164488', 'post139735548164488')\">\n                                    <pre></pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548164488', 'post139735548164488')\">\n                                    <pre>    def __call__(self, func):</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548164488', 'post139735548164488')\">\n                                    <pre>        # Note that we are intentionally not using @wraps here for performance</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548164488', 'post139735548164488')\">\n                                    <pre>        # reasons. Refs #21109.</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548164488', 'post139735548164488')\">\n                                    <pre>        def inner(*args, **kwargs):</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548164488', 'post139735548164488')\">\n                                    <pre>            with self:</pre>\n                                </li>\n                            </ol>\n                        </div>\n                        <div class=\"commands\">\n                            <a href=\"#\" onclick=\"return varToggle(this, '139735548164488')\">\n                                <span>&#x25b6;</span> Local vars\n                            </a>\n                        </div>\n                        <table class=\"vars\" id=\"v139735548164488\">\n                            <thead>\n                                <tr>\n                                    <th>Variable</th>\n                                    <th>Value</th>\n                                </tr>\n                            </thead>\n                            <tbody>\n                                <tr>\n                                    <td>db_exc_type</td>\n                                    <td class=\"code\">\n                                        <pre>&lt;class &#x27;psycopg2.IntegrityError&#x27;&gt;</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>dj_exc_type</td>\n                                    <td class=\"code\">\n                                        <pre>&lt;class &#x27;django.db.utils.IntegrityError&#x27;&gt;</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>dj_exc_value</td>\n                                    <td class=\"code\">\n                                        <pre>IntegrityError(&#x27;duplicate key value violates unique constraint &quot;api_profile_phone_key&quot;\\nDETAIL:  Key (phone)=(0909214214123) already exists.\\n&#x27;,)</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>exc_type</td>\n                                    <td class=\"code\">\n                                        <pre>&lt;class &#x27;psycopg2.errors.UniqueViolation&#x27;&gt;</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>exc_value</td>\n                                    <td class=\"code\">\n                                        <pre>UniqueViolation(&#x27;duplicate key value violates unique constraint &quot;api_profile_phone_key&quot;\\nDETAIL:  Key (phone)=(0909214214123) already exists.\\n&#x27;,)</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>self</td>\n                                    <td class=\"code\">\n                                        <pre>&lt;django.db.utils.DatabaseErrorWrapper object at 0x7f16bf3156d8&gt;</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>traceback</td>\n                                    <td class=\"code\">\n                                        <pre>&lt;traceback object at 0x7f16b7b5fa08&gt;</pre>\n                                    </td>\n                                </tr>\n                            </tbody>\n                        </table>\n                    </li>\n                    <li class=\"frame django\">\n                        <code class=\"fname\">/app/.heroku/python/lib/python3.6/site-packages/django/db/backends/utils.py</code>, line 84, in _execute\n                        <div class=\"context\" id=\"c139735548164616\">\n                            <ol start=\"77\" class=\"pre-context\" id=\"pre139735548164616\">\n                                <li onclick=\"toggle('pre139735548164616', 'post139735548164616')\">\n                                    <pre>    def _execute(self, sql, params, *ignored_wrapper_args):</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548164616', 'post139735548164616')\">\n                                    <pre>        self.db.validate_no_broken_transaction()</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548164616', 'post139735548164616')\">\n                                    <pre>        with self.db.wrap_database_errors:</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548164616', 'post139735548164616')\">\n                                    <pre>            if params is None:</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548164616', 'post139735548164616')\">\n                                    <pre>                # params default might be backend specific.</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548164616', 'post139735548164616')\">\n                                    <pre>                return self.cursor.execute(sql)</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548164616', 'post139735548164616')\">\n                                    <pre>            else:</pre>\n                                </li>\n                            </ol>\n                            <ol start=\"84\" class=\"context-line\">\n                                <li onclick=\"toggle('pre139735548164616', 'post139735548164616')\">\n                                    <pre>                return self.cursor.execute(sql, params)</pre>\n                                    <span>…</span>\n                                </li>\n                            </ol>\n                            <ol start='85' class=\"post-context\" id=\"post139735548164616\">\n                                <li onclick=\"toggle('pre139735548164616', 'post139735548164616')\">\n                                    <pre></pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548164616', 'post139735548164616')\">\n                                    <pre>    def _executemany(self, sql, param_list, *ignored_wrapper_args):</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548164616', 'post139735548164616')\">\n                                    <pre>        self.db.validate_no_broken_transaction()</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548164616', 'post139735548164616')\">\n                                    <pre>        with self.db.wrap_database_errors:</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548164616', 'post139735548164616')\">\n                                    <pre>            return self.cursor.executemany(sql, param_list)</pre>\n                                </li>\n                                <li onclick=\"toggle('pre139735548164616', 'post139735548164616')\">\n                                    <pre></pre>\n                                </li>\n                            </ol>\n                        </div>\n                        <div class=\"commands\">\n                            <a href=\"#\" onclick=\"return varToggle(this, '139735548164616')\">\n                                <span>&#x25b6;</span> Local vars\n                            </a>\n                        </div>\n                        <table class=\"vars\" id=\"v139735548164616\">\n                            <thead>\n                                <tr>\n                                    <th>Variable</th>\n                                    <th>Value</th>\n                                </tr>\n                            </thead>\n                            <tbody>\n                                <tr>\n                                    <td>ignored_wrapper_args</td>\n                                    <td class=\"code\">\n                                        <pre>(False,\n {&#x27;connection&#x27;: &lt;django.db.backends.postgresql.base.DatabaseWrapper object at 0x7f16bcc80860&gt;,\n  &#x27;cursor&#x27;: &lt;django.db.backends.postgresql.base.CursorDebugWrapper object at 0x7f16b7b5c898&gt;})</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>params</td>\n                                    <td class=\"code\">\n                                        <pre>(&#x27;https://web.facebook.com/james401&#x27;,\n &#x27;0909214214123&#x27;,\n &#x27;https://unsplash.com/photos/5E5N49RWtbA&#x27;,\n 16)</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>self</td>\n                                    <td class=\"code\">\n                                        <pre>&lt;django.db.backends.postgresql.base.CursorDebugWrapper object at 0x7f16b7b5c898&gt;</pre>\n                                    </td>\n                                </tr>\n                                <tr>\n                                    <td>sql</td>\n                                    <td class=\"code\">\n                                        <pre>(&#x27;UPDATE &quot;api_profile&quot; SET &quot;facebook_user&quot; = %s, &quot;phone&quot; = %s, &quot;profile&quot; = %s &#x27;\n &#x27;WHERE &quot;api_profile&quot;.&quot;user_id&quot; = %s&#x27;)</pre>\n                                    </td>\n                                </tr>\n                            </tbody>\n                        </table>\n                    </li>\n                </ul>\n            </div>\n            <form action=\"http://dpaste.com/\" name=\"pasteform\" id=\"pasteform\" method=\"post\">\n                <div id=\"pastebinTraceback\" class=\"pastebin\">\n                    <input type=\"hidden\" name=\"language\" value=\"PythonConsole\">\n                    <input type=\"hidden\" name=\"title\"\n      value=\"IntegrityError at /api/v1/profile/update_profile/\">\n                    <input type=\"hidden\" name=\"source\" value=\"Django Dpaste Agent\">\n                    <input type=\"hidden\" name=\"poster\" value=\"Django\">\n                    <textarea name=\"content\" id=\"traceback_area\" cols=\"140\" rows=\"25\">\nEnvironment:\n\n\nRequest Method: PUT\nRequest URL: https://dnappserver.herokuapp.com/api/v1/profile/update_profile/\n\nDjango Version: 3.1\nPython Version: 3.6.12\nInstalled Applications:\n[&#x27;django.contrib.contenttypes&#x27;,\n &#x27;django.contrib.admin&#x27;,\n &#x27;django.contrib.auth&#x27;,\n &#x27;django.contrib.sessions&#x27;,\n &#x27;django.contrib.messages&#x27;,\n &#x27;django.contrib.sites&#x27;,\n &#x27;django.contrib.staticfiles&#x27;,\n &#x27;rest_framework&#x27;,\n &#x27;rest_framework.authtoken&#x27;,\n &#x27;rest_auth&#x27;,\n &#x27;allauth&#x27;,\n &#x27;allauth.account&#x27;,\n &#x27;rest_auth.registration&#x27;,\n &#x27;allauth.socialaccount&#x27;,\n &#x27;allauth.socialaccount.providers.facebook&#x27;,\n &#x27;allauth.socialaccount.providers.google&#x27;,\n &#x27;corsheaders&#x27;,\n &#x27;api&#x27;]\nInstalled Middleware:\n(&#x27;whitenoise.middleware.WhiteNoiseMiddleware&#x27;,\n &#x27;django.middleware.security.SecurityMiddleware&#x27;,\n &#x27;django.contrib.sessions.middleware.SessionMiddleware&#x27;,\n &#x27;corsheaders.middleware.CorsMiddleware&#x27;,\n &#x27;django.middleware.common.CommonMiddleware&#x27;,\n &#x27;django.middleware.csrf.CsrfViewMiddleware&#x27;,\n &#x27;django.contrib.auth.middleware.AuthenticationMiddleware&#x27;,\n &#x27;django.contrib.messages.middleware.MessageMiddleware&#x27;,\n &#x27;django.middleware.clickjacking.XFrameOptionsMiddleware&#x27;)\n\n\n\nTraceback (most recent call last):\n  File \"/app/.heroku/python/lib/python3.6/site-packages/django/db/backends/utils.py\", line 84, in _execute\n    return self.cursor.execute(sql, params)\n\nThe above exception (duplicate key value violates unique constraint &quot;api_profile_phone_key&quot;\nDETAIL:  Key (phone)=(0909214214123) already exists.\n) was the direct cause of the following exception:\n  File \"/app/.heroku/python/lib/python3.6/site-packages/django/core/handlers/exception.py\", line 47, in inner\n    response = get_response(request)\n  File \"/app/.heroku/python/lib/python3.6/site-packages/django/core/handlers/base.py\", line 179, in _get_response\n    response = wrapped_callback(request, *callback_args, **callback_kwargs)\n  File \"/app/.heroku/python/lib/python3.6/site-packages/django/views/decorators/csrf.py\", line 54, in wrapped_view\n    return view_func(*args, **kwargs)\n  File \"/app/.heroku/python/lib/python3.6/site-packages/rest_framework/viewsets.py\", line 114, in view\n    return self.dispatch(request, *args, **kwargs)\n  File \"/app/.heroku/python/lib/python3.6/site-packages/rest_framework/views.py\", line 505, in dispatch\n    response = self.handle_exception(exc)\n  File \"/app/.heroku/python/lib/python3.6/site-packages/rest_framework/views.py\", line 465, in handle_exception\n    self.raise_uncaught_exception(exc)\n  File \"/app/.heroku/python/lib/python3.6/site-packages/rest_framework/views.py\", line 476, in raise_uncaught_exception\n    raise exc\n  File \"/app/.heroku/python/lib/python3.6/site-packages/rest_framework/views.py\", line 502, in dispatch\n    response = handler(request, *args, **kwargs)\n  File \"/app/api/views.py\", line 124, in update_profile\n    profile=fetched_data[&#x27;profile&#x27;])\n  File \"/app/.heroku/python/lib/python3.6/site-packages/django/db/models/query.py\", line 784, in update\n    rows = query.get_compiler(self.db).execute_sql(CURSOR)\n  File \"/app/.heroku/python/lib/python3.6/site-packages/django/db/models/sql/compiler.py\", line 1515, in execute_sql\n    cursor = super().execute_sql(result_type)\n  File \"/app/.heroku/python/lib/python3.6/site-packages/django/db/models/sql/compiler.py\", line 1154, in execute_sql\n    cursor.execute(sql, params)\n  File \"/app/.heroku/python/lib/python3.6/site-packages/django/db/backends/utils.py\", line 98, in execute\n    return super().execute(sql, params)\n  File \"/app/.heroku/python/lib/python3.6/site-packages/django/db/backends/utils.py\", line 66, in execute\n    return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)\n  File \"/app/.heroku/python/lib/python3.6/site-packages/django/db/backends/utils.py\", line 75, in _execute_with_wrappers\n    return executor(sql, params, many, context)\n  File \"/app/.heroku/python/lib/python3.6/site-packages/django/db/backends/utils.py\", line 84, in _execute\n    return self.cursor.execute(sql, params)\n  File \"/app/.heroku/python/lib/python3.6/site-packages/django/db/utils.py\", line 90, in __exit__\n    raise dj_exc_value.with_traceback(traceback) from exc_value\n  File \"/app/.heroku/python/lib/python3.6/site-packages/django/db/backends/utils.py\", line 84, in _execute\n    return self.cursor.execute(sql, params)\n\nException Type: IntegrityError at /api/v1/profile/update_profile/\nException Value: duplicate key value violates unique constraint &quot;api_profile_phone_key&quot;\nDETAIL:  Key (phone)=(0909214214123) already exists.\n\n</textarea>\n                    <br>\n                    <br>\n                    <input type=\"submit\" value=\"Share this traceback on a public website\">\n  \n                </div>\n            </form>\n        </div>\n        <div id=\"requestinfo\">\n            <h2>Request information</h2>\n            <h3 id=\"user-info\">USER</h3>\n            <p>james401</p>\n            <h3 id=\"get-info\">GET</h3>\n            <p>No GET data</p>\n            <h3 id=\"post-info\">POST</h3>\n            <table class=\"req\">\n                <thead>\n                    <tr>\n                        <th>Variable</th>\n                        <th>Value</th>\n                    </tr>\n                </thead>\n                <tbody>\n                    <tr>\n                        <td>facebook_user</td>\n                        <td class=\"code\">\n                            <pre>&#x27;https://web.facebook.com/james401&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>phone</td>\n                        <td class=\"code\">\n                            <pre>&#x27;0909214214123&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>profile</td>\n                        <td class=\"code\">\n                            <pre>&#x27;https://unsplash.com/photos/5E5N49RWtbA&#x27;</pre>\n                        </td>\n                    </tr>\n                </tbody>\n            </table>\n            <h3 id=\"files-info\">FILES</h3>\n            <p>No FILES data</p>\n            <h3 id=\"cookie-info\">COOKIES</h3>\n            <p>No cookie data</p>\n            <h3 id=\"meta-info\">META</h3>\n            <table class=\"req\">\n                <thead>\n                    <tr>\n                        <th>Variable</th>\n                        <th>Value</th>\n                    </tr>\n                </thead>\n                <tbody>\n                    <tr>\n                        <td>CONTENT_LENGTH</td>\n                        <td class=\"code\">\n                            <pre>&#x27;463&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>CONTENT_TYPE</td>\n                        <td class=\"code\">\n                            <pre>(&#x27;multipart/form-data; &#x27;\n &#x27;boundary=--------------------------244677254633921118951494&#x27;)</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>HTTP_ACCEPT</td>\n                        <td class=\"code\">\n                            <pre>&#x27;*/*&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>HTTP_ACCEPT_ENCODING</td>\n                        <td class=\"code\">\n                            <pre>&#x27;gzip, deflate, br&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>HTTP_AUTHORIZATION</td>\n                        <td class=\"code\">\n                            <pre>&#x27;token 60c6e07565267395a203d7850ea01b67dcfc8bb3&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>HTTP_CONNECTION</td>\n                        <td class=\"code\">\n                            <pre>&#x27;close&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>HTTP_CONNECT_TIME</td>\n                        <td class=\"code\">\n                            <pre>&#x27;1&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>HTTP_HOST</td>\n                        <td class=\"code\">\n                            <pre>&#x27;dnappserver.herokuapp.com&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>HTTP_POSTMAN_TOKEN</td>\n                        <td class=\"code\">\n                            <pre>&#x27;********************&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>HTTP_TOTAL_ROUTE_TIME</td>\n                        <td class=\"code\">\n                            <pre>&#x27;0&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>HTTP_USER_AGENT</td>\n                        <td class=\"code\">\n                            <pre>&#x27;PostmanRuntime/7.26.5&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>HTTP_VIA</td>\n                        <td class=\"code\">\n                            <pre>&#x27;1.1 vegur&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>HTTP_X_FORWARDED_FOR</td>\n                        <td class=\"code\">\n                            <pre>&#x27;105.112.46.184&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>HTTP_X_FORWARDED_PORT</td>\n                        <td class=\"code\">\n                            <pre>&#x27;443&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>HTTP_X_FORWARDED_PROTO</td>\n                        <td class=\"code\">\n                            <pre>&#x27;https&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>HTTP_X_REQUEST_ID</td>\n                        <td class=\"code\">\n                            <pre>&#x27;93d731d3-6251-4b15-bd5d-d7d21fc8bb41&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>HTTP_X_REQUEST_START</td>\n                        <td class=\"code\">\n                            <pre>&#x27;1599855945674&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>PATH_INFO</td>\n                        <td class=\"code\">\n                            <pre>&#x27;/api/v1/profile/update_profile/&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>QUERY_STRING</td>\n                        <td class=\"code\">\n                            <pre>&#x27;&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>RAW_URI</td>\n                        <td class=\"code\">\n                            <pre>&#x27;/api/v1/profile/update_profile/&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>REMOTE_ADDR</td>\n                        <td class=\"code\">\n                            <pre>&#x27;10.73.248.115&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>REMOTE_PORT</td>\n                        <td class=\"code\">\n                            <pre>&#x27;32107&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>REQUEST_METHOD</td>\n                        <td class=\"code\">\n                            <pre>&#x27;PUT&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>SCRIPT_NAME</td>\n                        <td class=\"code\">\n                            <pre>&#x27;&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>SERVER_NAME</td>\n                        <td class=\"code\">\n                            <pre>&#x27;0.0.0.0&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>SERVER_PORT</td>\n                        <td class=\"code\">\n                            <pre>&#x27;8268&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>SERVER_PROTOCOL</td>\n                        <td class=\"code\">\n                            <pre>&#x27;HTTP/1.1&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>SERVER_SOFTWARE</td>\n                        <td class=\"code\">\n                            <pre>&#x27;gunicorn/20.0.4&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>gunicorn.socket</td>\n                        <td class=\"code\">\n                            <pre>&lt;socket.socket fd=12, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=(&#x27;172.19.21.222&#x27;, 8268), raddr=(&#x27;10.73.248.115&#x27;, 32107)&gt;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>wsgi.errors</td>\n                        <td class=\"code\">\n                            <pre>&lt;gunicorn.http.wsgi.WSGIErrorsWrapper object at 0x7f16b7b5c518&gt;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>wsgi.file_wrapper</td>\n                        <td class=\"code\">\n                            <pre>&lt;class &#x27;gunicorn.http.wsgi.FileWrapper&#x27;&gt;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>wsgi.input</td>\n                        <td class=\"code\">\n                            <pre>&lt;gunicorn.http.body.Body object at 0x7f16b7b5c710&gt;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>wsgi.input_terminated</td>\n                        <td class=\"code\">\n                            <pre>True</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>wsgi.multiprocess</td>\n                        <td class=\"code\">\n                            <pre>True</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>wsgi.multithread</td>\n                        <td class=\"code\">\n                            <pre>False</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>wsgi.run_once</td>\n                        <td class=\"code\">\n                            <pre>False</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>wsgi.url_scheme</td>\n                        <td class=\"code\">\n                            <pre>&#x27;https&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>wsgi.version</td>\n                        <td class=\"code\">\n                            <pre>(1, 0)</pre>\n                        </td>\n                    </tr>\n                </tbody>\n            </table>\n            <h3 id=\"settings-info\">Settings</h3>\n            <h4>Using settings module \n                <code>DNA.settings</code>\n            </h4>\n            <table class=\"req\">\n                <thead>\n                    <tr>\n                        <th>Setting</th>\n                        <th>Value</th>\n                    </tr>\n                </thead>\n                <tbody>\n                    <tr>\n                        <td>ABSOLUTE_URL_OVERRIDES</td>\n                        <td class=\"code\">\n                            <pre>{}</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>ADMINS</td>\n                        <td class=\"code\">\n                            <pre>[]</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>ALLOWED_HOSTS</td>\n                        <td class=\"code\">\n                            <pre>[&#x27;*&#x27;]</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>APPEND_SLASH</td>\n                        <td class=\"code\">\n                            <pre>True</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>AUTHENTICATION_BACKENDS</td>\n                        <td class=\"code\">\n                            <pre>[&#x27;django.contrib.auth.backends.ModelBackend&#x27;,\n &#x27;allauth.account.auth_backends.AuthenticationBackend&#x27;]</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>AUTH_PASSWORD_VALIDATORS</td>\n                        <td class=\"code\">\n                            <pre>&#x27;********************&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>AUTH_USER_MODEL</td>\n                        <td class=\"code\">\n                            <pre>&#x27;auth.User&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>BASE_DIR</td>\n                        <td class=\"code\">\n                            <pre>&#x27;/app&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>CACHES</td>\n                        <td class=\"code\">\n                            <pre>{&#x27;default&#x27;: {&#x27;BACKEND&#x27;: &#x27;django.core.cache.backends.locmem.LocMemCache&#x27;}}</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>CACHE_MIDDLEWARE_ALIAS</td>\n                        <td class=\"code\">\n                            <pre>&#x27;default&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>CACHE_MIDDLEWARE_KEY_PREFIX</td>\n                        <td class=\"code\">\n                            <pre>&#x27;********************&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>CACHE_MIDDLEWARE_SECONDS</td>\n                        <td class=\"code\">\n                            <pre>600</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>CORS_ALLOWED_ORIGINS</td>\n                        <td class=\"code\">\n                            <pre>[&#x27;http://localhost:8100&#x27;, &#x27;http://127.0.0.1:9000&#x27;]</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>CSRF_COOKIE_AGE</td>\n                        <td class=\"code\">\n                            <pre>31449600</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>CSRF_COOKIE_DOMAIN</td>\n                        <td class=\"code\">\n                            <pre>None</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>CSRF_COOKIE_HTTPONLY</td>\n                        <td class=\"code\">\n                            <pre>False</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>CSRF_COOKIE_NAME</td>\n                        <td class=\"code\">\n                            <pre>&#x27;csrftoken&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>CSRF_COOKIE_PATH</td>\n                        <td class=\"code\">\n                            <pre>&#x27;/&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>CSRF_COOKIE_SAMESITE</td>\n                        <td class=\"code\">\n                            <pre>&#x27;Lax&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>CSRF_COOKIE_SECURE</td>\n                        <td class=\"code\">\n                            <pre>False</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>CSRF_FAILURE_VIEW</td>\n                        <td class=\"code\">\n                            <pre>&#x27;django.views.csrf.csrf_failure&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>CSRF_HEADER_NAME</td>\n                        <td class=\"code\">\n                            <pre>&#x27;HTTP_X_CSRFTOKEN&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>CSRF_TRUSTED_ORIGINS</td>\n                        <td class=\"code\">\n                            <pre>[]</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>CSRF_USE_SESSIONS</td>\n                        <td class=\"code\">\n                            <pre>False</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>DATABASES</td>\n                        <td class=\"code\">\n                            <pre>{&#x27;default&#x27;: {&#x27;ATOMIC_REQUESTS&#x27;: False,\n             &#x27;AUTOCOMMIT&#x27;: True,\n             &#x27;CONN_MAX_AGE&#x27;: 600,\n             &#x27;ENGINE&#x27;: &#x27;django.db.backends.postgresql_psycopg2&#x27;,\n             &#x27;HOST&#x27;: &#x27;ec2-34-224-229-81.compute-1.amazonaws.com&#x27;,\n             &#x27;NAME&#x27;: &#x27;dbhcserc6q8n5g&#x27;,\n             &#x27;OPTIONS&#x27;: {&#x27;sslmode&#x27;: &#x27;require&#x27;},\n             &#x27;PASSWORD&#x27;: &#x27;********************&#x27;,\n             &#x27;PORT&#x27;: 5432,\n             &#x27;TEST&#x27;: {&#x27;CHARSET&#x27;: None,\n                      &#x27;COLLATION&#x27;: None,\n                      &#x27;MIGRATE&#x27;: True,\n                      &#x27;MIRROR&#x27;: None,\n                      &#x27;NAME&#x27;: None},\n             &#x27;TIME_ZONE&#x27;: None,\n             &#x27;USER&#x27;: &#x27;txhgvqikfbeubt&#x27;}}</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>DATABASE_ROUTERS</td>\n                        <td class=\"code\">\n                            <pre>[]</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>\n                        <td class=\"code\">\n                            <pre>2621440</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>\n                        <td class=\"code\">\n                            <pre>1000</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>DATETIME_FORMAT</td>\n                        <td class=\"code\">\n                            <pre>&#x27;N j, Y, P&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>DATETIME_INPUT_FORMATS</td>\n                        <td class=\"code\">\n                            <pre>[&#x27;%Y-%m-%d %H:%M:%S&#x27;,\n &#x27;%Y-%m-%d %H:%M:%S.%f&#x27;,\n &#x27;%Y-%m-%d %H:%M&#x27;,\n &#x27;%m/%d/%Y %H:%M:%S&#x27;,\n &#x27;%m/%d/%Y %H:%M:%S.%f&#x27;,\n &#x27;%m/%d/%Y %H:%M&#x27;,\n &#x27;%m/%d/%y %H:%M:%S&#x27;,\n &#x27;%m/%d/%y %H:%M:%S.%f&#x27;,\n &#x27;%m/%d/%y %H:%M&#x27;]</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>DATE_FORMAT</td>\n                        <td class=\"code\">\n                            <pre>&#x27;N j, Y&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>DATE_INPUT_FORMATS</td>\n                        <td class=\"code\">\n                            <pre>[&#x27;%Y-%m-%d&#x27;,\n &#x27;%m/%d/%Y&#x27;,\n &#x27;%m/%d/%y&#x27;,\n &#x27;%b %d %Y&#x27;,\n &#x27;%b %d, %Y&#x27;,\n &#x27;%d %b %Y&#x27;,\n &#x27;%d %b, %Y&#x27;,\n &#x27;%B %d %Y&#x27;,\n &#x27;%B %d, %Y&#x27;,\n &#x27;%d %B %Y&#x27;,\n &#x27;%d %B, %Y&#x27;]</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>DEBUG</td>\n                        <td class=\"code\">\n                            <pre>True</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>DEBUG_PROPAGATE_EXCEPTIONS</td>\n                        <td class=\"code\">\n                            <pre>False</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>DECIMAL_SEPARATOR</td>\n                        <td class=\"code\">\n                            <pre>&#x27;.&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>DEFAULT_CHARSET</td>\n                        <td class=\"code\">\n                            <pre>&#x27;utf-8&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>DEFAULT_EXCEPTION_REPORTER</td>\n                        <td class=\"code\">\n                            <pre>&#x27;django.views.debug.ExceptionReporter&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>\n                        <td class=\"code\">\n                            <pre>&#x27;django.views.debug.SafeExceptionReporterFilter&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>DEFAULT_FILE_STORAGE</td>\n                        <td class=\"code\">\n                            <pre>&#x27;django.core.files.storage.FileSystemStorage&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>DEFAULT_FROM_EMAIL</td>\n                        <td class=\"code\">\n                            <pre>&#x27;webmaster@localhost&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>DEFAULT_HASHING_ALGORITHM</td>\n                        <td class=\"code\">\n                            <pre>&#x27;sha256&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>DEFAULT_INDEX_TABLESPACE</td>\n                        <td class=\"code\">\n                            <pre>&#x27;&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>DEFAULT_TABLESPACE</td>\n                        <td class=\"code\">\n                            <pre>&#x27;&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>DISALLOWED_USER_AGENTS</td>\n                        <td class=\"code\">\n                            <pre>[]</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>EMAIL_BACKEND</td>\n                        <td class=\"code\">\n                            <pre>&#x27;django.core.mail.backends.smtp.EmailBackend&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>EMAIL_HOST</td>\n                        <td class=\"code\">\n                            <pre>&#x27;smtp.gmail.com&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>EMAIL_HOST_PASSWORD</td>\n                        <td class=\"code\">\n                            <pre>&#x27;********************&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>EMAIL_HOST_USER</td>\n                        <td class=\"code\">\n                            <pre>&#x27;debtapp95@gmail.com&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>EMAIL_PORT</td>\n                        <td class=\"code\">\n                            <pre>587</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>EMAIL_SSL_CERTFILE</td>\n                        <td class=\"code\">\n                            <pre>None</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>EMAIL_SSL_KEYFILE</td>\n                        <td class=\"code\">\n                            <pre>&#x27;********************&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>EMAIL_SUBJECT_PREFIX</td>\n                        <td class=\"code\">\n                            <pre>&#x27;[Django] &#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>EMAIL_TIMEOUT</td>\n                        <td class=\"code\">\n                            <pre>None</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>EMAIL_USE_LOCALTIME</td>\n                        <td class=\"code\">\n                            <pre>False</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>EMAIL_USE_SSL</td>\n                        <td class=\"code\">\n                            <pre>False</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>EMAIL_USE_TLS</td>\n                        <td class=\"code\">\n                            <pre>True</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>\n                        <td class=\"code\">\n                            <pre>None</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>FILE_UPLOAD_HANDLERS</td>\n                        <td class=\"code\">\n                            <pre>[&#x27;django.core.files.uploadhandler.MemoryFileUploadHandler&#x27;,\n &#x27;django.core.files.uploadhandler.TemporaryFileUploadHandler&#x27;]</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>\n                        <td class=\"code\">\n                            <pre>2621440</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>FILE_UPLOAD_PERMISSIONS</td>\n                        <td class=\"code\">\n                            <pre>420</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>FILE_UPLOAD_TEMP_DIR</td>\n                        <td class=\"code\">\n                            <pre>None</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>FIRST_DAY_OF_WEEK</td>\n                        <td class=\"code\">\n                            <pre>0</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>FIXTURE_DIRS</td>\n                        <td class=\"code\">\n                            <pre>[]</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>FORCE_SCRIPT_NAME</td>\n                        <td class=\"code\">\n                            <pre>None</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>FORMAT_MODULE_PATH</td>\n                        <td class=\"code\">\n                            <pre>None</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>FORM_RENDERER</td>\n                        <td class=\"code\">\n                            <pre>&#x27;django.forms.renderers.DjangoTemplates&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>IGNORABLE_404_URLS</td>\n                        <td class=\"code\">\n                            <pre>[]</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>INSTALLED_APPS</td>\n                        <td class=\"code\">\n                            <pre>[&#x27;django.contrib.contenttypes&#x27;,\n &#x27;django.contrib.admin&#x27;,\n &#x27;django.contrib.auth&#x27;,\n &#x27;django.contrib.sessions&#x27;,\n &#x27;django.contrib.messages&#x27;,\n &#x27;django.contrib.sites&#x27;,\n &#x27;django.contrib.staticfiles&#x27;,\n &#x27;rest_framework&#x27;,\n &#x27;rest_framework.authtoken&#x27;,\n &#x27;rest_auth&#x27;,\n &#x27;allauth&#x27;,\n &#x27;allauth.account&#x27;,\n &#x27;rest_auth.registration&#x27;,\n &#x27;allauth.socialaccount&#x27;,\n &#x27;allauth.socialaccount.providers.facebook&#x27;,\n &#x27;allauth.socialaccount.providers.google&#x27;,\n &#x27;corsheaders&#x27;,\n &#x27;api&#x27;]</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>INTERNAL_IPS</td>\n                        <td class=\"code\">\n                            <pre>[]</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>LANGUAGES</td>\n                        <td class=\"code\">\n                            <pre>[(&#x27;af&#x27;, &#x27;Afrikaans&#x27;),\n (&#x27;ar&#x27;, &#x27;Arabic&#x27;),\n (&#x27;ar-dz&#x27;, &#x27;Algerian Arabic&#x27;),\n (&#x27;ast&#x27;, &#x27;Asturian&#x27;),\n (&#x27;az&#x27;, &#x27;Azerbaijani&#x27;),\n (&#x27;bg&#x27;, &#x27;Bulgarian&#x27;),\n (&#x27;be&#x27;, &#x27;Belarusian&#x27;),\n (&#x27;bn&#x27;, &#x27;Bengali&#x27;),\n (&#x27;br&#x27;, &#x27;Breton&#x27;),\n (&#x27;bs&#x27;, &#x27;Bosnian&#x27;),\n (&#x27;ca&#x27;, &#x27;Catalan&#x27;),\n (&#x27;cs&#x27;, &#x27;Czech&#x27;),\n (&#x27;cy&#x27;, &#x27;Welsh&#x27;),\n (&#x27;da&#x27;, &#x27;Danish&#x27;),\n (&#x27;de&#x27;, &#x27;German&#x27;),\n (&#x27;dsb&#x27;, &#x27;Lower Sorbian&#x27;),\n (&#x27;el&#x27;, &#x27;Greek&#x27;),\n (&#x27;en&#x27;, &#x27;English&#x27;),\n (&#x27;en-au&#x27;, &#x27;Australian English&#x27;),\n (&#x27;en-gb&#x27;, &#x27;British English&#x27;),\n (&#x27;eo&#x27;, &#x27;Esperanto&#x27;),\n (&#x27;es&#x27;, &#x27;Spanish&#x27;),\n (&#x27;es-ar&#x27;, &#x27;Argentinian Spanish&#x27;),\n (&#x27;es-co&#x27;, &#x27;Colombian Spanish&#x27;),\n (&#x27;es-mx&#x27;, &#x27;Mexican Spanish&#x27;),\n (&#x27;es-ni&#x27;, &#x27;Nicaraguan Spanish&#x27;),\n (&#x27;es-ve&#x27;, &#x27;Venezuelan Spanish&#x27;),\n (&#x27;et&#x27;, &#x27;Estonian&#x27;),\n (&#x27;eu&#x27;, &#x27;Basque&#x27;),\n (&#x27;fa&#x27;, &#x27;Persian&#x27;),\n (&#x27;fi&#x27;, &#x27;Finnish&#x27;),\n (&#x27;fr&#x27;, &#x27;French&#x27;),\n (&#x27;fy&#x27;, &#x27;Frisian&#x27;),\n (&#x27;ga&#x27;, &#x27;Irish&#x27;),\n (&#x27;gd&#x27;, &#x27;Scottish Gaelic&#x27;),\n (&#x27;gl&#x27;, &#x27;Galician&#x27;),\n (&#x27;he&#x27;, &#x27;Hebrew&#x27;),\n (&#x27;hi&#x27;, &#x27;Hindi&#x27;),\n (&#x27;hr&#x27;, &#x27;Croatian&#x27;),\n (&#x27;hsb&#x27;, &#x27;Upper Sorbian&#x27;),\n (&#x27;hu&#x27;, &#x27;Hungarian&#x27;),\n (&#x27;hy&#x27;, &#x27;Armenian&#x27;),\n (&#x27;ia&#x27;, &#x27;Interlingua&#x27;),\n (&#x27;id&#x27;, &#x27;Indonesian&#x27;),\n (&#x27;ig&#x27;, &#x27;Igbo&#x27;),\n (&#x27;io&#x27;, &#x27;Ido&#x27;),\n (&#x27;is&#x27;, &#x27;Icelandic&#x27;),\n (&#x27;it&#x27;, &#x27;Italian&#x27;),\n (&#x27;ja&#x27;, &#x27;Japanese&#x27;),\n (&#x27;ka&#x27;, &#x27;Georgian&#x27;),\n (&#x27;kab&#x27;, &#x27;Kabyle&#x27;),\n (&#x27;kk&#x27;, &#x27;Kazakh&#x27;),\n (&#x27;km&#x27;, &#x27;Khmer&#x27;),\n (&#x27;kn&#x27;, &#x27;Kannada&#x27;),\n (&#x27;ko&#x27;, &#x27;Korean&#x27;),\n (&#x27;ky&#x27;, &#x27;Kyrgyz&#x27;),\n (&#x27;lb&#x27;, &#x27;Luxembourgish&#x27;),\n (&#x27;lt&#x27;, &#x27;Lithuanian&#x27;),\n (&#x27;lv&#x27;, &#x27;Latvian&#x27;),\n (&#x27;mk&#x27;, &#x27;Macedonian&#x27;),\n (&#x27;ml&#x27;, &#x27;Malayalam&#x27;),\n (&#x27;mn&#x27;, &#x27;Mongolian&#x27;),\n (&#x27;mr&#x27;, &#x27;Marathi&#x27;),\n (&#x27;my&#x27;, &#x27;Burmese&#x27;),\n (&#x27;nb&#x27;, &#x27;Norwegian Bokmål&#x27;),\n (&#x27;ne&#x27;, &#x27;Nepali&#x27;),\n (&#x27;nl&#x27;, &#x27;Dutch&#x27;),\n (&#x27;nn&#x27;, &#x27;Norwegian Nynorsk&#x27;),\n (&#x27;os&#x27;, &#x27;Ossetic&#x27;),\n (&#x27;pa&#x27;, &#x27;Punjabi&#x27;),\n (&#x27;pl&#x27;, &#x27;Polish&#x27;),\n (&#x27;pt&#x27;, &#x27;Portuguese&#x27;),\n (&#x27;pt-br&#x27;, &#x27;Brazilian Portuguese&#x27;),\n (&#x27;ro&#x27;, &#x27;Romanian&#x27;),\n (&#x27;ru&#x27;, &#x27;Russian&#x27;),\n (&#x27;sk&#x27;, &#x27;Slovak&#x27;),\n (&#x27;sl&#x27;, &#x27;Slovenian&#x27;),\n (&#x27;sq&#x27;, &#x27;Albanian&#x27;),\n (&#x27;sr&#x27;, &#x27;Serbian&#x27;),\n (&#x27;sr-latn&#x27;, &#x27;Serbian Latin&#x27;),\n (&#x27;sv&#x27;, &#x27;Swedish&#x27;),\n (&#x27;sw&#x27;, &#x27;Swahili&#x27;),\n (&#x27;ta&#x27;, &#x27;Tamil&#x27;),\n (&#x27;te&#x27;, &#x27;Telugu&#x27;),\n (&#x27;tg&#x27;, &#x27;Tajik&#x27;),\n (&#x27;th&#x27;, &#x27;Thai&#x27;),\n (&#x27;tk&#x27;, &#x27;Turkmen&#x27;),\n (&#x27;tr&#x27;, &#x27;Turkish&#x27;),\n (&#x27;tt&#x27;, &#x27;Tatar&#x27;),\n (&#x27;udm&#x27;, &#x27;Udmurt&#x27;),\n (&#x27;uk&#x27;, &#x27;Ukrainian&#x27;),\n (&#x27;ur&#x27;, &#x27;Urdu&#x27;),\n (&#x27;uz&#x27;, &#x27;Uzbek&#x27;),\n (&#x27;vi&#x27;, &#x27;Vietnamese&#x27;),\n (&#x27;zh-hans&#x27;, &#x27;Simplified Chinese&#x27;),\n (&#x27;zh-hant&#x27;, &#x27;Traditional Chinese&#x27;)]</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>LANGUAGES_BIDI</td>\n                        <td class=\"code\">\n                            <pre>[&#x27;he&#x27;, &#x27;ar&#x27;, &#x27;ar-dz&#x27;, &#x27;fa&#x27;, &#x27;ur&#x27;]</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>LANGUAGE_CODE</td>\n                        <td class=\"code\">\n                            <pre>&#x27;en-us&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>LANGUAGE_COOKIE_AGE</td>\n                        <td class=\"code\">\n                            <pre>None</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>LANGUAGE_COOKIE_DOMAIN</td>\n                        <td class=\"code\">\n                            <pre>None</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>LANGUAGE_COOKIE_HTTPONLY</td>\n                        <td class=\"code\">\n                            <pre>False</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>LANGUAGE_COOKIE_NAME</td>\n                        <td class=\"code\">\n                            <pre>&#x27;django_language&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>LANGUAGE_COOKIE_PATH</td>\n                        <td class=\"code\">\n                            <pre>&#x27;/&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>LANGUAGE_COOKIE_SAMESITE</td>\n                        <td class=\"code\">\n                            <pre>None</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>LANGUAGE_COOKIE_SECURE</td>\n                        <td class=\"code\">\n                            <pre>False</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>LOCALE_PATHS</td>\n                        <td class=\"code\">\n                            <pre>[]</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>LOGGING</td>\n                        <td class=\"code\">\n                            <pre>{&#x27;disable_existing_loggers&#x27;: False,\n &#x27;formatters&#x27;: {&#x27;simple&#x27;: {&#x27;format&#x27;: &#x27;%(levelname)s %(message)s&#x27;},\n                &#x27;verbose&#x27;: {&#x27;datefmt&#x27;: &#x27;%Y-%m-%d %H:%M:%S&#x27;,\n                            &#x27;format&#x27;: &#x27;%(asctime)s [%(process)d] &#x27;\n                                      &#x27;[%(levelname)s] pathname=%(pathname)s &#x27;\n                                      &#x27;lineno=%(lineno)s funcname=%(funcName)s &#x27;\n                                      &#x27;%(message)s&#x27;}},\n &#x27;handlers&#x27;: {&#x27;console&#x27;: {&#x27;class&#x27;: &#x27;logging.StreamHandler&#x27;,\n                          &#x27;formatter&#x27;: &#x27;verbose&#x27;,\n                          &#x27;level&#x27;: &#x27;DEBUG&#x27;},\n              &#x27;null&#x27;: {&#x27;class&#x27;: &#x27;logging.NullHandler&#x27;, &#x27;level&#x27;: &#x27;DEBUG&#x27;}},\n &#x27;loggers&#x27;: {&#x27;testlogger&#x27;: {&#x27;handlers&#x27;: [&#x27;console&#x27;], &#x27;level&#x27;: &#x27;INFO&#x27;}},\n &#x27;version&#x27;: 1}</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>LOGGING_CONFIG</td>\n                        <td class=\"code\">\n                            <pre>&#x27;logging.config.dictConfig&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>LOGIN_REDIRECT_URL</td>\n                        <td class=\"code\">\n                            <pre>&#x27;/accounts/profile/&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>LOGIN_URL</td>\n                        <td class=\"code\">\n                            <pre>&#x27;/accounts/login/&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>LOGOUT_REDIRECT_URL</td>\n                        <td class=\"code\">\n                            <pre>None</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>MANAGERS</td>\n                        <td class=\"code\">\n                            <pre>[]</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>MEDIA_ROOT</td>\n                        <td class=\"code\">\n                            <pre>&#x27;/app/profile&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>MEDIA_URL</td>\n                        <td class=\"code\">\n                            <pre>&#x27;/profile/&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>MESSAGE_STORAGE</td>\n                        <td class=\"code\">\n                            <pre>&#x27;django.contrib.messages.storage.fallback.FallbackStorage&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>MIDDLEWARE</td>\n                        <td class=\"code\">\n                            <pre>(&#x27;whitenoise.middleware.WhiteNoiseMiddleware&#x27;,\n &#x27;django.middleware.security.SecurityMiddleware&#x27;,\n &#x27;django.contrib.sessions.middleware.SessionMiddleware&#x27;,\n &#x27;corsheaders.middleware.CorsMiddleware&#x27;,\n &#x27;django.middleware.common.CommonMiddleware&#x27;,\n &#x27;django.middleware.csrf.CsrfViewMiddleware&#x27;,\n &#x27;django.contrib.auth.middleware.AuthenticationMiddleware&#x27;,\n &#x27;django.contrib.messages.middleware.MessageMiddleware&#x27;,\n &#x27;django.middleware.clickjacking.XFrameOptionsMiddleware&#x27;)</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>MIGRATION_MODULES</td>\n                        <td class=\"code\">\n                            <pre>{}</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>MONTH_DAY_FORMAT</td>\n                        <td class=\"code\">\n                            <pre>&#x27;F j&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>NUMBER_GROUPING</td>\n                        <td class=\"code\">\n                            <pre>0</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>PASSWORD_HASHERS</td>\n                        <td class=\"code\">\n                            <pre>&#x27;********************&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>PASSWORD_RESET_TIMEOUT</td>\n                        <td class=\"code\">\n                            <pre>&#x27;********************&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>PASSWORD_RESET_TIMEOUT_DAYS</td>\n                        <td class=\"code\">\n                            <pre>&#x27;********************&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>PREPEND_WWW</td>\n                        <td class=\"code\">\n                            <pre>False</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>REST_FRAMEWORK</td>\n                        <td class=\"code\">\n                            <pre>{&#x27;DEFAULT_PERMISSION_CLASSES&#x27;: [&#x27;rest_framework.permissions.IsAuthenticated&#x27;]}</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>ROOT_URLCONF</td>\n                        <td class=\"code\">\n                            <pre>&#x27;DNA.urls&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>SECRET_KEY</td>\n                        <td class=\"code\">\n                            <pre>&#x27;********************&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>SECURE_BROWSER_XSS_FILTER</td>\n                        <td class=\"code\">\n                            <pre>False</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>SECURE_CONTENT_TYPE_NOSNIFF</td>\n                        <td class=\"code\">\n                            <pre>True</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>\n                        <td class=\"code\">\n                            <pre>False</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>SECURE_HSTS_PRELOAD</td>\n                        <td class=\"code\">\n                            <pre>False</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>SECURE_HSTS_SECONDS</td>\n                        <td class=\"code\">\n                            <pre>0</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>SECURE_PROXY_SSL_HEADER</td>\n                        <td class=\"code\">\n                            <pre>None</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>SECURE_REDIRECT_EXEMPT</td>\n                        <td class=\"code\">\n                            <pre>[]</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>SECURE_REFERRER_POLICY</td>\n                        <td class=\"code\">\n                            <pre>&#x27;same-origin&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>SECURE_SSL_HOST</td>\n                        <td class=\"code\">\n                            <pre>None</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>SECURE_SSL_REDIRECT</td>\n                        <td class=\"code\">\n                            <pre>False</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>SERVER_EMAIL</td>\n                        <td class=\"code\">\n                            <pre>&#x27;root@localhost&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>SESSION_CACHE_ALIAS</td>\n                        <td class=\"code\">\n                            <pre>&#x27;default&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>SESSION_COOKIE_AGE</td>\n                        <td class=\"code\">\n                            <pre>1209600</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>SESSION_COOKIE_DOMAIN</td>\n                        <td class=\"code\">\n                            <pre>None</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>SESSION_COOKIE_HTTPONLY</td>\n                        <td class=\"code\">\n                            <pre>True</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>SESSION_COOKIE_NAME</td>\n                        <td class=\"code\">\n                            <pre>&#x27;sessionid&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>SESSION_COOKIE_PATH</td>\n                        <td class=\"code\">\n                            <pre>&#x27;/&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>SESSION_COOKIE_SAMESITE</td>\n                        <td class=\"code\">\n                            <pre>&#x27;Lax&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>SESSION_COOKIE_SECURE</td>\n                        <td class=\"code\">\n                            <pre>False</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>SESSION_ENGINE</td>\n                        <td class=\"code\">\n                            <pre>&#x27;django.contrib.sessions.backends.db&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>\n                        <td class=\"code\">\n                            <pre>False</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>SESSION_FILE_PATH</td>\n                        <td class=\"code\">\n                            <pre>None</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>SESSION_SAVE_EVERY_REQUEST</td>\n                        <td class=\"code\">\n                            <pre>False</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>SESSION_SERIALIZER</td>\n                        <td class=\"code\">\n                            <pre>&#x27;django.contrib.sessions.serializers.JSONSerializer&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>SETTINGS_MODULE</td>\n                        <td class=\"code\">\n                            <pre>&#x27;DNA.settings&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>SHORT_DATETIME_FORMAT</td>\n                        <td class=\"code\">\n                            <pre>&#x27;m/d/Y P&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>SHORT_DATE_FORMAT</td>\n                        <td class=\"code\">\n                            <pre>&#x27;m/d/Y&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>SIGNING_BACKEND</td>\n                        <td class=\"code\">\n                            <pre>&#x27;django.core.signing.TimestampSigner&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>SILENCED_SYSTEM_CHECKS</td>\n                        <td class=\"code\">\n                            <pre>[]</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>SITE_ID</td>\n                        <td class=\"code\">\n                            <pre>1</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>SOCIALACCOUNT_PROVIDERS</td>\n                        <td class=\"code\">\n                            <pre>{&#x27;facebook&#x27;: {&#x27;APP&#x27;: {&#x27;client_id&#x27;: &#x27;329679158218337&#x27;,\n                      &#x27;key&#x27;: &#x27;********************&#x27;,\n                      &#x27;secret&#x27;: &#x27;********************&#x27;}},\n &#x27;google&#x27;: {&#x27;APP&#x27;: {&#x27;client_id&#x27;: &#x27;459700624852-uf0jsku7r8e03mlu5oeahph3rqr0k1fj.apps.googleusercontent.com&#x27;,\n                    &#x27;key&#x27;: &#x27;********************&#x27;,\n                    &#x27;secret&#x27;: &#x27;********************&#x27;}}}</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>STATICFILES_DIRS</td>\n                        <td class=\"code\">\n                            <pre>[]</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>STATICFILES_FINDERS</td>\n                        <td class=\"code\">\n                            <pre>[&#x27;django.contrib.staticfiles.finders.FileSystemFinder&#x27;,\n &#x27;django.contrib.staticfiles.finders.AppDirectoriesFinder&#x27;]</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>STATICFILES_STORAGE</td>\n                        <td class=\"code\">\n                            <pre>&#x27;whitenoise.storage.CompressedManifestStaticFilesStorage&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>STATIC_ROOT</td>\n                        <td class=\"code\">\n                            <pre>&#x27;/app/staticfiles&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>STATIC_URL</td>\n                        <td class=\"code\">\n                            <pre>&#x27;/static/&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>TEMPLATES</td>\n                        <td class=\"code\">\n                            <pre>[{&#x27;APP_DIRS&#x27;: True,\n  &#x27;BACKEND&#x27;: &#x27;django.template.backends.django.DjangoTemplates&#x27;,\n  &#x27;DIRS&#x27;: [&#x27;/app/templates&#x27;],\n  &#x27;OPTIONS&#x27;: {&#x27;context_processors&#x27;: [&#x27;django.template.context_processors.debug&#x27;,\n                                     &#x27;django.template.context_processors.request&#x27;,\n                                     &#x27;django.contrib.auth.context_processors.auth&#x27;,\n                                     &#x27;django.contrib.messages.context_processors.messages&#x27;]}}]</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>TEST_NON_SERIALIZED_APPS</td>\n                        <td class=\"code\">\n                            <pre>[]</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>TEST_RUNNER</td>\n                        <td class=\"code\">\n                            <pre>&#x27;django.test.runner.DiscoverRunner&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>THOUSAND_SEPARATOR</td>\n                        <td class=\"code\">\n                            <pre>&#x27;,&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>TIME_FORMAT</td>\n                        <td class=\"code\">\n                            <pre>&#x27;P&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>TIME_INPUT_FORMATS</td>\n                        <td class=\"code\">\n                            <pre>[&#x27;%H:%M:%S&#x27;, &#x27;%H:%M:%S.%f&#x27;, &#x27;%H:%M&#x27;]</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>TIME_ZONE</td>\n                        <td class=\"code\">\n                            <pre>&#x27;UTC&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>USE_I18N</td>\n                        <td class=\"code\">\n                            <pre>True</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>USE_L10N</td>\n                        <td class=\"code\">\n                            <pre>True</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>USE_THOUSAND_SEPARATOR</td>\n                        <td class=\"code\">\n                            <pre>False</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>USE_TZ</td>\n                        <td class=\"code\">\n                            <pre>True</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>USE_X_FORWARDED_HOST</td>\n                        <td class=\"code\">\n                            <pre>False</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>USE_X_FORWARDED_PORT</td>\n                        <td class=\"code\">\n                            <pre>False</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>WSGI_APPLICATION</td>\n                        <td class=\"code\">\n                            <pre>&#x27;DNA.wsgi.application&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>X_FRAME_OPTIONS</td>\n                        <td class=\"code\">\n                            <pre>&#x27;DENY&#x27;</pre>\n                        </td>\n                    </tr>\n                    <tr>\n                        <td>YEAR_MONTH_FORMAT</td>\n                        <td class=\"code\">\n                            <pre>&#x27;F Y&#x27;</pre>\n                        </td>\n                    </tr>\n                </tbody>\n            </table>\n        </div>\n        <div id=\"explanation\">\n            <p>\n      You're seeing this error because you have \n                <code>DEBUG = True</code> in your\n      Django settings file. Change that to\n                <code>False</code>, and Django will\n      display a standard page generated by the handler for this status code.\n            </p>\n        </div>\n    </body>\n</html>"}],"_postman_id":"918911b9-9e58-4243-8138-6e7a1bb14b99"},{"name":"Forgot password route","id":"f7b4d7ce-693a-4c52-8097-0ee4aff5b20f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"email\": \"oaikhenahpeterson@gmail.com\"\n}","options":{"raw":{"language":"json"}}},"url":"localhost:8080/api/v1/recovery/","description":"<p>API endpoint to request a reset password token by using the \"email\" parameter for a user profile in the system.</p>\n<blockquote>\n<p>A successful API request will return \"HTTP 200\" Status Code and message \"email sent\"</p>\n</blockquote>\n<blockquote>\n<p>A request for a non existing user will return \"HTTP 400\" Status Code</p>\n</blockquote>\n","urlObject":{"port":"8080","path":["api","v1","recovery",""],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"1979a9d2-bce6-4ae5-9c4a-e7e3a99a16b1","name":"Forgot Password Route","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"email\": \"leodillion@gmail.com\"\n}","options":{"raw":{"language":"json"}}},"url":"localhost:8000/api/v1/recovery/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Thu, 30 Jul 2020 22:21:46 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.6.11"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept"},{"key":"Allow","value":"GET, POST, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"23"},{"key":"X-Content-Type-Options","value":"nosniff"}],"cookie":[],"responseTime":null,"body":"{\n    \"token\": \"email sent!\"\n}"},{"id":"3438229c-43d3-44e7-a1a9-1e802ea8c03d","name":"Forgot password route","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"email\": \"oaikhenahpeterson@gmail.com\"\n}","options":{"raw":{"language":"json"}}},"url":"https://dnappserver.herokuapp.com/api/v1/recovery/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"gunicorn/20.0.4"},{"key":"Date","value":"Fri, 28 Aug 2020 22:32:09 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept"},{"key":"Allow","value":"GET, POST, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"23"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Via","value":"1.1 vegur"}],"cookie":[],"responseTime":null,"body":"{\n    \"token\": \"email sent!\"\n}"},{"id":"c504c954-89ba-4177-9164-884e687ee3ed","name":"forgotpassword route","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"email\":\"oaikhenahpetersonsadsadsd@gmail.com\"\n}","options":{"raw":{"language":"json"}}},"url":"localhost:8000/api/v1/recovery/"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sat, 25 Jul 2020 14:33:55 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.6.11"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept"},{"key":"Allow","value":"GET, POST, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"55"},{"key":"X-Content-Type-Options","value":"nosniff"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"No user associated with this email exits!\"\n}"}],"_postman_id":"f7b4d7ce-693a-4c52-8097-0ee4aff5b20f"},{"name":"Validate token API","id":"396e030d-7a67-49d0-a383-e52ae98abe4d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n   \"token\": \"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6Im9haWtoZW5haHBldGVyc29uQGdtYWlsLmNvbSIsImV4cCI6MTU5OTMzMTM4M30.ZSEY4CnnJWa09pDPsgaIdeF1_Sw9zgf_lKx0qWhKb-g\"\n}","options":{"raw":{"language":"json"}}},"url":"https://dnappserver.herokuapp.com/api/v1/recovery/validate_token/","description":"<p>API endpoint to reques will return a 200 if a given token is valid for a user profile in the system.</p>\n<blockquote>\n<p>A successful API request will return \"HTTP 200\" Status Code and message \"Token is still valid and active \"</p>\n</blockquote>\n<blockquote>\n<p>A request for a non existing Token will return 'message': 'Invalid Token' or 'message': 'Token expired. Get new one'</p>\n</blockquote>\n","urlObject":{"protocol":"https","path":["api","v1","recovery","validate_token",""],"host":["dnappserver","herokuapp","com"],"query":[],"variable":[]}},"response":[{"id":"493ba3e5-378f-49e9-933b-d4d0fc2d185e","name":"Validate Token Api","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"token\": \"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6Im9haWtoZW5haHBldGVyc29uQGdtYWlsLmNvbSIsImV4cCI6MTU5NjE1Mjk2MX0.NLxhovV-lnPx-qzeZxKD4w_g_aRCanITjZFcXNIbb-Y\"\n}","options":{"raw":{"language":"json"}}},"url":"localhost:8000/api/v1/recovery/validate_token/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Thu, 30 Jul 2020 23:29:24 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.6.11"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept"},{"key":"Allow","value":"POST, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"48"},{"key":"X-Content-Type-Options","value":"nosniff"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Token is still valid and active :)\"\n}"},{"id":"56f8df20-7d41-45a8-8384-19fbda495538","name":"Validate token API","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"token\": \"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6Im9haWtoZW5haHBldGVyc29uQGdtYWlsLmNvbSIsImV4cCI6MTU5ODY1Mzk4OH0.QxeRUtwfWNI_0uGa90q_A9OUaiSoc0_7CkZVuyhH-mg\"\n}","options":{"raw":{"language":"json"}}},"url":"https://dnappserver.herokuapp.com/api/v1/recovery/validate_token/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"gunicorn/20.0.4"},{"key":"Date","value":"Fri, 28 Aug 2020 22:32:40 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept"},{"key":"Allow","value":"POST, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"48"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Via","value":"1.1 vegur"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Token is still valid and active :)\"\n}"},{"id":"7f205015-3b9b-43ca-b4f1-466dd9464eed","name":"Confirm Token Api","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"password\": \"password\",\n    \"token\": \"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6Imxlb2RpbGxpb25AZ21haWwuY29tIiwiZXhwIjoxNTk1NzIzODQxfQ.3DNoc_xH0QQK2JHiDHGnzFoBBeK9_fRhgjW49qwA2OA\"\n}","options":{"raw":{"language":"json"}}},"url":"localhost:8000/api/v1/recovery/confirm/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Thu, 30 Jul 2020 22:57:35 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.6.11"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept"},{"key":"Allow","value":"POST, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"27"},{"key":"X-Content-Type-Options","value":"nosniff"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Invalid Token\"\n}"},{"id":"d6e6350b-2650-4fb1-9489-357bbddc9790","name":"Validate Token Api","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"password\": \"password\",\n    \"token\": \"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6Imxlb2RpbGxpb25AZ21haWwuY29tIiwiZXhwIjoxNTk1NzIzODQxfQ.3DNoc_xH0QQK2JHiDHGnzFoBBeK9_fRhgjW49qwA2OA\"\n}","options":{"raw":{"language":"json"}}},"url":"localhost:8000/api/v1/recovery/confirm/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Thu, 30 Jul 2020 22:57:35 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.6.11"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept"},{"key":"Allow","value":"POST, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"27"},{"key":"X-Content-Type-Options","value":"nosniff"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Invalid Token\"\n}"}],"_postman_id":"396e030d-7a67-49d0-a383-e52ae98abe4d"},{"name":"Confirm and reset password API","id":"e4aff4d1-9fbe-46d1-a7d5-f99ee508514f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"password\": \"password\",\n    \"token\": \"yJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6Im9haWtoZW5haHBldGVyc29uQGdtYWlsLmNvbSIsImV4cCI6MTU5OTMzMTM4M30.ZSEY4CnnJWa09pDPsgaIdeF1_Sw9zgf_lKx0qWhKb-g\"\n}","options":{"raw":{"language":"json"}}},"url":"https://dnappserver.herokuapp.com/api/v1/recovery/confirm/","description":"<p>API endpoint to request using a valid token, the users password is set to the provided password of a user profile in the system.</p>\n<blockquote>\n<p>A successful API request will return \"HTTP 200\" Status Code and 'success': 'Password reset was successful!</p>\n</blockquote>\n<blockquote>\n<p>A request for a non existing Token will return 'message': 'Invalid Token' or 'message': 'No user associated with this email exits!'</p>\n</blockquote>\n","urlObject":{"protocol":"https","path":["api","v1","recovery","confirm",""],"host":["dnappserver","herokuapp","com"],"query":[],"variable":[]}},"response":[{"id":"28a39924-205a-44ed-b1ff-0d695f054dbb","name":"Confirm and reset password API","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"password\": \"password\",\n    \"token\": \"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6Im9haWtoZW5haHBldGVyc29uQGdtYWlsLmNvbSIsImV4cCI6MTU5ODY1NDA5NH0.nBsGWAWbQrib2OAJ7qyq6FABBjTCM875H_aSSQ_jrEE\"\n}","options":{"raw":{"language":"json"}}},"url":"https://dnappserver.herokuapp.com/api/v1/recovery/confirm/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"gunicorn/20.0.4"},{"key":"Date","value":"Sat, 29 Aug 2020 16:03:45 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, Origin"},{"key":"Allow","value":"POST, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"27"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Via","value":"1.1 vegur"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Invalid Token\"\n}"},{"id":"bdd49d67-1bda-48a5-a55d-92feaaaeaedc","name":"Confirm and Reset Password Api","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"password\": \"password\",\n    \"token\": \"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6Im9haWtoZW5haHBldGVyc29uQGdtYWlsLmNvbSIsImV4cCI6MTU5NjE1Mjk2MX0.NLxhovV-lnPx-qzeZxKD4w_g_aRCanITjZFcXNIbb-Y\"\n}","options":{"raw":{"language":"json"}}},"url":"localhost:8000/api/v1/recovery/confirm/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Thu, 30 Jul 2020 23:20:13 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.6.11"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept"},{"key":"Allow","value":"POST, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"44"},{"key":"X-Content-Type-Options","value":"nosniff"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": \"Password reset was successful!\"\n}"},{"id":"c1374cfd-ee00-4210-a921-709a07c7fdc5","name":"Confirm and reset password API","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"password\": \"password\",\n    \"token\": \"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6Im9haWtoZW5haHBldGVyc29uQGdtYWlsLmNvbSIsImV4cCI6MTU5ODY1NDA5NH0.nBsGWAWbQrib2OAJ7qyq6FABBjTCM875H_aSSQ_jrEE\"\n}","options":{"raw":{"language":"json"}}},"url":"https://dnappserver.herokuapp.com/api/v1/recovery/confirm/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"gunicorn/20.0.4"},{"key":"Date","value":"Fri, 28 Aug 2020 22:34:22 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept"},{"key":"Allow","value":"POST, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"44"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Via","value":"1.1 vegur"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": \"Password reset was successful!\"\n}"},{"id":"dbb0d0ed-c378-4e8d-a5db-3a4f035d47d8","name":"Confirm and Reset Password Api","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"password\": \"password\",\n    \"token\": \"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6Im9haWtoZW5haHBldGVyc29uQGdtYWlsLmNvbSIsImV4cCI6MTU5NjE1Mjk2MX0.NLxhovV-lnPx-qzeZxKD4w_g_aRCanITjZFcXNIbb-Y\"\n}","options":{"raw":{"language":"json"}}},"url":"localhost:8000/api/v1/recovery/confirm/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Thu, 30 Jul 2020 23:20:13 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.6.11"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept"},{"key":"Allow","value":"POST, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"44"},{"key":"X-Content-Type-Options","value":"nosniff"}],"cookie":[],"responseTime":null,"body":"{\n    \"success\": \"Password reset was successful!\"\n}"}],"_postman_id":"e4aff4d1-9fbe-46d1-a7d5-f99ee508514f"},{"name":"Facebook social login","id":"4542cb70-ecdf-4688-9ffe-da58db59f00b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"url":"localhost:8080/api/v1/rest-auth/facebook/","description":"<p>API endpoint to send a request while parsing a valid access token, instead of the users password/eamil, it registers or logs in a user.</p>\n<blockquote>\n<p>A successful API request will return \"HTTP 200\" Status Code and log a user to his dashboard</p>\n</blockquote>\n<blockquote>\n<p>A request while parsing a non existing Token will return 'message': 'Incorrect input. access_token or code is required'</p>\n</blockquote>\n<blockquote>\n<p>A request to register an account that is already signed up in a different flow will  return 'message': 'User is already registered with this e-mail address.'</p>\n</blockquote>\n","urlObject":{"port":"8080","path":["api","v1","rest-auth","facebook",""],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"8ddfc4e8-de36-4e52-9ca3-d16c4b79e846","name":"Facebook social login","originalRequest":{"method":"POST","header":[],"url":"http://localhost:8000/api/v1/rest-auth/facebook/"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sat, 29 Aug 2020 16:04:03 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.6.12"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, Origin, Cookie"},{"key":"Allow","value":"POST, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"75"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"non_field_errors\": [\n        \"Incorrect input. access_token or code is required.\"\n    ]\n}"},{"id":"a3549f31-5ad8-4a6d-8991-0bc899909357","name":"Facebook social login","originalRequest":{"method":"POST","header":[],"url":"http://localhost:8000/api/v1/rest-auth/facebook/"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 07 Aug 2020 22:25:21 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.6.11"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, Cookie"},{"key":"Allow","value":"POST, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"75"},{"key":"X-Content-Type-Options","value":"nosniff"}],"cookie":[],"responseTime":null,"body":"{\n    \"non_field_errors\": [\n        \"Incorrect input. access_token or code is required.\"\n    ]\n}"},{"id":"b0e6ab76-6202-479a-950e-f77c2dbb7122","name":"Facebook social login","originalRequest":{"method":"POST","header":[],"url":"http://localhost:8000/api/v1/rest-auth/facebook/"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 07 Aug 2020 23:02:55 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.6.11"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, Cookie"},{"key":"Allow","value":"POST, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"75"},{"key":"X-Content-Type-Options","value":"nosniff"}],"cookie":[],"responseTime":null,"body":"{\n    \"non_field_errors\": [\n        \"Incorrect input. access_token or code is required.\"\n    ]\n}"}],"_postman_id":"4542cb70-ecdf-4688-9ffe-da58db59f00b"},{"name":"Google social login","id":"83d42b29-93d2-40eb-a71a-d2c924c00424","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"url":"localhost:8080/api/v1/rest-auth/google/","description":"<p>API endpoint to send a request while parsing a valid access token, instead of the users password/eamil, it registers or logs in a user.</p>\n<blockquote>\n<p>A successful API request will return \"HTTP 200\" Status Code and log a user to his dashboard</p>\n</blockquote>\n<blockquote>\n<p>A request while parsing a non existing Token will return 'message': 'Incorrect input. access_token or code is required'</p>\n</blockquote>\n<blockquote>\n<p>A request to register an account that is already signed up in a different flow will  return 'message': 'User is already registered with this e-mail address.'</p>\n</blockquote>\n","urlObject":{"port":"8080","path":["api","v1","rest-auth","google",""],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"19548cd5-7339-4126-bb64-16299deefb38","name":"Google social login","originalRequest":{"method":"POST","header":[],"url":"http://localhost:8000/api/v1/rest-auth/google/"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sat, 29 Aug 2020 16:05:45 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.6.12"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, Origin, Cookie"},{"key":"Allow","value":"POST, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"75"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"non_field_errors\": [\n        \"Incorrect input. access_token or code is required.\"\n    ]\n}"},{"id":"c778dd0d-5662-4697-bf84-fa9e447552c9","name":"Google social login","originalRequest":{"method":"POST","header":[],"url":"http://localhost:8000/api/v1/rest-auth/google/"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sat, 15 Aug 2020 16:55:53 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.6.11"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, Cookie"},{"key":"Allow","value":"POST, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"75"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"non_field_errors\": [\n        \"Incorrect input. access_token or code is required.\"\n    ]\n}"}],"_postman_id":"83d42b29-93d2-40eb-a71a-d2c924c00424"},{"name":"Create  loan record","id":"e6f7f3e5-950a-4736-ae16-f8aa9baa813c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"token 43343f8c255fc048dddd72463be7d5d43f4a43db","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"name\":\"james ranidown\",\n    \"amount\":\"150000\",\n\t\"interest_rate\":\"20\",\n\t\"description\":\"Douglas loaned money to invest .\",\n\t\"due_date\":\"2020-12-04 18:00\",\n    \"loan_category\": \"loan_given\"\t\n}","options":{"raw":{"language":"json"}}},"url":"localhost:8000/api/v1/loan/","description":"<p>The API route for creating the loan :: /api/v1/loan/add/</p>\n<blockquote>\n<p>The parameter need are :: 'amount'    ,'interest_rate'   ,'description',   'balance_to_pay',  \"due_date\", \"loan_category\", </p>\n</blockquote>\n<blockquote>\n<p>loan category choices \n        - loan_taken\n        - loan_given\nThe http response is 201 if created succesfully\nAnd returns the data was created\nBut if not successful _401 bad request</p>\n</blockquote>\n","urlObject":{"port":"8000","path":["api","v1","loan",""],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"51d76a6f-97d8-48fa-871e-37962558d036","name":"Create  loan record","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"token f8acf5b58175ce51f7bfe670c06f7aab3087e06f","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"amount\":\"100000\",\n\t\"interest_rate\":\"10\",\n\t\"description\":\"Douglas loaned money for School fees.\",\n\t\"due_date\":\"2020-10-20\"\n\t\n}","options":{"raw":{"language":"json"}}},"url":"https://dnappserver.herokuapp.com/api/v1/loan/"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"gunicorn/20.0.4"},{"key":"Date","value":"Sat, 29 Aug 2020 15:08:07 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, Origin"},{"key":"Allow","value":"GET, POST, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"159"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Via","value":"1.1 vegur"}],"cookie":[],"responseTime":null,"body":"{\n    \"id\": 1,\n    \"user\": 4,\n    \"amount\": 100000,\n    \"interest_rate\": \"10.00\",\n    \"description\": \"Douglas loaned money for School fees.\",\n    \"balance_to_pay\": 110000,\n    \"due_date\": \"2020-10-20\"\n}"},{"id":"742e5111-e7ef-4434-909e-c9936d4c8c7b","name":"Create  loan record","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"token f8acf5b58175ce51f7bfe670c06f7aab3087e06f","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"amount\":\"100000\",\n\t\"interest_rate\":\"10\",\n\t\"description\":\"Douglas loaned money for School fees.\",\n\t\"due_date\":\"2020-10-20\"\n\t\n}","options":{"raw":{"language":"json"}}},"url":"https://dnappserver.herokuapp.com/api/v1/loan/"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"gunicorn/20.0.4"},{"key":"Date","value":"Sat, 29 Aug 2020 15:08:07 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, Origin"},{"key":"Allow","value":"GET, POST, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"159"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Via","value":"1.1 vegur"}],"cookie":[],"responseTime":null,"body":"{\n    \"id\": 1,\n    \"user\": 4,\n    \"amount\": 100000,\n    \"interest_rate\": \"10.00\",\n    \"description\": \"Douglas loaned money for School fees.\",\n    \"balance_to_pay\": 110000,\n    \"due_date\": \"2020-10-20\"\n}"},{"id":"fe724e40-385f-4221-a11c-a0565dccf99d","name":"Create  loan record","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"token 4cad3e23dc6449e49491917f80a333de5d6cb6a0","type":"text"}],"url":"http://127.0.0.1:8000/api/v1/loan/add/"},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sat, 15 Aug 2020 16:51:20 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.6.11"},{"key":"Content-Type","value":"application/json"},{"key":"WWW-Authenticate","value":"Token"},{"key":"Vary","value":"Accept"},{"key":"Allow","value":"GET, POST, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"27"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"detail\": \"Invalid token.\"\n}"}],"_postman_id":"e6f7f3e5-950a-4736-ae16-f8aa9baa813c"},{"name":"Retrieve unfiltered loan records","id":"9a62b782-d09a-422f-968f-0adb7572ff55","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"token f8acf5b58175ce51f7bfe670c06f7aab3087e06f","type":"text"}],"url":"https://dnappserver.herokuapp.com/api/v1/loan/","description":"<p>The API route for retreiving the loan record. GET :: /api/v1/loan/add/</p>\n<blockquote>\n<p>The header information needed, Authorization Token. </p>\n</blockquote>\n<blockquote>\n<p>The http response code is 200 OK if fetched succesfully</p>\n</blockquote>\n<blockquote>\n<p>But if not successful _401 bad request</p>\n</blockquote>\n","urlObject":{"protocol":"https","path":["api","v1","loan",""],"host":["dnappserver","herokuapp","com"],"query":[],"variable":[]}},"response":[{"id":"034f2489-cafc-4b4d-a599-d56f34494f4d","name":"Retrieve unfiltered loan records","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"token f8acf5b58175ce51f7bfe670c06f7aab3087e06f","type":"text"}],"url":"https://dnappserver.herokuapp.com/api/v1/loan/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"gunicorn/20.0.4"},{"key":"Date","value":"Sat, 29 Aug 2020 15:09:37 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, Origin"},{"key":"Allow","value":"GET, POST, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"203"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Via","value":"1.1 vegur"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"User loan Records \",\n    \"result\": [\n        {\n            \"id\": 1,\n            \"user\": 4,\n            \"amount\": 100000,\n            \"interest_rate\": \"10.00\",\n            \"description\": \"Douglas loaned money for School fees.\",\n            \"balance_to_pay\": 110000,\n            \"due_date\": \"2020-10-20\"\n        }\n    ]\n}"},{"id":"8b88899b-e407-47db-818f-0280aecf7790","name":"Retrieve unfiltered loan records","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"token f8acf5b58175ce51f7bfe670c06f7aab3087e06f","type":"text"}],"url":"https://dnappserver.herokuapp.com/api/v1/loan/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"gunicorn/20.0.4"},{"key":"Date","value":"Sat, 29 Aug 2020 15:09:37 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, Origin"},{"key":"Allow","value":"GET, POST, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"203"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Via","value":"1.1 vegur"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"User loan Records \",\n    \"result\": [\n        {\n            \"id\": 1,\n            \"user\": 4,\n            \"amount\": 100000,\n            \"interest_rate\": \"10.00\",\n            \"description\": \"Douglas loaned money for School fees.\",\n            \"balance_to_pay\": 110000,\n            \"due_date\": \"2020-10-20\"\n        }\n    ]\n}"},{"id":"a33e086f-94c9-4302-8658-caa2395a0bd0","name":"Retrieve unfiltered loan records","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"token f8acf5b58175ce51f7bfe670c06f7aab3087e06f","type":"text"}],"url":"https://dnappserver.herokuapp.com/api/v1/loan/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"gunicorn/20.0.4"},{"key":"Date","value":"Sat, 29 Aug 2020 15:09:37 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, Origin"},{"key":"Allow","value":"GET, POST, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"203"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Via","value":"1.1 vegur"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"User loan Records \",\n    \"result\": [\n        {\n            \"id\": 1,\n            \"user\": 4,\n            \"amount\": 100000,\n            \"interest_rate\": \"10.00\",\n            \"description\": \"Douglas loaned money for School fees.\",\n            \"balance_to_pay\": 110000,\n            \"due_date\": \"2020-10-20\"\n        }\n    ]\n}"}],"_postman_id":"9a62b782-d09a-422f-968f-0adb7572ff55"},{"name":"Update loan Record","id":"c37737fd-909a-4a11-8ec1-17686405910c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Authorization","value":"token b15e064e04ad45645330fdb1f231d2dc6c8b855d","type":"text"}],"body":{"mode":"formdata","formdata":[{"key":"","value":"description","description":"<p>Douglas loaned money to invest in sports</p>\n","type":"text"}]},"url":"localhost:8080/api/v1/loan/6/","description":"<p>API endpoint to \"Update a particular loan record\" for a user with the provided credentials.</p>\n<blockquote>\n<p>A succesful API request will return \"HTTP 201\" Status Code</p>\n</blockquote>\n<blockquote>\n<p>A Request for a non existing user will return \"HTTP 400\" Status</p>\n</blockquote>\n","urlObject":{"port":"8080","path":["api","v1","loan","6",""],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"c37737fd-909a-4a11-8ec1-17686405910c"},{"name":"Delete loan record","id":"4f386115-03fb-4c16-9ad6-33b00563e0f8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"DELETE","header":[{"key":"Authorization","value":"token 1c625d1a978329600246eddb8f659a93fcc58c08","type":"text"}],"url":"localhost:8080/api/v1/loan/6/","description":"<p>API endpoint to \"Delete loan record\" for a user with the provided credentials.</p>\n<p>The goal is to allow registered users to delete a loan record, when not needed</p>\n<blockquote>\n<p>A succesful API request will return \"HTTP 204\" Status Code</p>\n</blockquote>\n<blockquote>\n<p>A Request for a non existing user will return \"HTTP 400\" Status</p>\n</blockquote>\n","urlObject":{"port":"8080","path":["api","v1","loan","6",""],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"4f386115-03fb-4c16-9ad6-33b00563e0f8"},{"name":"Delete account","id":"3ef3b0a7-b8bb-4b5e-9a1c-cc8589c741d4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Authorization","value":"token 1c625d1a978329600246eddb8f659a93fcc58c08","type":"text"}],"url":"localhost:8080/api/v1/delete/account/","description":"<p>API endpoint to \"Delet user account\" for a user with the provided credentials.</p>\n<blockquote>\n<p>A succesful API request will return \"HTTP 204\" Status Code</p>\n</blockquote>\n<blockquote>\n<p>A Request for a non existing user will return \"HTTP 400\" Status</p>\n</blockquote>\n","urlObject":{"port":"8080","path":["api","v1","delete","account",""],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"3ef3b0a7-b8bb-4b5e-9a1c-cc8589c741d4"},{"name":"Payment","id":"11940617-ca18-4135-8332-76d2f4db6713","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"token 12a5f5d9651902ffc48bd160cd11a973a3b946e2","type":"text"}],"body":{"mode":"raw","raw":"{\n \"loan\":\"9\",\n \"paid_date\":\"2020-10-29T20:41:14.232892Z\",\n \"amount_paid\":\"20000\"   \n}","options":{"raw":{"language":"json"}}},"url":"localhost:8080/api/v1/payment/","description":"<p>API endpoint to \"Crete a Payment associated with a loan records\" for a user with the provided credentials.</p>\n<p>The goal  is to keep track of the history of a particular loan record associated with the user. for now, payments would have to be made in-person, then would have to be updated here to be tracked.</p>\n<blockquote>\n<p>A succesful API request will return \"HTTP 200\" Status Code</p>\n</blockquote>\n<blockquote>\n<p>A Request for a non existing user will return \"HTTP 400\" Status</p>\n</blockquote>\n","urlObject":{"port":"8080","path":["api","v1","payment",""],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"11940617-ca18-4135-8332-76d2f4db6713"},{"name":"Retreive payment history of a loan Record","id":"57f60668-a34e-45c7-bc14-0d9ef79f69ab","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"token 12a5f5d9651902ffc48bd160cd11a973a3b946e2","type":"text"}],"url":"localhost:8080/api/v1/payment/9","description":"<p>API endpoint to \"Retreive payement history of a loan Record\"  for a user with the provided credentials.</p>\n<blockquote>\n<p>A succesful API request will return \"HTTP 200\" Status Code</p>\n</blockquote>\n<blockquote>\n<p>A Request for a non existing user will return \"HTTP 400\" Status</p>\n</blockquote>\n","urlObject":{"port":"8080","path":["api","v1","payment","9"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"57f60668-a34e-45c7-bc14-0d9ef79f69ab"}],"event":[{"listen":"prerequest","script":{"id":"654adcb3-356f-4280-b925-a88793adfc12","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"4ca1a37e-d7b0-4e4d-936f-73c51521bfed","type":"text/javascript","exec":[""]}}],"variable":[{"key":"Authorzation","value":"token 12a5f5d9651902ffc48bd160cd11a973a3b946e2"},{"key":"port","value":"8080"}]}