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