mirror of
https://github.com/ragestudio/comty.git
synced 2025-06-10 02:54:15 +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