Files
automatisch/packages/backend/src/apps/reddit/actions/create-link-post/index.ts
2023-11-10 18:21:04 +03:00

54 lines
1.2 KiB
TypeScript

import defineAction from '../../../../helpers/define-action';
import { URLSearchParams } from 'url';
export default defineAction({
name: 'Create link post',
key: 'createLinkPost',
description: 'Create a new link post within a subreddit.',
arguments: [
{
label: 'Title',
key: 'title',
type: 'string' as const,
required: true,
description:
'Heading for the recent post. Limited to 300 characters or less.',
variables: true,
},
{
label: 'Subreddit',
key: 'subreddit',
type: 'string' as const,
required: true,
description: 'The subreddit for posting. Note: Exclude /r/.',
variables: true,
},
{
label: 'Url',
key: 'url',
type: 'string' as const,
required: true,
description: '',
variables: true,
},
],
async run($) {
const { title, subreddit, url } = $.step.parameters;
const params = new URLSearchParams({
kind: 'link',
api_type: 'json',
title: title as string,
sr: subreddit as string,
url: url as string,
});
const { data } = await $.http.post('/api/submit', params.toString());
$.setActionItem({
raw: data,
});
},
});