mirror of
https://github.com/OpenSignLabs/OpenSign.git
synced 2026-09-10 03:37:40 +02:00
feat: add api testing token
This commit is contained in:
@@ -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"
|
||||
}
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>{" "}
|
||||
|
||||
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user