feat: sdk

This commit is contained in:
Nevo David 2025-07-07 14:05:12 +07:00
parent c7ccf37a94
commit c461fd6a57
2 changed files with 48 additions and 9 deletions

24
apps/sdk/src/index.ts Normal file
View File

@ -0,0 +1,24 @@
import { allProviders } from '@gitroom/nestjs-libraries/dtos/posts/providers-settings/all.providers.settings';
import { CreatePostDto } from '@gitroom/nestjs-libraries/dtos/posts/create.post.dto';
class Postiz {
constructor(
private _apiKey = 'https://api.postiz.com'
) {
}
async post(posts: CreatePostDto) {
}
}
const postiz = new Postiz();
postiz.post({
posts: [
{
settings: {
}
}
]
})

View File

@ -14,16 +14,31 @@ import { InstagramDto } from '@gitroom/nestjs-libraries/dtos/posts/providers-set
import { LinkedinDto } from '@gitroom/nestjs-libraries/dtos/posts/providers-settings/linkedin.dto';
import { IsIn, MinLength } from 'class-validator';
export type ProviderExtension<T extends string, M> = { type: T } & M;
export type AllProvidersSettings =
| DevToSettingsDto
| MediumSettingsDto
| HashnodeSettingsDto
| RedditSettingsDto
| YoutubeSettingsDto
| PinterestSettingsDto
| XDto
| TikTokDto
| InstagramDto;
| ProviderExtension<'reddit', RedditSettingsDto>
| ProviderExtension<'lemmy', LemmySettingsDto>
| ProviderExtension<'youtube', YoutubeSettingsDto>
| ProviderExtension<'pinterest', PinterestSettingsDto>
| ProviderExtension<'dribbble', DribbbleDto>
| ProviderExtension<'tiktok', TikTokDto>
| ProviderExtension<'discord', DiscordDto>
| ProviderExtension<'slack', SlackDto>
| ProviderExtension<'x', XDto>
| ProviderExtension<'linkedin', LinkedinDto>
| ProviderExtension<'linkedin-page', LinkedinDto>
| ProviderExtension<'instagram', InstagramDto>
| ProviderExtension<'instagram-standalone', InstagramDto>
| ProviderExtension<'facebook', None>
| ProviderExtension<'threads', None>
| ProviderExtension<'mastodon', None>
| ProviderExtension<'bluesky', None>
| ProviderExtension<'wrapcast', None>
| ProviderExtension<'telegram', None>
| ProviderExtension<'nostr', None>
| ProviderExtension<'vk', None>;
type None = NonNullable<unknown>;
export const allProviders = (setEmpty?: any) => {
return [