الملفات
back_end_oudelaa/postman/Oudelaa-Dashboard.postman_collection.json

3608 أسطر
107 KiB
JSON

{
"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": ""
}
]
}