aboutsummaryrefslogtreecommitdiff
path: root/src/server/ApiManagers/FireflyManager.ts
diff options
context:
space:
mode:
authorbobzel <zzzman@gmail.com>2025-08-11 13:04:26 -0400
committerbobzel <zzzman@gmail.com>2025-08-11 13:04:26 -0400
commit5b0b7241e68febc2d0556b6c2e8349411b5c12a0 (patch)
treee4ee96e10ad16cff290f86108d160ec93575fc03 /src/server/ApiManagers/FireflyManager.ts
parentb3aa4a5b0bbbb87d041b9515bddedbcbf8ae9fc5 (diff)
fixed image fill api to handler errors better.
Diffstat (limited to 'src/server/ApiManagers/FireflyManager.ts')
-rw-r--r--src/server/ApiManagers/FireflyManager.ts11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/server/ApiManagers/FireflyManager.ts b/src/server/ApiManagers/FireflyManager.ts
index fbf7d7202..11893aa0f 100644
--- a/src/server/ApiManagers/FireflyManager.ts
+++ b/src/server/ApiManagers/FireflyManager.ts
@@ -360,7 +360,7 @@ export default class FireflyManager extends ApiManager {
method: Method.POST,
subscription: '/queryFireflyImageFillWithMask',
secureHandler: ({ req, res }) =>
- new Promise<string>(resolve => {
+ new Promise<string | Error>(resolve => {
const user = req.user as DashUserModel;
const accessToken = user?.dropboxToken || '';
const dbx = new Dropbox({ accessToken });
@@ -369,12 +369,13 @@ export default class FireflyManager extends ApiManager {
if (files.source && files.mask) {
Promise.all([this.uploadToDropbox(dbx, user, 'source.png', fs.readFileSync(files.source[0].filepath)),
this.uploadToDropbox(dbx, user, 'mask.png', fs.readFileSync(files.mask[0].filepath))])
- .then(stuff =>
- stuff.some(s => s instanceof Error) ? resolve("") : this.generateImageFillWithMask(fields["prompt"]?.[0], stuff[0] as string, stuff[1] as string, 2048, 2048, 1).then(url => resolve(url![0].url))
- ).catch(() => resolve("") ); // prettier-ignore
+ .then(async stuff =>
+ resolve(stuff?.find(s => s instanceof Error) ??
+ (await this.generateImageFillWithMask(fields["prompt"]?.[0], stuff[0] as string, stuff[1] as string, 2048, 2048, 1).then(url => url![0].url))
+ )).catch(e => resolve(e.message) ); // prettier-ignore
}
});
- }).then(url => (url ? _success(res, { urls: [url] }) : _invalid(res, 'Failed to fill image'))),
+ }).then(url => (typeof url === 'string' ? _success(res, { urls: [url] }) : _invalid(res, url?.message))),
});
register({