Improve AI music prompts and audio metadata

هذا الالتزام موجود في:
boutmoun123
2026-06-09 10:02:19 +03:00
الأصل 87cd42b706
التزام 1dd5a20846
11 ملفات معدلة مع 876 إضافات و14 حذوفات

عرض الملف

@@ -1591,6 +1591,56 @@
}
]
},
{
"name": "Get My Artist Dashboard",
"request": {
"method": "GET",
"header": [
{
"key": "Authorization",
"value": "Bearer {{accessToken}}"
},
{
"key": "Content-Type",
"value": "application/json"
}
],
"url": "{{baseUrl}}/users/me/dashboard",
"description": "Private Flutter artist dashboard endpoint.\n\nReturns profile, aggregate post stats, audience summary, top content, recent activity, and availability flags.\n\nDoes not accept a userId and only uses the authenticated user token."
},
"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.test('Dashboard response shape is Flutter-ready', function () {",
" pm.expect(json).to.have.property('profile');",
" pm.expect(json.profile).to.have.property('_id');",
" pm.expect(json.profile).to.have.property('coverImage');",
" pm.expect(json.profile).to.have.property('avatar');",
" pm.expect(json.profile).to.have.property('name');",
" pm.expect(json.profile).to.have.property('stageName');",
" pm.expect(json.profile).to.have.property('bio');",
" pm.expect(json.profile).to.have.property('isVerified');",
" pm.expect(json).to.have.property('stats');",
" ['followersCount','followingCount','postsCount','collaborationsCount','viewCount','playCount','listenCount','likesCount','commentsCount','savesCount','sharesCount','engagementRate','scorePercentage','earnings'].forEach((key) => pm.expect(json.stats).to.have.property(key));",
" pm.expect(json).to.have.property('audience');",
" ['followers','nonFollowers','newFollowersThisWeek','newFollowersThisMonth'].forEach((key) => pm.expect(json.audience).to.have.property(key));",
" pm.expect(json).to.have.property('engagementChart').that.is.an('array');",
" pm.expect(json).to.have.property('topContent').that.is.an('array');",
" pm.expect(json).to.have.property('recentActivity').that.is.an('array');",
" pm.expect(json).to.have.property('meta');",
" ['generatedAt','chartAvailable','earningsAvailable','audienceAnalyticsAvailable'].forEach((key) => pm.expect(json.meta).to.have.property(key));",
"});",
"pm.environment.set('artistDashboardProfileId', json.profile._id);"
]
}
}
]
},
{
"name": "Admin Discover Users",
"request": {
@@ -10176,4 +10226,4 @@
"value": "{{accessToken}}"
}
]
}
}

عرض الملف

@@ -975,6 +975,56 @@
]
}
}
},
{
"name": "Get My Artist Dashboard",
"request": {
"method": "GET",
"header": [
{
"key": "Authorization",
"value": "Bearer {{accessToken}}"
},
{
"key": "Content-Type",
"value": "application/json"
}
],
"url": "{{baseUrl}}/users/me/dashboard",
"description": "Private Flutter artist dashboard endpoint.\n\nReturns profile, aggregate post stats, audience summary, top content, recent activity, and availability flags.\n\nDoes not accept a userId and only uses the authenticated user token."
},
"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.test('Dashboard response shape is Flutter-ready', function () {",
" pm.expect(json).to.have.property('profile');",
" pm.expect(json.profile).to.have.property('_id');",
" pm.expect(json.profile).to.have.property('coverImage');",
" pm.expect(json.profile).to.have.property('avatar');",
" pm.expect(json.profile).to.have.property('name');",
" pm.expect(json.profile).to.have.property('stageName');",
" pm.expect(json.profile).to.have.property('bio');",
" pm.expect(json.profile).to.have.property('isVerified');",
" pm.expect(json).to.have.property('stats');",
" ['followersCount','followingCount','postsCount','collaborationsCount','viewCount','playCount','listenCount','likesCount','commentsCount','savesCount','sharesCount','engagementRate','scorePercentage','earnings'].forEach((key) => pm.expect(json.stats).to.have.property(key));",
" pm.expect(json).to.have.property('audience');",
" ['followers','nonFollowers','newFollowersThisWeek','newFollowersThisMonth'].forEach((key) => pm.expect(json.audience).to.have.property(key));",
" pm.expect(json).to.have.property('engagementChart').that.is.an('array');",
" pm.expect(json).to.have.property('topContent').that.is.an('array');",
" pm.expect(json).to.have.property('recentActivity').that.is.an('array');",
" pm.expect(json).to.have.property('meta');",
" ['generatedAt','chartAvailable','earningsAvailable','audienceAnalyticsAvailable'].forEach((key) => pm.expect(json.meta).to.have.property(key));",
"});",
"pm.environment.set('artistDashboardProfileId', json.profile._id);"
]
}
}
]
}
]
},
@@ -6346,4 +6396,4 @@
"value": "{{accessToken}}"
}
]
}
}

عرض الملف

@@ -1113,6 +1113,56 @@
}
]
},
{
"name": "Get My Artist Dashboard",
"request": {
"method": "GET",
"header": [
{
"key": "Authorization",
"value": "Bearer {{accessToken}}"
},
{
"key": "Content-Type",
"value": "application/json"
}
],
"url": "{{baseUrl}}/users/me/dashboard",
"description": "Private Flutter artist dashboard endpoint.\n\nReturns profile, aggregate post stats, audience summary, top content, recent activity, and availability flags.\n\nDoes not accept a userId and only uses the authenticated user token."
},
"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.test('Dashboard response shape is Flutter-ready', function () {",
" pm.expect(json).to.have.property('profile');",
" pm.expect(json.profile).to.have.property('_id');",
" pm.expect(json.profile).to.have.property('coverImage');",
" pm.expect(json.profile).to.have.property('avatar');",
" pm.expect(json.profile).to.have.property('name');",
" pm.expect(json.profile).to.have.property('stageName');",
" pm.expect(json.profile).to.have.property('bio');",
" pm.expect(json.profile).to.have.property('isVerified');",
" pm.expect(json).to.have.property('stats');",
" ['followersCount','followingCount','postsCount','collaborationsCount','viewCount','playCount','listenCount','likesCount','commentsCount','savesCount','sharesCount','engagementRate','scorePercentage','earnings'].forEach((key) => pm.expect(json.stats).to.have.property(key));",
" pm.expect(json).to.have.property('audience');",
" ['followers','nonFollowers','newFollowersThisWeek','newFollowersThisMonth'].forEach((key) => pm.expect(json.audience).to.have.property(key));",
" pm.expect(json).to.have.property('engagementChart').that.is.an('array');",
" pm.expect(json).to.have.property('topContent').that.is.an('array');",
" pm.expect(json).to.have.property('recentActivity').that.is.an('array');",
" pm.expect(json).to.have.property('meta');",
" ['generatedAt','chartAvailable','earningsAvailable','audienceAnalyticsAvailable'].forEach((key) => pm.expect(json.meta).to.have.property(key));",
"});",
"pm.environment.set('artistDashboardProfileId', json.profile._id);"
]
}
}
]
},
{
"name": "Get User Presence",
"request": {
@@ -7392,4 +7442,4 @@
"value": "{{accessToken}}"
}
]
}
}