diff --git a/packages/twenty-website/src/app/api/github-stars/route.tsx b/packages/twenty-website/src/app/api/github-stars/route.tsx index 74ceb3124ec8..39adfad7ec80 100644 --- a/packages/twenty-website/src/app/api/github-stars/route.tsx +++ b/packages/twenty-website/src/app/api/github-stars/route.tsx @@ -13,11 +13,11 @@ export async function GET() { desc(githubStarsModel.timestamp), ); - const formattedGithubNumberOfStars = formatNumberOfStars( + const githubNumberOfStars = formatNumberOfStars( githubStars[0].numberOfStars, ); - return Response.json(formattedGithubNumberOfStars); + return Response.json({ githubNumberOfStars }); } catch (error: any) { return new Response(`Github stars error: ${error?.message}`, { status: 500, diff --git a/packages/twenty-website/src/middleware.ts b/packages/twenty-website/src/middleware.ts new file mode 100644 index 000000000000..9fa6c5205e4f --- /dev/null +++ b/packages/twenty-website/src/middleware.ts @@ -0,0 +1,33 @@ +import { NextResponse } from 'next/server'; + +const allowedOrigins = [ + 'http://localhost:3000', + 'https://app.twenty.com', + 'https://twenty.com', +]; + +export function middleware(req: any) { + const res = NextResponse.next(); + + const origin = req.headers.get('origin'); + + if (allowedOrigins.includes(origin)) { + res.headers.append('Access-Control-Allow-Origin', origin); + } + + res.headers.append('Access-Control-Allow-Credentials', 'true'); + res.headers.append( + 'Access-Control-Allow-Methods', + 'GET,DELETE,PATCH,POST,PUT', + ); + res.headers.append( + 'Access-Control-Allow-Headers', + 'X-CSRF-Token, X-Requested-With, Accept, Accept-Version, Content-Length, Content-MD5, Content-Type, Date, X-Api-Version', + ); + + return res; +} + +export const config = { + matcher: '/api/:path*', +}; diff --git a/packages/twenty-website/src/shared-utils/formatNumberOfStars.ts b/packages/twenty-website/src/shared-utils/formatNumberOfStars.ts index a9fad93d24bc..4adceff4d69d 100644 --- a/packages/twenty-website/src/shared-utils/formatNumberOfStars.ts +++ b/packages/twenty-website/src/shared-utils/formatNumberOfStars.ts @@ -1,3 +1,3 @@ export const formatNumberOfStars = (numberOfStars: number) => { - return Math.floor(numberOfStars / 100) / 10 + 'k'; + return Math.ceil(numberOfStars / 100) / 10 + 'k'; };