feat: add api testing token

This commit is contained in:
prafull-opensignlabs
2024-08-30 17:47:40 +05:30
parent 0031cc7418
commit 9d4841b4dc
8 changed files with 249 additions and 183 deletions
@@ -619,5 +619,7 @@
"rotate-left":"Rotate left",
"rotate-alert-mssg":"All widgets on this page will be lost. Are you sure you want to proceed?",
"templateid":"Template-Id",
"bulksendsubcriptionalert":"Please upgrade to Professional or Team plan to use quicksend."
"bulksendsubcriptionalert":"Please upgrade to Professional or Team plan to use quicksend.",
"generate-test-token":"Generate Test Token",
"regenerate-test-token":"Regenerate Test Token"
}
@@ -619,5 +619,7 @@
"rotate-left" :"Faire pivoter à gauche",
"rotate-alert-mssg" :"Tous les widgets de cette page seront perdus. Êtes-vous sûr de vouloir continuer ?",
"templateid":"ID de modèle",
"bulksendsubcriptionalert":"Veuillez passer au forfait Professionnel ou Équipe pour utiliser Quicksend."
"bulksendsubcriptionalert":"Veuillez passer au forfait Professionnel ou Équipe pour utiliser Quicksend.",
"generate-test-token": "Générer jeton de test",
"regenerate-test-token":"Régénérer le jeton de test"
}
+2 -2
View File
@@ -459,13 +459,13 @@ const AddAdmin = () => {
<input
type="checkbox"
className="op-checkbox op-checkbox-sm"
id="termsandcondition"
id="subscribetoopensign"
checked={isSubscribeNews}
onChange={(e) => setIsSubscribeNews(e.target.checked)}
/>
<label
className="text-xs cursor-pointer ml-1 mb-0"
htmlFor="termsandcondition"
htmlFor="subscribetoopensign"
>
{t("subscribe-to-opensign")}
</label>
+70 -2
View File
@@ -32,6 +32,7 @@ function GenerateToken() {
price: (75.0).toFixed(2)
});
const [isFormLoader, setIsFormLoader] = useState(false);
const [apitestToken, setApiTestToken] = useState("");
const quantityList = [500, 1000, 5000, 50000];
useEffect(() => {
fetchToken();
@@ -61,11 +62,15 @@ function GenerateToken() {
setAmount((obj) => ({ ...obj, totalapis: allowedapis }));
SetApiToken(res?.data?.result?.result);
}
setIsLoader(false);
const body = { email: Parse?.User?.current()?.getEmail() || "" };
const testurl = "https://sandbox.opensignlabs.com/api/gettesttoken";
const testRes = await axios.post(testurl, body);
setApiTestToken(testRes.data?.token);
} catch (err) {
SetApiToken();
setIsLoader(false);
console.log("Err", err);
} finally {
setIsLoader(false);
}
};
const handleSubmit = async (e) => {
@@ -160,6 +165,41 @@ function GenerateToken() {
setIsFormLoader(false);
}
};
const handleGenerateTestToken = async (e) => {
e.preventDefault();
setIsLoader(true);
// setIsModal((obj) => ({ ...obj, generateapi: false }));
try {
const url = "https://sandbox.opensignlabs.com/api/generatetesttoken";
const headers = {
"Content-Type": "application/json",
token: apitestToken || "1"
};
const extUser = JSON.parse(localStorage.getItem("Extand_Class"))?.[0];
const body = {
name: extUser?.Name,
email: extUser?.Email,
phone: extUser?.Phone,
company: extUser?.Company,
jobTitle: extUser?.JobTitle
};
const res = await axios.post(url, body, { headers: headers });
if (res) {
setApiTestToken(res.data?.token);
setIsAlert({ type: "success", msg: t("token-generated") });
} else {
console.error("Error while generating Token");
setIsAlert({ type: "danger", msg: t("something-went-wrong-mssg") });
}
} catch (error) {
setIsAlert({ type: "danger", msg: t("something-went-wrong-mssg") });
console.log("while generating Token", error);
} finally {
setIsLoader(false);
setTimeout(() => setIsAlert({ type: "success", msg: "" }), 1500);
}
};
return (
<React.Fragment>
<Title title={"API Token"} />
@@ -179,6 +219,34 @@ function GenerateToken() {
/>
</h1>
<ul className="w-full flex flex-col p-2 text-sm">
<li className="flex flex-col md:flex-row justify-between items-center border-y-[1px] border-gray-300 break-all py-2">
<div className="w-full md:w-[70%] flex-col md:flex-row text-xs md:text-[15px] flex items-center gap-x-5">
<span className="ml-1">API Test Token :</span>{" "}
<span id="token" className="md:text-end py-2 md:py-0">
<span
className="cursor-pointer"
onClick={() => copytoclipboard(apitestToken)}
>
{apitestToken ? apitestToken : "_____"}
</span>
<button
className="op-btn op-btn-accent op-btn-outline op-btn-sm ml-2 cursor-pointer"
onClick={() => copytoclipboard(apitestToken)}
>
<i className="fa-light fa-copy"></i>
</button>
</span>
</div>
<button
onClick={handleGenerateTestToken}
// onClick={apitestToken ? handleModal : handleGenerateTestToken}
className="op-btn op-btn-primary"
>
{apitestToken
? t("regenerate-test-token")
: t("generate-test-token")}
</button>
</li>
<li className="flex flex-col md:flex-row justify-between items-center border-y-[1px] border-gray-300 break-all py-2">
<div className="w-full md:w-[70%] flex-col md:flex-row text-xs md:text-[15px] flex items-center gap-x-5">
<span className="ml-1">{t("api-token")}:</span>{" "}
+2 -8
View File
@@ -21,7 +21,6 @@ import {
saveLanguageInLocal
} from "../constant/Utils";
import Loader from "../primitives/Loader";
import { paidUrl } from "../json/plansArr";
import { useTranslation } from "react-i18next";
import SelectLanguage from "../components/pdf/SelectLanguage";
@@ -81,13 +80,8 @@ function Login() {
}
setState({ ...state, [name]: value });
};
const handlePaidRoute = (plan) => {
const route = paidUrl(plan);
if (route === "/subscription") {
navigate(route);
} else {
openInNewTab(route, "_self");
}
const handlePaidRoute = () => {
navigate("/subscription");
};
const handleSubmit = async (event) => {
localStorage.removeItem("accesstoken");
@@ -1,40 +0,0 @@
async function ContractUsersAftersave(request) {
console.log('In contracts_Users aftersave');
if (!request.original) {
const shareWithTeam = request.object.get('ShareWithTeam');
const newACL = new Parse.ACL();
const contactbook = new Parse.Object('contracts_Contactbook');
contactbook.set('Name', request.object.get('Name'));
contactbook.set('Email', request.object.get('Email'));
contactbook.set('ExtUserPtr', request.object.get('objectId'));
if (request.object?.get('Phone')) {
contactbook.set('Phone', request.object.get('Phone'));
}
contactbook.set('ExtUserPtr', {
__type: 'Pointer',
className: 'contracts_Users',
objectId: request.object.id,
});
contactbook.set('UserId', request.object.get('UserId'));
// newACL.setPublicReadAccess(false);
// newACL.setPublicWriteAccess(false);
const tenant_Id = request.object.get('TenantId');
if (shareWithTeam) {
if (tenant_Id) {
newACL.setReadAccess('tenant_' + tenant_Id.id, true);
newACL.setWriteAccess('tenant_' + tenant_Id.id, true);
}
newACL.setReadAccess(request.user, true);
newACL.setWriteAccess(request.user, true);
} else {
newACL.setReadAccess(request.user, true);
newACL.setWriteAccess(request.user, true);
}
contactbook.setACL(newACL);
contactbook.save(null, { useMasterkey: true });
}
}
export default ContractUsersAftersave;
@@ -14,7 +14,7 @@ async function ExtUserAftersave(request) {
const updateSub = new Parse.Object('contracts_Subscriptions');
updateSub.id = resSub.id;
updateSub.increment('UsersCount', 1);
updateSub.save(null, { useMasterKey: true });
await updateSub.save(null, { useMasterKey: true });
} else {
const addSub = new Parse.Object('contracts_Subscriptions');
addSub.set('UsersCount', 1);
@@ -33,7 +33,7 @@ async function ExtUserAftersave(request) {
className: 'partners_Tenant',
objectId: extUser.get('TenantId').id,
});
addSub.save(null, { useMasterKey: true });
await addSub.save(null, { useMasterKey: true });
}
}
} catch (err) {