diff options
author | bobzel <zzzman@gmail.com> | 2025-08-11 13:04:26 -0400 |
---|---|---|
committer | bobzel <zzzman@gmail.com> | 2025-08-11 13:04:26 -0400 |
commit | 5b0b7241e68febc2d0556b6c2e8349411b5c12a0 (patch) | |
tree | e4ee96e10ad16cff290f86108d160ec93575fc03 /src/server/ApiManagers/FireflyManager.ts | |
parent | b3aa4a5b0bbbb87d041b9515bddedbcbf8ae9fc5 (diff) |
fixed image fill api to handler errors better.
Diffstat (limited to 'src/server/ApiManagers/FireflyManager.ts')
-rw-r--r-- | src/server/ApiManagers/FireflyManager.ts | 11 |
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({ |