get members
This commit is contained in:
parent
d39d66195a
commit
34c6a43fdc
17
back/controllers/members.js
Normal file
17
back/controllers/members.js
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
const statusCode = require("../utils/statusCodes").statusCodes;
|
||||||
|
const { getMembers } = require("../db/api.js");
|
||||||
|
const { logger } = require("../system/Logger");
|
||||||
|
|
||||||
|
async function members(body, res) {
|
||||||
|
const { roomId } = body;
|
||||||
|
getMembers(roomId).then((addresses) => {
|
||||||
|
res.status(statusCode.OK).json(addresses);
|
||||||
|
}).catch((err) => {
|
||||||
|
logger.error(err)
|
||||||
|
res.status(statusCode.INTERNAL_SERVER_ERROR);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
members,
|
||||||
|
};
|
@ -97,9 +97,24 @@ async function getMessages(roomId) {
|
|||||||
return await execQueryAsync(query, values);
|
return await execQueryAsync(query, values);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async function getMembers(roomId) {
|
||||||
|
const query = `
|
||||||
|
SELECT
|
||||||
|
address.address_id,
|
||||||
|
address.address_name,
|
||||||
|
address.email
|
||||||
|
FROM app_room_member
|
||||||
|
INNER JOIN address ON address.address_id = app_room_member.member_id
|
||||||
|
WHERE app_room_member.room_id = ?
|
||||||
|
`;
|
||||||
|
const values = [roomId];
|
||||||
|
return await execQueryAsync(query, values);
|
||||||
|
}
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
registerAccount,
|
registerAccount,
|
||||||
getAccounts,
|
getAccounts,
|
||||||
getRooms,
|
getRooms,
|
||||||
getMessages
|
getMessages,
|
||||||
|
getMembers
|
||||||
};
|
};
|
||||||
|
@ -33,6 +33,11 @@ router.get("/:roomId/messages", async (req, res) => {
|
|||||||
await messages(req.params, res);
|
await messages(req.params, res);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
router.get("/:roomId/members", async (req, res) => {
|
||||||
|
const { roomId } = req.params;
|
||||||
|
await members(req.params, res);
|
||||||
|
});
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Register a new mailbox inside the app
|
* Register a new mailbox inside the app
|
||||||
*/
|
*/
|
||||||
|
@ -6,7 +6,7 @@ import Account from "./models/Account";
|
|||||||
const store = createStore({
|
const store = createStore({
|
||||||
state() {
|
state() {
|
||||||
return {
|
return {
|
||||||
rooms: [new Room({id:12, user: "user", roomName: "room name", mailbboxId:2})],
|
rooms: [new Room({ id: 12, user: "user", roomName: "room name", mailbboxId: 2 })],
|
||||||
messages: [],
|
messages: [],
|
||||||
accounts: [new Account(0, "ALL")],
|
accounts: [new Account(0, "ALL")],
|
||||||
activeAccount: 0,
|
activeAccount: 0,
|
||||||
@ -44,6 +44,12 @@ const store = createStore({
|
|||||||
});
|
});
|
||||||
room.messagesFetched = true;
|
room.messagesFetched = true;
|
||||||
},
|
},
|
||||||
|
addAddress(state, payload) {
|
||||||
|
// todo add if not exist
|
||||||
|
payload.addresses.forEach((address) => {
|
||||||
|
state.addresses.push(address);
|
||||||
|
});
|
||||||
|
},
|
||||||
},
|
},
|
||||||
getters: {
|
getters: {
|
||||||
rooms: (state) => () => {
|
rooms: (state) => () => {
|
||||||
@ -83,6 +89,7 @@ const store = createStore({
|
|||||||
},
|
},
|
||||||
fetchMessages: async (context, data) => {
|
fetchMessages: async (context, data) => {
|
||||||
if (!data.room || data.room?.fetched == false) {
|
if (!data.room || data.room?.fetched == false) {
|
||||||
|
store.dispatch("fetchAddress", { roomId: data.roomId });
|
||||||
API.getMessages(data.roomId)
|
API.getMessages(data.roomId)
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
context.commit("addMessages", { messages: res.data, roomId: data.roomId });
|
context.commit("addMessages", { messages: res.data, roomId: data.roomId });
|
||||||
@ -92,6 +99,15 @@ const store = createStore({
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
fetchRoomMembers: async (context, data) => {
|
||||||
|
API.getMembers(data.roomId)
|
||||||
|
.then((res) => {
|
||||||
|
context.commit("addAddress", { addresses: res.data, roomId: data.roomId });
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
console.log(err);
|
||||||
|
});
|
||||||
|
},
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user