From 98c32c3da575120fc0c41eb0b637bbf73828f312 Mon Sep 17 00:00:00 2001 From: Nevo David Date: Fri, 10 Apr 2026 16:27:34 +0700 Subject: [PATCH] feat: subreddit posting fix with api --- .../posts/providers-settings/reddit.dto.ts | 3 +++ .../integrations/social/reddit.provider.ts | 19 ++++++++++--------- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/libraries/nestjs-libraries/src/dtos/posts/providers-settings/reddit.dto.ts b/libraries/nestjs-libraries/src/dtos/posts/providers-settings/reddit.dto.ts index 07e1f8e1..4a8f2a13 100644 --- a/libraries/nestjs-libraries/src/dtos/posts/providers-settings/reddit.dto.ts +++ b/libraries/nestjs-libraries/src/dtos/posts/providers-settings/reddit.dto.ts @@ -39,6 +39,9 @@ export class RedditSettingsDtoInner { @IsString() @MinLength(2) @IsDefined() + @JSONSchema({ + description: 'Must be any of link, self (normal post), image, video, videogif', + }) type: string; @IsUrl() diff --git a/libraries/nestjs-libraries/src/integrations/social/reddit.provider.ts b/libraries/nestjs-libraries/src/integrations/social/reddit.provider.ts index 08da96be..ae8fcc3c 100644 --- a/libraries/nestjs-libraries/src/integrations/social/reddit.provider.ts +++ b/libraries/nestjs-libraries/src/integrations/social/reddit.provider.ts @@ -184,15 +184,19 @@ export class RedditProvider extends SocialAbstract implements SocialProvider { const valueArray: PostResponse[] = []; for (const firstPostSettings of post.settings.subreddit) { + const kind = + firstPostSettings.value.type === 'media' + ? post.media[0].path.indexOf('mp4') > -1 + ? 'video' + : 'image' + : firstPostSettings.value.type; const postData = { api_type: 'json', title: firstPostSettings.value.title || '', kind: - firstPostSettings.value.type === 'media' - ? post.media[0].path.indexOf('mp4') > -1 - ? 'video' - : 'image' - : firstPostSettings.value.type, + ['link', 'self', 'image', 'video', 'videogif'].indexOf(kind) > -1 + ? kind + : 'self', ...(firstPostSettings.value.flair ? { flair_id: firstPostSettings.value.flair.id } : {}), @@ -218,10 +222,7 @@ export class RedditProvider extends SocialAbstract implements SocialProvider { } : {}), text: post.message, - sr: - firstPostSettings.value.subreddit.indexOf('/r/') > -1 - ? firstPostSettings.value.subreddit - : `/r/${firstPostSettings.value.subreddit}`, + sr: firstPostSettings.value.subreddit.replace('/r/', '').toLowerCase(), }; const all = await (