mirror of
https://github.com/Qortal/Qortal-Hub.git
synced 2025-04-23 19:37:52 +00:00
cases
This commit is contained in:
parent
66b3933f8f
commit
a439b37007
@ -1,15 +1,20 @@
|
|||||||
import {
|
import {
|
||||||
|
addDataPublishes,
|
||||||
|
banFromGroup,
|
||||||
cancelInvitationToGroup,
|
cancelInvitationToGroup,
|
||||||
createGroup,
|
createGroup,
|
||||||
decryptWallet,
|
decryptWallet,
|
||||||
findUsableApi,
|
findUsableApi,
|
||||||
getBalanceInfo,
|
getBalanceInfo,
|
||||||
|
getDataPublishes,
|
||||||
getKeyPair,
|
getKeyPair,
|
||||||
getLTCBalance,
|
getLTCBalance,
|
||||||
getNameInfo,
|
getNameInfo,
|
||||||
getTempPublish,
|
getTempPublish,
|
||||||
getUserInfo,
|
getUserInfo,
|
||||||
inviteToGroup,
|
inviteToGroup,
|
||||||
|
joinGroup,
|
||||||
|
kickFromGroup,
|
||||||
leaveGroup,
|
leaveGroup,
|
||||||
saveTempPublish,
|
saveTempPublish,
|
||||||
sendCoin,
|
sendCoin,
|
||||||
@ -407,4 +412,140 @@ export async function balanceCase(request, event) {
|
|||||||
event.origin
|
event.origin
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function joinGroupCase(request, event) {
|
||||||
|
try {
|
||||||
|
const { groupId } = request.payload;
|
||||||
|
const response = await joinGroup({groupId});
|
||||||
|
|
||||||
|
event.source.postMessage(
|
||||||
|
{
|
||||||
|
requestId: request.requestId,
|
||||||
|
action: "joinGroup",
|
||||||
|
payload: response,
|
||||||
|
type: "backgroundMessageResponse",
|
||||||
|
},
|
||||||
|
event.origin
|
||||||
|
);
|
||||||
|
} catch (error) {
|
||||||
|
event.source.postMessage(
|
||||||
|
{
|
||||||
|
requestId: request.requestId,
|
||||||
|
action: "joinGroup",
|
||||||
|
error: error?.message,
|
||||||
|
type: "backgroundMessageResponse",
|
||||||
|
},
|
||||||
|
event.origin
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function kickFromGroupCase(request, event) {
|
||||||
|
try {
|
||||||
|
const { groupId, qortalAddress, rBanReason } = request.payload;
|
||||||
|
const response = await kickFromGroup({groupId, qortalAddress, rBanReason});
|
||||||
|
|
||||||
|
event.source.postMessage(
|
||||||
|
{
|
||||||
|
requestId: request.requestId,
|
||||||
|
action: "kickFromGroup",
|
||||||
|
payload: response,
|
||||||
|
type: "backgroundMessageResponse",
|
||||||
|
},
|
||||||
|
event.origin
|
||||||
|
);
|
||||||
|
} catch (error) {
|
||||||
|
event.source.postMessage(
|
||||||
|
{
|
||||||
|
requestId: request.requestId,
|
||||||
|
action: "kickFromGroup",
|
||||||
|
error: error?.message,
|
||||||
|
type: "backgroundMessageResponse",
|
||||||
|
},
|
||||||
|
event.origin
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function banFromGroupCase(request, event) {
|
||||||
|
try {
|
||||||
|
const { groupId, qortalAddress, rBanReason, rBanTime } = request.payload;
|
||||||
|
const response = await banFromGroup({groupId, qortalAddress, rBanReason, rBanTime});
|
||||||
|
|
||||||
|
event.source.postMessage(
|
||||||
|
{
|
||||||
|
requestId: request.requestId,
|
||||||
|
action: "banFromGroup",
|
||||||
|
payload: response,
|
||||||
|
type: "backgroundMessageResponse",
|
||||||
|
},
|
||||||
|
event.origin
|
||||||
|
);
|
||||||
|
} catch (error) {
|
||||||
|
event.source.postMessage(
|
||||||
|
{
|
||||||
|
requestId: request.requestId,
|
||||||
|
action: "banFromGroup",
|
||||||
|
error: error?.message,
|
||||||
|
type: "backgroundMessageResponse",
|
||||||
|
},
|
||||||
|
event.origin
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function addDataPublishesCase(request, event) {
|
||||||
|
try {
|
||||||
|
const { data, groupId, type } = request.payload;
|
||||||
|
const response = await addDataPublishes({data, groupId, type});
|
||||||
|
|
||||||
|
event.source.postMessage(
|
||||||
|
{
|
||||||
|
requestId: request.requestId,
|
||||||
|
action: "addDataPublishes",
|
||||||
|
payload: response,
|
||||||
|
type: "backgroundMessageResponse",
|
||||||
|
},
|
||||||
|
event.origin
|
||||||
|
);
|
||||||
|
} catch (error) {
|
||||||
|
event.source.postMessage(
|
||||||
|
{
|
||||||
|
requestId: request.requestId,
|
||||||
|
action: "addDataPublishes",
|
||||||
|
error: error?.message,
|
||||||
|
type: "backgroundMessageResponse",
|
||||||
|
},
|
||||||
|
event.origin
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export async function getDataPublishesCase(request, event) {
|
||||||
|
try {
|
||||||
|
const { groupId, type } = request.payload;
|
||||||
|
const response = await getDataPublishes({groupId, type});
|
||||||
|
|
||||||
|
event.source.postMessage(
|
||||||
|
{
|
||||||
|
requestId: request.requestId,
|
||||||
|
action: "getDataPublishes",
|
||||||
|
payload: response,
|
||||||
|
type: "backgroundMessageResponse",
|
||||||
|
},
|
||||||
|
event.origin
|
||||||
|
);
|
||||||
|
} catch (error) {
|
||||||
|
event.source.postMessage(
|
||||||
|
{
|
||||||
|
requestId: request.requestId,
|
||||||
|
action: "getDataPublishes",
|
||||||
|
error: error?.message,
|
||||||
|
type: "backgroundMessageResponse",
|
||||||
|
},
|
||||||
|
event.origin
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
@ -29,13 +29,18 @@ import { Sha256 } from "asmcrypto.js";
|
|||||||
import { TradeBotRespondMultipleRequest } from "./transactions/TradeBotRespondMultipleRequest";
|
import { TradeBotRespondMultipleRequest } from "./transactions/TradeBotRespondMultipleRequest";
|
||||||
import { RESOURCE_TYPE_NUMBER_GROUP_CHAT_REACTIONS } from "./constants/resourceTypes";
|
import { RESOURCE_TYPE_NUMBER_GROUP_CHAT_REACTIONS } from "./constants/resourceTypes";
|
||||||
import {
|
import {
|
||||||
|
addDataPublishesCase,
|
||||||
balanceCase,
|
balanceCase,
|
||||||
|
banFromGroupCase,
|
||||||
cancelInvitationToGroupCase,
|
cancelInvitationToGroupCase,
|
||||||
createGroupCase,
|
createGroupCase,
|
||||||
decryptWalletCase,
|
decryptWalletCase,
|
||||||
|
getDataPublishesCase,
|
||||||
getTempPublishCase,
|
getTempPublishCase,
|
||||||
getWalletInfoCase,
|
getWalletInfoCase,
|
||||||
inviteToGroupCase,
|
inviteToGroupCase,
|
||||||
|
joinGroupCase,
|
||||||
|
kickFromGroupCase,
|
||||||
leaveGroupCase,
|
leaveGroupCase,
|
||||||
ltcBalanceCase,
|
ltcBalanceCase,
|
||||||
nameCase,
|
nameCase,
|
||||||
@ -1251,7 +1256,7 @@ export async function getPublicKey(receiver) {
|
|||||||
|
|
||||||
const MAX_STORAGE_SIZE = 3 * 1024 * 1024; // 3MB in bytes
|
const MAX_STORAGE_SIZE = 3 * 1024 * 1024; // 3MB in bytes
|
||||||
|
|
||||||
async function getDataPublishes(groupId, type) {
|
export async function getDataPublishes(groupId, type) {
|
||||||
const wallet = await getSaveWallet();
|
const wallet = await getSaveWallet();
|
||||||
const address = wallet.address0;
|
const address = wallet.address0;
|
||||||
|
|
||||||
@ -1272,7 +1277,7 @@ async function getDataPublishes(groupId, type) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
async function addDataPublishes(newData, groupId, type) {
|
export async function addDataPublishes(newData, groupId, type) {
|
||||||
const wallet = await getSaveWallet();
|
const wallet = await getSaveWallet();
|
||||||
const address = wallet.address0;
|
const address = wallet.address0;
|
||||||
const nameIdentifier = `${newData.name}-${newData.identifier}`;
|
const nameIdentifier = `${newData.name}-${newData.identifier}`;
|
||||||
@ -2206,7 +2211,7 @@ async function removeAdmin({ groupId, qortalAddress }) {
|
|||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
async function banFromGroup({
|
export async function banFromGroup({
|
||||||
groupId,
|
groupId,
|
||||||
qortalAddress,
|
qortalAddress,
|
||||||
rBanReason = "",
|
rBanReason = "",
|
||||||
@ -2240,7 +2245,7 @@ async function banFromGroup({
|
|||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
async function kickFromGroup({ groupId, qortalAddress, rBanReason = "" }) {
|
export async function kickFromGroup({ groupId, qortalAddress, rBanReason = "" }) {
|
||||||
const lastReference = await getLastRef();
|
const lastReference = await getLastRef();
|
||||||
const resKeyPair = await getKeyPair();
|
const resKeyPair = await getKeyPair();
|
||||||
const parsedData = JSON.parse(resKeyPair);
|
const parsedData = JSON.parse(resKeyPair);
|
||||||
@ -2926,6 +2931,23 @@ function setupMessageListener() {
|
|||||||
case "leaveGroup":
|
case "leaveGroup":
|
||||||
leaveGroupCase(request, event);
|
leaveGroupCase(request, event);
|
||||||
break;
|
break;
|
||||||
|
case "joinGroup":
|
||||||
|
joinGroupCase(request, event);
|
||||||
|
break;
|
||||||
|
case "kickFromGroup":
|
||||||
|
kickFromGroupCase(request, event);
|
||||||
|
break;
|
||||||
|
case "banFromGroup":
|
||||||
|
banFromGroupCase(request, event);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "addDataPublishes":
|
||||||
|
addDataPublishesCase(request, event);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "getDataPublishes":
|
||||||
|
getDataPublishesCase(request, event);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
console.error("Unknown action:", request.action);
|
console.error("Unknown action:", request.action);
|
||||||
}
|
}
|
||||||
|
@ -108,39 +108,42 @@ export const AddGroupList = ({ setInfoSnack, setOpenSnack }) => {
|
|||||||
})
|
})
|
||||||
setIsLoading(true);
|
setIsLoading(true);
|
||||||
await new Promise((res, rej) => {
|
await new Promise((res, rej) => {
|
||||||
chrome?.runtime?.sendMessage(
|
window.sendMessage("joinGroup", {
|
||||||
{
|
groupId,
|
||||||
action: "joinGroup",
|
})
|
||||||
payload: {
|
.then((response) => {
|
||||||
groupId,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
(response) => {
|
|
||||||
|
|
||||||
if (!response?.error) {
|
if (!response?.error) {
|
||||||
setInfoSnack({
|
setInfoSnack({
|
||||||
type: "success",
|
type: "success",
|
||||||
message: "Successfully requested to join group. It may take a couple of minutes for the changes to propagate",
|
message: "Successfully requested to join group. It may take a couple of minutes for the changes to propagate",
|
||||||
});
|
});
|
||||||
if(isOpen){
|
|
||||||
setTxList((prev)=> [{
|
if (isOpen) {
|
||||||
...response,
|
setTxList((prev) => [
|
||||||
type: 'joined-group',
|
{
|
||||||
label: `Joined Group ${group?.groupName}: awaiting confirmation`,
|
...response,
|
||||||
labelDone: `Joined Group ${group?.groupName}: success !`,
|
type: 'joined-group',
|
||||||
done: false,
|
label: `Joined Group ${group?.groupName}: awaiting confirmation`,
|
||||||
groupId,
|
labelDone: `Joined Group ${group?.groupName}: success!`,
|
||||||
}, ...prev])
|
done: false,
|
||||||
|
groupId,
|
||||||
|
},
|
||||||
|
...prev,
|
||||||
|
]);
|
||||||
} else {
|
} else {
|
||||||
setTxList((prev)=> [{
|
setTxList((prev) => [
|
||||||
...response,
|
{
|
||||||
type: 'joined-group-request',
|
...response,
|
||||||
label: `Requested to join Group ${group?.groupName}: awaiting confirmation`,
|
type: 'joined-group-request',
|
||||||
labelDone: `Requested to join Group ${group?.groupName}: success !`,
|
label: `Requested to join Group ${group?.groupName}: awaiting confirmation`,
|
||||||
done: false,
|
labelDone: `Requested to join Group ${group?.groupName}: success!`,
|
||||||
groupId,
|
done: false,
|
||||||
}, ...prev])
|
groupId,
|
||||||
|
},
|
||||||
|
...prev,
|
||||||
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
setOpenSnack(true);
|
setOpenSnack(true);
|
||||||
handlePopoverClose();
|
handlePopoverClose();
|
||||||
res(response);
|
res(response);
|
||||||
@ -153,8 +156,16 @@ export const AddGroupList = ({ setInfoSnack, setOpenSnack }) => {
|
|||||||
setOpenSnack(true);
|
setOpenSnack(true);
|
||||||
rej(response.error);
|
rej(response.error);
|
||||||
}
|
}
|
||||||
}
|
})
|
||||||
);
|
.catch((error) => {
|
||||||
|
setInfoSnack({
|
||||||
|
type: "error",
|
||||||
|
message: error.message || "An error occurred",
|
||||||
|
});
|
||||||
|
setOpenSnack(true);
|
||||||
|
rej(error);
|
||||||
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
setIsLoading(false);
|
setIsLoading(false);
|
||||||
} catch (error) {} finally {
|
} catch (error) {} finally {
|
||||||
|
@ -221,22 +221,22 @@ export const decryptResource = async (data: string) => {
|
|||||||
export const addDataPublishesFunc = async (data: string, groupId, type) => {
|
export const addDataPublishesFunc = async (data: string, groupId, type) => {
|
||||||
try {
|
try {
|
||||||
return new Promise((res, rej) => {
|
return new Promise((res, rej) => {
|
||||||
chrome?.runtime?.sendMessage(
|
window.sendMessage("addDataPublishes", {
|
||||||
{
|
data,
|
||||||
action: "addDataPublishes",
|
groupId,
|
||||||
payload: {
|
type,
|
||||||
data,
|
})
|
||||||
groupId,
|
.then((response) => {
|
||||||
type,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
(response) => {
|
|
||||||
if (!response?.error) {
|
if (!response?.error) {
|
||||||
res(response);
|
res(response);
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
rej(response.error);
|
rej(response.error);
|
||||||
}
|
})
|
||||||
);
|
.catch((error) => {
|
||||||
|
rej(error.message || "An error occurred");
|
||||||
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
} catch (error) {}
|
} catch (error) {}
|
||||||
};
|
};
|
||||||
@ -244,21 +244,21 @@ export const addDataPublishesFunc = async (data: string, groupId, type) => {
|
|||||||
export const getDataPublishesFunc = async (groupId, type) => {
|
export const getDataPublishesFunc = async (groupId, type) => {
|
||||||
try {
|
try {
|
||||||
return new Promise((res, rej) => {
|
return new Promise((res, rej) => {
|
||||||
chrome?.runtime?.sendMessage(
|
window.sendMessage("getDataPublishes", {
|
||||||
{
|
groupId,
|
||||||
action: "getDataPublishes",
|
type,
|
||||||
payload: {
|
})
|
||||||
groupId,
|
.then((response) => {
|
||||||
type,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
(response) => {
|
|
||||||
if (!response?.error) {
|
if (!response?.error) {
|
||||||
res(response);
|
res(response);
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
rej(response.error);
|
rej(response.error);
|
||||||
}
|
})
|
||||||
);
|
.catch((error) => {
|
||||||
|
rej(error.message || "An error occurred");
|
||||||
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
} catch (error) {}
|
} catch (error) {}
|
||||||
};
|
};
|
||||||
|
@ -63,21 +63,15 @@ const ListOfMembers = ({
|
|||||||
|
|
||||||
setIsLoadingKick(true);
|
setIsLoadingKick(true);
|
||||||
new Promise((res, rej) => {
|
new Promise((res, rej) => {
|
||||||
chrome?.runtime?.sendMessage(
|
window.sendMessage("kickFromGroup", {
|
||||||
{
|
groupId,
|
||||||
action: "kickFromGroup",
|
qortalAddress: address,
|
||||||
payload: {
|
})
|
||||||
groupId,
|
.then((response) => {
|
||||||
qortalAddress: address,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
(response) => {
|
|
||||||
|
|
||||||
if (!response?.error) {
|
if (!response?.error) {
|
||||||
setInfoSnack({
|
setInfoSnack({
|
||||||
type: "success",
|
type: "success",
|
||||||
message:
|
message: "Successfully kicked member from group. It may take a couple of minutes for the changes to propagate",
|
||||||
"Successfully kicked member from group. It may take a couple of minutes for the changes to propagate",
|
|
||||||
});
|
});
|
||||||
setOpenSnack(true);
|
setOpenSnack(true);
|
||||||
handlePopoverClose();
|
handlePopoverClose();
|
||||||
@ -90,8 +84,16 @@ const ListOfMembers = ({
|
|||||||
});
|
});
|
||||||
setOpenSnack(true);
|
setOpenSnack(true);
|
||||||
rej(response.error);
|
rej(response.error);
|
||||||
}
|
})
|
||||||
);
|
.catch((error) => {
|
||||||
|
setInfoSnack({
|
||||||
|
type: "error",
|
||||||
|
message: error.message || "An error occurred",
|
||||||
|
});
|
||||||
|
setOpenSnack(true);
|
||||||
|
rej(error);
|
||||||
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
} finally {
|
} finally {
|
||||||
@ -107,22 +109,16 @@ const ListOfMembers = ({
|
|||||||
});
|
});
|
||||||
setIsLoadingBan(true);
|
setIsLoadingBan(true);
|
||||||
await new Promise((res, rej) => {
|
await new Promise((res, rej) => {
|
||||||
chrome?.runtime?.sendMessage(
|
window.sendMessage("banFromGroup", {
|
||||||
{
|
groupId,
|
||||||
action: "banFromGroup",
|
qortalAddress: address,
|
||||||
payload: {
|
rBanTime: 0,
|
||||||
groupId,
|
})
|
||||||
qortalAddress: address,
|
.then((response) => {
|
||||||
rBanTime: 0,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
(response) => {
|
|
||||||
|
|
||||||
if (!response?.error) {
|
if (!response?.error) {
|
||||||
setInfoSnack({
|
setInfoSnack({
|
||||||
type: "success",
|
type: "success",
|
||||||
message:
|
message: "Successfully banned member from group. It may take a couple of minutes for the changes to propagate",
|
||||||
"Successfully banned member from group. It may take a couple of minutes for the changes to propagate",
|
|
||||||
});
|
});
|
||||||
setOpenSnack(true);
|
setOpenSnack(true);
|
||||||
handlePopoverClose();
|
handlePopoverClose();
|
||||||
@ -135,8 +131,16 @@ const ListOfMembers = ({
|
|||||||
});
|
});
|
||||||
setOpenSnack(true);
|
setOpenSnack(true);
|
||||||
rej(response.error);
|
rej(response.error);
|
||||||
}
|
})
|
||||||
);
|
.catch((error) => {
|
||||||
|
setInfoSnack({
|
||||||
|
type: "error",
|
||||||
|
message: error.message || "An error occurred",
|
||||||
|
});
|
||||||
|
setOpenSnack(true);
|
||||||
|
rej(error);
|
||||||
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
} finally {
|
} finally {
|
||||||
|
@ -85,37 +85,47 @@ export const UserListOfInvites = ({myAddress, setInfoSnack, setOpenSnack}) => {
|
|||||||
setIsLoading(true);
|
setIsLoading(true);
|
||||||
|
|
||||||
await new Promise((res, rej)=> {
|
await new Promise((res, rej)=> {
|
||||||
chrome?.runtime?.sendMessage({ action: "joinGroup", payload: {
|
window.sendMessage("joinGroup", {
|
||||||
groupId,
|
groupId,
|
||||||
}}, (response) => {
|
})
|
||||||
|
.then((response) => {
|
||||||
if (!response?.error) {
|
if (!response?.error) {
|
||||||
setTxList((prev)=> [{
|
setTxList((prev) => [
|
||||||
...response,
|
{
|
||||||
type: 'joined-group',
|
...response,
|
||||||
label: `Joined Group ${groupName}: awaiting confirmation`,
|
type: 'joined-group',
|
||||||
labelDone: `Joined Group ${groupName}: success !`,
|
label: `Joined Group ${groupName}: awaiting confirmation`,
|
||||||
done: false,
|
labelDone: `Joined Group ${groupName}: success!`,
|
||||||
groupId,
|
done: false,
|
||||||
|
groupId,
|
||||||
}, ...prev])
|
},
|
||||||
res(response)
|
...prev,
|
||||||
|
]);
|
||||||
|
res(response);
|
||||||
setInfoSnack({
|
setInfoSnack({
|
||||||
type: "success",
|
type: "success",
|
||||||
message: "Successfully requested to join group. It may take a couple of minutes for the changes to propagate",
|
message: "Successfully requested to join group. It may take a couple of minutes for the changes to propagate",
|
||||||
});
|
});
|
||||||
setOpenSnack(true);
|
setOpenSnack(true);
|
||||||
handlePopoverClose();
|
handlePopoverClose();
|
||||||
return
|
return;
|
||||||
}
|
}
|
||||||
setInfoSnack({
|
setInfoSnack({
|
||||||
type: "error",
|
type: "error",
|
||||||
message: response?.error,
|
message: response?.error,
|
||||||
});
|
});
|
||||||
setOpenSnack(true);
|
setOpenSnack(true);
|
||||||
rej(response.error)
|
rej(response.error);
|
||||||
|
})
|
||||||
|
.catch((error) => {
|
||||||
|
setInfoSnack({
|
||||||
|
type: "error",
|
||||||
|
message: error.message || "An error occurred",
|
||||||
|
});
|
||||||
|
setOpenSnack(true);
|
||||||
|
rej(error);
|
||||||
});
|
});
|
||||||
|
|
||||||
})
|
})
|
||||||
|
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user