|
20 | 20 | const putility = require('@heyputer/putility'); |
21 | 21 | const { MultiDetachable } = putility.libs.listener; |
22 | 22 | const { TDetachable } = putility.traits; |
| 23 | +const { TeePromise } = putility.libs.promise; |
23 | 24 |
|
24 | 25 | const { NodeInternalIDSelector, NodeChildSelector, NodeUIDSelector, RootNodeSelector, NodePathSelector } = require("../../../filesystem/node/selectors"); |
25 | 26 | const { Context } = require("../../../util/context"); |
@@ -719,21 +720,21 @@ class PuterFSProvider extends putility.AdvancedBase { |
719 | 720 | const entryOp = await svc_fsEntry.update(uid, raw_fsentry_delta); |
720 | 721 |
|
721 | 722 | // depends on fsentry, does not depend on S3 |
722 | | - (async () => { |
| 723 | + const entryOpPromise = (async () => { |
723 | 724 | await entryOp.awaitDone(); |
724 | 725 | resourceService.free(uid); |
725 | | - svc_event.emit('fs.written.file', { |
726 | | - node, |
727 | | - context: this.context, |
728 | | - }); |
729 | 726 | })(); |
730 | 727 |
|
731 | | - state_upload.post_insert({ |
| 728 | + const postInsertPromise = state_upload.post_insert({ |
732 | 729 | db, user: actor.type.user, node, uid, message, ts, |
733 | 730 | }); |
734 | 731 |
|
735 | | - const svc_fileCache = context.get('services').get('file-cache'); |
736 | | - await svc_fileCache.invalidate(node); |
| 732 | + const cachePromise = (async () => { |
| 733 | + const svc_fileCache = context.get('services').get('file-cache'); |
| 734 | + await svc_fileCache.invalidate(node); |
| 735 | + })(); |
| 736 | + |
| 737 | + await Promise.all([entryOpPromise, postInsertPromise, cachePromise]); |
737 | 738 |
|
738 | 739 | svc_event.emit('fs.write.file', { |
739 | 740 | node, |
|
0 commit comments