mirror of
https://github.com/HeyPuter/puter.git
synced 2026-05-04 16:40:41 +00:00
dev(backend): emit rename through EventService
Docker Image CI / build-and-push-image (push) Has been cancelled
Maintain Release Merge PR / update-release-pr (push) Has been cancelled
release-please / release-please (push) Has been cancelled
test / test (18.x) (push) Has been cancelled
test / test (20.x) (push) Has been cancelled
test / test (22.x) (push) Has been cancelled
Docker Image CI / build-and-push-image (push) Has been cancelled
Maintain Release Merge PR / update-release-pr (push) Has been cancelled
release-please / release-please (push) Has been cancelled
test / test (18.x) (push) Has been cancelled
test / test (20.x) (push) Has been cancelled
test / test (22.x) (push) Has been cancelled
While previously the /rename endpoint sent only a websocket message to the client, move didn't fire a rename event if the name of the file had changed. This commit adds a more generalized rename event that can be reliably used to update a UI whenever the name of a file changes.
This commit is contained in:
@@ -246,11 +246,16 @@ class PuterFSProvider extends putility.AdvancedBase {
|
||||
|
||||
const svc_event = services.get('event');
|
||||
|
||||
await svc_event.emit('fs.move.file', {
|
||||
const promises = [];
|
||||
promises.push(svc_event.emit('fs.move.file', {
|
||||
context,
|
||||
moved: node,
|
||||
old_path,
|
||||
});
|
||||
}));
|
||||
promises.push(svc_event.emit('fs.rename', {
|
||||
uid: await node.get('uid'),
|
||||
new_name,
|
||||
}));
|
||||
|
||||
return node;
|
||||
}
|
||||
|
||||
@@ -176,6 +176,21 @@ module.exports = eggspress('/rename', {
|
||||
// send realtime success msg to client
|
||||
const svc_socketio = req.services.get('socketio');
|
||||
svc_socketio.send({ room: req.user.id }, 'item.renamed', return_obj);
|
||||
|
||||
(async () => { try {
|
||||
const svc_event = req.services.get('event');
|
||||
await svc_event.emit('fs.rename', {
|
||||
uid: fsentry.uuid,
|
||||
new_name: req.body.new_name,
|
||||
})
|
||||
} catch (e) {
|
||||
const log = req.services.get('log-service').create('rename-endpoint');
|
||||
const errors = req.services.get('error-service').create(log);
|
||||
errors.report('emit.rename', {
|
||||
alarm: true,
|
||||
source: e,
|
||||
});
|
||||
}})();
|
||||
|
||||
return res.send(return_obj);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user