refactor: local handler types

This commit is contained in:
Tristan Yang
2022-07-17 17:41:58 +08:00
parent 8912b141ec
commit 7d8c911a64
11 changed files with 33 additions and 41 deletions
+1 -1
View File
@@ -30,7 +30,7 @@ const useRehydrate = () => {
const tables = Object.keys(window.CACHE);
const results = await Promise.all(
tables.map((_key) => {
return window.CACHE[_key].iterate((data, key) => {
return window.CACHE[_key]?.iterate((data: any, key) => {
// console.log("iterated", key);
switch (_key) {
case "channels":
@@ -6,7 +6,9 @@ export type BaseOperation = "add" | "remove" | "reset";
export interface Params {
operation: string;
data: {};
payload: {};
payload: {
["id"]: number;
};
}
export default async function handler({ operation, data = {}, payload }: Params) {
@@ -21,7 +23,7 @@ export default async function handler({ operation, data = {}, payload }: Params)
{
const { id } = payload;
await table.setItem(id + "", data[id]);
await table?.setItem(id + "", data[id]);
}
break;
case "removeChannelSession":
@@ -29,7 +31,7 @@ export default async function handler({ operation, data = {}, payload }: Params)
const ids = Array.isArray(payload) ? payload : [payload];
await Promise.all(
ids.map(async (id) => {
await table.removeItem(id + "");
await table?.removeItem(id + "");
})
);
}
@@ -12,7 +12,7 @@ export default async function handler({ operation, data, payload }) {
const chs = payload;
await Promise.all(
chs.map(({ gid, ...rest }) => {
return table.setItem(gid + "", { gid, ...rest });
return table?.setItem(gid + "", { gid, ...rest });
})
);
}
@@ -20,19 +20,19 @@ export default async function handler({ operation, data, payload }) {
case "addChannel":
{
const { gid } = payload;
await table.setItem(gid + "", payload);
await table?.setItem(gid + "", payload);
}
break;
case "removeChannel":
{
const id = payload;
await table.removeItem(id + "");
await table?.removeItem(id + "");
}
break;
case "updateChannel":
{
const { id } = payload;
await table.setItem(id + "", data.byId[id]);
await table?.setItem(id + "", data.byId[id]);
}
break;
@@ -11,7 +11,7 @@ export default async function handler({ operation, data = {}, payload }) {
case "removeUserMsg":
{
const { id } = payload;
await table.setItem(id + "", data.byId[id]);
await table?.setItem(id + "", data.byId[id]);
}
break;
case "removeUserSession":
@@ -19,7 +19,7 @@ export default async function handler({ operation, data = {}, payload }) {
const ids = Array.isArray(payload) ? payload : [payload];
await Promise.all(
ids.map(async (id) => {
await table.removeItem(id + "");
await table?.removeItem(id + "");
})
);
}
@@ -11,7 +11,7 @@ export default async function handler({ operation, data = {} }) {
case "removeFileMessage":
{
console.log("file message opt", data, operation);
await table.setItem("list", data);
await table?.setItem("list", data);
}
break;
default:
@@ -10,29 +10,29 @@ export default async function handler({ operation, data = {}, payload }) {
case "updateUsersVersion":
{
const usersVersion = payload;
await table.setItem("usersVersion", usersVersion);
await table?.setItem("usersVersion", usersVersion);
}
break;
case "updateAfterMid":
{
const afterMid = payload;
await table.setItem("afterMid", afterMid);
await table?.setItem("afterMid", afterMid);
}
break;
case "updateMute":
{
await table.setItem("muteUsers", data.muteUsers || {});
await table.setItem("muteChannels", data.muteChannels || {});
await table?.setItem("muteUsers", data.muteUsers || {});
await table?.setItem("muteChannels", data.muteChannels || {});
}
break;
case "updateReadChannels":
{
await table.setItem("readChannels", data.readChannels);
await table?.setItem("readChannels", data.readChannels);
}
break;
case "updateReadUsers":
{
await table.setItem("readUsers", data.readUsers);
await table?.setItem("readUsers", data.readUsers);
}
break;
default:
+2 -12
View File
@@ -11,7 +11,7 @@ export default async function handler({ operation, data = {}, payload }) {
case "updateMessage":
{
const { mid } = payload;
await table.setItem(mid + "", data[mid]);
await table?.setItem(mid + "", data[mid]);
}
break;
case "removeMessage":
@@ -19,21 +19,11 @@ export default async function handler({ operation, data = {}, payload }) {
const mids = Array.isArray(payload) ? payload : [payload];
await Promise.all(
mids.map(async (mid) => {
await table.removeItem(mid + "");
await table?.removeItem(mid + "");
})
);
}
break;
// case "readMessage":
// {
// const mids = Array.isArray(payload) ? payload : [payload];
// await Promise.all(
// mids.map(async (mid) => {
// await table.setItem(mid + "", data[mid]);
// })
// );
// }
// break;
default:
break;
}
@@ -10,8 +10,8 @@ export default async function handler({ operation, data = {}, payload }) {
case "toggleReactionMessage":
{
const { mid, rid } = payload;
await table.setItem(mid + "", data[mid]);
await table.setItem(rid + "", data[rid]);
await table?.setItem(mid + "", data[mid]);
await table?.setItem(rid + "", data[rid]);
}
break;
case "removeReactionMessage":
@@ -19,7 +19,7 @@ export default async function handler({ operation, data = {}, payload }) {
const mids = Array.isArray(payload) ? payload : [payload];
await Promise.all(
mids.map(async (mid) => {
await table.removeItem(mid + "");
await table?.removeItem(mid + "");
})
);
}
@@ -12,7 +12,7 @@ export default async function handler({ operation, payload }) {
const data = payload;
await Promise.all(
Object.entries(data).map(([_key, _val]) => {
return table.setItem(_key, _val);
return table?.setItem(_key, _val);
})
);
}
+3 -3
View File
@@ -10,17 +10,17 @@ export default async function handler({ operation, data = {} }) {
case "toggleMenuExpand":
{
console.log("cache the toggleMenuExpand");
await table.setItem("menuExpand", data.menuExpand);
await table?.setItem("menuExpand", data.menuExpand);
}
break;
case "updateInputMode":
{
await table.setItem("inputMode", data.inputMode);
await table?.setItem("inputMode", data.inputMode);
}
break;
case "updateFileListView":
{
await table.setItem("fileListView", data.fileListView);
await table?.setItem("fileListView", data.fileListView);
}
break;
default:
+5 -5
View File
@@ -12,7 +12,7 @@ export default async function handler({ operation, data, payload }) {
const users = payload;
await Promise.all(
users.map(({ uid, ...rest }) => {
return table.setItem(uid + "", { uid, ...rest });
return table?.setItem(uid + "", { uid, ...rest });
})
);
}
@@ -25,10 +25,10 @@ export default async function handler({ operation, data, payload }) {
switch (action) {
case "update":
case "create":
await table.setItem(uid + "", data.byId[uid]);
await table?.setItem(uid + "", data.byId[uid]);
break;
case "delete":
await table.removeItem(uid + "");
await table?.removeItem(uid + "");
break;
default:
@@ -41,13 +41,13 @@ export default async function handler({ operation, data, payload }) {
case "addUser":
{
const { uid } = payload;
await table.setItem(uid + "", payload);
await table?.setItem(uid + "", payload);
}
break;
case "removeUser":
{
const id = payload;
await table.removeItem(id + "");
await table?.removeItem(id + "");
}
break;