mirror of
https://github.com/ragestudio/comty.git
synced 2025-06-11 03:24:16 +00:00
implement internal events
This commit is contained in:
parent
92879b0312
commit
df17cd73af
7
packages/server/src/events/index.js
Normal file
7
packages/server/src/events/index.js
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
import user_connected from "./user_connected"
|
||||||
|
import user_disconnected from "./user_disconnected"
|
||||||
|
|
||||||
|
export default {
|
||||||
|
"user.connected": user_connected,
|
||||||
|
"user.disconnected": user_disconnected,
|
||||||
|
}
|
19
packages/server/src/events/user_connected.js
Normal file
19
packages/server/src/events/user_connected.js
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
import { UserFollow } from "../models"
|
||||||
|
|
||||||
|
export default async (user_id) => {
|
||||||
|
// get followers of the user
|
||||||
|
const followers = await UserFollow.find({
|
||||||
|
to: user_id,
|
||||||
|
})
|
||||||
|
|
||||||
|
// send event to ws clients (if are connected)
|
||||||
|
followers.forEach((follow) => {
|
||||||
|
const connectedClient = global.wsInterface.clients.find((client) => {
|
||||||
|
return client.user_id === follow.user_id
|
||||||
|
})
|
||||||
|
|
||||||
|
if (connectedClient) {
|
||||||
|
connectedClient.socket.emit("friend.connected", user_id)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
19
packages/server/src/events/user_disconnected.js
Normal file
19
packages/server/src/events/user_disconnected.js
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
import { UserFollow } from "../models"
|
||||||
|
|
||||||
|
export default async (user_id) => {
|
||||||
|
// get followers of the user
|
||||||
|
const followers = await UserFollow.find({
|
||||||
|
to: user_id,
|
||||||
|
})
|
||||||
|
|
||||||
|
// send event to ws clients (if are connected)
|
||||||
|
followers.forEach((follow) => {
|
||||||
|
const connectedClient = global.wsInterface.clients.find((client) => {
|
||||||
|
return client.user_id === follow.user_id
|
||||||
|
})
|
||||||
|
|
||||||
|
if (connectedClient) {
|
||||||
|
connectedClient.socket.emit("friend.disconnected", user_id)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user