feat: open page api

This commit is contained in:
Ephraim Atta-Duncan
2024-10-23 17:33:16 +00:00
parent b8310237e4
commit 68c8f098b6
15 changed files with 281 additions and 36 deletions

View File

@@ -0,0 +1,12 @@
import { NextResponse } from 'next/server';
import { requestHandler } from '@/app/request-handler';
export const GET = requestHandler(async () => {
const res = await fetch('https://api.github.com/repos/documenso/documenso');
const { forks_count } = await res.json();
return NextResponse.json({
data: forks_count,
});
});

View File

@@ -0,0 +1,14 @@
import { NextResponse } from 'next/server';
import { requestHandler } from '@/app/request-handler';
export const GET = requestHandler(async () => {
const res = await fetch(
'https://api.github.com/search/issues?q=repo:documenso/documenso+type:issue+state:open&page=0&per_page=1',
);
const { total_count } = await res.json();
return NextResponse.json({
data: total_count,
});
});

View File

@@ -0,0 +1,14 @@
import { NextResponse } from 'next/server';
import { requestHandler } from '@/app/request-handler';
export const GET = requestHandler(async () => {
const res = await fetch(
'https://api.github.com/search/issues?q=repo:documenso/documenso/+is:pr+merged:>=2010-01-01&page=0&per_page=1',
);
const { total_count } = await res.json();
return NextResponse.json({
data: total_count,
});
});

View File

@@ -0,0 +1,17 @@
import { type NextRequest, NextResponse } from 'next/server';
const paths = [
{ path: '/forks', description: 'GitHub Forks' },
{ path: '/stars', description: 'GitHub Stars' },
{ path: '/issues', description: 'GitHub Merged Issues' },
{ path: '/prs', description: 'GitHub Pull Request' },
];
export function GET(request: NextRequest) {
const url = request.nextUrl.toString();
const apis = paths.map(({ path, description }) => {
return { path: url + path, description };
});
return NextResponse.json(apis);
}

View File

@@ -0,0 +1,12 @@
import { NextResponse } from 'next/server';
import { requestHandler } from '@/app/request-handler';
export const GET = requestHandler(async () => {
const res = await fetch('https://api.github.com/repos/documenso/documenso');
const { stargazers_count } = await res.json();
return NextResponse.json({
data: stargazers_count,
});
});