From 23b2a9813e8c5e656ce43491daa9075685533655 Mon Sep 17 00:00:00 2001 From: Oliver Pan <2216991777@qq.com> Date: Mon, 24 Jun 2024 00:21:13 -0500 Subject: [PATCH] chore: formatted api code --- apps/web/app/api/color-names/route.ts | 3 +- .../generate-color-palette/route.ts | 89 +++++++++---------- apps/web/app/api/figma-plugin/route.ts | 22 ++--- 3 files changed, 55 insertions(+), 59 deletions(-) diff --git a/apps/web/app/api/color-names/route.ts b/apps/web/app/api/color-names/route.ts index cd321d9..e12da2b 100644 --- a/apps/web/app/api/color-names/route.ts +++ b/apps/web/app/api/color-names/route.ts @@ -1,5 +1,6 @@ +import { differenceEuclidean, nearest } from "culori"; + import colorNameList from "../../../lib/converted_colors.json"; -import { nearest, differenceEuclidean } from "culori"; export async function POST(req: Request) { const { colors } = await req.json(); diff --git a/apps/web/app/api/figma-plugin/generate-color-palette/route.ts b/apps/web/app/api/figma-plugin/generate-color-palette/route.ts index 50c1a7d..735cffc 100644 --- a/apps/web/app/api/figma-plugin/generate-color-palette/route.ts +++ b/apps/web/app/api/figma-plugin/generate-color-palette/route.ts @@ -1,95 +1,90 @@ -import { NextResponse } from "next/server"; -import jwt from "jsonwebtoken"; -import { BaseColorTypes, BaseColors, ColorMode, RawColor } from "@/types/app"; -import { generateColorPalette } from "@/lib/colorCalculator"; +import { generateColorPalette } from '@/lib/colorCalculator' +import { BaseColorTypes, BaseColors, ColorMode } from '@/types/app' +import jwt from 'jsonwebtoken' +import { NextResponse } from 'next/server' const headers = (origin: string) => ({ - "Access-Control-Allow-Origin": origin || "*", - "Access-Control-Allow-Methods": "GET, POST, OPTIONS", - "Access-Control-Allow-Credentials": "true", - "Access-Control-Allow-Headers": "Content-Type, Authorization, Accept", -}); + 'Access-Control-Allow-Credentials': 'true', + 'Access-Control-Allow-Headers': 'Content-Type, Authorization, Accept', + 'Access-Control-Allow-Methods': 'GET, POST, OPTIONS', + 'Access-Control-Allow-Origin': origin || '*', +}) export async function OPTIONS(request: Request) { - const origin = request.headers.get("origin"); + const origin = request.headers.get('origin') return new Response(null, { - status: 200, headers: headers(origin), - }); + status: 200, + }) } export async function GET(req: Request) { - const origin = req.headers.get("origin"); + const origin = req.headers.get('origin') - const { searchParams } = new URL(req.url); - const token = searchParams.get("token"); - const authSecret = process.env.FIGMA_AUTH_SECRET; + const { searchParams } = new URL(req.url) + const token = searchParams.get('token') + const authSecret = process.env.FIGMA_AUTH_SECRET // decode the token using the same secret key // we should get the base colors - let baseColors: Partial; + let baseColors: Partial try { - baseColors = jwt.verify(token, authSecret); + baseColors = jwt.verify(token, authSecret) } catch (error) { - console.log(`====> Error:`, error); + console.log(`====> Error:`, error) return NextResponse.json( { data: null, error: { - message: "Invalid token", + message: 'Invalid token', }, }, { - status: 400, headers: headers(origin), - }, - ); + status: 400, + } + ) } - const { primary, secondary, accent } = baseColors as BaseColors; + const { accent, primary, secondary } = baseColors as BaseColors if (!primary || !secondary || !accent) { return NextResponse.json( { data: null, error: { - message: "Missing primary, secondary or accent color", + message: 'Missing primary, secondary or accent color', }, }, { - status: 400, headers: headers(origin), - }, - ); + status: 400, + } + ) } // !TODO: get mode from query params - const mode = ColorMode.HEX; - const [primaryPalette, secondaryPalette, accentPalette, grayPalette] = [ - "primary", - "secondary", - "accent", - "gray", - ].map((color) => - generateColorPalette({ - color: color === "gray" ? baseColors.primary : baseColors[color], - type: color as BaseColorTypes, - colorMode: mode, - }), - ); + const mode = ColorMode.HEX + const [primaryPalette, secondaryPalette, accentPalette, grayPalette] = ['primary', 'secondary', 'accent', 'gray'].map( + (color) => + generateColorPalette({ + color: color === 'gray' ? baseColors.primary : baseColors[color], + type: color as BaseColorTypes, + }) + ) return NextResponse.json( { - error: null, data: { baseColors, + colorMode: mode, colorPalettes: { - primary: primaryPalette, - secondary: secondaryPalette, accent: accentPalette, gray: grayPalette, + primary: primaryPalette, + secondary: secondaryPalette, }, - colorMode: mode, }, + error: null, }, { headers: headers(origin), - }, - ); + } + ) } diff --git a/apps/web/app/api/figma-plugin/route.ts b/apps/web/app/api/figma-plugin/route.ts index 4d13caa..d9a33e3 100644 --- a/apps/web/app/api/figma-plugin/route.ts +++ b/apps/web/app/api/figma-plugin/route.ts @@ -1,21 +1,21 @@ +import { BaseColors, RawColor } from "@/types/app"; +import jwt from "jsonwebtoken"; import { NextResponse } from "next/server"; import tinycolor from "tinycolor2"; -import jwt from "jsonwebtoken"; -import { BaseColors, RawColor } from "@/types/app"; const headers = (origin: string) => ({ - "Access-Control-Allow-Origin": origin || "*", - "Access-Control-Allow-Methods": "GET, POST, OPTIONS", "Access-Control-Allow-Credentials": "true", "Access-Control-Allow-Headers": "Content-Type, Authorization, Accept", + "Access-Control-Allow-Methods": "GET, POST, OPTIONS", + "Access-Control-Allow-Origin": origin || "*", }); export async function OPTIONS(request: Request) { const origin = request.headers.get("origin"); return new Response(null, { - status: 200, headers: headers(origin), + status: 200, }); } @@ -64,12 +64,12 @@ export async function GET(req: Request) { }, }, { - status: 400, headers: headers(origin), + status: 400, }, ); } - const { primary, secondary, accent } = baseColors as BaseColors; + const { accent, primary, secondary } = baseColors as BaseColors; if (!primary || !secondary || !accent) { return NextResponse.json( { @@ -79,12 +79,12 @@ export async function GET(req: Request) { }, }, { - status: 400, headers: headers(origin), + status: 400, }, ); } - const v = (color: string | RawColor) => tinycolor(color).isValid(); + const v = (color: RawColor | string) => tinycolor(color).isValid(); if (!v(primary) || !v(secondary) || !v(accent)) { return NextResponse.json( { @@ -94,14 +94,14 @@ export async function GET(req: Request) { }, }, { - status: 400, headers: headers(origin), + status: 400, }, ); } return NextResponse.json( { - data: { primary, secondary, accent }, + data: { accent, primary, secondary }, error: null, }, {