59 lines
1.6 KiB
TypeScript
59 lines
1.6 KiB
TypeScript
const corsHeaders = {
|
|
'Access-Control-Allow-Origin': '*',
|
|
'Access-Control-Allow-Headers': 'authorization, x-client-info, apikey, content-type',
|
|
};
|
|
|
|
Deno.serve(async (req) => {
|
|
if (req.method === 'OPTIONS') {
|
|
return new Response(null, { headers: corsHeaders });
|
|
}
|
|
|
|
try {
|
|
const apiKey = Deno.env.get('INTEGRATIONS_API_KEY');
|
|
if (!apiKey) {
|
|
throw new Error('INTEGRATIONS_API_KEY not configured');
|
|
}
|
|
|
|
const { taskId } = await req.json();
|
|
|
|
if (!taskId) {
|
|
return new Response(
|
|
JSON.stringify({ error: 'TaskId is required' }),
|
|
{ status: 400, headers: { ...corsHeaders, 'Content-Type': 'application/json' } }
|
|
);
|
|
}
|
|
|
|
// Call Image Task Query API
|
|
const response = await fetch(
|
|
'https://app-9w9pd00g5j41-api-GYX1lzGw0DQa.gateway.appmedo.com/image-generation/task',
|
|
{
|
|
method: 'POST',
|
|
headers: {
|
|
'Content-Type': 'application/json',
|
|
'X-Gateway-Authorization': `Bearer ${apiKey}`,
|
|
},
|
|
body: JSON.stringify({ taskId }),
|
|
}
|
|
);
|
|
|
|
if (!response.ok) {
|
|
const errorText = await response.text();
|
|
throw new Error(`Image Task Query API error: ${response.status} - ${errorText}`);
|
|
}
|
|
|
|
const data = await response.json();
|
|
|
|
return new Response(
|
|
JSON.stringify(data),
|
|
{ headers: { ...corsHeaders, 'Content-Type': 'application/json' } }
|
|
);
|
|
|
|
} catch (error) {
|
|
console.error('Image Task Query error:', error);
|
|
return new Response(
|
|
JSON.stringify({ error: error.message }),
|
|
{ status: 500, headers: { ...corsHeaders, 'Content-Type': 'application/json' } }
|
|
);
|
|
}
|
|
});
|