simple posting api
This commit is contained in:
@@ -0,0 +1,14 @@
|
||||
import { NextResponse, NextRequest } from 'next/server';
|
||||
import { TwitterApi } from 'twitter-api-v2';
|
||||
import config from '@/env';
|
||||
import { PostRequest } from '@/platform';
|
||||
import { inspect } from 'util';
|
||||
|
||||
export async function POST(req: NextRequest) {
|
||||
return NextResponse.json(
|
||||
{
|
||||
message: 'ok, feature not available yet',
|
||||
},
|
||||
{ status: 200 }
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
import { NextResponse, NextRequest } from 'next/server';
|
||||
import { TwitterApi } from 'twitter-api-v2';
|
||||
import config from '@/env';
|
||||
import { PostRequest } from '@/platform';
|
||||
import { inspect } from 'util';
|
||||
|
||||
export async function POST(req: NextRequest) {
|
||||
const { content, platforms }: PostRequest = await req.json();
|
||||
|
||||
try {
|
||||
for (const platform of platforms) {
|
||||
switch (platform.platform) {
|
||||
// X / Twitter
|
||||
case 'x':
|
||||
const twitterClient = new TwitterApi({
|
||||
appKey: config.twitter.key,
|
||||
appSecret: config.twitter.secret,
|
||||
accessToken: platform.token,
|
||||
accessSecret: platform.secret,
|
||||
});
|
||||
|
||||
await twitterClient.v2.tweet(content);
|
||||
}
|
||||
}
|
||||
} catch (err) {
|
||||
console.log(inspect(err, true, null, true));
|
||||
}
|
||||
|
||||
return NextResponse.json(
|
||||
{
|
||||
message: 'ok',
|
||||
},
|
||||
{ status: 200 }
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
import { NextResponse, NextRequest } from 'next/server';
|
||||
|
||||
export async function GET(request: NextRequest) {
|
||||
return NextResponse.json(
|
||||
{
|
||||
message: 'ok',
|
||||
version: '0.0.1-alpha.0',
|
||||
},
|
||||
{ status: 200 }
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user