feat: Convert all app files to JS
This commit is contained in:
3
packages/backend/src/apps/removebg/actions/index.js
Normal file
3
packages/backend/src/apps/removebg/actions/index.js
Normal file
@@ -0,0 +1,3 @@
|
||||
import removeImageBackground from './remove-image-background/index.js';
|
||||
|
||||
export default [removeImageBackground];
|
||||
@@ -1,3 +0,0 @@
|
||||
import removeImageBackground from './remove-image-background';
|
||||
|
||||
export default [removeImageBackground];
|
||||
@@ -1,49 +1,50 @@
|
||||
import defineAction from '../../../../helpers/define-action';
|
||||
import defineAction from '../../../../helpers/define-action.js';
|
||||
|
||||
export default defineAction({
|
||||
name: 'Remove image background',
|
||||
key: 'removeImageBackground',
|
||||
description:
|
||||
'Removes the background of an image.',
|
||||
description: 'Removes the background of an image.',
|
||||
arguments: [
|
||||
{
|
||||
label: 'Image file',
|
||||
key: 'imageFileB64',
|
||||
type: 'string' as const,
|
||||
type: 'string',
|
||||
required: true,
|
||||
variables: true,
|
||||
description: 'Provide a JPG or PNG file in Base64 format, up to 12 MB (see remove.bg/supported-images)',
|
||||
description:
|
||||
'Provide a JPG or PNG file in Base64 format, up to 12 MB (see remove.bg/supported-images)',
|
||||
},
|
||||
{
|
||||
label: 'Size',
|
||||
key: 'size',
|
||||
type: 'dropdown' as const,
|
||||
type: 'dropdown',
|
||||
required: true,
|
||||
value: 'auto',
|
||||
options: [
|
||||
{ label: 'Auto', value: 'auto' },
|
||||
{ label: 'Preview (up to 0.25 megapixels)', value: 'preview' },
|
||||
{ label: 'Full (up to 10 megapixels)', value: 'full' },
|
||||
]
|
||||
],
|
||||
},
|
||||
{
|
||||
label: 'Background color',
|
||||
key: 'bgColor',
|
||||
type: 'string' as const,
|
||||
description: 'Adds a solid color background. Can be a hex color code (e.g. 81d4fa, fff) or a color name (e.g. green)',
|
||||
type: 'string',
|
||||
description:
|
||||
'Adds a solid color background. Can be a hex color code (e.g. 81d4fa, fff) or a color name (e.g. green)',
|
||||
required: false,
|
||||
},
|
||||
{
|
||||
label: 'Background image URL',
|
||||
key: 'bgImageUrl',
|
||||
type: 'string' as const,
|
||||
type: 'string',
|
||||
description: 'Adds a background image from a URL.',
|
||||
required: false,
|
||||
},
|
||||
{
|
||||
label: 'Output image format',
|
||||
key: 'outputFormat',
|
||||
type: 'dropdown' as const,
|
||||
type: 'dropdown',
|
||||
description: 'Note: Use PNG to preserve transparency',
|
||||
required: true,
|
||||
value: 'auto',
|
||||
@@ -51,32 +52,32 @@ export default defineAction({
|
||||
{ label: 'Auto', value: 'auto' },
|
||||
{ label: 'PNG', value: 'png' },
|
||||
{ label: 'JPG', value: 'jpg' },
|
||||
{ label: 'ZIP', value: 'zip' }
|
||||
]
|
||||
}
|
||||
{ label: 'ZIP', value: 'zip' },
|
||||
],
|
||||
},
|
||||
],
|
||||
async run($) {
|
||||
const imageFileB64 = $.step.parameters.imageFileB64 as string;
|
||||
const size = $.step.parameters.size as string;
|
||||
const bgColor = $.step.parameters.bgColor as string;
|
||||
const bgImageUrl = $.step.parameters.bgImageUrl as string;
|
||||
const outputFormat = $.step.parameters.outputFormat as string;
|
||||
const imageFileB64 = $.step.parameters.imageFileB64;
|
||||
const size = $.step.parameters.size;
|
||||
const bgColor = $.step.parameters.bgColor;
|
||||
const bgImageUrl = $.step.parameters.bgImageUrl;
|
||||
const outputFormat = $.step.parameters.outputFormat;
|
||||
|
||||
const body = JSON.stringify({
|
||||
image_file_b64: imageFileB64,
|
||||
size: size,
|
||||
bg_color: bgColor,
|
||||
bg_image_url: bgImageUrl,
|
||||
format: outputFormat
|
||||
format: outputFormat,
|
||||
});
|
||||
|
||||
const response = await $.http.post('/removebg', body, {
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
'Accept': 'application/json',
|
||||
Accept: 'application/json',
|
||||
},
|
||||
});
|
||||
|
||||
$.setActionItem({ raw: response.data });
|
||||
}
|
||||
},
|
||||
});
|
||||
Reference in New Issue
Block a user