get members
This commit is contained in:
parent
14dd6b36f8
commit
44125fc55d
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);
|
||||
}
|
||||
|
||||
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 = {
|
||||
registerAccount,
|
||||
getAccounts,
|
||||
getRooms,
|
||||
getMessages
|
||||
getMessages,
|
||||
getMembers
|
||||
};
|
||||
|
@ -33,6 +33,11 @@ router.get("/:roomId/messages", async (req, 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
|
||||
*/
|
||||
|
@ -6,7 +6,7 @@ import Account from "./models/Account";
|
||||
const store = createStore({
|
||||
state() {
|
||||
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: [],
|
||||
accounts: [new Account(0, "ALL")],
|
||||
activeAccount: 0,
|
||||
@ -44,6 +44,12 @@ const store = createStore({
|
||||
});
|
||||
room.messagesFetched = true;
|
||||
},
|
||||
addAddress(state, payload) {
|
||||
// todo add if not exist
|
||||
payload.addresses.forEach((address) => {
|
||||
state.addresses.push(address);
|
||||
});
|
||||
},
|
||||
},
|
||||
getters: {
|
||||
rooms: (state) => () => {
|
||||
@ -83,6 +89,7 @@ const store = createStore({
|
||||
},
|
||||
fetchMessages: async (context, data) => {
|
||||
if (!data.room || data.room?.fetched == false) {
|
||||
store.dispatch("fetchAddress", { roomId: data.roomId });
|
||||
API.getMessages(data.roomId)
|
||||
.then((res) => {
|
||||
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