@@ -36,6 +36,16 @@ function convertJsonToSchema(json: any): CompileParameters {
3636 } ;
3737}
3838
39+ export async function OPTIONS ( ) {
40+ return new NextResponse ( null , {
41+ headers : {
42+ 'Access-Control-Allow-Origin' : '*' ,
43+ 'Access-Control-Allow-Methods' : 'POST, OPTIONS' ,
44+ 'Access-Control-Allow-Headers' : 'Content-Type' ,
45+ } ,
46+ } ) ;
47+ }
48+
3949export async function POST ( request : Request ) {
4050 try {
4151 const {
@@ -61,7 +71,9 @@ export async function POST(request: Request) {
6171
6272 const tsCode = await compile ( jsonSchema , interfaceName , compileOptions ) ;
6373
64- return NextResponse . json ( { tsCode } ) ;
74+ const response = NextResponse . json ( { tsCode } ) ;
75+ response . headers . set ( 'Access-Control-Allow-Origin' , '*' ) ;
76+ return response ;
6577 } catch ( error : any ) {
6678 console . error ( 'Error in js-to-ts API:' , error ) ;
6779 let errorMessage = 'Failed to convert JSON to TypeScript.' ;
@@ -72,6 +84,12 @@ export async function POST(request: Request) {
7284 errorMessage = error . message ;
7385 }
7486
75- return NextResponse . json ( { error : errorMessage } , { status : 500 } ) ;
87+ const response = NextResponse . json (
88+ { error : errorMessage } ,
89+ { status : 500 } ,
90+ ) ;
91+ response . headers . set ( 'Access-Control-Allow-Origin' , '*' ) ;
92+
93+ return response ;
7694 }
7795}
0 commit comments