mirror of
https://github.com/HeyPuter/puter.git
synced 2026-05-29 21:01:27 +00:00
fix: use event service
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
This commit is contained in:
@@ -84,17 +84,6 @@ module.exports = eggspress(['/signup'], {
|
||||
|
||||
|
||||
// send event
|
||||
async function emitAsync(eventName, data) {
|
||||
const listeners = process.listeners(eventName);
|
||||
|
||||
if (listeners.length === 0) {
|
||||
return data;
|
||||
}
|
||||
|
||||
await Promise.all(listeners.map(listener => listener(data)));
|
||||
return data;
|
||||
}
|
||||
|
||||
let event = {
|
||||
allow: true,
|
||||
ip: req.headers?.['x-forwarded-for'] ||
|
||||
@@ -103,11 +92,8 @@ module.exports = eggspress(['/signup'], {
|
||||
body: req.body,
|
||||
};
|
||||
|
||||
const MAX_WAIT = 5 * 1000;
|
||||
await Promise.race([
|
||||
emitAsync('puter.signup', event),
|
||||
new Promise(resolve => setTimeout(() => resolve(), MAX_WAIT)),
|
||||
])
|
||||
const svc_event = Context.get('services').get('event');
|
||||
await svc_event.emit('puter.signup', event)
|
||||
|
||||
if ( ! event.allow ) {
|
||||
return res.status(400).send(event.error ?? 'You are not allowed to sign up.');
|
||||
|
||||
Reference in New Issue
Block a user