fix duplication of threads on account change
This commit is contained in:
parent
79e17ad24f
commit
956bc35158
@ -27,7 +27,7 @@ export async function getAccounts() {
|
|||||||
return await execQueryAsync(query, values);
|
return await execQueryAsync(query, values);
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function getRooms(mailboxId) {
|
export async function getRooms(mailboxId: number) {
|
||||||
const query = `
|
const query = `
|
||||||
SELECT
|
SELECT
|
||||||
room.room_id AS id,
|
room.room_id AS id,
|
||||||
|
@ -21,8 +21,6 @@ interface AccountFromBack {
|
|||||||
email: string;
|
email: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
const buffer: RoomFromBack[] = [];
|
|
||||||
|
|
||||||
function createRoom(options: RoomFromBack): Room {
|
function createRoom(options: RoomFromBack): Room {
|
||||||
return {
|
return {
|
||||||
id: options.id,
|
id: options.id,
|
||||||
@ -117,6 +115,7 @@ const store = createStore<State>({
|
|||||||
},
|
},
|
||||||
addRooms(state, payload) {
|
addRooms(state, payload) {
|
||||||
// todo add if not exist
|
// todo add if not exist
|
||||||
|
const buffer: RoomFromBack[] = [];
|
||||||
payload.rooms.forEach((room: RoomFromBack) => {
|
payload.rooms.forEach((room: RoomFromBack) => {
|
||||||
if (room.roomType == RoomType.THREAD) {
|
if (room.roomType == RoomType.THREAD) {
|
||||||
buffer.push(room);
|
buffer.push(room);
|
||||||
@ -174,7 +173,7 @@ const store = createStore<State>({
|
|||||||
},
|
},
|
||||||
getters: {
|
getters: {
|
||||||
rooms: (state) => (): Room[] => {
|
rooms: (state) => (): Room[] => {
|
||||||
if (state.activeAccount === 0) return state.rooms;
|
if (state.activeAccount === 0) return state.rooms.filter((room) => room.roomType != RoomType.THREAD);
|
||||||
return state.rooms.filter(
|
return state.rooms.filter(
|
||||||
(room) => room.mailboxId == state.activeAccount && room.roomType != RoomType.THREAD,
|
(room) => room.mailboxId == state.activeAccount && room.roomType != RoomType.THREAD,
|
||||||
);
|
);
|
||||||
|
Loading…
Reference in New Issue
Block a user