From 92d0dd685ae6b8550f3d58b3fc7c11642b08ab9d Mon Sep 17 00:00:00 2001
From: DebaucheryLibrarian <moonloop.adult@protonmail.com>
Date: Tue, 8 Apr 2025 03:44:41 +0200
Subject: [PATCH] Updated Aziani API area IDs, updated API actor property,
 added screencaps.

---
 seeds/01_networks.js   |  3 ++-
 seeds/02_sites.js      | 18 ++++++++++++------
 src/scrapers/aziani.js | 12 +++++++++++-
 3 files changed, 25 insertions(+), 8 deletions(-)

diff --git a/seeds/01_networks.js b/seeds/01_networks.js
index 88c8f2bb..d0100451 100755
--- a/seeds/01_networks.js
+++ b/seeds/01_networks.js
@@ -162,7 +162,8 @@ const networks = [
 		name: 'Aziani',
 		url: 'https://www.aziani.com',
 		parameters: {
-			areaId: 3,
+			// areaId: 3,
+			areaId: '3b4c609c-6a0d-4cb9-9cce-0605f32b79ec',
 			blockId: 114458,
 			scene: 'https://aziani.com',
 			cdn: 'https://c75c0c3063.mjedge.net',
diff --git a/seeds/02_sites.js b/seeds/02_sites.js
index 7ab64f92..3bc432d9 100755
--- a/seeds/02_sites.js
+++ b/seeds/02_sites.js
@@ -856,7 +856,8 @@ const sites = [
 		parent: 'aziani',
 		parameters: {
 			seriesId: 268,
-			areaId: 3,
+			// areaId: 3,
+			areaId: '3b4c609c-6a0d-4cb9-9cce-0605f32b79ec',
 			blockId: 114458,
 			scene: 'https://aziani.com',
 		},
@@ -868,7 +869,8 @@ const sites = [
 		parent: 'aziani',
 		independent: true,
 		parameters: {
-			areaId: 2,
+			// areaId: 2,
+			areaId: '4f0a134f-8a1b-4bcb-8013-7e02fac4f61d',
 			blockId: 114064,
 			seriesId: 107,
 			modelBlockId: 114129,
@@ -881,7 +883,8 @@ const sites = [
 		parent: 'aziani',
 		independent: true,
 		parameters: {
-			areaId: 11,
+			// areaId: 11,
+			areaId: '29c61dae-db14-419b-93a4-d016b928dee9',
 			blockId: 115990,
 			seriesId: 436,
 			modelBlockId: 115345,
@@ -894,7 +897,8 @@ const sites = [
 		parent: 'aziani',
 		independent: true,
 		parameters: {
-			areaId: 8,
+			// areaId: 8,
+			areaId: 'ae0a26fe-7f08-433d-bb04-a9b6f358c48e',
 			blockId: 116531,
 			seriesId: 395,
 		},
@@ -905,7 +909,8 @@ const sites = [
 		url: 'https://aziani.com/azianiiron',
 		parent: 'aziani',
 		parameters: {
-			areaId: 3,
+			// areaId: 3,
+			areaId: '3b4c609c-6a0d-4cb9-9cce-0605f32b79ec',
 			blockId: 114458,
 			seriesId: 105,
 			scene: 'https://aziani.com',
@@ -918,7 +923,8 @@ const sites = [
 		parent: 'aziani',
 		hasLogo: false,
 		parameters: {
-			areaId: 3,
+			// areaId: 3,
+			areaId: '3b4c609c-6a0d-4cb9-9cce-0605f32b79ec',
 			blockId: 114458,
 			seriesId: 106,
 			scene: 'https://aziani.com',
diff --git a/src/scrapers/aziani.js b/src/scrapers/aziani.js
index 52d9212c..57fb54df 100755
--- a/src/scrapers/aziani.js
+++ b/src/scrapers/aziani.js
@@ -18,7 +18,7 @@ function scrapeScene(data, channel, parameters) {
 	release.date = unprint.extractDate(data.added_nice, 'YYYY-MM-DD');
 	release.duration = Number(data.lengths.total);
 
-	release.actors = data.data_types.find((dataType) => dataType.data_type === 'Models')?.data_values.map((actor) => ({
+	release.actors = data.data_types.find((dataType) => dataType.data_type === 'Models' || dataType.data_type === 'Talent')?.data_values.map((actor) => ({
 		name: actor.name,
 		url: `${channel.url}/model/${actor.cms_data_value_id}?models=${encodeURI(actor.name)}`, // slug does not work unless it's also the ID
 	}));
@@ -43,6 +43,16 @@ function scrapeScene(data, channel, parameters) {
 			.map((key) => unprint.prefixUrl(`${poster[key][0].fileuri}?${poster[key][0].signature}`, parameters.cdn));
 	}
 
+	release.caps = data.content
+		?.filter((item) => item.content_type === 'image' && item.content?.[0])
+		.map((item) => [
+			item.content[0],
+			...(item.thumb
+				? Object.keys(item.thumb).toSorted((keyA, keyB) => keyB.split('-')[0] - keyA.split('-')[0]).map((key) => item.thumb[key][0]).filter(Boolean)
+				: []),
+		])
+		.map((sources) => sources.map((source) => unprint.prefixUrl(`${source.fileuri}?${source.signature}`, parameters.cdn)));
+
 	if (teaser && teaser.fileuri !== trailer?.fileuri) {
 		release.teaser = unprint.prefixUrl(`${teaser.fileuri}?${teaser.signature}`, parameters.cdn);
 	}