{"info":{"_postman_id":"b4358d42-0569-4672-837c-2b334723648b","name":"Bookstore","description":"<html><head></head><body><p>API Docs for my Secure Bookstore Application.</p>\n<p>Baseurl: <a href=\"http://bookstore.anrdhmshr.tech/api/v1\">http://bookstore.anrdhmshr.tech/api/v1</a></p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"19697822","collectionId":"b4358d42-0569-4672-837c-2b334723648b","publishedId":"2s9Y5Wxifq","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2023-08-25T05:19:57.000Z"},"item":[{"name":"Auth","item":[{"name":"Register","id":"ab30d6f9-740b-4333-a7d4-d0224ad2970d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"email\": \"testuser2@anrdhmshr.com\",\n    \"name\": \"Test User 2\",\n    \"password\": \"Testpwd@111\"\n}","options":{"raw":{"language":"json"}}},"url":"{{hostname}}/auth/register","urlObject":{"path":["auth","register"],"host":["{{hostname}}"],"query":[],"variable":[]}},"response":[{"id":"f5810b7d-9c61-4a93-9228-e571725aac56","name":"Register","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"email\": \"anirudh04storage@gmail.com\",\n    \"name\": \"Johnny Smith The Second\",\n    \"password\": \"Testpwd@111\"\n}","options":{"raw":{"language":"json"}}},"url":"{{hostname}}/auth/register"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Access-Control-Allow-Headers","value":"Origin, Content-Type, api_key, Content-Length, Accept-Encoding, X-CSRF-Token, Authorization"},{"key":"Access-Control-Allow-Methods","value":"POST, GET, OPTIONS, PUT, DELETE, UPDATE"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Expose-Headers","value":"Content-Length"},{"key":"Access-Control-Max-Age","value":"86400"},{"key":"Cache-Control","value":"no-cache"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Thu, 24 Aug 2023 11:46:52 GMT"},{"key":"Content-Length","value":"52"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"User created. Verification email sent!\"\n}"}],"_postman_id":"ab30d6f9-740b-4333-a7d4-d0224ad2970d"},{"name":"Login","event":[{"listen":"test","script":{"id":"39bb4ba3-09e7-48bd-a1f2-bfdb980beea4","exec":["pm.collectionVariables.set(\"token\", pm.response.json().token);"],"type":"text/javascript"}}],"id":"a56575fd-28a4-43f3-9636-9093dcf5862b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"email\":\"anirudh04mishra@gmail.com\",\n    \"password\":\"Testpwd@111\"\n}","options":{"raw":{"language":"json"}}},"url":"{{hostname}}/auth/login","urlObject":{"path":["auth","login"],"host":["{{hostname}}"],"query":[],"variable":[]}},"response":[{"id":"465c76b9-dc29-462b-b578-0f5da81a7fb4","name":"Login","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"email\":\"anirudh04storage@gmail.com\",\n    \"password\":\"Testpwd@111\"\n}","options":{"raw":{"language":"json"}}},"url":"{{hostname}}/auth/login"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Access-Control-Allow-Headers","value":"Origin, Content-Type, api_key, Content-Length, Accept-Encoding, X-CSRF-Token, Authorization"},{"key":"Access-Control-Allow-Methods","value":"POST, GET, OPTIONS, PUT, DELETE, UPDATE"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Expose-Headers","value":"Content-Length"},{"key":"Access-Control-Max-Age","value":"86400"},{"key":"Cache-Control","value":"no-cache"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Fri, 25 Aug 2023 04:53:29 GMT"},{"key":"Content-Length","value":"764"}],"cookie":[],"responseTime":null,"body":"{\n    \"token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdXRob3JpemVkIjp0cnVlLCJleHAiOjE2OTMwMjU2MDksImlkIjoyfQ.qt4RvAu14VUnFi2OmZyrs4vyD8eqtk-OihGuvmOHxIM\",\n    \"user\": {\n        \"ID\": 2,\n        \"CreatedAt\": \"2023-08-22T22:48:46.708268+06:00\",\n        \"UpdatedAt\": \"2023-08-22T22:48:46.708268+06:00\",\n        \"DeletedAt\": null,\n        \"Email\": \"anirudh04mishra@gmail.com\",\n        \"Password\": \"$2a$10$Zpqna9cO0b3gJmJ43sNpvOG0DYi9bjxxI5YE/WClNV8YBUPjpps6K\",\n        \"Name\": \"Anirudh Mishra\",\n        \"Role\": \"admin\",\n        \"Verified\": true,\n        \"Banned\": false,\n        \"ShoppingCart\": {\n            \"ID\": 0,\n            \"CreatedAt\": \"0001-01-01T00:00:00Z\",\n            \"UpdatedAt\": \"0001-01-01T00:00:00Z\",\n            \"DeletedAt\": null,\n            \"UserID\": 0,\n            \"Books\": null\n        },\n        \"UserLibrary\": {\n            \"ID\": 0,\n            \"CreatedAt\": \"0001-01-01T00:00:00Z\",\n            \"UpdatedAt\": \"0001-01-01T00:00:00Z\",\n            \"DeletedAt\": null,\n            \"UserID\": 0,\n            \"Books\": null\n        },\n        \"UserReviews\": [],\n        \"Transactions\": null\n    }\n}"},{"id":"29697f24-1bb4-496f-a8ca-6bc6d51cdc97","name":"Failure","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"email\":\"anirudh04mishra@gmail.com\",\n    \"password\":\"Test@11122\"\n}","options":{"raw":{"language":"json"}}},"url":"{{hostname}}/auth/login"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Access-Control-Allow-Headers","value":"Origin, Content-Type, api_key, Content-Length, Accept-Encoding, X-CSRF-Token, Authorization"},{"key":"Access-Control-Allow-Methods","value":"POST, GET, OPTIONS, PUT, DELETE, UPDATE"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Expose-Headers","value":"Content-Length"},{"key":"Access-Control-Max-Age","value":"86400"},{"key":"Cache-Control","value":"no-cache"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Fri, 25 Aug 2023 04:56:45 GMT"},{"key":"Content-Length","value":"48"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"The email or password is not correct\"\n}"}],"_postman_id":"a56575fd-28a4-43f3-9636-9093dcf5862b"},{"name":"Verification","id":"d1ca0665-bc1b-49ce-b76d-aeaeea86f682","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[],"url":"{{hostname}}/auth/verify?email=anirudh.mishra21@vitstudent.ac.in&otp=594894","urlObject":{"path":["auth","verify"],"host":["{{hostname}}"],"query":[{"key":"email","value":"anirudh.mishra21@vitstudent.ac.in"},{"key":"otp","value":"594894"}],"variable":[]}},"response":[{"id":"8fa9e465-df82-4b56-9c4d-88ebd15a287e","name":"Success","originalRequest":{"method":"POST","header":[],"url":{"raw":"{{hostname}}/auth/verify?email=anirudh04storage@gmail.com&otp=926977","host":["{{hostname}}"],"path":["auth","verify"],"query":[{"key":"email","value":"anirudh04storage@gmail.com"},{"key":"otp","value":"926977"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Access-Control-Allow-Headers","value":"Origin, Content-Type, api_key, Content-Length, Accept-Encoding, X-CSRF-Token, Authorization"},{"key":"Access-Control-Allow-Methods","value":"POST, GET, OPTIONS, PUT, DELETE, UPDATE"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Expose-Headers","value":"Content-Length"},{"key":"Access-Control-Max-Age","value":"86400"},{"key":"Cache-Control","value":"no-cache"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Thu, 24 Aug 2023 13:46:38 GMT"},{"key":"Content-Length","value":"43"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Verified! You can now log in.\"\n}"}],"_postman_id":"d1ca0665-bc1b-49ce-b76d-aeaeea86f682"},{"name":"Delete Account","id":"e6f3c5f6-ec6f-4477-99d1-15ae7fa110dd","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"url":"{{hostname}}/auth/delete-account?email=anirudh04mishra@gmail.com&otp=828889","description":"<p>Deletes all info associated with your account (user details, cart, library) except transactions (kept with userid anonymised).</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"yourtoken"}]},"isInherited":true,"source":{"_postman_id":"b4358d42-0569-4672-837c-2b334723648b","id":"b4358d42-0569-4672-837c-2b334723648b","name":"Bookstore","type":"collection"}},"urlObject":{"path":["auth","delete-account"],"host":["{{hostname}}"],"query":[{"key":"email","value":"anirudh04mishra@gmail.com"},{"key":"otp","value":"828889"}],"variable":[]}},"response":[{"id":"24e8d506-4ecc-412c-9c81-87a98bd090b2","name":"Expired Token","originalRequest":{"method":"POST","header":[],"url":{"raw":"{{hostname}}/auth/delete-account?email=anirudh04storage@gmail.com&otp=895080","host":["{{hostname}}"],"path":["auth","delete-account"],"query":[{"key":"email","value":"anirudh04storage@gmail.com"},{"key":"otp","value":"895080"}]}},"status":"Forbidden","code":403,"_postman_previewlanguage":"json","header":[{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Access-Control-Allow-Headers","value":"Origin, Content-Type, api_key, Content-Length, Accept-Encoding, X-CSRF-Token, Authorization"},{"key":"Access-Control-Allow-Methods","value":"POST, GET, OPTIONS, PUT, DELETE, UPDATE"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Expose-Headers","value":"Content-Length"},{"key":"Access-Control-Max-Age","value":"86400"},{"key":"Cache-Control","value":"no-cache"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Thu, 24 Aug 2023 11:39:52 GMT"},{"key":"Content-Length","value":"91"}],"cookie":[],"responseTime":null,"body":"{\"error\":\"token expired, please request again.\"}"}],"_postman_id":"e6f3c5f6-ec6f-4477-99d1-15ae7fa110dd"},{"name":"Request Deletion","id":"ebe34c35-a8a8-4394-ba39-ab46d2d560d4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"url":"{{hostname}}/auth/request-account-deletion","description":"<p>Mails user an OTP which is valid for 3 minutes.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"yourtoken"}]},"isInherited":true,"source":{"_postman_id":"b4358d42-0569-4672-837c-2b334723648b","id":"b4358d42-0569-4672-837c-2b334723648b","name":"Bookstore","type":"collection"}},"urlObject":{"path":["auth","request-account-deletion"],"host":["{{hostname}}"],"query":[],"variable":[]}},"response":[{"id":"2bd6cda2-ec27-4239-a4e2-c25e16e3d308","name":"Success","originalRequest":{"method":"POST","header":[],"url":"{{hostname}}/auth/request-account-deletion"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Access-Control-Allow-Headers","value":"Origin, Content-Type, api_key, Content-Length, Accept-Encoding, X-CSRF-Token, Authorization"},{"key":"Access-Control-Allow-Methods","value":"POST, GET, OPTIONS, PUT, DELETE, UPDATE"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Expose-Headers","value":"Content-Length"},{"key":"Access-Control-Max-Age","value":"86400"},{"key":"Cache-Control","value":"no-cache"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Thu, 24 Aug 2023 19:15:34 GMT"},{"key":"Content-Length","value":"40"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Deletion request submitted\"\n}"}],"_postman_id":"ebe34c35-a8a8-4394-ba39-ab46d2d560d4"},{"name":"Reset Password","id":"dc99443f-0938-46c1-8a63-cdb136ad19bc","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"old_password\":\"NewPassword@29304\",\n    \"new_password\":\"Password@29304\"\n}","options":{"raw":{"language":"json"}}},"url":"{{hostname}}/auth/reset-password","description":"<p>For logged in users to reset their password (forgot password is separate)</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"yourtoken"}]},"isInherited":true,"source":{"_postman_id":"b4358d42-0569-4672-837c-2b334723648b","id":"b4358d42-0569-4672-837c-2b334723648b","name":"Bookstore","type":"collection"}},"urlObject":{"path":["auth","reset-password"],"host":["{{hostname}}"],"query":[],"variable":[]}},"response":[{"id":"0044bf0f-4871-490c-87ff-38f3bbcb9af0","name":"New Request","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"old_password\":\"Password@29304\",\n    \"new_password\":\"NewPassword@29304\"\n}","options":{"raw":{"language":"json"}}},"url":"{{hostname}}/auth/reset-password"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Access-Control-Allow-Headers","value":"Origin, Content-Type, api_key, Content-Length, Accept-Encoding, X-CSRF-Token, Authorization"},{"key":"Access-Control-Allow-Methods","value":"POST, GET, OPTIONS, PUT, DELETE, UPDATE"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Expose-Headers","value":"Content-Length"},{"key":"Access-Control-Max-Age","value":"86400"},{"key":"Cache-Control","value":"no-cache"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Thu, 24 Aug 2023 12:04:39 GMT"},{"key":"Content-Length","value":"41"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Password reset successfully\"\n}"}],"_postman_id":"dc99443f-0938-46c1-8a63-cdb136ad19bc"},{"name":"Req Verification Again","id":"b0614761-0354-4adc-8910-83c31195fd6c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[],"url":"{{hostname}}/auth/request-verification?email=anirudh04mishra@gmail.com","urlObject":{"path":["auth","request-verification"],"host":["{{hostname}}"],"query":[{"key":"email","value":"anirudh04mishra@gmail.com"}],"variable":[]}},"response":[],"_postman_id":"b0614761-0354-4adc-8910-83c31195fd6c"},{"name":"Forgot Password","id":"c4bc0b79-577a-46ee-8e8f-40cb76bcdd5b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[],"url":"{{hostname}}/auth/forgot-password?email=anirudh04mishra@gmail.com","description":"<p>Mails an OTP which is valid for 3 minutes.</p>\n","urlObject":{"path":["auth","forgot-password"],"host":["{{hostname}}"],"query":[{"key":"email","value":"anirudh04mishra@gmail.com"}],"variable":[]}},"response":[],"_postman_id":"c4bc0b79-577a-46ee-8e8f-40cb76bcdd5b"},{"name":"Set Forgotten Password","id":"4dfa0feb-3760-4ce3-b272-0fc82bafad5d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"new_password\":\"Password@29304\"\n}","options":{"raw":{"language":"json"}}},"url":"{{hostname}}/auth/set-forgotten-password?email=anirudh04storage@gmail.com","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"yourtoken"}]},"isInherited":true,"source":{"_postman_id":"b4358d42-0569-4672-837c-2b334723648b","id":"b4358d42-0569-4672-837c-2b334723648b","name":"Bookstore","type":"collection"}},"urlObject":{"path":["auth","set-forgotten-password"],"host":["{{hostname}}"],"query":[{"key":"email","value":"anirudh04storage@gmail.com"},{"disabled":true,"key":"otp","value":"707495"}],"variable":[]}},"response":[{"id":"129bf73c-0d9a-4134-9194-122ce754091a","name":"New Request","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"new_password\":\"Password@29304\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"{{hostname}}/auth/set-forgotten-password?email=anirudh04storage@gmail.com&otp=502296","host":["{{hostname}}"],"path":["auth","set-forgotten-password"],"query":[{"key":"email","value":"anirudh04storage@gmail.com"},{"key":"otp","value":"502296"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Access-Control-Allow-Headers","value":"Origin, Content-Type, api_key, Content-Length, Accept-Encoding, X-CSRF-Token, Authorization"},{"key":"Access-Control-Allow-Methods","value":"POST, GET, OPTIONS, PUT, DELETE, UPDATE"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Expose-Headers","value":"Content-Length"},{"key":"Access-Control-Max-Age","value":"86400"},{"key":"Cache-Control","value":"no-cache"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Thu, 24 Aug 2023 14:26:35 GMT"},{"key":"Content-Length","value":"65"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Password set successfully. Please proceed to login.\"\n}"}],"_postman_id":"4dfa0feb-3760-4ce3-b272-0fc82bafad5d"}],"id":"a6c3d8af-101f-4af4-8def-5bc5dd4c9329","_postman_id":"a6c3d8af-101f-4af4-8def-5bc5dd4c9329","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"yourtoken"}]},"isInherited":true,"source":{"_postman_id":"b4358d42-0569-4672-837c-2b334723648b","id":"b4358d42-0569-4672-837c-2b334723648b","name":"Bookstore","type":"collection"}}},{"name":"Admin","item":[{"name":"Create Book","id":"b4299d8b-fedc-4592-891b-df6a70905f5c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"formdata","formdata":[{"key":"Name","value":"Nice Book","type":"text"},{"key":"Author","value":"Anirudh Mishra","type":"text"},{"key":"Publisher","value":"Self","type":"text"},{"key":"Date","value":"1994-04-18T21:54:42.123Z","type":"text"},{"key":"Price","value":"1200","type":"text"},{"key":"ISBN","value":"9780547928223","type":"text"},{"key":"Category","value":"mystery","type":"text"},{"key":"file","type":"file","src":"/Users/anirudhmishra/Downloads/resume_anirudh.pdf"},{"key":"Tags","value":"","type":"text","disabled":true}]},"url":"{{hostname}}/admin/books","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"yourtoken"}]},"isInherited":true,"source":{"_postman_id":"b4358d42-0569-4672-837c-2b334723648b","id":"b4358d42-0569-4672-837c-2b334723648b","name":"Bookstore","type":"collection"}},"urlObject":{"path":["admin","books"],"host":["{{hostname}}"],"query":[],"variable":[]}},"response":[{"id":"b90c8e57-1011-4908-9b64-4376a34255ea","name":"New Request","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"name\": \"The Fellowship of The Ring\",\n    \"author\": \"J. R. R. Tolkien\",\n    \"publisher\": \"George Allen & Unwin\",\n    \"date\": \"1954-02-18T21:54:42.123Z\",\n    \"price\": 800,\n    \"isbn\": \"9780547928210\",\n    \"category\": \"fantasy\"\n}","options":{"raw":{"language":"json"}}},"url":"{{hostname}}/admin/books"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Access-Control-Allow-Headers","value":"Origin, Content-Type, api_key, Content-Length, Accept-Encoding, X-CSRF-Token, Authorization"},{"key":"Access-Control-Allow-Methods","value":"POST, GET, OPTIONS, PUT, DELETE, UPDATE"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Expose-Headers","value":"Content-Length"},{"key":"Access-Control-Max-Age","value":"86400"},{"key":"Cache-Control","value":"no-cache"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Wed, 23 Aug 2023 06:35:34 GMT"},{"key":"Content-Length","value":"452"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"ID\": 10,\n        \"CreatedAt\": \"2023-08-23T12:35:34.26251788+06:00\",\n        \"UpdatedAt\": \"2023-08-23T12:35:34.26251788+06:00\",\n        \"DeletedAt\": null,\n        \"Name\": \"The Fellowship of The Ring\",\n        \"Author\": \"J. R. R. Tolkien\",\n        \"Publisher\": \"George Allen & Unwin\",\n        \"Date\": \"1954-02-18T21:54:42.123Z\",\n        \"Year\": \"0001-01-01T00:00:00Z\",\n        \"Price\": 800,\n        \"ISBN\": \"9780547928210\",\n        \"Category\": \"fantasy\",\n        \"ShoppingCarts\": null,\n        \"UserLibraries\": null,\n        \"Reviews\": null\n    },\n    \"message\": \"Book created successfully\"\n}"}],"_postman_id":"b4299d8b-fedc-4592-891b-df6a70905f5c"},{"name":"Edit Book","id":"d2a0c219-463b-4a49-acf3-c5228bf3f4a6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[],"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"yourtoken"}]},"isInherited":true,"source":{"_postman_id":"b4358d42-0569-4672-837c-2b334723648b","id":"b4358d42-0569-4672-837c-2b334723648b","name":"Bookstore","type":"collection"}},"urlObject":{"query":[],"variable":[]},"url":""},"response":[],"_postman_id":"d2a0c219-463b-4a49-acf3-c5228bf3f4a6"},{"name":"All Transacs","id":"5e3707bc-58fe-4db2-b4df-189de6c4f9e1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{hostname}}/admin/transactions","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"yourtoken"}]},"isInherited":true,"source":{"_postman_id":"b4358d42-0569-4672-837c-2b334723648b","id":"b4358d42-0569-4672-837c-2b334723648b","name":"Bookstore","type":"collection"}},"urlObject":{"path":["admin","transactions"],"host":["{{hostname}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"5e3707bc-58fe-4db2-b4df-189de6c4f9e1"},{"name":"Delete Review","id":"c5698396-55a7-408f-bdfe-1585f4428165","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"{{hostname}}/admin/reviews/1","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"yourtoken"}]},"isInherited":true,"source":{"_postman_id":"b4358d42-0569-4672-837c-2b334723648b","id":"b4358d42-0569-4672-837c-2b334723648b","name":"Bookstore","type":"collection"}},"urlObject":{"path":["admin","reviews","1"],"host":["{{hostname}}"],"query":[],"variable":[]}},"response":[{"id":"aa072f72-4176-4412-8041-8eef547d730d","name":"Success","originalRequest":{"method":"DELETE","header":[],"url":"{{hostname}}/admin/reviews/1"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Access-Control-Allow-Headers","value":"Origin, Content-Type, api_key, Content-Length, Accept-Encoding, X-CSRF-Token, Authorization"},{"key":"Access-Control-Allow-Methods","value":"POST, GET, OPTIONS, PUT, DELETE, UPDATE"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Expose-Headers","value":"Content-Length"},{"key":"Access-Control-Max-Age","value":"86400"},{"key":"Cache-Control","value":"no-cache"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Wed, 23 Aug 2023 16:29:42 GMT"},{"key":"Content-Length","value":"41"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Review deleted successfully\"\n}"},{"id":"04f095c2-c604-460e-805d-f3365530aa93","name":"Not Admin","originalRequest":{"method":"DELETE","header":[],"url":"{{hostname}}/admin/reviews/1"},"status":"Forbidden","code":403,"_postman_previewlanguage":"json","header":[{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Access-Control-Allow-Headers","value":"Origin, Content-Type, api_key, Content-Length, Accept-Encoding, X-CSRF-Token, Authorization"},{"key":"Access-Control-Allow-Methods","value":"POST, GET, OPTIONS, PUT, DELETE, UPDATE"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Expose-Headers","value":"Content-Length"},{"key":"Access-Control-Max-Age","value":"86400"},{"key":"Cache-Control","value":"no-cache"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Fri, 25 Aug 2023 04:58:47 GMT"},{"key":"Content-Length","value":"29"}],"cookie":[],"responseTime":null,"body":"{\n    \"Forbidden\": \"Access denied\"\n}"}],"_postman_id":"c5698396-55a7-408f-bdfe-1585f4428165"},{"name":"Hard Delete Book","id":"45371e3d-a875-4b00-894a-88fbf9c0f14d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"{{hostname}}/admin/books/12/hard","description":"<p>Deletes Book from catalog, carts AND user libraries. Use Delete Book to avoid deletion from user library.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"yourtoken"}]},"isInherited":true,"source":{"_postman_id":"b4358d42-0569-4672-837c-2b334723648b","id":"b4358d42-0569-4672-837c-2b334723648b","name":"Bookstore","type":"collection"}},"urlObject":{"path":["admin","books","12","hard"],"host":["{{hostname}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"45371e3d-a875-4b00-894a-88fbf9c0f14d"},{"name":"Delete Book","id":"78c810cb-ef9d-40d6-8377-5669cf44a083","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"{{hostname}}/admin/books/5","description":"<p>Delete's only from catalog and carts (not a true delete). Users cannot add it to cart/checkout anymore, but users who already own in will not be affected.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"yourtoken"}]},"isInherited":true,"source":{"_postman_id":"b4358d42-0569-4672-837c-2b334723648b","id":"b4358d42-0569-4672-837c-2b334723648b","name":"Bookstore","type":"collection"}},"urlObject":{"path":["admin","books","5"],"host":["{{hostname}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"78c810cb-ef9d-40d6-8377-5669cf44a083"},{"name":"All Users (Undeleted)","id":"2c4c242e-8da1-4cef-aa34-ddcec40cd3b2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{hostname}}/admin/users","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"yourtoken"}]},"isInherited":true,"source":{"_postman_id":"b4358d42-0569-4672-837c-2b334723648b","id":"b4358d42-0569-4672-837c-2b334723648b","name":"Bookstore","type":"collection"}},"urlObject":{"path":["admin","users"],"host":["{{hostname}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"2c4c242e-8da1-4cef-aa34-ddcec40cd3b2"},{"name":"Ban User","id":"555deb11-3fd5-4513-a326-1721282ea8bf","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"url":"{{hostname}}/admin/users/1","description":"<p>Toggles user ban status. If not banned, bans them. If banned, unbans then. A banned user can no longer login, but their account is otherwise unaffected (i.e., it is not deleted).</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"yourtoken"}]},"isInherited":true,"source":{"_postman_id":"b4358d42-0569-4672-837c-2b334723648b","id":"b4358d42-0569-4672-837c-2b334723648b","name":"Bookstore","type":"collection"}},"urlObject":{"path":["admin","users","1"],"host":["{{hostname}}"],"query":[{"disabled":true,"key":"status","value":"true"}],"variable":[]}},"response":[{"id":"5c900ec6-a4fa-43f7-b4c8-3965e8855d2f","name":"New Request","originalRequest":{"method":"POST","header":[],"url":{"raw":"{{hostname}}/admin/users/32","host":["{{hostname}}"],"path":["admin","users","32"],"query":[{"key":"status","value":"true","type":"text","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Access-Control-Allow-Headers","value":"Origin, Content-Type, api_key, Content-Length, Accept-Encoding, X-CSRF-Token, Authorization"},{"key":"Access-Control-Allow-Methods","value":"POST, GET, OPTIONS, PUT, DELETE, UPDATE"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Expose-Headers","value":"Content-Length"},{"key":"Access-Control-Max-Age","value":"86400"},{"key":"Cache-Control","value":"no-cache"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Thu, 24 Aug 2023 10:16:44 GMT"},{"key":"Content-Length","value":"50"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"User ban status changed successfully\"\n}"}],"_postman_id":"555deb11-3fd5-4513-a326-1721282ea8bf"},{"name":"Manual Verify","id":"72ec58fa-853b-4d8b-b013-a7620de27f5c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"url":"{{hostname}}/admin/verify/user/9","description":"<p>Helper route for testing with accounts attached to dummy mail IDs.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"yourtoken"}]},"isInherited":true,"source":{"_postman_id":"b4358d42-0569-4672-837c-2b334723648b","id":"b4358d42-0569-4672-837c-2b334723648b","name":"Bookstore","type":"collection"}},"urlObject":{"path":["admin","verify","user","9"],"host":["{{hostname}}"],"query":[],"variable":[]}},"response":[{"id":"1bf51874-aa3a-4796-8c69-9ab343988225","name":"Manual Verify","originalRequest":{"method":"POST","header":[],"url":"{{hostname}}/admin/verify/user/4"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx"},{"key":"Date","value":"Fri, 01 Sep 2023 18:18:02 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"40"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Access-Control-Allow-Headers","value":"Origin, Content-Type, api_key, Content-Length, Accept-Encoding, X-CSRF-Token, Authorization"},{"key":"Access-Control-Allow-Methods","value":"POST, GET, OPTIONS, PUT, DELETE, UPDATE"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Expose-Headers","value":"Content-Length"},{"key":"Access-Control-Max-Age","value":"86400"},{"key":"Cache-Control","value":"no-cache"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"User verified successfully\"\n}"}],"_postman_id":"72ec58fa-853b-4d8b-b013-a7620de27f5c"}],"id":"fbc761a0-48c8-4416-a910-980f24a5884f","_postman_id":"fbc761a0-48c8-4416-a910-980f24a5884f","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"yourtoken"}]},"isInherited":true,"source":{"_postman_id":"b4358d42-0569-4672-837c-2b334723648b","id":"b4358d42-0569-4672-837c-2b334723648b","name":"Bookstore","type":"collection"}}},{"name":"Books","item":[{"name":"Get Books","id":"2029a9e4-8a8e-456f-abe8-6cb4337d480f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{hostname}}/books/catalog","description":"<p>Paginated response. Use category query to match exact categories (mystery, fantasy, etc.). Use search query for a fuzzy match with book title, author name, etc. Sorting available.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"yourtoken"}]},"isInherited":true,"source":{"_postman_id":"b4358d42-0569-4672-837c-2b334723648b","id":"b4358d42-0569-4672-837c-2b334723648b","name":"Bookstore","type":"collection"}},"urlObject":{"path":["books","catalog"],"host":["{{hostname}}"],"query":[{"disabled":true,"key":"page","value":"1"},{"disabled":true,"key":"category","value":"mystery"},{"disabled":true,"key":"search","value":"9780547928210"},{"disabled":true,"key":"sortByPrice","value":"desc"},{"disabled":true,"key":"sortByNewness","value":"desc"}],"variable":[]}},"response":[{"id":"1ecdf642-47ba-405d-8a6d-5cea9ef4840d","name":"Get Books","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{hostname}}/books/catalog","host":["{{hostname}}"],"path":["books","catalog"],"query":[{"key":"page","value":"1","disabled":true},{"key":"category","value":"mystery","disabled":true},{"key":"search","value":"9780547928210","type":"text","disabled":true},{"key":"sortByPrice","value":"desc","disabled":true},{"key":"sortByNewness","value":"desc","type":"text","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Access-Control-Allow-Headers","value":"Origin, Content-Type, api_key, Content-Length, Accept-Encoding, X-CSRF-Token, Authorization"},{"key":"Access-Control-Allow-Methods","value":"POST, GET, OPTIONS, PUT, DELETE, UPDATE"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Expose-Headers","value":"Content-Length"},{"key":"Access-Control-Max-Age","value":"86400"},{"key":"Cache-Control","value":"no-cache"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Thu, 24 Aug 2023 15:12:07 GMT"},{"key":"Content-Length","value":"1779"}],"cookie":[],"responseTime":null,"body":"{\n    \"books\": [\n        {\n            \"ID\": 7,\n            \"CreatedAt\": \"2023-08-23T12:09:06.141604+06:00\",\n            \"UpdatedAt\": \"2023-08-23T12:09:06.141604+06:00\",\n            \"DeletedAt\": null,\n            \"Name\": \"Words of Radiance\",\n            \"Author\": \"Brandon Sanderson\",\n            \"Publisher\": \"Tor Books\",\n            \"Date\": \"2021-02-19T03:54:42.123+06:00\",\n            \"Year\": \"0001-01-01T06:01:40+06:01\",\n            \"Price\": 500,\n            \"FilePath\": \"\",\n            \"ISBN\": \"9780765365286\",\n            \"Category\": \"fantasy\",\n            \"ShoppingCarts\": null,\n            \"UserLibraries\": null,\n            \"Reviews\": [],\n            \"CatalogDelete\": false,\n            \"AvgRating\": 0\n        },\n        {\n            \"ID\": 9,\n            \"CreatedAt\": \"2023-08-23T12:10:06.941585+06:00\",\n            \"UpdatedAt\": \"2023-08-23T12:10:06.941585+06:00\",\n            \"DeletedAt\": null,\n            \"Name\": \"Oathbringer\",\n            \"Author\": \"Brandon Sanderson\",\n            \"Publisher\": \"Tor Books\",\n            \"Date\": \"2021-02-19T03:54:42.123+06:00\",\n            \"Year\": \"0001-01-01T06:01:40+06:01\",\n            \"Price\": 500,\n            \"FilePath\": \"\",\n            \"ISBN\": \"9780765326379\",\n            \"Category\": \"fantasy\",\n            \"ShoppingCarts\": null,\n            \"UserLibraries\": null,\n            \"Reviews\": [],\n            \"CatalogDelete\": false,\n            \"AvgRating\": 0\n        },\n        {\n            \"ID\": 10,\n            \"CreatedAt\": \"2023-08-23T12:35:34.262517+06:00\",\n            \"UpdatedAt\": \"2023-08-23T12:35:34.262517+06:00\",\n            \"DeletedAt\": null,\n            \"Name\": \"The Fellowship of The Ring\",\n            \"Author\": \"J. R. R. Tolkien\",\n            \"Publisher\": \"George Allen & Unwin\",\n            \"Date\": \"1954-02-19T03:54:42.123+06:00\",\n            \"Year\": \"0001-01-01T06:01:40+06:01\",\n            \"Price\": 900,\n            \"FilePath\": \"\",\n            \"ISBN\": \"9780547928210\",\n            \"Category\": \"fantasy\",\n            \"ShoppingCarts\": null,\n            \"UserLibraries\": null,\n            \"Reviews\": [],\n            \"CatalogDelete\": false,\n            \"AvgRating\": 0\n        },\n        {\n            \"ID\": 13,\n            \"CreatedAt\": \"2023-08-23T22:35:47.1217+06:00\",\n            \"UpdatedAt\": \"2023-08-23T22:35:47.1217+06:00\",\n            \"DeletedAt\": null,\n            \"Name\": \"Test Book 2\",\n            \"Author\": \"Anirudh Mishra\",\n            \"Publisher\": \"Self\",\n            \"Date\": \"1994-04-19T03:54:42.123+06:00\",\n            \"Year\": \"0001-01-01T06:01:40+06:01\",\n            \"Price\": 100,\n            \"FilePath\": \"uploads/resume_anirudh.pdf\",\n            \"ISBN\": \"9780547928215\",\n            \"Category\": \"mystery\",\n            \"ShoppingCarts\": null,\n            \"UserLibraries\": null,\n            \"Reviews\": [],\n            \"CatalogDelete\": false,\n            \"AvgRating\": 0\n        }\n    ]\n}"}],"_postman_id":"2029a9e4-8a8e-456f-abe8-6cb4337d480f"},{"name":"Add Book to Cart","id":"fd43237f-9d92-4967-826e-f44a671e7f28","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"url":"{{hostname}}/books/cart/add/10","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"yourtoken"}]},"isInherited":true,"source":{"_postman_id":"b4358d42-0569-4672-837c-2b334723648b","id":"b4358d42-0569-4672-837c-2b334723648b","name":"Bookstore","type":"collection"}},"urlObject":{"path":["books","cart","add","10"],"host":["{{hostname}}"],"query":[],"variable":[]}},"response":[{"id":"0b355032-08ad-4066-9e92-e33bc1a5797e","name":"Book already purchased.","originalRequest":{"method":"POST","header":[],"url":"{{hostname}}/books/cart/add/5"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Access-Control-Allow-Headers","value":"Origin, Content-Type, api_key, Content-Length, Accept-Encoding, X-CSRF-Token, Authorization"},{"key":"Access-Control-Allow-Methods","value":"POST, GET, OPTIONS, PUT, DELETE, UPDATE"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Expose-Headers","value":"Content-Length"},{"key":"Access-Control-Max-Age","value":"86400"},{"key":"Cache-Control","value":"no-cache"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Wed, 23 Aug 2023 18:50:29 GMT"},{"key":"Content-Length","value":"57"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"Book is already purchased and in user library\"\n}"},{"id":"a680dfe2-c089-4de9-b6d3-2d4b0cff9505","name":"Success","originalRequest":{"method":"POST","header":[],"url":"{{hostname}}/books/cart/add/10"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Access-Control-Allow-Headers","value":"Origin, Content-Type, api_key, Content-Length, Accept-Encoding, X-CSRF-Token, Authorization"},{"key":"Access-Control-Allow-Methods","value":"POST, GET, OPTIONS, PUT, DELETE, UPDATE"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Expose-Headers","value":"Content-Length"},{"key":"Access-Control-Max-Age","value":"86400"},{"key":"Cache-Control","value":"no-cache"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Thu, 24 Aug 2023 09:54:04 GMT"},{"key":"Content-Length","value":"645"}],"cookie":[],"responseTime":null,"body":"{\n    \"cart\": {\n        \"ID\": 3,\n        \"CreatedAt\": \"2023-08-23T15:41:59.688882+06:00\",\n        \"UpdatedAt\": \"2023-08-24T15:54:04.689511553+06:00\",\n        \"DeletedAt\": null,\n        \"UserID\": 37,\n        \"Books\": [\n            {\n                \"ID\": 10,\n                \"CreatedAt\": \"2023-08-23T12:35:34.262517+06:00\",\n                \"UpdatedAt\": \"2023-08-23T12:35:34.262517+06:00\",\n                \"DeletedAt\": null,\n                \"Name\": \"The Fellowship of The Ring\",\n                \"Author\": \"J. R. R. Tolkien\",\n                \"Publisher\": \"George Allen & Unwin\",\n                \"Date\": \"1954-02-19T03:54:42.123+06:00\",\n                \"Year\": \"0001-01-01T06:01:40+06:01\",\n                \"Price\": 900,\n                \"FilePath\": \"\",\n                \"ISBN\": \"9780547928210\",\n                \"Category\": \"fantasy\",\n                \"ShoppingCarts\": null,\n                \"UserLibraries\": null,\n                \"Reviews\": null,\n                \"CatalogDelete\": false\n            }\n        ]\n    },\n    \"message\": \"Book added to cart successfully\"\n}"}],"_postman_id":"fd43237f-9d92-4967-826e-f44a671e7f28"},{"name":"Get Cart","id":"91efa171-f455-4b5d-9ea7-c0ab30542fef","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{hostname}}/books/cart","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"yourtoken"}]},"isInherited":true,"source":{"_postman_id":"b4358d42-0569-4672-837c-2b334723648b","id":"b4358d42-0569-4672-837c-2b334723648b","name":"Bookstore","type":"collection"}},"urlObject":{"path":["books","cart"],"host":["{{hostname}}"],"query":[],"variable":[]}},"response":[{"id":"8dffe66f-e98f-42cb-9c37-5cbb75a28a66","name":"Get Cart","originalRequest":{"method":"GET","header":[],"url":"{{hostname}}/books/cart"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx"},{"key":"Date","value":"Sat, 02 Sep 2023 04:45:34 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"1016"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Access-Control-Allow-Headers","value":"Origin, Content-Type, api_key, Content-Length, Accept-Encoding, X-CSRF-Token, Authorization"},{"key":"Access-Control-Allow-Methods","value":"POST, GET, OPTIONS, PUT, DELETE, UPDATE"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Expose-Headers","value":"Content-Length"},{"key":"Access-Control-Max-Age","value":"86400"},{"key":"Cache-Control","value":"no-cache"}],"cookie":[],"responseTime":null,"body":"{\n    \"ID\": 5,\n    \"CreatedAt\": \"2023-09-02T04:35:01.229778Z\",\n    \"UpdatedAt\": \"2023-09-02T04:45:26.909489Z\",\n    \"DeletedAt\": null,\n    \"UserID\": 5,\n    \"Books\": [\n        {\n            \"ID\": 1,\n            \"CreatedAt\": \"2023-09-01T17:58:12.98223Z\",\n            \"UpdatedAt\": \"2023-09-01T17:58:12.98223Z\",\n            \"DeletedAt\": null,\n            \"Name\": \"Hound of the Baskervilles\",\n            \"Author\": \"Arthur Conan Doyle\",\n            \"Publisher\": \"Penguin\",\n            \"Date\": \"1900-04-18T21:54:42.123Z\",\n            \"Year\": \"0001-01-01T00:00:00Z\",\n            \"Price\": 200,\n            \"FilePath\": \"https://files.catbox.moe/m09zbx.pdf\",\n            \"ISBN\": \"84025229025388\",\n            \"Category\": \"mystery\",\n            \"ShoppingCarts\": null,\n            \"UserLibraries\": null,\n            \"Reviews\": null,\n            \"CatalogDelete\": false\n        },\n        {\n            \"ID\": 4,\n            \"CreatedAt\": \"2023-09-01T17:59:30.102913Z\",\n            \"UpdatedAt\": \"2023-09-01T17:59:30.102913Z\",\n            \"DeletedAt\": null,\n            \"Name\": \"All The Light We Cannot See\",\n            \"Author\": \"Somebody\",\n            \"Publisher\": \"Penguin\",\n            \"Date\": \"2000-04-18T21:54:42.123Z\",\n            \"Year\": \"0001-01-01T00:00:00Z\",\n            \"Price\": 1000,\n            \"FilePath\": \"https://files.catbox.moe/l9itdp.pdf\",\n            \"ISBN\": \"94025229025367\",\n            \"Category\": \"historical\",\n            \"ShoppingCarts\": null,\n            \"UserLibraries\": null,\n            \"Reviews\": null,\n            \"CatalogDelete\": false\n        }\n    ]\n}"}],"_postman_id":"91efa171-f455-4b5d-9ea7-c0ab30542fef"},{"name":"Attach (temp)","id":"8ce65d47-be6a-439f-8dd9-97fcdf9b9200","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"url":"{{hostname}}/books/attach","description":"<p>(To be removed) Helper function to attach cart/library to users created before I implemented cart/library.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"yourtoken"}]},"isInherited":true,"source":{"_postman_id":"b4358d42-0569-4672-837c-2b334723648b","id":"b4358d42-0569-4672-837c-2b334723648b","name":"Bookstore","type":"collection"}},"urlObject":{"path":["books","attach"],"host":["{{hostname}}"],"query":[],"variable":[]}},"response":[{"id":"a2c553d9-8ad6-417d-859d-f73e18fa7a80","name":"Attach (temp)","originalRequest":{"method":"POST","header":[],"url":"{{hostname}}/books/attach"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx"},{"key":"Date","value":"Wed, 30 Aug 2023 08:38:06 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"39"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Access-Control-Allow-Headers","value":"Origin, Content-Type, api_key, Content-Length, Accept-Encoding, X-CSRF-Token, Authorization"},{"key":"Access-Control-Allow-Methods","value":"POST, GET, OPTIONS, PUT, DELETE, UPDATE"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Expose-Headers","value":"Content-Length"},{"key":"Access-Control-Max-Age","value":"86400"},{"key":"Cache-Control","value":"no-cache"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"cart and library attached\"\n}"}],"_postman_id":"8ce65d47-be6a-439f-8dd9-97fcdf9b9200"},{"name":"Remove From Cart","id":"c5a52f3e-10dd-4a94-97e2-d75a8b1f193e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"url":"{{hostname}}/books/cart/remove/5","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"yourtoken"}]},"isInherited":true,"source":{"_postman_id":"b4358d42-0569-4672-837c-2b334723648b","id":"b4358d42-0569-4672-837c-2b334723648b","name":"Bookstore","type":"collection"}},"urlObject":{"path":["books","cart","remove","5"],"host":["{{hostname}}"],"query":[],"variable":[]}},"response":[{"id":"76ca2bed-7173-482a-958b-612bd4421e3b","name":"Remove From Cart","originalRequest":{"method":"POST","header":[],"url":"{{hostname}}/books/cart/remove/6"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx"},{"key":"Date","value":"Sun, 03 Sep 2023 05:22:58 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"618"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Access-Control-Allow-Headers","value":"Origin, Content-Type, api_key, Content-Length, Accept-Encoding, X-CSRF-Token, Authorization"},{"key":"Access-Control-Allow-Methods","value":"POST, GET, OPTIONS, PUT, DELETE, UPDATE"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Expose-Headers","value":"Content-Length"},{"key":"Access-Control-Max-Age","value":"86400"},{"key":"Cache-Control","value":"no-cache"}],"cookie":[],"responseTime":null,"body":"{\n    \"cart\": {\n        \"ID\": 1,\n        \"CreatedAt\": \"2023-09-01T11:40:31.732173Z\",\n        \"UpdatedAt\": \"2023-09-03T05:22:49.207533Z\",\n        \"DeletedAt\": null,\n        \"UserID\": 1,\n        \"Books\": [\n            {\n                \"ID\": 7,\n                \"CreatedAt\": \"2023-09-01T18:00:32.708462Z\",\n                \"UpdatedAt\": \"2023-09-01T18:00:32.708462Z\",\n                \"DeletedAt\": null,\n                \"Name\": \"The Way of Kings\",\n                \"Author\": \"Brandon Sanderson\",\n                \"Publisher\": \"Tor\",\n                \"Date\": \"2000-04-18T21:54:42.123Z\",\n                \"Year\": \"0001-01-01T00:00:00Z\",\n                \"Price\": 900,\n                \"FilePath\": \"https://files.catbox.moe/6crmwh.pdf\",\n                \"ISBN\": \"9122558332531\",\n                \"Category\": \"fantasy\",\n                \"ShoppingCarts\": null,\n                \"UserLibraries\": null,\n                \"Reviews\": null,\n                \"CatalogDelete\": false\n            }\n        ]\n    },\n    \"message\": \"Book removed from cart successfully\"\n}"}],"_postman_id":"c5a52f3e-10dd-4a94-97e2-d75a8b1f193e"},{"name":"Review","id":"2738068a-6146-4e71-9925-15eec5a86e9c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"comment\":\"I cried. Hell of a read. Very good.\",\n    \"rating\": 5,\n    \"book_id\":9\n}","options":{"raw":{"language":"json"}}},"url":"{{hostname}}/books/review","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"yourtoken"}]},"isInherited":true,"source":{"_postman_id":"b4358d42-0569-4672-837c-2b334723648b","id":"b4358d42-0569-4672-837c-2b334723648b","name":"Bookstore","type":"collection"}},"urlObject":{"path":["books","review"],"host":["{{hostname}}"],"query":[],"variable":[]}},"response":[{"id":"fde2ad9f-3322-4034-9941-db06ce708d63","name":"Success","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"comment\":\"This is great! Book 14 is awesome.\",\n    \"rating\": 4,\n    \"book_id\":14\n}","options":{"raw":{"language":"json"}}},"url":"{{hostname}}/books/review"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Access-Control-Allow-Headers","value":"Origin, Content-Type, api_key, Content-Length, Accept-Encoding, X-CSRF-Token, Authorization"},{"key":"Access-Control-Allow-Methods","value":"POST, GET, OPTIONS, PUT, DELETE, UPDATE"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Expose-Headers","value":"Content-Length"},{"key":"Access-Control-Max-Age","value":"86400"},{"key":"Cache-Control","value":"no-cache"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Thu, 24 Aug 2023 06:29:04 GMT"},{"key":"Content-Length","value":"218"}],"cookie":[],"responseTime":null,"body":"{\n    \"review\": {\n        \"ID\": 6,\n        \"CreatedAt\": \"2023-08-24T12:29:04.117202846+06:00\",\n        \"UpdatedAt\": \"2023-08-24T12:29:04.117202846+06:00\",\n        \"DeletedAt\": null,\n        \"UserID\": 37,\n        \"BookID\": 14,\n        \"Comment\": \"This is great! Book 14 is awesome.\",\n        \"Rating\": 4\n    }\n}"},{"id":"3ad165d8-b860-4877-9a60-9c2b78049501","name":"Book not owned.","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"comment\":\"This is great! Book 14 is awesome.\",\n    \"rating\": 4,\n    \"book_id\":10\n}","options":{"raw":{"language":"json"}}},"url":"{{hostname}}/books/review"},"status":"Forbidden","code":403,"_postman_previewlanguage":"json","header":[{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Access-Control-Allow-Headers","value":"Origin, Content-Type, api_key, Content-Length, Accept-Encoding, X-CSRF-Token, Authorization"},{"key":"Access-Control-Allow-Methods","value":"POST, GET, OPTIONS, PUT, DELETE, UPDATE"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Expose-Headers","value":"Content-Length"},{"key":"Access-Control-Max-Age","value":"86400"},{"key":"Cache-Control","value":"no-cache"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Fri, 25 Aug 2023 05:05:50 GMT"},{"key":"Content-Length","value":"46"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"You must own the book to review it\"\n}"}],"_postman_id":"2738068a-6146-4e71-9925-15eec5a86e9c"},{"name":"Get Single Book","id":"3ec58205-4112-4e52-bcee-63ceb1aec37d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{hostname}}/books/catalog/7","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"yourtoken"}]},"isInherited":true,"source":{"_postman_id":"b4358d42-0569-4672-837c-2b334723648b","id":"b4358d42-0569-4672-837c-2b334723648b","name":"Bookstore","type":"collection"}},"urlObject":{"path":["books","catalog","7"],"host":["{{hostname}}"],"query":[],"variable":[]}},"response":[{"id":"6c26a040-416e-4f43-b3b3-720c4e67d5b2","name":"Get Single Book","originalRequest":{"method":"GET","header":[],"url":"{{hostname}}/books/catalog/1"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx"},{"key":"Date","value":"Fri, 01 Sep 2023 18:35:06 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"942"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Access-Control-Allow-Headers","value":"Origin, Content-Type, api_key, Content-Length, Accept-Encoding, X-CSRF-Token, Authorization"},{"key":"Access-Control-Allow-Methods","value":"POST, GET, OPTIONS, PUT, DELETE, UPDATE"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Expose-Headers","value":"Content-Length"},{"key":"Access-Control-Max-Age","value":"86400"},{"key":"Cache-Control","value":"no-cache"}],"cookie":[],"responseTime":null,"body":"{\n    \"book\": {\n        \"Book\": {\n            \"ID\": 1,\n            \"CreatedAt\": \"2023-09-01T17:58:12.98223Z\",\n            \"UpdatedAt\": \"2023-09-01T17:58:12.98223Z\",\n            \"DeletedAt\": null,\n            \"Name\": \"Hound of the Baskervilles\",\n            \"Author\": \"Arthur Conan Doyle\",\n            \"Publisher\": \"Penguin\",\n            \"Date\": \"1900-04-18T21:54:42.123Z\",\n            \"Year\": \"0001-01-01T00:00:00Z\",\n            \"Price\": 200,\n            \"ISBN\": \"84025229025388\",\n            \"Category\": \"mystery\",\n            \"ShoppingCarts\": null,\n            \"UserLibraries\": null,\n            \"Reviews\": [\n                {\n                    \"ID\": 1,\n                    \"CreatedAt\": \"2023-09-01T18:08:30.623921Z\",\n                    \"UpdatedAt\": \"2023-09-01T18:08:30.623921Z\",\n                    \"DeletedAt\": null,\n                    \"UserID\": 1,\n                    \"BookID\": 1,\n                    \"Comment\": \"I like this one.\",\n                    \"Rating\": 4\n                },\n                {\n                    \"ID\": 9,\n                    \"CreatedAt\": \"2023-09-01T18:14:19.002721Z\",\n                    \"UpdatedAt\": \"2023-09-01T18:14:19.002721Z\",\n                    \"DeletedAt\": null,\n                    \"UserID\": 3,\n                    \"BookID\": 1,\n                    \"Comment\": \"Very neato.\",\n                    \"Rating\": 5\n                },\n                {\n                    \"ID\": 14,\n                    \"CreatedAt\": \"2023-09-01T18:18:55.668488Z\",\n                    \"UpdatedAt\": \"2023-09-01T18:18:55.668488Z\",\n                    \"DeletedAt\": null,\n                    \"UserID\": 4,\n                    \"BookID\": 1,\n                    \"Comment\": \"I like.\",\n                    \"Rating\": 4\n                }\n            ],\n            \"CatalogDelete\": false\n        },\n        \"AvgRating\": 4.333333333333333\n    }\n}"}],"_postman_id":"3ec58205-4112-4e52-bcee-63ceb1aec37d"},{"name":"Download Book","id":"7f8f635f-1488-40c6-95d1-b7dd60a55d5f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{hostname}}/books/catalog/1/download","description":"<p>Returns the pdf/epub/wtv of the requested book if requesting user has bought that book (it is in the user's library). Returns error if not bought or if file is not accessible.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"yourtoken"}]},"isInherited":true,"source":{"_postman_id":"b4358d42-0569-4672-837c-2b334723648b","id":"b4358d42-0569-4672-837c-2b334723648b","name":"Bookstore","type":"collection"}},"urlObject":{"path":["books","catalog","1","download"],"host":["{{hostname}}"],"query":[],"variable":[]}},"response":[{"id":"178bf994-00bd-4618-a2b3-68a78e7a5fc9","name":"Error","originalRequest":{"method":"GET","header":[],"url":"{{hostname}}/books/catalog/10/download"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Access-Control-Allow-Headers","value":"Origin, Content-Type, api_key, Content-Length, Accept-Encoding, X-CSRF-Token, Authorization"},{"key":"Access-Control-Allow-Methods","value":"POST, GET, OPTIONS, PUT, DELETE, UPDATE"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Expose-Headers","value":"Content-Length"},{"key":"Access-Control-Max-Age","value":"86400"},{"key":"Cache-Control","value":"no-cache"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Wed, 23 Aug 2023 18:44:02 GMT"},{"key":"Content-Length","value":"42"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"No pdf found. Contact support.\"\n}"},{"id":"8bd2a0e2-abc1-4b0a-b892-ce2e0f57cb6c","name":"Not Bought","originalRequest":{"method":"GET","header":[],"url":"{{hostname}}/books/catalog/7/download"},"status":"Forbidden","code":403,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx"},{"key":"Date","value":"Sat, 02 Sep 2023 04:47:23 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"47"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Access-Control-Allow-Headers","value":"Origin, Content-Type, api_key, Content-Length, Accept-Encoding, X-CSRF-Token, Authorization"},{"key":"Access-Control-Allow-Methods","value":"POST, GET, OPTIONS, PUT, DELETE, UPDATE"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Expose-Headers","value":"Content-Length"},{"key":"Access-Control-Max-Age","value":"86400"},{"key":"Cache-Control","value":"no-cache"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"You do not have access to this book\"\n}"}],"_postman_id":"7f8f635f-1488-40c6-95d1-b7dd60a55d5f"},{"name":"Recommend","id":"f3bd346d-a8b6-4395-b34a-20535b6d8ec1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{hostname}}/books/recommend","description":"<p>If you're not getting any recommendations, go ahead and review a few books! Uses a collaborative filtering based recommendations engine I have implemented, therefore it needs some data on your end to match with other users. Recommends books with a sorted by probability (1 to -1).</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"yourtoken"}]},"isInherited":true,"source":{"_postman_id":"b4358d42-0569-4672-837c-2b334723648b","id":"b4358d42-0569-4672-837c-2b334723648b","name":"Bookstore","type":"collection"}},"urlObject":{"path":["books","recommend"],"host":["{{hostname}}"],"query":[{"disabled":true,"key":"page","value":"1"}],"variable":[]}},"response":[{"id":"c6612e7b-0378-4299-adfb-45c0577479f7","name":"Valid","originalRequest":{"method":"GET","header":[],"url":"{{hostname}}/books/recommend"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Access-Control-Allow-Headers","value":"Origin, Content-Type, api_key, Content-Length, Accept-Encoding, X-CSRF-Token, Authorization"},{"key":"Access-Control-Allow-Methods","value":"POST, GET, OPTIONS, PUT, DELETE, UPDATE"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Expose-Headers","value":"Content-Length"},{"key":"Access-Control-Max-Age","value":"86400"},{"key":"Cache-Control","value":"no-cache"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Sun, 27 Aug 2023 08:07:36 GMT"},{"key":"Content-Length","value":"978"}],"cookie":[],"responseTime":null,"body":"{\n    \"recommendations\": [\n        {\n            \"Book\": {\n                \"ID\": 2,\n                \"CreatedAt\": \"2023-08-27T12:05:34.298097+05:30\",\n                \"UpdatedAt\": \"2023-08-27T12:05:34.298097+05:30\",\n                \"DeletedAt\": null,\n                \"Name\": \"Lalalala Book\",\n                \"Author\": \"Anirudh Mishra\",\n                \"Publisher\": \"Self\",\n                \"Date\": \"1994-04-19T03:24:42.123+05:30\",\n                \"Year\": \"0001-01-01T05:53:28+05:53\",\n                \"Price\": 1200,\n                \"FilePath\": \"uploads/resume_anirudh.pdf\",\n                \"ISBN\": \"9780547928223\",\n                \"Category\": \"mystery\",\n                \"ShoppingCarts\": null,\n                \"UserLibraries\": null,\n                \"Reviews\": null,\n                \"CatalogDelete\": false\n            },\n            \"Probability\": 0.3333333333333333\n        },\n        {\n            \"Book\": {\n                \"ID\": 3,\n                \"CreatedAt\": \"2023-08-27T12:51:44.591278+05:30\",\n                \"UpdatedAt\": \"2023-08-27T12:51:44.591278+05:30\",\n                \"DeletedAt\": null,\n                \"Name\": \"Nice Book\",\n                \"Author\": \"Anirudh Mishra\",\n                \"Publisher\": \"Self\",\n                \"Date\": \"1994-04-19T03:24:42.123+05:30\",\n                \"Year\": \"0001-01-01T05:53:28+05:53\",\n                \"Price\": 1200,\n                \"FilePath\": \"uploads/resume_anirudh.pdf\",\n                \"ISBN\": \"9780547928223\",\n                \"Category\": \"mystery\",\n                \"ShoppingCarts\": null,\n                \"UserLibraries\": null,\n                \"Reviews\": null,\n                \"CatalogDelete\": false\n            },\n            \"Probability\": -0.3333333333333333\n        }\n    ]\n}"},{"id":"3e448ce6-abdf-4c89-9826-3e99d8f87295","name":"New Request","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{hostname}}/books/recommend","host":["{{hostname}}"],"path":["books","recommend"],"query":[{"key":"page","value":"1","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Access-Control-Allow-Headers","value":"Origin, Content-Type, api_key, Content-Length, Accept-Encoding, X-CSRF-Token, Authorization"},{"key":"Access-Control-Allow-Methods","value":"POST, GET, OPTIONS, PUT, DELETE, UPDATE"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Expose-Headers","value":"Content-Length"},{"key":"Access-Control-Max-Age","value":"86400"},{"key":"Cache-Control","value":"no-cache"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Tue, 29 Aug 2023 08:52:57 GMT"},{"key":"Content-Length","value":"183"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Could not get any recommendations for you. Maybe try looking at our catalog for now? Check out the recs section on the readme for more info on this.\",\n    \"recommendations\": []\n}"}],"_postman_id":"f3bd346d-a8b6-4395-b34a-20535b6d8ec1"}],"id":"05a66605-3816-4c54-8c52-d8d68705bb98","_postman_id":"05a66605-3816-4c54-8c52-d8d68705bb98","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"yourtoken"}]},"isInherited":true,"source":{"_postman_id":"b4358d42-0569-4672-837c-2b334723648b","id":"b4358d42-0569-4672-837c-2b334723648b","name":"Bookstore","type":"collection"}}},{"name":"Checkout","item":[{"name":"Checkout","id":"ea3863eb-bc6e-41a0-9a7f-21784df872f2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"url":"{{hostname}}/checkout/cart","description":"<p>Buys the books currently in your cart, adds them to your library, clear the cart, and creates a record of this transaction.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"yourtoken"}]},"isInherited":true,"source":{"_postman_id":"b4358d42-0569-4672-837c-2b334723648b","id":"b4358d42-0569-4672-837c-2b334723648b","name":"Bookstore","type":"collection"}},"urlObject":{"path":["checkout","cart"],"host":["{{hostname}}"],"query":[],"variable":[]}},"response":[{"id":"becb30aa-f770-46cf-9ba9-c1489686bb15","name":"Success","originalRequest":{"method":"POST","header":[],"url":"{{hostname}}/checkout/cart"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Access-Control-Allow-Headers","value":"Origin, Content-Type, api_key, Content-Length, Accept-Encoding, X-CSRF-Token, Authorization"},{"key":"Access-Control-Allow-Methods","value":"POST, GET, OPTIONS, PUT, DELETE, UPDATE"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Expose-Headers","value":"Content-Length"},{"key":"Access-Control-Max-Age","value":"86400"},{"key":"Cache-Control","value":"no-cache"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Thu, 24 Aug 2023 06:28:44 GMT"},{"key":"Content-Length","value":"33"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Checkout successful\"\n}"},{"id":"6308871f-6dde-4631-afd7-5530fb417e0d","name":"Empty Cart","originalRequest":{"method":"POST","header":[],"url":"{{hostname}}/checkout/cart"},"status":"I'm a teapot","code":418,"_postman_previewlanguage":"json","header":[{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Access-Control-Allow-Headers","value":"Origin, Content-Type, api_key, Content-Length, Accept-Encoding, X-CSRF-Token, Authorization"},{"key":"Access-Control-Allow-Methods","value":"POST, GET, OPTIONS, PUT, DELETE, UPDATE"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Expose-Headers","value":"Content-Length"},{"key":"Access-Control-Max-Age","value":"86400"},{"key":"Cache-Control","value":"no-cache"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Fri, 25 Aug 2023 06:51:27 GMT"},{"key":"Content-Length","value":"31"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"Your cart is empty!\"\n}"},{"id":"5a260655-efbf-4b4d-83eb-817fe214bd16","name":"Insufficient Balance","originalRequest":{"method":"POST","header":[],"url":"{{hostname}}/checkout/cart"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Access-Control-Allow-Headers","value":"Origin, Content-Type, api_key, Content-Length, Accept-Encoding, X-CSRF-Token, Authorization"},{"key":"Access-Control-Allow-Methods","value":"POST, GET, OPTIONS, PUT, DELETE, UPDATE"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Expose-Headers","value":"Content-Length"},{"key":"Access-Control-Max-Age","value":"86400"},{"key":"Cache-Control","value":"no-cache"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Sun, 27 Aug 2023 13:07:17 GMT"},{"key":"Content-Length","value":"76"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"Insufficient credits. Cart Total: 600. Current Credit Balance: 0\"\n}"}],"_postman_id":"ea3863eb-bc6e-41a0-9a7f-21784df872f2"},{"name":"Buy Credits","id":"cb69a8f5-1ab2-486e-9c1d-7c16484583bd","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"credits\":3000\n}","options":{"raw":{"language":"json"}}},"url":"{{hostname}}/checkout/credits","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"yourtoken"}]},"isInherited":true,"source":{"_postman_id":"b4358d42-0569-4672-837c-2b334723648b","id":"b4358d42-0569-4672-837c-2b334723648b","name":"Bookstore","type":"collection"}},"urlObject":{"path":["checkout","credits"],"host":["{{hostname}}"],"query":[],"variable":[]}},"response":[{"id":"e8e77bd1-dc04-4816-8659-922b8237d04e","name":"New Request","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"credits\":1000\n}","options":{"raw":{"language":"json"}}},"url":"{{hostname}}/checkout/credits"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Access-Control-Allow-Headers","value":"Origin, Content-Type, api_key, Content-Length, Accept-Encoding, X-CSRF-Token, Authorization"},{"key":"Access-Control-Allow-Methods","value":"POST, GET, OPTIONS, PUT, DELETE, UPDATE"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Expose-Headers","value":"Content-Length"},{"key":"Access-Control-Max-Age","value":"86400"},{"key":"Cache-Control","value":"no-cache"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Sun, 27 Aug 2023 12:43:48 GMT"},{"key":"Content-Length","value":"50"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Credits added! Current balance: 9000\"\n}"}],"_postman_id":"cb69a8f5-1ab2-486e-9c1d-7c16484583bd"}],"id":"3d5a6ee9-3b36-422e-9940-aff332fdd563","_postman_id":"3d5a6ee9-3b36-422e-9940-aff332fdd563","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"yourtoken"}]},"isInherited":true,"source":{"_postman_id":"b4358d42-0569-4672-837c-2b334723648b","id":"b4358d42-0569-4672-837c-2b334723648b","name":"Bookstore","type":"collection"}}},{"name":"User","item":[{"name":"User Transactions","id":"802c4e94-e7ce-4b4e-949e-2e351eb6255a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{hostname}}/user/transactions","description":"<p>Returns user's credit balance, and all transactions belonging to user (credit purchases + cart checkouts)</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"yourtoken"}]},"isInherited":true,"source":{"_postman_id":"b4358d42-0569-4672-837c-2b334723648b","id":"b4358d42-0569-4672-837c-2b334723648b","name":"Bookstore","type":"collection"}},"urlObject":{"path":["user","transactions"],"host":["{{hostname}}"],"query":[],"variable":[]}},"response":[{"id":"db641f90-f8a4-4069-8fec-8a56ec9e8eec","name":"User Transactions","originalRequest":{"method":"GET","header":[],"url":"{{hostname}}/user/transactions"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx"},{"key":"Date","value":"Fri, 01 Sep 2023 18:16:10 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Access-Control-Allow-Headers","value":"Origin, Content-Type, api_key, Content-Length, Accept-Encoding, X-CSRF-Token, Authorization"},{"key":"Access-Control-Allow-Methods","value":"POST, GET, OPTIONS, PUT, DELETE, UPDATE"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Expose-Headers","value":"Content-Length"},{"key":"Access-Control-Max-Age","value":"86400"},{"key":"Cache-Control","value":"no-cache"}],"cookie":[],"responseTime":null,"body":"{\n    \"balance\": 1000,\n    \"transactions\": [\n        {\n            \"ID\": 5,\n            \"CreatedAt\": \"2023-09-01T18:14:02.951894Z\",\n            \"UpdatedAt\": \"2023-09-01T18:14:02.951894Z\",\n            \"DeletedAt\": null,\n            \"UserID\": 3,\n            \"Amount\": 5000,\n            \"Status\": \"completed\",\n            \"PaymentMethod\": \"UPI\",\n            \"CreditPurchase\": true,\n            \"Books\": []\n        },\n        {\n            \"ID\": 6,\n            \"CreatedAt\": \"2023-09-01T18:14:06.078195Z\",\n            \"UpdatedAt\": \"2023-09-01T18:14:06.078195Z\",\n            \"DeletedAt\": null,\n            \"UserID\": 3,\n            \"Amount\": 4000,\n            \"Status\": \"completed\",\n            \"PaymentMethod\": \"UPI\",\n            \"CreditPurchase\": false,\n            \"Books\": [\n                {\n                    \"ID\": 1,\n                    \"CreatedAt\": \"2023-09-01T17:58:12.98223Z\",\n                    \"UpdatedAt\": \"2023-09-01T17:58:12.98223Z\",\n                    \"DeletedAt\": null,\n                    \"Name\": \"Hound of the Baskervilles\",\n                    \"Author\": \"Arthur Conan Doyle\",\n                    \"Publisher\": \"Penguin\",\n                    \"Date\": \"1900-04-18T21:54:42.123Z\",\n                    \"Year\": \"0001-01-01T00:00:00Z\",\n                    \"Price\": 200,\n                    \"FilePath\": \"https://files.catbox.moe/m09zbx.pdf\",\n                    \"ISBN\": \"84025229025388\",\n                    \"Category\": \"mystery\",\n                    \"ShoppingCarts\": null,\n                    \"UserLibraries\": null,\n                    \"Reviews\": null,\n                    \"CatalogDelete\": false\n                },\n                {\n                    \"ID\": 5,\n                    \"CreatedAt\": \"2023-09-01T17:59:59.513098Z\",\n                    \"UpdatedAt\": \"2023-09-01T17:59:59.513098Z\",\n                    \"DeletedAt\": null,\n                    \"Name\": \"Oathbringer\",\n                    \"Author\": \"Brandon Sanderson\",\n                    \"Publisher\": \"Tor\",\n                    \"Date\": \"2000-04-18T21:54:42.123Z\",\n                    \"Year\": \"0001-01-01T00:00:00Z\",\n                    \"Price\": 900,\n                    \"FilePath\": \"https://files.catbox.moe/e56j1f.pdf\",\n                    \"ISBN\": \"9102548332536\",\n                    \"Category\": \"fantasy\",\n                    \"ShoppingCarts\": null,\n                    \"UserLibraries\": null,\n                    \"Reviews\": null,\n                    \"CatalogDelete\": false\n                },\n                {\n                    \"ID\": 6,\n                    \"CreatedAt\": \"2023-09-01T18:00:16.535955Z\",\n                    \"UpdatedAt\": \"2023-09-01T18:00:16.535955Z\",\n                    \"DeletedAt\": null,\n                    \"Name\": \"Words of Radiance\",\n                    \"Author\": \"Brandon Sanderson\",\n                    \"Publisher\": \"Tor\",\n                    \"Date\": \"2000-04-18T21:54:42.123Z\",\n                    \"Year\": \"0001-01-01T00:00:00Z\",\n                    \"Price\": 900,\n                    \"FilePath\": \"https://files.catbox.moe/6crmwh.pdf\",\n                    \"ISBN\": \"9102558332536\",\n                    \"Category\": \"fantasy\",\n                    \"ShoppingCarts\": null,\n                    \"UserLibraries\": null,\n                    \"Reviews\": null,\n                    \"CatalogDelete\": false\n                },\n                {\n                    \"ID\": 7,\n                    \"CreatedAt\": \"2023-09-01T18:00:32.708462Z\",\n                    \"UpdatedAt\": \"2023-09-01T18:00:32.708462Z\",\n                    \"DeletedAt\": null,\n                    \"Name\": \"The Way of Kings\",\n                    \"Author\": \"Brandon Sanderson\",\n                    \"Publisher\": \"Tor\",\n                    \"Date\": \"2000-04-18T21:54:42.123Z\",\n                    \"Year\": \"0001-01-01T00:00:00Z\",\n                    \"Price\": 900,\n                    \"FilePath\": \"https://files.catbox.moe/6crmwh.pdf\",\n                    \"ISBN\": \"9122558332531\",\n                    \"Category\": \"fantasy\",\n                    \"ShoppingCarts\": null,\n                    \"UserLibraries\": null,\n                    \"Reviews\": null,\n                    \"CatalogDelete\": false\n                },\n                {\n                    \"ID\": 8,\n                    \"CreatedAt\": \"2023-09-01T18:01:14.994762Z\",\n                    \"UpdatedAt\": \"2023-09-01T18:01:14.994762Z\",\n                    \"DeletedAt\": null,\n                    \"Name\": \"Hitchhiker's Guide To The Galaxy\",\n                    \"Author\": \"Brandon Sanderson\",\n                    \"Publisher\": \"Tor\",\n                    \"Date\": \"2000-04-18T21:54:42.123Z\",\n                    \"Year\": \"0001-01-01T00:00:00Z\",\n                    \"Price\": 1100,\n                    \"FilePath\": \"https://files.catbox.moe/lout4t.pdf\",\n                    \"ISBN\": \"9133458332531\",\n                    \"Category\": \"scifi\",\n                    \"ShoppingCarts\": null,\n                    \"UserLibraries\": null,\n                    \"Reviews\": null,\n                    \"CatalogDelete\": false\n                }\n            ]\n        }\n    ]\n}"}],"_postman_id":"802c4e94-e7ce-4b4e-949e-2e351eb6255a"},{"name":"User Library","id":"83efa02a-5a0f-4a2d-9d1d-630198b6948e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{hostname}}/user/library","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"yourtoken"}]},"isInherited":true,"source":{"_postman_id":"b4358d42-0569-4672-837c-2b334723648b","id":"b4358d42-0569-4672-837c-2b334723648b","name":"Bookstore","type":"collection"}},"urlObject":{"path":["user","library"],"host":["{{hostname}}"],"query":[],"variable":[]}},"response":[{"id":"8e6ff84e-2a6c-4b40-ac46-a5a740d8bfc5","name":"Success","originalRequest":{"method":"GET","header":[],"url":"{{hostname}}/user/library"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Access-Control-Allow-Headers","value":"Origin, Content-Type, api_key, Content-Length, Accept-Encoding, X-CSRF-Token, Authorization"},{"key":"Access-Control-Allow-Methods","value":"POST, GET, OPTIONS, PUT, DELETE, UPDATE"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Expose-Headers","value":"Content-Length"},{"key":"Access-Control-Max-Age","value":"86400"},{"key":"Cache-Control","value":"no-cache"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Thu, 24 Aug 2023 07:16:06 GMT"},{"key":"Content-Length","value":"1455"}],"cookie":[],"responseTime":null,"body":"{\n    \"library\": [\n        {\n            \"ID\": 2,\n            \"CreatedAt\": \"2023-08-23T16:11:25.350661+06:00\",\n            \"UpdatedAt\": \"2023-08-23T16:11:25.350661+06:00\",\n            \"DeletedAt\": null,\n            \"UserID\": 32,\n            \"Books\": [\n                {\n                    \"ID\": 5,\n                    \"CreatedAt\": \"2023-08-23T12:06:21.26746+06:00\",\n                    \"UpdatedAt\": \"2023-08-24T11:16:47.855169+06:00\",\n                    \"DeletedAt\": null,\n                    \"Name\": \"The Way of Kings\",\n                    \"Author\": \"Brandon Sanderson\",\n                    \"Publisher\": \"Tor Books\",\n                    \"Date\": \"2010-02-19T03:54:42.123+06:00\",\n                    \"Year\": \"0001-01-01T06:01:40+06:01\",\n                    \"Price\": 500,\n                    \"FilePath\": \"\",\n                    \"ISBN\": \"9780765326379\",\n                    \"Category\": \"fantasy\",\n                    \"ShoppingCarts\": null,\n                    \"UserLibraries\": null,\n                    \"Reviews\": null,\n                    \"CatalogDelete\": true\n                },\n                {\n                    \"ID\": 10,\n                    \"CreatedAt\": \"2023-08-23T12:35:34.262517+06:00\",\n                    \"UpdatedAt\": \"2023-08-23T12:35:34.262517+06:00\",\n                    \"DeletedAt\": null,\n                    \"Name\": \"The Fellowship of The Ring\",\n                    \"Author\": \"J. R. R. Tolkien\",\n                    \"Publisher\": \"George Allen & Unwin\",\n                    \"Date\": \"1954-02-19T03:54:42.123+06:00\",\n                    \"Year\": \"0001-01-01T06:01:40+06:01\",\n                    \"Price\": 900,\n                    \"FilePath\": \"\",\n                    \"ISBN\": \"9780547928210\",\n                    \"Category\": \"fantasy\",\n                    \"ShoppingCarts\": null,\n                    \"UserLibraries\": null,\n                    \"Reviews\": null,\n                    \"CatalogDelete\": false\n                },\n                {\n                    \"ID\": 13,\n                    \"CreatedAt\": \"2023-08-23T22:35:47.1217+06:00\",\n                    \"UpdatedAt\": \"2023-08-23T22:35:47.1217+06:00\",\n                    \"DeletedAt\": null,\n                    \"Name\": \"Test Book 2\",\n                    \"Author\": \"Anirudh Mishra\",\n                    \"Publisher\": \"Self\",\n                    \"Date\": \"1994-04-19T03:54:42.123+06:00\",\n                    \"Year\": \"0001-01-01T06:01:40+06:01\",\n                    \"Price\": 100,\n                    \"FilePath\": \"uploads/resume_anirudh.pdf\",\n                    \"ISBN\": \"9780547928215\",\n                    \"Category\": \"mystery\",\n                    \"ShoppingCarts\": null,\n                    \"UserLibraries\": null,\n                    \"Reviews\": null,\n                    \"CatalogDelete\": false\n                }\n            ]\n        }\n    ]\n}"}],"_postman_id":"83efa02a-5a0f-4a2d-9d1d-630198b6948e"}],"id":"fac79862-4142-4be6-8adb-7ee3cd558868","_postman_id":"fac79862-4142-4be6-8adb-7ee3cd558868","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"yourtoken"}]},"isInherited":true,"source":{"_postman_id":"b4358d42-0569-4672-837c-2b334723648b","id":"b4358d42-0569-4672-837c-2b334723648b","name":"Bookstore","type":"collection"}}},{"name":"SuperAdmin","item":[{"name":"Promote","id":"c034ed9e-8402-4ba7-b3fb-a8ae79eec63a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"url":"{{hostname}}/superadmin/users/promote/2","description":"<p>Promotes base user to admin.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"yourtoken"}]},"isInherited":true,"source":{"_postman_id":"b4358d42-0569-4672-837c-2b334723648b","id":"b4358d42-0569-4672-837c-2b334723648b","name":"Bookstore","type":"collection"}},"urlObject":{"path":["superadmin","users","promote","2"],"host":["{{hostname}}"],"query":[],"variable":[]}},"response":[{"id":"1ed01451-c029-47d4-9e83-da20e9861cc1","name":"Success","originalRequest":{"method":"POST","header":[],"url":"{{hostname}}/superadmin/users/promote/2"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Access-Control-Allow-Headers","value":"Origin, Content-Type, api_key, Content-Length, Accept-Encoding, X-CSRF-Token, Authorization"},{"key":"Access-Control-Allow-Methods","value":"POST, GET, OPTIONS, PUT, DELETE, UPDATE"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Expose-Headers","value":"Content-Length"},{"key":"Access-Control-Max-Age","value":"86400"},{"key":"Cache-Control","value":"no-cache"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Fri, 25 Aug 2023 16:36:20 GMT"},{"key":"Content-Length","value":"44"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Specified user is now an admin\"\n}"},{"id":"4e69c8d1-3bd9-4627-ba52-9f7f95d45476","name":"Not Super Admin","originalRequest":{"method":"POST","header":[],"url":"{{hostname}}/superadmin/users/promote/1"},"status":"Forbidden","code":403,"_postman_previewlanguage":"json","header":[{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Access-Control-Allow-Headers","value":"Origin, Content-Type, api_key, Content-Length, Accept-Encoding, X-CSRF-Token, Authorization"},{"key":"Access-Control-Allow-Methods","value":"POST, GET, OPTIONS, PUT, DELETE, UPDATE"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Expose-Headers","value":"Content-Length"},{"key":"Access-Control-Max-Age","value":"86400"},{"key":"Cache-Control","value":"no-cache"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Fri, 25 Aug 2023 16:38:17 GMT"},{"key":"Content-Length","value":"29"}],"cookie":[],"responseTime":null,"body":"{\n    \"Forbidden\": \"Access denied\"\n}"}],"_postman_id":"c034ed9e-8402-4ba7-b3fb-a8ae79eec63a"},{"name":"Demote","id":"c170d653-5582-46b3-b6fc-c1a48c7c8ea0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"url":"{{hostname}}/superadmin/users/demote/2","description":"<p>Demote admin to base user.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"yourtoken"}]},"isInherited":true,"source":{"_postman_id":"b4358d42-0569-4672-837c-2b334723648b","id":"b4358d42-0569-4672-837c-2b334723648b","name":"Bookstore","type":"collection"}},"urlObject":{"path":["superadmin","users","demote","2"],"host":["{{hostname}}"],"query":[],"variable":[]}},"response":[{"id":"b7bdf5f5-e253-4cde-95ee-fa76ee3ec278","name":"Success","originalRequest":{"method":"POST","header":[],"url":"{{hostname}}/superadmin/users/demote/2"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Access-Control-Allow-Headers","value":"Origin, Content-Type, api_key, Content-Length, Accept-Encoding, X-CSRF-Token, Authorization"},{"key":"Access-Control-Allow-Methods","value":"POST, GET, OPTIONS, PUT, DELETE, UPDATE"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Expose-Headers","value":"Content-Length"},{"key":"Access-Control-Max-Age","value":"86400"},{"key":"Cache-Control","value":"no-cache"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Fri, 25 Aug 2023 16:37:13 GMT"},{"key":"Content-Length","value":"48"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Specified user is now a base user.\"\n}"},{"id":"c2d7cbce-d213-43cd-af6d-cedc252dee47","name":"Yourself","originalRequest":{"method":"POST","header":[],"url":"{{hostname}}/superadmin/users/demote/1"},"status":"I'm a teapot","code":418,"_postman_previewlanguage":"json","header":[{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Access-Control-Allow-Headers","value":"Origin, Content-Type, api_key, Content-Length, Accept-Encoding, X-CSRF-Token, Authorization"},{"key":"Access-Control-Allow-Methods","value":"POST, GET, OPTIONS, PUT, DELETE, UPDATE"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Expose-Headers","value":"Content-Length"},{"key":"Access-Control-Max-Age","value":"86400"},{"key":"Cache-Control","value":"no-cache"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Fri, 25 Aug 2023 16:42:30 GMT"},{"key":"Content-Length","value":"38"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": \"You can't demote yourself!\"\n}"}],"_postman_id":"c170d653-5582-46b3-b6fc-c1a48c7c8ea0"}],"id":"89e4ecbc-f979-40df-9ca5-bbef8accd8d0","description":"<p>Super Admin is the first user created. Admins share all Super Admin permissions, except for promote/demote.</p>\n","_postman_id":"89e4ecbc-f979-40df-9ca5-bbef8accd8d0","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"yourtoken"}]},"isInherited":true,"source":{"_postman_id":"b4358d42-0569-4672-837c-2b334723648b","id":"b4358d42-0569-4672-837c-2b334723648b","name":"Bookstore","type":"collection"}}},{"name":"Put Findings","id":"f3af67a5-281b-4d7a-82f8-59ee356972eb","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"yourtoken"}]},"isInherited":true,"source":{"_postman_id":"b4358d42-0569-4672-837c-2b334723648b","id":"b4358d42-0569-4672-837c-2b334723648b","name":"Bookstore","type":"collection"}},"urlObject":{"query":[],"variable":[]},"url":""},"response":[],"_postman_id":"f3af67a5-281b-4d7a-82f8-59ee356972eb"},{"name":"FInding Upload","id":"4e61e232-c070-47c1-a0cb-5d880bdbf64c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"yourtoken"}]},"isInherited":true,"source":{"_postman_id":"b4358d42-0569-4672-837c-2b334723648b","id":"b4358d42-0569-4672-837c-2b334723648b","name":"Bookstore","type":"collection"}},"urlObject":{"query":[],"variable":[]},"url":""},"response":[],"_postman_id":"4e61e232-c070-47c1-a0cb-5d880bdbf64c"}],"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"yourtoken"}]}},"event":[{"listen":"prerequest","script":{"id":"ea9ba5ef-13a2-44e9-802f-ddc92e4e7cb7","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"577dcb3e-6dd9-4c95-8071-e2f42954d8bd","type":"text/javascript","exec":[""]}}],"variable":[{"key":"hostname","value":"http://0.0.0.0:8000/v1","type":"string","disabled":true},{"key":"token","value":"yourtoken"},{"value":"","type":"string","disabled":true}]}