fix(linkedin): cap image count at 10 to match platform standard
LinkedIn was the only multi-image platform allowing 20 images; align maxMediaCount/maxImages/maxFiles to 10, consistent with Facebook, Instagram and Threads. The AI generation cap (MAX_GENERATED_IMAGES) was already 10 and is unaffected.
This commit is contained in:
parent
65f66c8225
commit
10b8579079
5 changed files with 8 additions and 8 deletions
|
|
@ -162,7 +162,7 @@ public function maxMediaCount(): int
|
|||
return match ($this) {
|
||||
self::InstagramFeed => 10,
|
||||
self::InstagramReel, self::InstagramStory => 1,
|
||||
self::LinkedInPost, self::LinkedInPagePost => 20,
|
||||
self::LinkedInPost, self::LinkedInPagePost => 10,
|
||||
self::FacebookPost => 10,
|
||||
self::FacebookReel, self::FacebookStory => 1,
|
||||
self::TikTokVideo => 1,
|
||||
|
|
|
|||
|
|
@ -112,7 +112,7 @@ public function allowedMediaTypes(): array
|
|||
public function maxImages(): int
|
||||
{
|
||||
return match ($this) {
|
||||
self::LinkedIn, self::LinkedInPage => 20,
|
||||
self::LinkedIn, self::LinkedInPage => 10,
|
||||
self::X => 4,
|
||||
self::TikTok => 0,
|
||||
self::YouTube => 0,
|
||||
|
|
|
|||
|
|
@ -62,14 +62,14 @@ const CONTENT_TYPE_RULES: Record<string, MediaRules> = {
|
|||
|
||||
// LinkedIn — one type per account kind; the publish format (single image,
|
||||
// multi-image, video, or PDF document) is inferred from the attached media.
|
||||
// Images (up to 20) XOR one video XOR one PDF, never mixed.
|
||||
// Images (up to 10) XOR one video XOR one PDF, never mixed.
|
||||
linkedin_post: {
|
||||
maxFiles: 20, acceptImages: true, acceptVideos: true, acceptDocuments: true,
|
||||
maxFiles: 10, acceptImages: true, acceptVideos: true, acceptDocuments: true,
|
||||
requiresMedia: false, acceptsGif: false, forbidsMixedMedia: true,
|
||||
maxImageBytes: 5 * MB, maxVideoBytes: 5 * GB, maxVideoDurationSec: 10 * 60, maxDocumentBytes: 100 * MB,
|
||||
},
|
||||
linkedin_page_post: {
|
||||
maxFiles: 20, acceptImages: true, acceptVideos: true, acceptDocuments: true,
|
||||
maxFiles: 10, acceptImages: true, acceptVideos: true, acceptDocuments: true,
|
||||
requiresMedia: false, acceptsGif: false, forbidsMixedMedia: true,
|
||||
maxImageBytes: 5 * MB, maxVideoBytes: 5 * GB, maxVideoDurationSec: 10 * 60, maxDocumentBytes: 100 * MB,
|
||||
},
|
||||
|
|
|
|||
|
|
@ -59,7 +59,7 @@
|
|||
test('content type has correct max media count', function () {
|
||||
expect(ContentType::InstagramFeed->maxMediaCount())->toBe(10);
|
||||
expect(ContentType::InstagramReel->maxMediaCount())->toBe(1);
|
||||
expect(ContentType::LinkedInPost->maxMediaCount())->toBe(20);
|
||||
expect(ContentType::LinkedInPost->maxMediaCount())->toBe(10);
|
||||
expect(ContentType::XPost->maxMediaCount())->toBe(4);
|
||||
expect(ContentType::PinterestCarousel->maxMediaCount())->toBe(5);
|
||||
expect(ContentType::BlueskyPost->maxMediaCount())->toBe(4);
|
||||
|
|
@ -157,7 +157,7 @@
|
|||
expect($type->supportsDocument())->toBeTrue();
|
||||
expect($type->supportsMixedMedia())->toBeFalse();
|
||||
expect($type->requiresMedia())->toBeFalse();
|
||||
expect($type->maxMediaCount())->toBe(20);
|
||||
expect($type->maxMediaCount())->toBe(10);
|
||||
}
|
||||
});
|
||||
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@
|
|||
});
|
||||
|
||||
test('platform has correct max images', function () {
|
||||
expect(Platform::LinkedIn->maxImages())->toBe(20);
|
||||
expect(Platform::LinkedIn->maxImages())->toBe(10);
|
||||
expect(Platform::X->maxImages())->toBe(4);
|
||||
expect(Platform::TikTok->maxImages())->toBe(0);
|
||||
expect(Platform::YouTube->maxImages())->toBe(0);
|
||||
|
|
|
|||
Loading…
Reference in a new issue