From 6370025c997dfef8b488905f9fa3755186215766 Mon Sep 17 00:00:00 2001 From: Richie Date: Tue, 1 Nov 2022 23:50:40 +0100 Subject: [PATCH] add: initial postman documentation for AUTH API --- .../src/API doc/MOOCs.postman_collection.json | 1441 +++++++++++++++++ 1 file changed, 1441 insertions(+) create mode 100644 backend_API/src/API doc/MOOCs.postman_collection.json diff --git a/backend_API/src/API doc/MOOCs.postman_collection.json b/backend_API/src/API doc/MOOCs.postman_collection.json new file mode 100644 index 00000000..b56a92c0 --- /dev/null +++ b/backend_API/src/API doc/MOOCs.postman_collection.json @@ -0,0 +1,1441 @@ +{ + "info": { + "_postman_id": "ea1752af-8c4a-4834-937f-94c737ab9d84", + "name": "MOOCs", + "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json", + "_exporter_id": "20633788" + }, + "item": [ + { + "name": "Auth - Users", + "item": [ + { + "name": "Sign up", + "request": { + "auth": { + "type": "noauth" + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"firstname\": \"testfirstname\",\r\n \"lastname\": \"testlastname\",\r\n \"email\": \"moluno.richie@gmail.com\",\r\n \"phonenumber\": \"132434432324\",\r\n \"password\": \"testpassword\",\r\n \"passwordConfirm\": \"testpassword\",\r\n \"role\": \"Admin\"\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{serverURL}}/auth/signup", + "host": [ + "{{serverURL}}" + ], + "path": [ + "auth", + "signup" + ] + }, + "description": "All attributes in the request body are required\n\n'role' attribute varies for each user type -> Founder, Admin, EndUser, Staff, BoatOperator" + }, + "response": [ + { + "name": "Duplicate email signup", + "originalRequest": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"firstname\": \"testfirstname\",\r\n \"lastname\": \"testlastname\",\r\n \"email\": \"testemail@gmail.com\",\r\n \"phonenumber\": \"132434432324\",\r\n \"password\": \"testpassword\",\r\n \"passwordConfirm\": \"testpassword\",\r\n \"role\": \"EndUser\"\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{serverURL}}/auth/signup", + "host": [ + "{{serverURL}}" + ], + "path": [ + "auth", + "signup" + ] + } + }, + "status": "Bad Request", + "code": 400, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "X-Powered-By", + "value": "Express" + }, + { + "key": "Access-Control-Allow-Origin", + "value": "*" + }, + { + "key": "Content-Type", + "value": "application/json; charset=utf-8" + }, + { + "key": "Content-Length", + "value": "74" + }, + { + "key": "ETag", + "value": "W/\"4a-6dibmCVmR3MAnI3dHlZGbYpnwIQ\"" + }, + { + "key": "Date", + "value": "Fri, 21 Oct 2022 11:50:38 GMT" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "Keep-Alive", + "value": "timeout=5" + } + ], + "cookie": [], + "body": "{\n \"message\": \"testemail@gmail.com already exists please user another email\"\n}" + }, + { + "name": "Missing parameter in request body", + "originalRequest": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"firstname\": \"testfirstname\",\r\n \"lastname\": \"testlastname\",\r\n \"phonenumber\": \"132434432324\",\r\n \"password\": \"testpassword\",\r\n \"passwordConfirm\": \"testpassword\",\r\n \"role\": \"EndUser\"\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{serverURL}}/auth/signup", + "host": [ + "{{serverURL}}" + ], + "path": [ + "auth", + "signup" + ] + } + }, + "status": "Bad Request", + "code": 400, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "X-Powered-By", + "value": "Express" + }, + { + "key": "Access-Control-Allow-Origin", + "value": "*" + }, + { + "key": "Content-Type", + "value": "application/json; charset=utf-8" + }, + { + "key": "Content-Length", + "value": "50" + }, + { + "key": "ETag", + "value": "W/\"32-tsllkCjOfZjqGRDD05DWkr9e9rI\"" + }, + { + "key": "Date", + "value": "Fri, 21 Oct 2022 11:55:27 GMT" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "Keep-Alive", + "value": "timeout=5" + } + ], + "cookie": [], + "body": "{\n \"message\": \"Path `email` is required., Try again\"\n}" + }, + { + "name": "Invalid email", + "originalRequest": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"firstname\": \"testfirstname\",\r\n \"lastname\": \"testlastname\",\r\n \"email\": \"testemail@gmailcom\",\r\n \"phonenumber\": \"132434432324\",\r\n \"password\": \"testpassword\",\r\n \"passwordConfirm\": \"testpassword\",\r\n \"role\": \"EndUser\"\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{serverURL}}/auth/signup", + "host": [ + "{{serverURL}}" + ], + "path": [ + "auth", + "signup" + ] + } + }, + "status": "Bad Request", + "code": 400, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "X-Powered-By", + "value": "Express" + }, + { + "key": "Access-Control-Allow-Origin", + "value": "*" + }, + { + "key": "Content-Type", + "value": "application/json; charset=utf-8" + }, + { + "key": "Content-Length", + "value": "53" + }, + { + "key": "ETag", + "value": "W/\"35-qoUYJ8QnKqmP9s+uGrb6qCdkDgY\"" + }, + { + "key": "Date", + "value": "Fri, 21 Oct 2022 12:26:23 GMT" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "Keep-Alive", + "value": "timeout=5" + } + ], + "cookie": [], + "body": "{\n \"message\": \"Please Provide a valid Email, Try again\"\n}" + }, + { + "name": "Success", + "originalRequest": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"firstname\": \"testfirstname\",\r\n \"lastname\": \"testlastname\",\r\n \"email\": \"testemailf@gmail.com\",\r\n \"phonenumber\": \"132434432324\",\r\n \"password\": \"testpassword\",\r\n \"passwordConfirm\": \"testpassword\",\r\n \"role\": \"EndUser\"\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{serverURL}}/auth/signup", + "host": [ + "{{serverURL}}" + ], + "path": [ + "auth", + "signup" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "X-Powered-By", + "value": "Express" + }, + { + "key": "Access-Control-Allow-Origin", + "value": "*" + }, + { + "key": "Set-Cookie", + "value": "jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjYzNTI5MGYxODFmOGQ5NDFiNzdiYWY1MyIsInJvbGUiOiJFbmRVc2VyIiwiaWF0IjoxNjY2MzU1NDQxLCJleHAiOjE2NjY0NDE4NDF9.OqtwQG_JNc45qUyi50ApUsAhCFeyBSLlZbpAAzr3II8; Path=/; Expires=Sat, 22 Oct 2022 12:30:41 GMT; HttpOnly" + }, + { + "key": "Content-Type", + "value": "application/json; charset=utf-8" + }, + { + "key": "Content-Length", + "value": "385" + }, + { + "key": "ETag", + "value": "W/\"181-YLVyEGwLV1CVKmm6jp7AszmyC/c\"" + }, + { + "key": "Date", + "value": "Fri, 21 Oct 2022 12:30:41 GMT" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "Keep-Alive", + "value": "timeout=5" + } + ], + "cookie": [], + "body": "{\n \"status\": \"success\",\n \"token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjYzNTI5MGYxODFmOGQ5NDFiNzdiYWY1MyIsInJvbGUiOiJFbmRVc2VyIiwiaWF0IjoxNjY2MzU1NDQxLCJleHAiOjE2NjY0NDE4NDF9.OqtwQG_JNc45qUyi50ApUsAhCFeyBSLlZbpAAzr3II8\",\n \"data\": {\n \"user\": {\n \"firstname\": \"testfirstname\",\n \"lastname\": \"testlastname\",\n \"email\": \"testemailf@gmail.com\",\n \"role\": \"EndUser\",\n \"_id\": \"635290f181f8d941b77baf53\",\n \"__v\": 0\n }\n }\n}" + } + ] + }, + { + "name": "Login", + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"email\": \"testboatoperator@gmail.com\",\r\n \"password\": \"mymainpassword\"\r\n}\r\n", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{serverURL}}/auth/login", + "host": [ + "{{serverURL}}" + ], + "path": [ + "auth", + "login" + ] + }, + "description": "Returns access token, will be required for post login controls" + }, + "response": [ + { + "name": "Success", + "originalRequest": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"email\": \"molunorichie@gmail.com\",\r\n \"password\": \"testpassword\"\r\n}\r\n", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{serverURL}}/auth/login", + "host": [ + "{{serverURL}}" + ], + "path": [ + "auth", + "login" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "X-Powered-By", + "value": "Express" + }, + { + "key": "Access-Control-Allow-Origin", + "value": "*" + }, + { + "key": "Set-Cookie", + "value": "jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjYzNTQzZjI3NjVjOWUyZWIxMTIxZjM0OSIsInJvbGUiOiJFbmRVc2VyIiwiaWF0IjoxNjY2NDY2MjEzLCJleHAiOjE2NjY1NTI2MTN9.0YplnbhucHrYEP7PT2spl4atjpjopnQKlr6GP9uulQw; Path=/; Expires=Sun, 23 Oct 2022 19:16:53 GMT; HttpOnly" + }, + { + "key": "Content-Type", + "value": "application/json; charset=utf-8" + }, + { + "key": "Content-Length", + "value": "387" + }, + { + "key": "ETag", + "value": "W/\"183-YWlRcZJRKaANbDZaaGISgGA4vSw\"" + }, + { + "key": "Date", + "value": "Sat, 22 Oct 2022 19:16:53 GMT" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "Keep-Alive", + "value": "timeout=5" + } + ], + "cookie": [], + "body": "{\n \"status\": \"success\",\n \"token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjYzNTQzZjI3NjVjOWUyZWIxMTIxZjM0OSIsInJvbGUiOiJFbmRVc2VyIiwiaWF0IjoxNjY2NDY2MjEzLCJleHAiOjE2NjY1NTI2MTN9.0YplnbhucHrYEP7PT2spl4atjpjopnQKlr6GP9uulQw\",\n \"data\": {\n \"user\": {\n \"_id\": \"63543f2765c9e2eb1121f349\",\n \"firstname\": \"testfirstname\",\n \"lastname\": \"testlastname\",\n \"email\": \"molunorichie@gmail.com\",\n \"role\": \"EndUser\",\n \"__v\": 0\n }\n }\n}" + }, + { + "name": "Error: Missing parameter in request body", + "originalRequest": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"email\": \"molunorichie@gmail.com\"\r\n}\r\n", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{serverURL}}/auth/login", + "host": [ + "{{serverURL}}" + ], + "path": [ + "auth", + "login" + ] + } + }, + "status": "Bad Request", + "code": 400, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "X-Powered-By", + "value": "Express" + }, + { + "key": "Access-Control-Allow-Origin", + "value": "*" + }, + { + "key": "Content-Type", + "value": "application/json; charset=utf-8" + }, + { + "key": "Content-Length", + "value": "47" + }, + { + "key": "ETag", + "value": "W/\"2f-B1H8/2AIKbiOGWcs0V5A5vxtfaQ\"" + }, + { + "key": "Date", + "value": "Sat, 22 Oct 2022 19:17:25 GMT" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "Keep-Alive", + "value": "timeout=5" + } + ], + "cookie": [], + "body": "{\n \"message\": \"Please Provide Email and Password\"\n}" + }, + { + "name": "Error: Wrong password", + "originalRequest": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"email\": \"molunorichie@gmail.com\",\r\n \"password\": \"testpasfsword\"\r\n}\r\n", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{serverURL}}/auth/login", + "host": [ + "{{serverURL}}" + ], + "path": [ + "auth", + "login" + ] + } + }, + "status": "Bad Request", + "code": 400, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "X-Powered-By", + "value": "Express" + }, + { + "key": "Access-Control-Allow-Origin", + "value": "*" + }, + { + "key": "Content-Type", + "value": "application/json; charset=utf-8" + }, + { + "key": "Content-Length", + "value": "41" + }, + { + "key": "ETag", + "value": "W/\"29-eGsipgpXcWHlr5SopwzT7KlTq5M\"" + }, + { + "key": "Date", + "value": "Sat, 22 Oct 2022 19:18:08 GMT" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "Keep-Alive", + "value": "timeout=5" + } + ], + "cookie": [], + "body": "{\n \"message\": \"Incorrect Email or Password\"\n}" + }, + { + "name": "Error - Server error", + "originalRequest": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"email\": \"molunorichie@gmail.com\",\r\n \"password\": \"thisisthenewpassword\",\r\n \"role\": \"EndUser\"\r\n}\r\n", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{serverURL}}/auth/login", + "host": [ + "{{serverURL}}" + ], + "path": [ + "auth", + "login" + ] + } + }, + "status": "Internal Server Error", + "code": 500, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "X-Powered-By", + "value": "Express" + }, + { + "key": "Access-Control-Allow-Methods", + "value": "GET, OPTIONS, POST" + }, + { + "key": "Access-Control-Allow-Headers", + "value": "Content-Type, Authorization" + }, + { + "key": "Access-Control-Allow-Credentials", + "value": "true" + }, + { + "key": "Content-Type", + "value": "application/json; charset=utf-8" + }, + { + "key": "Content-Length", + "value": "30" + }, + { + "key": "ETag", + "value": "W/\"1e-vp9T52Eog83k6kdiVPvdQt5yUBU\"" + }, + { + "key": "Date", + "value": "Wed, 31 Aug 2022 05:31:32 GMT" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "Keep-Alive", + "value": "timeout=5" + } + ], + "cookie": [], + "body": "{\n \"message\": \"An error occured\"\n}" + } + ] + }, + { + "name": "Verify email", + "event": [ + { + "listen": "prerequest", + "script": { + "exec": [ + "pm.collectionVariables.set(\"email_verification_token\", \"f3dcdfb91f4125414a6815201070afa5ba0588a29508ab6fef8bde0350d494cb\");" + ], + "type": "text/javascript" + } + } + ], + "protocolProfileBehavior": { + "disableBodyPruning": true + }, + "request": { + "method": "GET", + "header": [], + "body": { + "mode": "raw", + "raw": "", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{serverURL}}/auth/verifyemail/{{email_verification_token}}", + "host": [ + "{{serverURL}}" + ], + "path": [ + "auth", + "verifyemail", + "{{email_verification_token}}" + ] + }, + "description": "Returns access token, will be required for post login controls" + }, + "response": [ + { + "name": "Success", + "originalRequest": { + "method": "GET", + "header": [], + "body": { + "mode": "raw", + "raw": "", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{serverURL}}/auth/verifyemail/{{email_verification_token}}", + "host": [ + "{{serverURL}}" + ], + "path": [ + "auth", + "verifyemail", + "{{email_verification_token}}" + ] + } + }, + "status": "Created", + "code": 201, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "X-Powered-By", + "value": "Express" + }, + { + "key": "Access-Control-Allow-Origin", + "value": "*" + }, + { + "key": "Content-Type", + "value": "application/json; charset=utf-8" + }, + { + "key": "Content-Length", + "value": "20" + }, + { + "key": "ETag", + "value": "W/\"14-Y53wuE/mmbSikKcT/WualL1N65U\"" + }, + { + "key": "Date", + "value": "Thu, 27 Oct 2022 02:59:06 GMT" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "Keep-Alive", + "value": "timeout=5" + } + ], + "cookie": [], + "body": "{\n \"status\": \"success\"\n}" + }, + { + "name": "Error - Invalid token", + "originalRequest": { + "method": "GET", + "header": [], + "body": { + "mode": "raw", + "raw": "", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{serverURL}}/auth/verifyemail/{{email_verification_token}}", + "host": [ + "{{serverURL}}" + ], + "path": [ + "auth", + "verifyemail", + "{{email_verification_token}}" + ] + } + }, + "status": "Not Found", + "code": 404, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "X-Powered-By", + "value": "Express" + }, + { + "key": "Access-Control-Allow-Origin", + "value": "*" + }, + { + "key": "Content-Type", + "value": "application/json; charset=utf-8" + }, + { + "key": "Content-Length", + "value": "75" + }, + { + "key": "ETag", + "value": "W/\"4b-qR6CPi9m9bdUuZ5BRvaqNQMBOGw\"" + }, + { + "key": "Date", + "value": "Thu, 27 Oct 2022 02:59:55 GMT" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "Keep-Alive", + "value": "timeout=5" + } + ], + "cookie": [], + "body": "{\n \"message\": \"Token Invalid or Token Expired, Request for a new reset token\"\n}" + } + ] + }, + { + "name": "Signin with Google", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJhbGciOiJSUzI1NiIsImtpZCI6IjIwOWMwNTdkM2JkZDhjMDhmMmQ1NzM5Nzg4NjMyNjczZjdjNjI0MGYiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJodHRwczovL2FjY291bnRzLmdvb2dsZS5jb20iLCJuYmYiOjE2NjM0MjExMzQsImF1ZCI6IjE3MzY0MDc1NzAxLWF2NDdicTFqZzlxb25pY2M5c3JtYzU5Z2Rkbms4MXZuLmFwcHMuZ29vZ2xldXNlcmNvbnRlbnQuY29tIiwic3ViIjoiMTEyNDA0MTg3NzQwNDM1NzM3NzQ0IiwiZW1haWwiOiJtb2x1bm9yaWNoaWVAZ21haWwuY29tIiwiZW1haWxfdmVyaWZpZWQiOnRydWUsImF6cCI6IjE3MzY0MDc1NzAxLWF2NDdicTFqZzlxb25pY2M5c3JtYzU5Z2Rkbms4MXZuLmFwcHMuZ29vZ2xldXNlcmNvbnRlbnQuY29tIiwibmFtZSI6IlJpY2hpZSBNb2x1bm8iLCJwaWN0dXJlIjoiaHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EvQUxtNXd1MWNjYUdrQkJEcWdDZFRRS2hUdER6blBJazh1LXVKamFBVmdvYlA9czk2LWMiLCJnaXZlbl9uYW1lIjoiUmljaGllIiwiZmFtaWx5X25hbWUiOiJNb2x1bm8iLCJpYXQiOjE2NjM0MjE0MzQsImV4cCI6MTY2MzQyNTAzNCwianRpIjoiZTMzMDRlOTljMTJkOGUwODgyOTg1MzRiNmZiNDlmMzg2NTBlMmRhOCJ9.yQ_1DMDgEAeQDf2WUU59Ff9Ryy06DvwNaIKmzBxIAQgMD3l2ocLpUYMzgi9-T8jOQ3snzGCgeLrYUniknW6Xti_FLuqMVPIUmfn7o4IgtKLMc8q9vN-Xe3InCFnwxQwSVbpIp6JeA-ocR7mUSlvBwLMZMCerPQK6vBbIdRmHmYaFtj1q0kaGE4gb-kWcDePMPS9O6y8QEBBY-UsON0wMLolFSxJlv2VZRr8f6RHOopXeZYYa3vgO5lzcL5jb-tyXv4wHNnDBm0FpRhnSillL96GnvACmRPRf5GHzBWKw1u1a6G1eKOksHoMdzQqtlwpxDZx-bLryeftCJtp7HZtklw", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{serverURL}}/auth/googlesignin", + "host": [ + "{{serverURL}}" + ], + "path": [ + "auth", + "googlesignin" + ] + }, + "description": "Returns access token, will be required for post login controls" + }, + "response": [ + { + "name": "Error - Server error", + "originalRequest": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"email\": \"molunorichie@gmail.com\",\r\n \"password\": \"thisisthenewpassword\",\r\n \"role\": \"EndUser\"\r\n}\r\n", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{serverURL}}/auth/login", + "host": [ + "{{serverURL}}" + ], + "path": [ + "auth", + "login" + ] + } + }, + "status": "Internal Server Error", + "code": 500, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "X-Powered-By", + "value": "Express" + }, + { + "key": "Access-Control-Allow-Methods", + "value": "GET, OPTIONS, POST" + }, + { + "key": "Access-Control-Allow-Headers", + "value": "Content-Type, Authorization" + }, + { + "key": "Access-Control-Allow-Credentials", + "value": "true" + }, + { + "key": "Content-Type", + "value": "application/json; charset=utf-8" + }, + { + "key": "Content-Length", + "value": "30" + }, + { + "key": "ETag", + "value": "W/\"1e-vp9T52Eog83k6kdiVPvdQt5yUBU\"" + }, + { + "key": "Date", + "value": "Wed, 31 Aug 2022 05:31:32 GMT" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "Keep-Alive", + "value": "timeout=5" + } + ], + "cookie": [], + "body": "{\n \"message\": \"An error occured\"\n}" + }, + { + "name": "Success", + "originalRequest": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"email\": \"mainuserforboayant@gmail.com\",\r\n \"password\": \"thisisthenewpassword\"\r\n}\r\n", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{serverURL}}/auth/login", + "host": [ + "{{serverURL}}" + ], + "path": [ + "auth", + "login" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "X-Powered-By", + "value": "Express" + }, + { + "key": "Access-Control-Allow-Origin", + "value": "*" + }, + { + "key": "Content-Type", + "value": "application/json; charset=utf-8" + }, + { + "key": "Content-Length", + "value": "921" + }, + { + "key": "ETag", + "value": "W/\"399-jgBJqEsdTBZnDMWsiMmSKUmWrnQ\"" + }, + { + "key": "Date", + "value": "Wed, 14 Sep 2022 16:55:04 GMT" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "Keep-Alive", + "value": "timeout=5" + } + ], + "cookie": [], + "body": "{\n \"message\": \"Login successful\",\n \"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI2MzIyMDI4ZmU1OTFhNWZjYzZlOWNkMjYiLCJlbWFpbCI6Im1haW51c2VyZm9yYm9heWFudEBnbWFpbC5jb20iLCJyb2xlIjoiRW5kVXNlciIsInJlc2V0X3Rva2VuIjpudWxsLCJpYXQiOjE2NjMxNzQ1MDR9.kcDfwh5x0mDdsfdGTLVancfclv3q6J_bqjwV4TiX8EY\",\n \"refresh_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI2MzIyMDI4ZmU1OTFhNWZjYzZlOWNkMjYiLCJlbWFpbCI6Im1haW51c2VyZm9yYm9heWFudEBnbWFpbC5jb20iLCJyb2xlIjoiRW5kVXNlciIsInJlc2V0X3Rva2VuIjpudWxsLCJhY2Nlc3NfdG9rZW4iOiJleUpoYkdjaU9pSklVekkxTmlJc0luUjVjQ0k2SWtwWFZDSjkuZXlKZmFXUWlPaUkyTXpJeU1ESTRabVUxT1RGaE5XWmpZelpsT1dOa01qWWlMQ0psYldGcGJDSTZJbTFoYVc1MWMyVnlabTl5WW05aGVXRnVkRUJuYldGcGJDNWpiMjBpTENKeWIyeGxJam9pUlc1a1ZYTmxjaUlzSW5KbGMyVjBYM1J2YTJWdUlqcHVkV3hzTENKcFlYUWlPakUyTmpNeE56UTFNRFI5LmtjRGZ3aDV4MG1EZHNmZEdUTFZhbmNmY2x2M3E2Sl9icWp3VjRUaVg4RVkiLCJpYXQiOjE2NjMxNzQ1MDR9.PYqHrgm79JEbn9YEzjtsx68ObojkZYzu9TTm8S1SDpQ\"\n}" + } + ] + }, + { + "name": "Forgot password", + "request": { + "auth": { + "type": "noauth" + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"email\": \"mainuserforboayant@gmail.com\"\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{serverURL}}/auth/password/reset", + "host": [ + "{{serverURL}}" + ], + "path": [ + "auth", + "password", + "reset" + ] + }, + "description": "Returns JWT token on success, should be used as bearer authorization token when confirming reset token" + }, + "response": [ + { + "name": "Success", + "originalRequest": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"email\": \"moluno.richie@gmail.com\"\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{serverURL}}/auth/forgotpassword", + "host": [ + "{{serverURL}}" + ], + "path": [ + "auth", + "forgotpassword" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "X-Powered-By", + "value": "Express" + }, + { + "key": "Access-Control-Allow-Origin", + "value": "*" + }, + { + "key": "Content-Type", + "value": "application/json; charset=utf-8" + }, + { + "key": "Content-Length", + "value": "52" + }, + { + "key": "ETag", + "value": "W/\"34-J+KiR2LYWXEVtkgkj6LXQpG0+rE\"" + }, + { + "key": "Date", + "value": "Thu, 27 Oct 2022 03:44:08 GMT" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "Keep-Alive", + "value": "timeout=5" + } + ], + "cookie": [], + "body": "{\n \"status\": \"success\",\n \"message\": \"Token sent to email\"\n}" + } + ] + }, + { + "name": "Reset password", + "event": [ + { + "listen": "prerequest", + "script": { + "exec": [ + "pm.collectionVariables.set(\"password_reset_token\", \"1fa85e7e0806d9e69b8dc72bf8df1806fa081bbef645913d1885dc5d848a2be2\");" + ], + "type": "text/javascript" + } + } + ], + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI2MzI2NzIyNDMxZGZiNjhkY2Q2YjBhNzYiLCJlbWFpbCI6InRlc3Rib2F0b3BlcmF0b3JAZ21haWwuY29tIiwicm9sZSI6IkJvYXRPcGVyYXRvciIsInJlc2V0X3Rva2VuIjoiMzYyMjE1IiwiaWF0IjoxNjYzNTE2OTcwLCJleHAiOjE2NjM1MjQxNzB9.IGFlubA_Xkw-qFEJAmJpMpUyxKKdnA7Zwdsnn8k98wA", + "type": "string" + } + ] + }, + "method": "PATCH", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"reset_token\": \"362215\",\r\n \"password\": \"thisisthenewpassword\"\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{serverURL}}/auth/resetpassword/{{password_reset_token}}", + "host": [ + "{{serverURL}}" + ], + "path": [ + "auth", + "resetpassword", + "{{password_reset_token}}" + ] + }, + "description": "Requires bearer token from password reset response" + }, + "response": [ + { + "name": "Success", + "originalRequest": { + "method": "PATCH", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"reset_token\": \"362215\",\r\n \"password\": \"thisisthenewpassword\"\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{serverURL}}/auth/resetpassword/{{password_reset_token}}", + "host": [ + "{{serverURL}}" + ], + "path": [ + "auth", + "resetpassword", + "{{password_reset_token}}" + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "header": [ + { + "key": "X-Powered-By", + "value": "Express" + }, + { + "key": "Access-Control-Allow-Origin", + "value": "*" + }, + { + "key": "Set-Cookie", + "value": "jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjYzNTlmMWM5MTczYWZjMGY4ZGY5NTRlZSIsInJvbGUiOiJBZG1pbiIsImlhdCI6MTY2Njg0MjE4NSwiZXhwIjoxNjY2OTI4NTg1fQ.pjWb8-O1KKuEaAnakDzs4WNld2UAQvInHMWN5bvvdNM; Path=/; Expires=Fri, 28 Oct 2022 03:43:05 GMT; HttpOnly" + }, + { + "key": "Content-Type", + "value": "application/json; charset=utf-8" + }, + { + "key": "Content-Length", + "value": "384" + }, + { + "key": "ETag", + "value": "W/\"180-VVtfdHtuhi85BzFAoPODKlvmSUY\"" + }, + { + "key": "Date", + "value": "Thu, 27 Oct 2022 03:43:05 GMT" + }, + { + "key": "Connection", + "value": "keep-alive" + }, + { + "key": "Keep-Alive", + "value": "timeout=5" + } + ], + "cookie": [], + "body": "{\n \"status\": \"success\",\n \"token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjYzNTlmMWM5MTczYWZjMGY4ZGY5NTRlZSIsInJvbGUiOiJBZG1pbiIsImlhdCI6MTY2Njg0MjE4NSwiZXhwIjoxNjY2OTI4NTg1fQ.pjWb8-O1KKuEaAnakDzs4WNld2UAQvInHMWN5bvvdNM\",\n \"data\": {\n \"user\": {\n \"_id\": \"6359f1c9173afc0f8df954ee\",\n \"firstname\": \"testfirstname\",\n \"lastname\": \"testlastname\",\n \"email\": \"moluno.richie@gmail.com\",\n \"role\": \"Admin\",\n \"__v\": 0\n }\n }\n}" + } + ] + }, + { + "name": "Get logged in users data", + "protocolProfileBehavior": { + "disableBodyPruning": true + }, + "request": { + "method": "GET", + "header": [], + "body": { + "mode": "raw", + "raw": "", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{serverURL}}/auth/user/", + "host": [ + "{{serverURL}}" + ], + "path": [ + "auth", + "user", + "" + ] + } + }, + "response": [] + } + ], + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI2MzJlZmZiZTA5MzlkZjIwMmVhMTE0NzgiLCJlbWFpbCI6ImJvYXlhbnQuYWRtaW5AZ21haWwuY29tIiwicm9sZSI6IlN1cGVyQWRtaW4iLCJyZXNldF90b2tlbiI6bnVsbCwiaWF0IjoxNjY1MTcxNDYxLCJleHAiOjE2NjUxOTMwNjF9.IyskNxidUYoREDul8orn8Vz_LgfI0JxaHk1nXXoFnZk", + "type": "string" + } + ] + }, + "event": [ + { + "listen": "prerequest", + "script": { + "type": "text/javascript", + "exec": [ + "" + ] + } + }, + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "" + ] + } + } + ] + }, + { + "name": "Controls: - SuperAdmin/Founder", + "item": [ + { + "name": "Get inactive accounts", + "protocolProfileBehavior": { + "disableBodyPruning": true + }, + "request": { + "method": "GET", + "header": [], + "body": { + "mode": "raw", + "raw": "", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{serverURL}}/auth/superadmin/getinactiveaccounts", + "host": [ + "{{serverURL}}" + ], + "path": [ + "auth", + "superadmin", + "getinactiveaccounts" + ] + } + }, + "response": [] + }, + { + "name": "Activate user account", + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"email\": \"moluno.richie@gmail.com\"\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{serverURL}}/superadmin/activateuser", + "host": [ + "{{serverURL}}" + ], + "path": [ + "superadmin", + "activateuser" + ] + } + }, + "response": [] + }, + { + "name": "Deactivate user account", + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"email\": \"moluno.ric.h.ie@gmail.com\"\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{serverURL}}/superadmin/deactivateuser", + "host": [ + "{{serverURL}}" + ], + "path": [ + "superadmin", + "deactivateuser" + ] + } + }, + "response": [] + }, + { + "name": "Add new user/admin", + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"firstname\": \"Moluno\",\r\n \"lastname\": \"Main\",\r\n \"email\": \"richy.moluno@gmail.com\",\r\n \"password\": \"thispasswordisthemainpassword\",\r\n \"phonenumber\": \"+23484568560\"\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{serverURL}}/auth/admin/newuser", + "host": [ + "{{serverURL}}" + ], + "path": [ + "auth", + "admin", + "newuser" + ] + } + }, + "response": [] + } + ], + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI2MzJlZmZiZTA5MzlkZjIwMmVhMTE0NzgiLCJlbWFpbCI6ImJvYXlhbnQuYWRtaW5AZ21haWwuY29tIiwicm9sZSI6IlN1cGVyQWRtaW4iLCJyZXNldF90b2tlbiI6bnVsbCwiaWF0IjoxNjY1MzIzMTU4LCJleHAiOjE2NjUzNDQ3NTh9.G4kYd2jm0nrOi5a72_BhhY0t32skYV6maggW4n35XMo", + "type": "string" + } + ] + }, + "event": [ + { + "listen": "prerequest", + "script": { + "type": "text/javascript", + "exec": [ + "" + ] + } + }, + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "" + ] + } + } + ] + } + ], + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI2MzJlZmZiZTA5MzlkZjIwMmVhMTE0NzgiLCJlbWFpbCI6ImJvYXlhbnQuYWRtaW5AZ21haWwuY29tIiwicm9sZSI6IlN1cGVyQWRtaW4iLCJyZXNldF90b2tlbiI6bnVsbCwiaWF0IjoxNjY1OTMwMTUzLCJleHAiOjE2NjU5NTE3NTN9.UXw7eWW3P2p2c_3bFxQgGsqkKkzzjFsrLjrGkMAsbEQ", + "type": "string" + } + ] + }, + "event": [ + { + "listen": "prerequest", + "script": { + "type": "text/javascript", + "exec": [ + "" + ] + } + }, + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "" + ] + } + } + ], + "variable": [ + { + "key": "serverURL", + "value": "https://boayant-363004.ue.r.appspot.com/api" + }, + { + "key": "email_verificaition_token", + "value": "" + }, + { + "key": "email_verification_token", + "value": "" + }, + { + "key": "password_reset_token", + "value": "" + } + ] +} \ No newline at end of file