{ "info": { "name": "Oudelaa Dashboard API", "description": "Dashboard/admin collection generated from Oudelaa master collection.", "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" }, "item": [ { "name": "Auth", "item": [ { "name": "Login", "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" } ], "url": "{{baseUrl}}/auth/login", "body": { "mode": "raw", "raw": "{\n \"email\": \"{{registerEmail}}\",\n \"password\": \"StrongPass123!\"\n}" } }, "event": [ { "listen": "prerequest", "script": { "type": "text/javascript", "exec": [ "const missing = [];", "if (!pm.environment.get('accessToken')) missing.push('accessToken');", "if (!pm.environment.get('postId')) missing.push('postId');", "if (missing.length) { throw new Error('Missing environment vars: ' + missing.join(', ')); }" ] } }, { "listen": "test", "script": { "type": "text/javascript", "exec": [ "pm.test('Status is 200', function () { pm.response.to.have.status(200); });", "const json = pm.response.json();", "pm.expect(json.user).to.exist;", "const uid = json.user._id || json.user.id;", "pm.environment.set('accessToken', json.accessToken);", "pm.environment.set('refreshToken', json.refreshToken);", "pm.environment.set('userId', uid);", "pm.environment.set('currentUserId', uid);" ] } } ] }, { "name": "Target User Login", "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" } ], "url": "{{baseUrl}}/auth/login", "body": { "mode": "raw", "raw": "{\n \"email\": \"{{targetLoginEmail}}\",\n \"password\": \"{{targetLoginPassword}}\"\n}" } }, "event": [ { "listen": "prerequest", "script": { "type": "text/javascript", "exec": [ "const missing = [];", "if (!pm.environment.get('accessToken')) missing.push('accessToken');", "if (!pm.environment.get('postId')) missing.push('postId');", "if (missing.length) { throw new Error('Missing environment vars: ' + missing.join(', ')); }" ] } }, { "listen": "test", "script": { "type": "text/javascript", "exec": [ "pm.test('Status is 200', function () { pm.response.to.have.status(200); });", "const json = pm.response.json();", "pm.expect(json.user).to.exist;", "const uid = json.user._id || json.user.id;", "pm.environment.set('targetAccessToken', json.accessToken);", "pm.environment.set('targetRefreshToken', json.refreshToken);", "pm.environment.set('targetUserId', uid);" ] } } ] }, { "name": "Admin Login", "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" } ], "url": "{{baseUrl}}/auth/login", "body": { "mode": "raw", "raw": "{\n \"email\": \"{{adminEmail}}\",\n \"password\": \"{{adminPassword}}\"\n}" } }, "event": [ { "listen": "prerequest", "script": { "type": "text/javascript", "exec": [ "const missing = [];", "if (!pm.environment.get('accessToken')) missing.push('accessToken');", "if (!pm.environment.get('postId')) missing.push('postId');", "if (missing.length) { throw new Error('Missing environment vars: ' + missing.join(', ')); }" ] } }, { "listen": "test", "script": { "type": "text/javascript", "exec": [ "pm.test('Status is 200', function () { pm.response.to.have.status(200); });", "const json = pm.response.json();", "pm.environment.set('adminAccessToken', json.accessToken);", "pm.environment.set('adminRefreshToken', json.refreshToken);", "pm.environment.set('adminUserId', (json.user && (json.user._id || json.user.id)) || pm.environment.get('adminUserId'));" ] } } ] }, { "name": "Refresh", "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" } ], "url": "{{baseUrl}}/auth/refresh", "body": { "mode": "raw", "raw": "{\n \"refreshToken\": \"{{refreshToken}}\"\n}" } }, "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "pm.test('Status is 200', function () { pm.response.to.have.status(200); });", "const json = pm.response.json();", "pm.expect(json.user).to.exist;", "pm.environment.set('accessToken', json.accessToken);", "pm.environment.set('refreshToken', json.refreshToken);", "pm.environment.set('userId', json.user._id || json.user.id);" ] } } ] }, { "name": "Logout", "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" } ], "url": "{{baseUrl}}/auth/logout", "body": { "mode": "raw", "raw": "{\n \"refreshToken\": \"{{refreshToken}}\"\n}" } }, "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "pm.test('Status is 200', function () { pm.response.to.have.status(200); });", "const json = pm.response.json();", "pm.expect(json.message).to.eql('Logged out successfully');" ] } } ] }, { "name": "SuperAdmin", "item": [ { "name": "SuperAdmin Login", "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" } ], "url": "{{baseUrl}}/auth/superadmin/login", "body": { "mode": "raw", "raw": "{\n \"email\": \"admin@oudelaa.com\",\n \"password\": \"SuperAdminStrongPass123!\"\n}" } }, "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "pm.test('Status is 200', function () { pm.response.to.have.status(200); });", "const json = pm.response.json();", "pm.expect(json.accessToken).to.exist;", "pm.expect(json.refreshToken).to.exist;", "pm.environment.set('superAdminAccessToken', json.accessToken);", "pm.environment.set('superAdminRefreshToken', json.refreshToken);" ] } } ] }, { "name": "SuperAdmin Refresh", "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" } ], "url": "{{baseUrl}}/auth/superadmin/refresh", "body": { "mode": "raw", "raw": "{\n \"refreshToken\": \"{{superAdminRefreshToken}}\"\n}" } }, "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "pm.test('Status is 200', function () { pm.response.to.have.status(200); });", "const json = pm.response.json();", "pm.expect(json.accessToken).to.exist;", "pm.expect(json.refreshToken).to.exist;", "pm.environment.set('superAdminAccessToken', json.accessToken);", "pm.environment.set('superAdminRefreshToken', json.refreshToken);" ] } } ] }, { "name": "SuperAdmin Logout", "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" } ], "url": "{{baseUrl}}/auth/superadmin/logout", "body": { "mode": "raw", "raw": "{\n \"refreshToken\": \"{{superAdminRefreshToken}}\"\n}" } }, "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "pm.test('Status is 200', function () { pm.response.to.have.status(200); });", "const json = pm.response.json();", "pm.expect(json.message).to.eql('Superadmin logged out successfully');" ] } } ] } ] }, { "name": "SuperAdmin List Sessions", "request": { "method": "GET", "header": [ { "key": "Authorization", "value": "Bearer {{superAdminAccessToken}}" } ], "url": { "raw": "{{baseUrl}}/auth/superadmin/sessions", "host": [ "{{baseUrl}}" ], "path": [ "auth", "superadmin", "sessions" ] } } }, { "name": "SuperAdmin Revoke Session", "request": { "method": "POST", "header": [ { "key": "Authorization", "value": "Bearer {{superAdminAccessToken}}" } ], "url": { "raw": "{{baseUrl}}/auth/superadmin/sessions/{{sessionId}}/revoke", "host": [ "{{baseUrl}}" ], "path": [ "auth", "superadmin", "sessions", "{{sessionId}}", "revoke" ] } } } ] }, { "name": "Media", "item": [ { "name": "Media Health", "request": { "method": "GET", "header": [ { "key": "Authorization", "value": "Bearer {{accessToken}}" } ], "url": "{{baseUrl}}/media/health" }, "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "pm.test('Status is 200', function () { pm.response.to.have.status(200); });", "const json = pm.response.json();", "pm.expect(json.storage).to.be.an('object');", "pm.expect(json.storage.provider).to.be.oneOf(['local', 's3']);", "pm.expect(json.serving.rangeRequests).to.eql(true);", "pm.expect(json.processing).to.be.an('object');" ] } } ] } ] }, { "name": "Users", "item": [ { "name": "SuperAdmin List Admins", "request": { "method": "GET", "header": [ { "key": "Authorization", "value": "Bearer {{superAdminAccessToken}}" } ], "url": "{{baseUrl}}/users/admin/admins?page=1&limit=20" }, "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "pm.test('Status is 200', function () { pm.response.to.have.status(200); });", "const json = pm.response.json();", "pm.expect(json.items).to.be.an('array');", "pm.expect(json.pagination).to.exist;", "if (json.items && json.items.length > 0) { pm.environment.set('adminUserId', json.items[0]._id || json.items[0].id); }" ] } } ] }, { "name": "SuperAdmin Update Admin", "request": { "method": "PATCH", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Authorization", "value": "Bearer {{superAdminAccessToken}}" } ], "url": "{{baseUrl}}/users/admin/admins/{{adminUserId}}", "body": { "mode": "raw", "raw": "{\n \"name\": \"Store Admin Updated\",\n \"stageName\": \"Music Store Owner\",\n \"bio\": \"Admin managing marketplace tools\",\n \"location\": \"Riyadh, Saudi Arabia\"\n}" } }, "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "pm.test('Status is 200', function () { pm.response.to.have.status(200); });", "const json = pm.response.json();", "pm.expect(json).to.have.property('role');", "pm.expect(json.role).to.eql('admin');" ] } } ] }, { "name": "SuperAdmin Delete Admin", "request": { "method": "DELETE", "header": [ { "key": "Authorization", "value": "Bearer {{superAdminAccessToken}}" } ], "url": "{{baseUrl}}/users/admin/admins/{{adminUserId}}" }, "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "pm.test('Status is 200', function () { pm.response.to.have.status(200); });", "const json = pm.response.json();", "pm.expect(json.message).to.eql('Admin deleted successfully');" ] } } ] }, { "name": "SuperAdmin Create Admin", "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Authorization", "value": "Bearer {{superAdminAccessToken}}" } ], "url": "{{baseUrl}}/users/admin/create-admin", "body": { "mode": "raw", "raw": "{\n \"name\": \"Store Admin\",\n \"username\": \"{{adminUsername}}\",\n \"email\": \"{{adminEmail}}\",\n \"password\": \"{{adminPassword}}\",\n \"confirmPassword\": \"{{adminPassword}}\"\n}" } }, "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "pm.test('Status is 201', function () { pm.response.to.have.status(201); });", "const json = pm.response.json();", "pm.environment.set('adminUserId', json._id || json.id);" ] } } ] }, { "name": "SuperAdmin Set User Role", "request": { "method": "PATCH", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Authorization", "value": "Bearer {{superAdminAccessToken}}" } ], "url": "{{baseUrl}}/users/admin/{{adminUserId}}/role", "body": { "mode": "raw", "raw": "{\n \"role\": \"admin\"\n}" } }, "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "pm.test('Status is 200', function () { pm.response.to.have.status(200); });", "const json = pm.response.json();", "pm.expect(json.role).to.eql('admin');" ] } } ] }, { "name": "Admin Get Users", "request": { "method": "GET", "header": [ { "key": "Authorization", "value": "Bearer {{superAdminAccessToken}}" } ], "url": "{{baseUrl}}/users/admin?page=1&limit=10" }, "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "pm.test('Status is 200', function () { pm.response.to.have.status(200); });", "const json = pm.response.json();", "if (json.items && json.items.length > 0) { pm.environment.set('adminUserId', json.items[0]._id || json.items[0].id); }" ] } } ] }, { "name": "Admin Get User By Id", "request": { "method": "GET", "header": [ { "key": "Authorization", "value": "Bearer {{superAdminAccessToken}}" } ], "url": "{{baseUrl}}/users/admin/{{adminUserId}}" }, "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "pm.test('Status is 200', function () { pm.response.to.have.status(200); });", "const json = pm.response.json();", "pm.expect(json._id || json.id).to.exist;" ] } } ] }, { "name": "Admin Update User", "request": { "method": "PATCH", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Authorization", "value": "Bearer {{superAdminAccessToken}}" } ], "url": "{{baseUrl}}/users/admin/{{adminUserId}}", "body": { "mode": "raw", "raw": "{\n \"stageName\": \"Updated by SuperAdmin\",\n \"bio\": \"Profile updated by admin\"\n}" } }, "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "pm.test('Status is 200', function () { pm.response.to.have.status(200); });", "const json = pm.response.json();", "pm.expect(json.stageName).to.eql('Updated by SuperAdmin');" ] } } ] }, { "name": "Admin Disable User", "request": { "method": "PATCH", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Authorization", "value": "Bearer {{superAdminAccessToken}}" } ], "url": "{{baseUrl}}/users/admin/{{adminUserId}}/disable", "body": { "mode": "raw", "raw": "{\n \"reason\": \"Violation of community guidelines\"\n}" } }, "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "pm.test('Status is 200', function () { pm.response.to.have.status(200); });", "const json = pm.response.json();", "pm.expect(json.isDisabled).to.eql(true);" ] } } ] }, { "name": "Admin Enable User", "request": { "method": "PATCH", "header": [ { "key": "Authorization", "value": "Bearer {{superAdminAccessToken}}" } ], "url": "{{baseUrl}}/users/admin/{{adminUserId}}/enable" }, "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "pm.test('Status is 200', function () { pm.response.to.have.status(200); });", "const json = pm.response.json();", "pm.expect(json.isDisabled).to.eql(false);" ] } } ] }, { "name": "Admin Delete User", "request": { "method": "DELETE", "header": [ { "key": "Authorization", "value": "Bearer {{superAdminAccessToken}}" } ], "url": "{{baseUrl}}/users/admin/{{adminUserId}}" }, "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "pm.test('Status is 200', function () { pm.response.to.have.status(200); });", "const json = pm.response.json();", "pm.expect(json.message).to.eql('User deleted successfully');" ] } } ] }, { "name": "Admin Discover Users", "request": { "method": "GET", "header": [ { "key": "Authorization", "value": "Bearer {{superAdminAccessToken}}" } ], "url": { "raw": "{{baseUrl}}/users/admin/discover?page=1&limit=20&q={{usersQuery}}", "host": [ "{{baseUrl}}" ], "path": [ "users", "admin", "discover" ], "query": [ { "key": "page", "value": "1" }, { "key": "limit", "value": "20" }, { "key": "q", "value": "{{usersQuery}}" } ] } } }, { "name": "Admin Get User Profile Overview", "request": { "method": "GET", "header": [ { "key": "Authorization", "value": "Bearer {{superAdminAccessToken}}" } ], "url": { "raw": "{{baseUrl}}/users/admin/{{id}}/profile-overview", "host": [ "{{baseUrl}}" ], "path": [ "users", "admin", "{{id}}", "profile-overview" ] } } } ] }, { "name": "Posts", "item": [ { "name": "Admin Get Posts Moderation", "request": { "method": "GET", "header": [ { "key": "Authorization", "value": "Bearer {{superAdminAccessToken}}" } ], "url": { "raw": "{{baseUrl}}/posts/admin/moderation?page=1&limit=20&moderationStatus=flagged", "host": [ "{{baseUrl}}" ], "path": [ "posts", "admin", "moderation" ], "query": [ { "key": "page", "value": "1" }, { "key": "limit", "value": "20" }, { "key": "moderationStatus", "value": "flagged" } ] } } } ] }, { "name": "Comments", "item": [ { "name": "Admin Delete Comment", "request": { "method": "DELETE", "header": [ { "key": "Authorization", "value": "Bearer {{superAdminAccessToken}}" } ], "url": "{{baseUrl}}/comments/admin/{{commentId}}" }, "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "pm.test('Status is 200', function () { pm.response.to.have.status(200); });", "const json = pm.response.json();", "pm.expect(json.success).to.eql(true);" ] } } ] }, { "name": "Admin List Comments", "request": { "method": "GET", "header": [ { "key": "Authorization", "value": "Bearer {{superAdminAccessToken}}" } ], "url": { "raw": "{{baseUrl}}/comments/admin?page=1&limit=20&moderationStatus=flagged", "host": [ "{{baseUrl}}" ], "path": [ "comments", "admin" ], "query": [ { "key": "page", "value": "1" }, { "key": "limit", "value": "20" }, { "key": "moderationStatus", "value": "flagged" } ] } } } ] }, { "name": "Notifications", "item": [ { "name": "SuperAdmin Notifications", "request": { "method": "GET", "header": [ { "key": "Authorization", "value": "Bearer {{superAdminAccessToken}}" } ], "url": { "raw": "{{baseUrl}}/notifications/superadmin?page=1&limit=20&type={{notificationType}}", "host": [ "{{baseUrl}}" ], "path": [ "notifications", "superadmin" ], "query": [ { "key": "page", "value": "1" }, { "key": "limit", "value": "20" }, { "key": "type", "value": "{{notificationType}}" } ] } } } ] }, { "name": "Smoke", "item": [ { "name": "Login (Smoke)", "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" } ], "url": "{{baseUrl}}/auth/login", "body": { "mode": "raw", "raw": "{\n \"email\": \"{{registerEmail}}\",\n \"password\": \"StrongPass123!\"\n}" } }, "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "pm.test('Status is 200', function () { pm.response.to.have.status(200); });", "const json = pm.response.json();", "const uid = json.user._id || json.user.id;", "pm.environment.set('accessToken', json.accessToken);", "pm.environment.set('refreshToken', json.refreshToken);", "pm.environment.set('userId', uid);" ] } } ] } ] }, { "name": "Cleanup", "item": [ { "name": "Delete Instrument (if exists)", "request": { "method": "DELETE", "header": [ { "key": "Authorization", "value": "Bearer {{adminAccessToken}}" } ], "url": "{{baseUrl}}/marketplace/admin/instruments/{{instrumentId}}" }, "event": [ { "listen": "prerequest", "script": { "type": "text/javascript", "exec": [ "if (!pm.environment.get('instrumentId')) { postman.setNextRequest(null); }" ] } } ] } ] }, { "name": "Marketplace", "item": [ { "name": "02 Shop Profile", "item": [ { "name": "Admin", "item": [ { "name": "Admin Update Shop Profile", "request": { "method": "PATCH", "header": [ { "key": "Authorization", "value": "Bearer {{adminAccessToken}}" } ], "url": "{{baseUrl}}/marketplace/admin/shop-profile", "body": { "mode": "formdata", "formdata": [ { "key": "shopName", "value": "Awtarna Store", "type": "text" }, { "key": "shopDescription", "value": "Trusted marketplace shop profile", "type": "text" }, { "key": "shopLocation", "value": "Riyadh", "type": "text" }, { "key": "shopLatitude", "value": "24.7136", "type": "text" }, { "key": "shopLongitude", "value": "46.6753", "type": "text" }, { "key": "shopImageFiles", "type": "file", "src": [], "disabled": true }, { "key": "shopImageFiles", "type": "file", "src": [], "disabled": true } ] } }, "event": [ { "listen": "prerequest", "script": { "type": "text/javascript", "exec": [ "if (!pm.environment.get('adminAccessToken')) { throw new Error('Missing environment var: adminAccessToken'); }" ] } }, { "listen": "test", "script": { "type": "text/javascript", "exec": [ "pm.test('Status is 200', function () { pm.response.to.have.status(200); });", "const json = pm.response.json();", "pm.expect(json.shopName).to.eql('Oudelaa Music Store');" ] } } ] }, { "name": "Admin Get My Shop Profile", "request": { "method": "GET", "header": [ { "key": "Authorization", "value": "Bearer {{adminAccessToken}}" } ], "url": "{{baseUrl}}/marketplace/admin/shop-profile/me" }, "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "pm.test('Status is 200', function () { pm.response.to.have.status(200); });", "const json = pm.response.json();", "pm.expect(json).to.have.property('shopName');" ] } } ] } ] }, { "name": "Public", "item": [ { "name": "Public Get Shop By Admin Id", "request": { "method": "GET", "header": [], "url": "{{baseUrl}}/marketplace/shops/{{adminUserId}}" }, "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "pm.test('Status is 200', function () { pm.response.to.have.status(200); });", "const json = pm.response.json();", "pm.expect(json).to.have.property('shopName');" ] } } ] } ] } ] }, { "name": "03 Repair Shops", "item": [ { "name": "Admin", "item": [ { "name": "Admin Create Repair Shop (One Shop Per Admin)", "request": { "method": "POST", "header": [ { "key": "Authorization", "value": "Bearer {{adminAccessToken}}" } ], "url": "{{baseUrl}}/marketplace/admin/repair-shops", "body": { "mode": "formdata", "formdata": [ { "key": "name", "value": "Fix Strings Workshop", "type": "text" }, { "key": "description", "value": "Repair shop for oud and violin", "type": "text" }, { "key": "services", "value": "repair,setup,cleaning", "type": "text" }, { "key": "phone", "value": "+966500000000", "type": "text" }, { "key": "whatsapp", "value": "+966500000000", "type": "text" }, { "key": "location", "value": "Riyadh", "type": "text" }, { "key": "latitude", "value": "24.7136", "type": "text" }, { "key": "longitude", "value": "46.6753", "type": "text" }, { "key": "isActive", "value": "true", "type": "text" }, { "key": "imageFiles", "type": "file", "src": [], "disabled": true }, { "key": "imageFiles", "type": "file", "src": [], "disabled": true } ] } }, "event": [ { "listen": "prerequest", "script": { "type": "text/javascript", "exec": [ "if (!pm.environment.get('adminAccessToken')) { throw new Error('Missing environment var: adminAccessToken'); }" ] } }, { "listen": "test", "script": { "type": "text/javascript", "exec": [ "pm.test('Status is 201', function () { pm.response.to.have.status(201); });", "const json = pm.response.json();", "pm.environment.set('repairShopId', json._id || json.id);", "pm.expect(json.name).to.eql('Oudelaa Repair Center');" ] } } ] }, { "name": "Admin Create Second Repair Shop Should Fail", "request": { "method": "POST", "header": [ { "key": "Authorization", "value": "Bearer {{adminAccessToken}}" } ], "url": "{{baseUrl}}/marketplace/admin/repair-shops", "body": { "mode": "formdata", "formdata": [ { "key": "name", "value": "Fix Strings Workshop", "type": "text" }, { "key": "description", "value": "Repair shop for oud and violin", "type": "text" }, { "key": "services", "value": "repair,setup,cleaning", "type": "text" }, { "key": "phone", "value": "+966500000000", "type": "text" }, { "key": "whatsapp", "value": "+966500000000", "type": "text" }, { "key": "location", "value": "Riyadh", "type": "text" }, { "key": "latitude", "value": "24.7136", "type": "text" }, { "key": "longitude", "value": "46.6753", "type": "text" }, { "key": "isActive", "value": "true", "type": "text" }, { "key": "imageFiles", "type": "file", "src": [], "disabled": true }, { "key": "imageFiles", "type": "file", "src": [], "disabled": true } ] } }, "event": [ { "listen": "prerequest", "script": { "type": "text/javascript", "exec": [ "if (!pm.environment.get('adminAccessToken')) { throw new Error('Missing environment var: adminAccessToken'); }", "if (!pm.environment.get('repairShopId')) { throw new Error('Create the first repair shop before running this negative test.'); }" ] } }, { "listen": "test", "script": { "type": "text/javascript", "exec": [ "pm.test('Status is 400', function () { pm.response.to.have.status(400); });", "const json = pm.response.json();", "const messages = Array.isArray(json.message) ? json.message : [json.message];", "pm.expect(messages.join(' ')).to.include('Each admin can create one marketplace shop only');" ] } } ] }, { "name": "Admin Update Repair Shop", "request": { "method": "PATCH", "header": [ { "key": "Authorization", "value": "Bearer {{adminAccessToken}}" } ], "url": "{{baseUrl}}/marketplace/admin/repair-shops/{{repairShopId}}", "body": { "mode": "formdata", "formdata": [ { "key": "name", "value": "Updated Fix Strings Workshop", "type": "text" }, { "key": "description", "value": "Updated repair shop description", "type": "text" }, { "key": "services", "value": "repair,setup,polishing", "type": "text" }, { "key": "phone", "value": "+966511111111", "type": "text" }, { "key": "whatsapp", "value": "+966511111111", "type": "text" }, { "key": "location", "value": "Jeddah", "type": "text" }, { "key": "latitude", "value": "21.5433", "type": "text" }, { "key": "longitude", "value": "39.1728", "type": "text" }, { "key": "isActive", "value": "true", "type": "text" }, { "key": "imageFiles", "type": "file", "src": [], "disabled": true }, { "key": "imageFiles", "type": "file", "src": [], "disabled": true } ] } }, "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "pm.test('Status is 200', function () { pm.response.to.have.status(200); });" ] } } ] }, { "name": "Admin Get My Repair Shops", "request": { "method": "GET", "header": [ { "key": "Authorization", "value": "Bearer {{adminAccessToken}}" } ], "url": "{{baseUrl}}/marketplace/admin/repair-shops/me?q={{repairShopQuery}}&isActive={{repairShopIsActive}}&sortBy={{repairShopSortBy}}&sortOrder={{listSortOrder}}&page=1&limit=20" }, "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "pm.test('Status is 200', function () { pm.response.to.have.status(200); });", "const json = pm.response.json();", "pm.expect(json.items).to.be.an('array');", "pm.expect(json.pagination).to.exist;", "if (json.items && json.items.length > 0) { pm.environment.set('repairShopId', json.items[0]._id || json.items[0].id); }" ] } } ] }, { "name": "Admin Delete Repair Shop", "request": { "method": "DELETE", "header": [ { "key": "Authorization", "value": "Bearer {{adminAccessToken}}" } ], "url": "{{baseUrl}}/marketplace/admin/repair-shops/{{repairShopId}}" }, "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "pm.test('Status is 200', function () { pm.response.to.have.status(200); });", "const json = pm.response.json();", "pm.expect(json.success).to.eql(true);" ] } } ] } ] } ] }, { "name": "04 Musical Instruments", "item": [ { "name": "Admin", "item": [ { "name": "Admin Create Instrument", "request": { "method": "POST", "header": [ { "key": "Authorization", "value": "Bearer {{adminAccessToken}}" } ], "url": "{{baseUrl}}/marketplace/admin/instruments", "body": { "mode": "formdata", "formdata": [ { "key": "title", "value": "Concert Guitar", "type": "text" }, { "key": "description", "value": "Acoustic guitar in excellent condition", "type": "text" }, { "key": "price", "value": "2100", "type": "text" }, { "key": "currency", "value": "SAR", "type": "text" }, { "key": "quantity", "value": "1", "type": "text" }, { "key": "condition", "value": "used", "type": "text" }, { "key": "instrumentType", "value": "Guitar", "type": "text" }, { "key": "imageFiles", "type": "file", "src": [], "disabled": true }, { "key": "imageFiles", "type": "file", "src": [], "disabled": true } ] } }, "event": [ { "listen": "prerequest", "script": { "type": "text/javascript", "exec": [ "if (!pm.environment.get('adminAccessToken')) { throw new Error('Missing environment var: adminAccessToken'); }" ] } }, { "listen": "test", "script": { "type": "text/javascript", "exec": [ "pm.test('Status is 201', function () { pm.response.to.have.status(201); });", "const json = pm.response.json();", "pm.environment.set('instrumentId', json._id || json.id);" ] } } ] }, { "name": "Admin Update Instrument", "request": { "method": "PATCH", "header": [ { "key": "Authorization", "value": "Bearer {{adminAccessToken}}" } ], "url": "{{baseUrl}}/marketplace/admin/instruments/{{instrumentId}}", "body": { "mode": "formdata", "formdata": [ { "key": "title", "value": "Updated Concert Guitar", "type": "text" }, { "key": "description", "value": "Updated instrument description", "type": "text" }, { "key": "price", "value": "2400", "type": "text" }, { "key": "currency", "value": "SAR", "type": "text" }, { "key": "quantity", "value": "1", "type": "text" }, { "key": "condition", "value": "used", "type": "text" }, { "key": "instrumentType", "value": "Violin", "type": "text" }, { "key": "imageFiles", "type": "file", "src": [], "disabled": true }, { "key": "imageFiles", "type": "file", "src": [], "disabled": true } ] } }, "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "pm.test('Status is 200', function () { pm.response.to.have.status(200); });" ] } } ] }, { "name": "Admin Get My Instruments", "request": { "method": "GET", "header": [ { "key": "Authorization", "value": "Bearer {{adminAccessToken}}" } ], "url": "{{baseUrl}}/marketplace/admin/instruments/me?q={{marketplaceQuery}}&minPrice={{marketplaceMinPrice}}&maxPrice={{marketplaceMaxPrice}}&isActive={{marketplaceIsActive}}&condition={{marketplaceCondition}}&instrumentType={{marketplaceInstrumentType}}&sortBy={{marketplaceSortBy}}&sortOrder={{listSortOrder}}&page=1&limit=20" }, "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "pm.test('Status is 200', function () { pm.response.to.have.status(200); });", "const json = pm.response.json();", "pm.expect(json.items).to.be.an('array');", "pm.expect(json.pagination).to.exist;", "if (json.items && json.items.length > 0) { pm.environment.set('instrumentId', json.items[0]._id || json.items[0].id); }" ] } } ] }, { "name": "Admin Delete Instrument", "request": { "method": "DELETE", "header": [ { "key": "Authorization", "value": "Bearer {{adminAccessToken}}" } ], "url": "{{baseUrl}}/marketplace/admin/instruments/{{instrumentId}}" }, "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "pm.test('Status is 200', function () { pm.response.to.have.status(200); });", "const json = pm.response.json();", "pm.expect(json.success).to.eql(true);" ] } } ] } ] } ] }, { "name": "05 General Marketplace", "item": [ { "name": "Admin", "item": [ { "name": "Admin Create Listing", "request": { "method": "POST", "header": [ { "key": "Authorization", "value": "Bearer {{adminAccessToken}}" } ], "url": "{{baseUrl}}/marketplace/admin/listings", "body": { "mode": "formdata", "formdata": [ { "key": "title", "value": "Microphone SM58", "type": "text" }, { "key": "description", "value": "Durable dynamic microphone for studio and stage", "type": "text" }, { "key": "price", "value": "450", "type": "text" }, { "key": "currency", "value": "SAR", "type": "text" }, { "key": "quantity", "value": "1", "type": "text" }, { "key": "condition", "value": "used", "type": "text" }, { "key": "instrumentType", "value": "Microphone", "type": "text" }, { "key": "listingCategory", "value": "audio_gear", "type": "text" }, { "key": "isActive", "value": "true", "type": "text" }, { "key": "imageFiles", "type": "file", "src": [], "disabled": true }, { "key": "imageFiles", "type": "file", "src": [], "disabled": true } ] } }, "event": [ { "listen": "prerequest", "script": { "type": "text/javascript", "exec": [ "if (!pm.environment.get('adminAccessToken')) { throw new Error('Missing environment var: adminAccessToken'); }" ] } }, { "listen": "test", "script": { "type": "text/javascript", "exec": [ "pm.test('Status is 201', function () { pm.response.to.have.status(201); });", "const json = pm.response.json();", "pm.environment.set('listingId', json._id || json.id);", "pm.expect(json.listingCategory).to.eql('accessory');" ] } } ] }, { "name": "Admin Update Listing", "request": { "method": "PATCH", "header": [ { "key": "Authorization", "value": "Bearer {{adminAccessToken}}" } ], "url": "{{baseUrl}}/marketplace/admin/listings/{{listingId}}", "body": { "mode": "formdata", "formdata": [ { "key": "title", "value": "Updated Microphone SM58", "type": "text" }, { "key": "description", "value": "Updated marketplace listing description", "type": "text" }, { "key": "price", "value": "500", "type": "text" }, { "key": "currency", "value": "SAR", "type": "text" }, { "key": "quantity", "value": "1", "type": "text" }, { "key": "condition", "value": "used", "type": "text" }, { "key": "instrumentType", "value": "Microphone", "type": "text" }, { "key": "listingCategory", "value": "audio_gear", "type": "text" }, { "key": "isActive", "value": "true", "type": "text" }, { "key": "imageFiles", "type": "file", "src": [], "disabled": true }, { "key": "imageFiles", "type": "file", "src": [], "disabled": true } ] } }, "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "pm.test('Status is 200', function () { pm.response.to.have.status(200); });" ] } } ] }, { "name": "Admin Get My Listings", "request": { "method": "GET", "header": [ { "key": "Authorization", "value": "Bearer {{adminAccessToken}}" } ], "url": "{{baseUrl}}/marketplace/admin/listings/me?q={{marketplaceQuery}}&minPrice={{marketplaceMinPrice}}&maxPrice={{marketplaceMaxPrice}}&isActive={{marketplaceIsActive}}&listingCategory={{marketplaceListingCategory}}&condition={{marketplaceCondition}}&instrumentType={{marketplaceInstrumentType}}&sortBy={{marketplaceSortBy}}&sortOrder={{listSortOrder}}&page=1&limit=20" }, "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "pm.test('Status is 200', function () { pm.response.to.have.status(200); });", "const json = pm.response.json();", "pm.expect(json.items).to.be.an('array');", "pm.expect(json.pagination).to.exist;", "if (json.items && json.items.length > 0) { pm.environment.set('listingId', json.items[0]._id || json.items[0].id); }" ] } } ] }, { "name": "Admin Delete Listing", "request": { "method": "DELETE", "header": [ { "key": "Authorization", "value": "Bearer {{adminAccessToken}}" } ], "url": "{{baseUrl}}/marketplace/admin/listings/{{listingId}}" }, "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "pm.test('Status is 200', function () { pm.response.to.have.status(200); });", "const json = pm.response.json();", "pm.expect(json.success).to.eql(true);" ] } } ] } ] } ] }, { "name": "SuperAdmin List Marketplace Listings", "request": { "method": "GET", "header": [ { "key": "Authorization", "value": "Bearer {{superAdminAccessToken}}" } ], "url": { "raw": "{{baseUrl}}/marketplace/superadmin/listings?page=1&limit=20", "host": [ "{{baseUrl}}" ], "path": [ "marketplace", "superadmin", "listings" ], "query": [ { "key": "page", "value": "1" }, { "key": "limit", "value": "20" } ] } } }, { "name": "SuperAdmin Update Listing Status", "request": { "method": "PATCH", "header": [ { "key": "Authorization", "value": "Bearer {{superAdminAccessToken}}" }, { "key": "Content-Type", "value": "application/json" } ], "url": { "raw": "{{baseUrl}}/marketplace/superadmin/listings/{{id}}/status", "host": [ "{{baseUrl}}" ], "path": [ "marketplace", "superadmin", "listings", "{{id}}", "status" ] }, "body": { "mode": "raw", "raw": "{\n \"isActive\": false,\n \"moderationStatus\": \"flagged\",\n \"moderationReason\": \"Needs marketplace review\"\n}", "options": { "raw": { "language": "json" } } } } }, { "name": "SuperAdmin Delete Listing", "request": { "method": "DELETE", "header": [ { "key": "Authorization", "value": "Bearer {{superAdminAccessToken}}" } ], "url": { "raw": "{{baseUrl}}/marketplace/superadmin/listings/{{id}}", "host": [ "{{baseUrl}}" ], "path": [ "marketplace", "superadmin", "listings", "{{id}}" ] } } }, { "name": "SuperAdmin List Repair Shops", "request": { "method": "GET", "header": [ { "key": "Authorization", "value": "Bearer {{superAdminAccessToken}}" } ], "url": { "raw": "{{baseUrl}}/marketplace/superadmin/repair-shops?page=1&limit=20", "host": [ "{{baseUrl}}" ], "path": [ "marketplace", "superadmin", "repair-shops" ], "query": [ { "key": "page", "value": "1" }, { "key": "limit", "value": "20" } ] } } }, { "name": "SuperAdmin Update Repair Shop Status", "request": { "method": "PATCH", "header": [ { "key": "Authorization", "value": "Bearer {{superAdminAccessToken}}" }, { "key": "Content-Type", "value": "application/json" } ], "url": { "raw": "{{baseUrl}}/marketplace/superadmin/repair-shops/{{id}}/status", "host": [ "{{baseUrl}}" ], "path": [ "marketplace", "superadmin", "repair-shops", "{{id}}", "status" ] }, "body": { "mode": "raw", "raw": "{\n \"isActive\": false,\n \"moderationStatus\": \"flagged\",\n \"moderationReason\": \"Needs marketplace review\"\n}", "options": { "raw": { "language": "json" } } } } }, { "name": "SuperAdmin Delete Repair Shop", "request": { "method": "DELETE", "header": [ { "key": "Authorization", "value": "Bearer {{superAdminAccessToken}}" } ], "url": { "raw": "{{baseUrl}}/marketplace/superadmin/repair-shops/{{id}}", "host": [ "{{baseUrl}}" ], "path": [ "marketplace", "superadmin", "repair-shops", "{{id}}" ] } } }, { "name": "SuperAdmin Create Listing For Admin", "request": { "method": "POST", "header": [ { "key": "Authorization", "value": "Bearer {{superAdminAccessToken}}" } ], "url": { "raw": "{{baseUrl}}/marketplace/superadmin/admins/{{adminId}}/listings", "host": [ "{{baseUrl}}" ], "path": [ "marketplace", "superadmin", "admins", "{{adminId}}", "listings" ] }, "body": { "mode": "formdata", "formdata": [ { "key": "title", "value": "Superadmin listing", "type": "text" }, { "key": "description", "value": "Created by superadmin", "type": "text" }, { "key": "price", "value": "1000", "type": "text" }, { "key": "currency", "value": "SAR", "type": "text" }, { "key": "quantity", "value": "1", "type": "text" }, { "key": "listingCategory", "value": "general", "type": "text" } ] } } }, { "name": "SuperAdmin Create Instrument For Admin", "request": { "method": "POST", "header": [ { "key": "Authorization", "value": "Bearer {{superAdminAccessToken}}" } ], "url": { "raw": "{{baseUrl}}/marketplace/superadmin/admins/{{adminId}}/instruments", "host": [ "{{baseUrl}}" ], "path": [ "marketplace", "superadmin", "admins", "{{adminId}}", "instruments" ] }, "body": { "mode": "formdata", "formdata": [ { "key": "title", "value": "Superadmin instrument", "type": "text" }, { "key": "description", "value": "Created by superadmin", "type": "text" }, { "key": "price", "value": "1200", "type": "text" }, { "key": "currency", "value": "SAR", "type": "text" }, { "key": "quantity", "value": "1", "type": "text" }, { "key": "instrumentType", "value": "Oud", "type": "text" } ] } } }, { "name": "SuperAdmin Create Repair Shop For Admin", "request": { "method": "POST", "header": [ { "key": "Authorization", "value": "Bearer {{superAdminAccessToken}}" } ], "url": { "raw": "{{baseUrl}}/marketplace/superadmin/admins/{{adminId}}/repair-shops", "host": [ "{{baseUrl}}" ], "path": [ "marketplace", "superadmin", "admins", "{{adminId}}", "repair-shops" ] }, "body": { "mode": "formdata", "formdata": [ { "key": "name", "value": "Superadmin Repair Shop", "type": "text" }, { "key": "description", "value": "Created by superadmin", "type": "text" }, { "key": "services", "value": "oud repair,string replacement", "type": "text" }, { "key": "location", "value": "Riyadh", "type": "text" } ] } } }, { "name": "SuperAdmin Update Admin Shop Profile", "request": { "method": "PATCH", "header": [ { "key": "Authorization", "value": "Bearer {{superAdminAccessToken}}" } ], "url": { "raw": "{{baseUrl}}/marketplace/superadmin/admins/{{adminId}}/shop-profile", "host": [ "{{baseUrl}}" ], "path": [ "marketplace", "superadmin", "admins", "{{adminId}}", "shop-profile" ] }, "body": { "mode": "formdata", "formdata": [ { "key": "shopName", "value": "Superadmin Shop", "type": "text" }, { "key": "shopDescription", "value": "Updated by superadmin", "type": "text" }, { "key": "shopLocation", "value": "Riyadh", "type": "text" } ] } } } ] }, { "name": "Reports", "item": [ { "name": "Superadmin Reports", "request": { "method": "GET", "header": [ { "key": "Authorization", "value": "Bearer {{superAdminAccessToken}}" } ], "url": "{{baseUrl}}/reports/superadmin?status=open" }, "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ "pm.test('Status is 200', function () { pm.response.to.have.status(200); });" ] } } ] }, { "name": "Superadmin Update Report Status", "request": { "method": "PATCH", "header": [ { "key": "Authorization", "value": "Bearer {{superAdminAccessToken}}" }, { "key": "Content-Type", "value": "application/json" } ], "url": { "raw": "{{baseUrl}}/reports/superadmin/{{reportId}}/status", "host": [ "{{baseUrl}}" ], "path": [ "reports", "superadmin", "{{reportId}}", "status" ], "query": [] }, "body": { "mode": "raw", "raw": "{\n \"status\": \"in_review\",\n \"resolutionNote\": \"Under review\"\n}", "options": { "raw": { "language": "json" } } } } } ] }, { "name": "Audit", "item": [ { "name": "SuperAdmin Audit Logs", "request": { "method": "GET", "header": [ { "key": "Authorization", "value": "Bearer {{superAdminAccessToken}}" } ], "url": { "raw": "{{baseUrl}}/audit/superadmin/logs?page=1&limit=20&action={{auditAction}}", "host": [ "{{baseUrl}}" ], "path": [ "audit", "superadmin", "logs" ], "query": [ { "key": "page", "value": "1" }, { "key": "limit", "value": "20" }, { "key": "action", "value": "{{auditAction}}" } ] } } } ] }, { "name": "SuperAdmin", "item": [ { "name": "Get SuperAdmin Session", "request": { "method": "GET", "header": [ { "key": "Authorization", "value": "Bearer {{superAdminAccessToken}}" } ], "url": { "raw": "{{baseUrl}}/superadmin/session", "host": [ "{{baseUrl}}" ], "path": [ "superadmin", "session" ] } } }, { "name": "Get SuperAdmin Overview", "request": { "method": "GET", "header": [ { "key": "Authorization", "value": "Bearer {{superAdminAccessToken}}" } ], "url": { "raw": "{{baseUrl}}/superadmin/overview", "host": [ "{{baseUrl}}" ], "path": [ "superadmin", "overview" ] } } }, { "name": "Get SuperAdmin Charts", "request": { "method": "GET", "header": [ { "key": "Authorization", "value": "Bearer {{superAdminAccessToken}}" } ], "url": { "raw": "{{baseUrl}}/superadmin/charts?range=30d", "host": [ "{{baseUrl}}" ], "path": [ "superadmin", "charts" ], "query": [ { "key": "range", "value": "30d" } ] } } }, { "name": "Get SuperAdmin Recent Activity", "request": { "method": "GET", "header": [ { "key": "Authorization", "value": "Bearer {{superAdminAccessToken}}" } ], "url": { "raw": "{{baseUrl}}/superadmin/recent-activity?page=1&limit=20", "host": [ "{{baseUrl}}" ], "path": [ "superadmin", "recent-activity" ], "query": [ { "key": "page", "value": "1" }, { "key": "limit", "value": "20" } ] } } }, { "name": "Get SuperAdmin Reports", "request": { "method": "GET", "header": [ { "key": "Authorization", "value": "Bearer {{superAdminAccessToken}}" } ], "url": { "raw": "{{baseUrl}}/superadmin/reports?range=30d", "host": [ "{{baseUrl}}" ], "path": [ "superadmin", "reports" ], "query": [ { "key": "range", "value": "30d" } ] } } }, { "name": "Get SuperAdmin Ops", "request": { "method": "GET", "header": [ { "key": "Authorization", "value": "Bearer {{superAdminAccessToken}}" } ], "url": { "raw": "{{baseUrl}}/superadmin/ops", "host": [ "{{baseUrl}}" ], "path": [ "superadmin", "ops" ] } } }, { "name": "List SuperAdmin Cases", "request": { "method": "GET", "header": [ { "key": "Authorization", "value": "Bearer {{superAdminAccessToken}}" } ], "url": { "raw": "{{baseUrl}}/superadmin/cases?page=1&limit=20&status=open", "host": [ "{{baseUrl}}" ], "path": [ "superadmin", "cases" ], "query": [ { "key": "page", "value": "1" }, { "key": "limit", "value": "20" }, { "key": "status", "value": "open" } ] } } }, { "name": "Create SuperAdmin Case", "request": { "method": "POST", "header": [ { "key": "Authorization", "value": "Bearer {{superAdminAccessToken}}" }, { "key": "Content-Type", "value": "application/json" } ], "url": { "raw": "{{baseUrl}}/superadmin/cases", "host": [ "{{baseUrl}}" ], "path": [ "superadmin", "cases" ] }, "body": { "mode": "raw", "raw": "{\n \"title\": \"Manual review\",\n \"description\": \"Created from Postman\",\n \"targetType\": \"post\",\n \"targetId\": \"{{postId}}\",\n \"priority\": \"medium\"\n}", "options": { "raw": { "language": "json" } } } } }, { "name": "Update SuperAdmin Case", "request": { "method": "PATCH", "header": [ { "key": "Authorization", "value": "Bearer {{superAdminAccessToken}}" }, { "key": "Content-Type", "value": "application/json" } ], "url": { "raw": "{{baseUrl}}/superadmin/cases/{{caseId}}", "host": [ "{{baseUrl}}" ], "path": [ "superadmin", "cases", "{{caseId}}" ] }, "body": { "mode": "raw", "raw": "{\n \"status\": \"in_review\",\n \"resolutionNote\": \"Updated from Postman\"\n}", "options": { "raw": { "language": "json" } } } } }, { "name": "Perform SuperAdmin Bulk Action", "request": { "method": "POST", "header": [ { "key": "Authorization", "value": "Bearer {{superAdminAccessToken}}" }, { "key": "Content-Type", "value": "application/json" } ], "url": { "raw": "{{baseUrl}}/superadmin/bulk-actions", "host": [ "{{baseUrl}}" ], "path": [ "superadmin", "bulk-actions" ] }, "body": { "mode": "raw", "raw": "{\n \"targetType\": \"post\",\n \"targetIds\": [\n \"{{bulkActionTargetId}}\"\n ],\n \"action\": \"flag\",\n \"reason\": \"Bulk moderation from Postman\"\n}", "options": { "raw": { "language": "json" } } } } }, { "name": "Get SuperAdmin Settings", "request": { "method": "GET", "header": [ { "key": "Authorization", "value": "Bearer {{superAdminAccessToken}}" } ], "url": { "raw": "{{baseUrl}}/superadmin/settings", "host": [ "{{baseUrl}}" ], "path": [ "superadmin", "settings" ] } } }, { "name": "Get SuperAdmin Settings History", "request": { "method": "GET", "header": [ { "key": "Authorization", "value": "Bearer {{superAdminAccessToken}}" } ], "url": { "raw": "{{baseUrl}}/superadmin/settings/history?page=1&limit=20", "host": [ "{{baseUrl}}" ], "path": [ "superadmin", "settings", "history" ], "query": [ { "key": "page", "value": "1" }, { "key": "limit", "value": "20" } ] } } }, { "name": "Update SuperAdmin Settings", "request": { "method": "PATCH", "header": [ { "key": "Authorization", "value": "Bearer {{superAdminAccessToken}}" }, { "key": "Content-Type", "value": "application/json" } ], "url": { "raw": "{{baseUrl}}/superadmin/settings", "host": [ "{{baseUrl}}" ], "path": [ "superadmin", "settings" ] }, "body": { "mode": "raw", "raw": "{\n \"maintenanceMode\": false\n}", "options": { "raw": { "language": "json" } } } } }, { "name": "Restore SuperAdmin Settings Version", "request": { "method": "POST", "header": [ { "key": "Authorization", "value": "Bearer {{superAdminAccessToken}}" } ], "url": { "raw": "{{baseUrl}}/superadmin/settings/history/{{historyId}}/restore", "host": [ "{{baseUrl}}" ], "path": [ "superadmin", "settings", "history", "{{historyId}}", "restore" ] } } }, { "name": "Update Post Moderation Status", "request": { "method": "PATCH", "header": [ { "key": "Authorization", "value": "Bearer {{superAdminAccessToken}}" }, { "key": "Content-Type", "value": "application/json" } ], "url": { "raw": "{{baseUrl}}/superadmin/posts/{{postId}}/status", "host": [ "{{baseUrl}}" ], "path": [ "superadmin", "posts", "{{postId}}", "status" ] }, "body": { "mode": "raw", "raw": "{\n \"status\": \"flagged\",\n \"reason\": \"Needs review\"\n}", "options": { "raw": { "language": "json" } } } } }, { "name": "Delete Post By SuperAdmin", "request": { "method": "DELETE", "header": [ { "key": "Authorization", "value": "Bearer {{superAdminAccessToken}}" } ], "url": { "raw": "{{baseUrl}}/superadmin/posts/{{postId}}", "host": [ "{{baseUrl}}" ], "path": [ "superadmin", "posts", "{{postId}}" ] } } }, { "name": "Restore Post By SuperAdmin", "request": { "method": "POST", "header": [ { "key": "Authorization", "value": "Bearer {{superAdminAccessToken}}" } ], "url": { "raw": "{{baseUrl}}/superadmin/posts/{{postId}}/restore", "host": [ "{{baseUrl}}" ], "path": [ "superadmin", "posts", "{{postId}}", "restore" ] } } }, { "name": "Update Comment Moderation Status", "request": { "method": "PATCH", "header": [ { "key": "Authorization", "value": "Bearer {{superAdminAccessToken}}" }, { "key": "Content-Type", "value": "application/json" } ], "url": { "raw": "{{baseUrl}}/superadmin/comments/{{commentId}}/status", "host": [ "{{baseUrl}}" ], "path": [ "superadmin", "comments", "{{commentId}}", "status" ] }, "body": { "mode": "raw", "raw": "{\n \"status\": \"flagged\",\n \"reason\": \"Needs review\"\n}", "options": { "raw": { "language": "json" } } } } }, { "name": "Delete Comment By SuperAdmin", "request": { "method": "DELETE", "header": [ { "key": "Authorization", "value": "Bearer {{superAdminAccessToken}}" } ], "url": { "raw": "{{baseUrl}}/superadmin/comments/{{commentId}}", "host": [ "{{baseUrl}}" ], "path": [ "superadmin", "comments", "{{commentId}}" ] } } }, { "name": "Restore Comment By SuperAdmin", "request": { "method": "POST", "header": [ { "key": "Authorization", "value": "Bearer {{superAdminAccessToken}}" } ], "url": { "raw": "{{baseUrl}}/superadmin/comments/{{commentId}}/restore", "host": [ "{{baseUrl}}" ], "path": [ "superadmin", "comments", "{{commentId}}", "restore" ] } } }, { "name": "Update User Status By SuperAdmin", "request": { "method": "PATCH", "header": [ { "key": "Authorization", "value": "Bearer {{superAdminAccessToken}}" }, { "key": "Content-Type", "value": "application/json" } ], "url": { "raw": "{{baseUrl}}/superadmin/users/{{userId}}/status", "host": [ "{{baseUrl}}" ], "path": [ "superadmin", "users", "{{userId}}", "status" ] }, "body": { "mode": "raw", "raw": "{\n \"isDisabled\": true,\n \"reason\": \"Policy violation\"\n}", "options": { "raw": { "language": "json" } } } } } ] } ], "variable": [ { "key": "baseUrl", "value": "http://localhost:4000/api/v1", "type": "string" }, { "key": "accessToken", "value": "", "type": "string" }, { "key": "refreshToken", "value": "", "type": "string" }, { "key": "superAdminAccessToken", "value": "", "type": "string" }, { "key": "superAdminRefreshToken", "value": "", "type": "string" }, { "key": "targetAccessToken", "value": "", "type": "string" }, { "key": "targetRefreshToken", "value": "", "type": "string" }, { "key": "userId", "value": "", "type": "string" }, { "key": "currentUserId", "value": "", "type": "string" }, { "key": "targetUserId", "value": "", "type": "string" }, { "key": "targetUsername", "value": "", "type": "string" }, { "key": "lastFollowingState", "value": "", "type": "string" }, { "key": "notificationUnreadCount", "value": "", "type": "string" }, { "key": "notificationId", "value": "", "type": "string" }, { "key": "postId", "value": "", "type": "string" }, { "key": "ownPostId", "value": "", "type": "string" }, { "key": "targetPostId", "value": "", "type": "string" }, { "key": "adminPostId", "value": "", "type": "string" }, { "key": "commentId", "value": "", "type": "string" }, { "key": "ownCommentId", "value": "", "type": "string" }, { "key": "replyCommentId", "value": "", "type": "string" }, { "key": "conversationId", "value": "", "type": "string" }, { "key": "messageId", "value": "", "type": "string" }, { "key": "sessionJti", "value": "", "type": "string" }, { "key": "registerEmail", "value": "", "type": "string" }, { "key": "registerUsername", "value": "", "type": "string" }, { "key": "adminUserId", "value": "", "type": "string" }, { "key": "targetLoginEmail", "value": "", "type": "string" }, { "key": "targetLoginPassword", "value": "", "type": "string" }, { "key": "resetCode", "value": "", "type": "string" }, { "key": "resetToken", "value": "", "type": "string" }, { "key": "emailVerificationCode", "value": "", "type": "string" }, { "key": "googleIdToken", "value": "", "type": "string" }, { "key": "newPassword", "value": "NewStrongPass123!", "type": "string" }, { "key": "feedCursor", "value": "", "type": "string" }, { "key": "chatConversationsCursor", "value": "", "type": "string" }, { "key": "chatMessagesCursor", "value": "", "type": "string" }, { "key": "adminAccessToken", "value": "", "type": "string" }, { "key": "adminRefreshToken", "value": "", "type": "string" }, { "key": "adminEmail", "value": "store_admin@example.com", "type": "string" }, { "key": "adminUsername", "value": "store_admin_01", "type": "string" }, { "key": "adminPassword", "value": "AdminStrongPass123!", "type": "string" }, { "key": "usersQuery", "value": "user", "type": "string" }, { "key": "usersVerified", "value": "true", "type": "string" }, { "key": "usersSortBy", "value": "createdAt", "type": "string" }, { "key": "listSortOrder", "value": "desc", "type": "string" }, { "key": "commentSortBy", "value": "createdAt", "type": "string" }, { "key": "postVisibility", "value": "public", "type": "string" }, { "key": "postSortBy", "value": "createdAt", "type": "string" }, { "key": "postTypeFilter", "value": "image", "type": "string" }, { "key": "postSearchQuery", "value": "music", "type": "string" }, { "key": "postHashtag", "value": "music", "type": "string" }, { "key": "reelQuery", "value": "reel", "type": "string" }, { "key": "notificationRead", "value": "false", "type": "string" }, { "key": "notificationType", "value": "mention", "type": "string" }, { "key": "notificationResourceType", "value": "post", "type": "string" }, { "key": "feedPreferredPostType", "value": "video", "type": "string" }, { "key": "feedIncludeSuggestions", "value": "true", "type": "string" }, { "key": "feedSuggestionInterval", "value": "4", "type": "string" }, { "key": "feedFollowingOnly", "value": "false", "type": "string" }, { "key": "feedRadiusKm", "value": "30", "type": "string" }, { "key": "homeFeedHasMixedItems", "value": "", "type": "string" }, { "key": "lastViewCount", "value": "", "type": "string" }, { "key": "lastPlayCount", "value": "", "type": "string" }, { "key": "lastShareCount", "value": "", "type": "string" }, { "key": "marketplaceQuery", "value": "oud", "type": "string" }, { "key": "marketplaceMinPrice", "value": "1000", "type": "string" }, { "key": "marketplaceMaxPrice", "value": "5000", "type": "string" }, { "key": "marketplaceIsActive", "value": "true", "type": "string" }, { "key": "marketplaceSortBy", "value": "price", "type": "string" }, { "key": "repairShopQuery", "value": "riyadh", "type": "string" }, { "key": "repairShopIsActive", "value": "true", "type": "string" }, { "key": "repairShopSortBy", "value": "name", "type": "string" }, { "key": "instrumentId", "value": "", "type": "string" }, { "key": "repairShopId", "value": "", "type": "string" }, { "key": "generatedMusicUrl", "value": "", "type": "string" }, { "key": "aiMusicPrompt", "value": "Calm oud melody with light percussion and emotional Arabic mood", "type": "string" }, { "key": "aiMusicDuration", "value": "12", "type": "string" }, { "key": "aiMusicSeed", "value": "42", "type": "string" }, { "key": "listingId", "value": "", "type": "string" }, { "key": "marketplaceListingCategory", "value": "accessory", "type": "string" }, { "key": "marketplaceCondition", "value": "used", "type": "string" }, { "key": "marketplaceInstrumentType", "value": "oud", "type": "string" }, { "key": "talentRole", "value": "instrumentalist", "type": "string" }, { "key": "talentExperienceLevel", "value": "", "type": "string" }, { "key": "usersHasAvatar", "value": "true", "type": "string" }, { "key": "reactionType", "value": "love", "type": "string" }, { "key": "followRequestId", "value": "", "type": "string" }, { "key": "reportId", "value": "", "type": "string" }, { "key": "repostId", "value": "", "type": "string" }, { "key": "quotePostId", "value": "", "type": "string" }, { "key": "replyToMessageId", "value": "" }, { "key": "mediaFilePath", "value": "" }, { "key": "collaboratorId", "value": "" }, { "key": "commentKeyword", "value": "spam" }, { "key": "reportReason", "value": "spam" }, { "key": "sessionId", "value": "" }, { "key": "caseId", "value": "" }, { "key": "historyId", "value": "" }, { "key": "bulkActionTargetId", "value": "" }, { "key": "auditAction", "value": "" } ] }