{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"614c5443-97ff-4b3f-a07b-f1a3b3df4cb4","name":"ShareHub","description":"The testing for **ShareHub** validates user authentication, file uploads, and sharing mechanisms, using persistent cookies for secure access and refresh token management. Automated JavaScript tests written in **Postman** ensure proper validation of core features:\n\n### Core Features:\n\n- **User Registration & Authentication**: Validates user registration, login, and profile access with token-based session management.\n    \n- **Instance Creation & Management**: Ensures users can create, edit, and manage instances with proper permissions for both private and public instances.\n    \n- **File Upload & Organization**: Tests the upload and organization of various file types (photos, videos, documents) into groups, ensuring appropriate access controls.\n    \n\n### Controllers:\n\n- **Resource Controller**: Verifies uploads of different file types (videos, images, documents), file type validation, and URL storage.\n    \n- **Groups Controller**: Validates group creation, management, and organization of uploaded resources within an instance.\n    \n- **Resources Controller**: Ensures seamless file uploads and access permissions.\n    \n- **Comments Controller**: Tests comment creation, editing, and deletion, ensuring proper association with instances and user permissions.\n    \n\n### Additional Features:\n\n- **Cascading Deletion**: Implemented in the controller. When an instance is deleted, all related groups, documents, images, videos, and comments are also removed. Resources are deleted from Cloudinary before removing database entries to ensure complete cleanup.\n    \n- **Multer File Uploads**: Utilizes Multer for handling file uploads with advanced features such as file filtering based on extensions and MIME types. This ensures that only allowed file types are uploaded and processed.\n    \n\n### Hierarchical Structure:\n\n1. **Instance**\n    \n    - **Groups**\n        \n        - **Images**\n            \n        - **Docs**\n            \n        - **Videos**\n            \n2. **Detailed Structure:**\n    \n    - **Instance**: Contains ID, title, description, and associated groups.\n        \n    - **Groups**: Within an instance, includes ID, name, description, and resources categorized by type.\n        \n    - **Resources**: Within a group, includes categorized resources such as images, documents, and videos with their respective metadata.\n        \n\nAll testing for Groups, Resources, and Comments Controllers has been completed.\n\nFeel free to use this updated description as a base for your front-end project or documentation. For more details and to review the code, you can visit the [ShareHub GitHub repository](https://github.com/AdityaBVerma/ShareHub).","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":false,"owner":"32315664","collectionId":"614c5443-97ff-4b3f-a07b-f1a3b3df4cb4","publishedId":"2sAXjQ2q8C","public":true,"publicUrl":"https://documenter-api.postman.tech/view/32315664/2sAXjQ2q8C","privateUrl":"https://go.postman.co/documentation/32315664-614c5443-97ff-4b3f-a07b-f1a3b3df4cb4","customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"documentationLayout":"classic-double-column","customisation":{"metaTags":[{"name":"description","value":"ShareHub is a full-stack web application built with the MERN stack (MongoDB, Express.js, React, and Node.js) that allows users to upload, arrange, and share various types of files (photos,videos,documents,etc.). Users can create instances, organize files into groups, and share them with others using a password system"},{"name":"title","value":"Testing API ShareHub Aditya Verma"}],"appearance":{"default":"system_default","themes":[{"name":"dark","logo":null,"colors":{"top-bar":"212121","right-sidebar":"303030","highlight":"FF6C37"}},{"name":"light","logo":null,"colors":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"}}]}},"version":"8.10.0","publishDate":"2024-09-05T18:01:23.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{"title":"Testing API ShareHub Aditya Verma","description":"ShareHub is a full-stack web application built with the MERN stack (MongoDB, Express.js, React, and Node.js) that allows users to upload, arrange, and share various types of files (photos,videos,documents,etc.). Users can create instances, organize files into groups, and share them with others using a password system"},"logos":{"logoLight":null,"logoDark":null}},"statusCode":200},"environments":[{"name":"ShareHub","id":"eb22a970-2298-48f0-814d-ede1a2006f01","owner":"32315664","values":[{"key":"server","value":"http://localhost:8000/api/v1","enabled":true,"type":"default"},{"key":"server2","value":"http://localhost:3000/api/vi","enabled":true,"type":"default"}],"published":true}],"user":{"authenticated":false,"permissions":{"publish":false}},"run":{"button":{"js":"https://run.pstmn.io/button.js","css":"https://run.pstmn.io/button.css"}},"web":"https://www.getpostman.com/","team":{"logo":"https://res.cloudinary.com/postman/image/upload/t_team_logo_pubdoc/v1/team/768118b36f06c94b0306958b980558e6915839447e859fe16906e29d683976f0","favicon":""},"isEnvFetchError":false,"languages":"[{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"HttpClient\"},{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"RestSharp\"},{\"key\":\"curl\",\"label\":\"cURL\",\"variant\":\"cURL\"},{\"key\":\"dart\",\"label\":\"Dart\",\"variant\":\"http\"},{\"key\":\"go\",\"label\":\"Go\",\"variant\":\"Native\"},{\"key\":\"http\",\"label\":\"HTTP\",\"variant\":\"HTTP\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"OkHttp\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"Unirest\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"Fetch\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"jQuery\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"XHR\"},{\"key\":\"c\",\"label\":\"C\",\"variant\":\"libcurl\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Axios\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Native\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Request\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Unirest\"},{\"key\":\"objective-c\",\"label\":\"Objective-C\",\"variant\":\"NSURLSession\"},{\"key\":\"ocaml\",\"label\":\"OCaml\",\"variant\":\"Cohttp\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"cURL\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"Guzzle\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"HTTP_Request2\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"pecl_http\"},{\"key\":\"powershell\",\"label\":\"PowerShell\",\"variant\":\"RestMethod\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"http.client\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"Requests\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"httr\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"RCurl\"},{\"key\":\"ruby\",\"label\":\"Ruby\",\"variant\":\"Net::HTTP\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"Httpie\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"wget\"},{\"key\":\"swift\",\"label\":\"Swift\",\"variant\":\"URLSession\"}]","languageSettings":[{"key":"csharp","label":"C#","variant":"HttpClient"},{"key":"csharp","label":"C#","variant":"RestSharp"},{"key":"curl","label":"cURL","variant":"cURL"},{"key":"dart","label":"Dart","variant":"http"},{"key":"go","label":"Go","variant":"Native"},{"key":"http","label":"HTTP","variant":"HTTP"},{"key":"java","label":"Java","variant":"OkHttp"},{"key":"java","label":"Java","variant":"Unirest"},{"key":"javascript","label":"JavaScript","variant":"Fetch"},{"key":"javascript","label":"JavaScript","variant":"jQuery"},{"key":"javascript","label":"JavaScript","variant":"XHR"},{"key":"c","label":"C","variant":"libcurl"},{"key":"nodejs","label":"NodeJs","variant":"Axios"},{"key":"nodejs","label":"NodeJs","variant":"Native"},{"key":"nodejs","label":"NodeJs","variant":"Request"},{"key":"nodejs","label":"NodeJs","variant":"Unirest"},{"key":"objective-c","label":"Objective-C","variant":"NSURLSession"},{"key":"ocaml","label":"OCaml","variant":"Cohttp"},{"key":"php","label":"PHP","variant":"cURL"},{"key":"php","label":"PHP","variant":"Guzzle"},{"key":"php","label":"PHP","variant":"HTTP_Request2"},{"key":"php","label":"PHP","variant":"pecl_http"},{"key":"powershell","label":"PowerShell","variant":"RestMethod"},{"key":"python","label":"Python","variant":"http.client"},{"key":"python","label":"Python","variant":"Requests"},{"key":"r","label":"R","variant":"httr"},{"key":"r","label":"R","variant":"RCurl"},{"key":"ruby","label":"Ruby","variant":"Net::HTTP"},{"key":"shell","label":"Shell","variant":"Httpie"},{"key":"shell","label":"Shell","variant":"wget"},{"key":"swift","label":"Swift","variant":"URLSession"}],"languageOptions":[{"label":"C# - HttpClient","value":"csharp - HttpClient - C#"},{"label":"C# - RestSharp","value":"csharp - RestSharp - C#"},{"label":"cURL - cURL","value":"curl - cURL - cURL"},{"label":"Dart - http","value":"dart - http - Dart"},{"label":"Go - Native","value":"go - Native - Go"},{"label":"HTTP - HTTP","value":"http - HTTP - HTTP"},{"label":"Java - OkHttp","value":"java - OkHttp - Java"},{"label":"Java - Unirest","value":"java - Unirest - Java"},{"label":"JavaScript - Fetch","value":"javascript - Fetch - JavaScript"},{"label":"JavaScript - jQuery","value":"javascript - jQuery - JavaScript"},{"label":"JavaScript - XHR","value":"javascript - XHR - JavaScript"},{"label":"C - libcurl","value":"c - libcurl - C"},{"label":"NodeJs - Axios","value":"nodejs - Axios - NodeJs"},{"label":"NodeJs - Native","value":"nodejs - Native - NodeJs"},{"label":"NodeJs - Request","value":"nodejs - Request - NodeJs"},{"label":"NodeJs - Unirest","value":"nodejs - Unirest - NodeJs"},{"label":"Objective-C - NSURLSession","value":"objective-c - NSURLSession - Objective-C"},{"label":"OCaml - Cohttp","value":"ocaml - Cohttp - OCaml"},{"label":"PHP - cURL","value":"php - cURL - PHP"},{"label":"PHP - Guzzle","value":"php - Guzzle - PHP"},{"label":"PHP - HTTP_Request2","value":"php - HTTP_Request2 - PHP"},{"label":"PHP - pecl_http","value":"php - pecl_http - PHP"},{"label":"PowerShell - RestMethod","value":"powershell - RestMethod - PowerShell"},{"label":"Python - http.client","value":"python - http.client - Python"},{"label":"Python - Requests","value":"python - Requests - Python"},{"label":"R - httr","value":"r - httr - R"},{"label":"R - RCurl","value":"r - RCurl - R"},{"label":"Ruby - Net::HTTP","value":"ruby - Net::HTTP - Ruby"},{"label":"Shell - Httpie","value":"shell - Httpie - Shell"},{"label":"Shell - wget","value":"shell - wget - Shell"},{"label":"Swift - URLSession","value":"swift - URLSession - Swift"}],"layoutOptions":[{"value":"classic-single-column","label":"Single Column"},{"value":"classic-double-column","label":"Double Column"}],"versionOptions":[],"environmentOptions":[{"value":"0","label":"No Environment"},{"label":"ShareHub","value":"32315664-eb22a970-2298-48f0-814d-ede1a2006f01"}],"canonicalUrl":"https://documenter.gw.postman.com/view/metadata/2sAXjQ2q8C"}