diff --git a/apps/OpenSign/src/constant/const.js b/apps/OpenSign/src/constant/const.js index 43691ac98..a046b4ae1 100644 --- a/apps/OpenSign/src/constant/const.js +++ b/apps/OpenSign/src/constant/const.js @@ -9,4 +9,4 @@ export const modalSubmitBtnColor = "#17a2b8"; export const modalCancelBtnColor = "white"; export const themeColor = "#47a3ad"; export const iconColor = "#686968"; -export const isEnableSubscription = false//process.env.REACT_APP_ENABLE_SUBSCRIPTION; +export const isEnableSubscription = process.env.REACT_APP_ENABLE_SUBSCRIPTION; diff --git a/apps/OpenSign/src/constant/saveFileSize.js b/apps/OpenSign/src/constant/saveFileSize.js index 51c71d31d..37151822f 100644 --- a/apps/OpenSign/src/constant/saveFileSize.js +++ b/apps/OpenSign/src/constant/saveFileSize.js @@ -11,25 +11,16 @@ export const SaveFileSize = async (size, imageUrl, tenantId) => { }; const _tenantPtr = JSON.stringify(tenantPtr); try { - const response = await axios - .get( - `${serverUrl}classes/partners_TenantCredits?where={"PartnersTenant":${_tenantPtr}}`, - { - headers: { - "Content-Type": "application/json", - "X-Parse-Application-Id": parseAppId - } + const res = await axios.get( + `${serverUrl}classes/partners_TenantCredits?where={"PartnersTenant":${_tenantPtr}}`, + { + headers: { + "Content-Type": "application/json", + "X-Parse-Application-Id": parseAppId } - ) - .then((result) => { - const res = result.data; - // console.log("res", res); - - return res.results; - }) - .catch((err) => { - console.log("axois err ", err); - }); + } + ); + const response = res.data.results; let data; // console.log("response", response); if (response && response.length > 0) { @@ -38,43 +29,27 @@ export const SaveFileSize = async (size, imageUrl, tenantId) => { ? response[0].usedStorage + size : size }; - await axios - .put( - `${serverUrl}classes/partners_TenantCredits/${response[0].objectId}`, - data, - { - headers: { - "Content-Type": "application/json", - "X-Parse-Application-Id": parseAppId - } - } - ) - .then(() => { - // const res = result.data; - // console.log("save res", res); - }) - .catch((err) => { - console.log("axois err ", err); - }); - } else { - data = { usedStorage: size, PartnersTenant: tenantPtr }; - await axios - .post(`${serverUrl}classes/partners_TenantCredits`, data, { + await axios.put( + `${serverUrl}classes/partners_TenantCredits/${response[0].objectId}`, + data, + { headers: { "Content-Type": "application/json", "X-Parse-Application-Id": parseAppId } - }) - .then(() => { - // const res = result.data; - // console.log("res", res); - }) - .catch((err) => { - console.log("axois err ", err); - }); + } + ); + } else { + data = { usedStorage: size, PartnersTenant: tenantPtr }; + await axios.post(`${serverUrl}classes/partners_TenantCredits`, data, { + headers: { + "Content-Type": "application/json", + "X-Parse-Application-Id": parseAppId + } + }); } - } catch (e) { - console.log("org app error", e); + } catch (err) { + console.log("err in save usage", err); } saveDataFile(size, imageUrl, tenantPtr); }; @@ -88,18 +63,15 @@ const saveDataFile = async (size, imageUrl, tenantPtr) => { }; // console.log("data save",file, data) - await axios - .post(`${serverUrl}classes/partners_DataFiles`, data, { + try { + await axios.post(`${serverUrl}classes/partners_DataFiles`, data, { headers: { "Content-Type": "application/json", "X-Parse-Application-Id": parseAppId } - }) - .then((result) => { - const res = result.data; - console.log("res", res); - }) - .catch((err) => { - console.log("axois err ", err); }); + } catch (err) { + console.log("err in save usage ", err); + } }; + \ No newline at end of file diff --git a/apps/OpenSign/src/layout/HomeLayout.js b/apps/OpenSign/src/layout/HomeLayout.js index 2686d5e92..12301e917 100644 --- a/apps/OpenSign/src/layout/HomeLayout.js +++ b/apps/OpenSign/src/layout/HomeLayout.js @@ -52,7 +52,7 @@ const HomeLayout = () => { email: currentUser.get("email") }); if (isEnableSubscription) { - const freeplan = user?.get("Plan") && user?.get("Plan"); + const freeplan = user?.get("Plan") && user?.get("Plan").plan_code; const billingDate = user?.get("Next_billing_date") && user?.get("Next_billing_date"); if (freeplan === "freeplan") { diff --git a/apps/OpenSign/src/pages/Login.js b/apps/OpenSign/src/pages/Login.js index 75759aa70..2ee9d6c60 100644 --- a/apps/OpenSign/src/pages/Login.js +++ b/apps/OpenSign/src/pages/Login.js @@ -256,7 +256,7 @@ function Login() { ); const freeplan = results[0].get("Plan") && - results[0].get("Plan"); + results[0].get("Plan").plan_code; const billingDate = results[0].get("Next_billing_date") && results[0].get("Next_billing_date"); @@ -816,7 +816,7 @@ function Login() { results[0].get("Next_billing_date"); const freeplan = results[0]?.get("Plan") && - results[0]?.get("Plan"); + results[0]?.get("Plan").plan_code; if (freeplan === "freeplan") { navigate(redirectUrl); diff --git a/apps/OpenSign/src/pages/Managesign.js b/apps/OpenSign/src/pages/Managesign.js index e3efd39c9..7c4acd5a3 100644 --- a/apps/OpenSign/src/pages/Managesign.js +++ b/apps/OpenSign/src/pages/Managesign.js @@ -5,6 +5,7 @@ import "../styles/signature.css"; import { toDataUrl } from "../constant/Utils"; import Parse from "parse"; import { appInfo } from "../constant/appinfo"; +import { SaveFileSize } from "../constant/saveFileSize"; const ManageSign = () => { const appName = appInfo.appname; const [penColor, setPenColor] = useState("blue"); @@ -158,7 +159,11 @@ const ManageSign = () => { try { const parseFile = new Parse.File(file.name, file); const response = await parseFile.save(); - return response?.url(); + if (response?.url()) { + const tenantId = localStorage.getItem("TenantId"); + SaveFileSize(file.size, response.url(), tenantId); + return response?.url(); + } } catch (err) { console.log("sign upload err", err); setIsLoader(false); diff --git a/apps/OpenSign/src/pages/PdfRequestFiles.js b/apps/OpenSign/src/pages/PdfRequestFiles.js index e14b86fbb..8df0ad294 100644 --- a/apps/OpenSign/src/pages/PdfRequestFiles.js +++ b/apps/OpenSign/src/pages/PdfRequestFiles.js @@ -137,7 +137,7 @@ function PdfRequestFiles() { const user = await Parse.Cloud.run("getUserDetails", { email: email }); - const freeplan = user?.get("Plan") && user?.get("Plan"); + const freeplan = user?.get("Plan") && user?.get("Plan").plan_code; const billingDate = user?.get("Next_billing_date") && user?.get("Next_billing_date"); if (freeplan === "freeplan") { diff --git a/apps/OpenSign/src/pages/PlaceHolderSign.js b/apps/OpenSign/src/pages/PlaceHolderSign.js index d7b14b8ae..6fdf11cee 100644 --- a/apps/OpenSign/src/pages/PlaceHolderSign.js +++ b/apps/OpenSign/src/pages/PlaceHolderSign.js @@ -183,7 +183,7 @@ function PlaceHolderSign() { const user = await Parse.Cloud.run("getUserDetails", { email: email }); - const freeplan = user?.get("Plan") && user?.get("Plan"); + const freeplan = user?.get("Plan") && user?.get("Plan").plan_code; const billingDate = user?.get("Next_billing_date") && user?.get("Next_billing_date"); if (freeplan === "freeplan") { diff --git a/apps/OpenSign/src/pages/TemplatePlaceholder.js b/apps/OpenSign/src/pages/TemplatePlaceholder.js index f38b66c57..c3274128f 100644 --- a/apps/OpenSign/src/pages/TemplatePlaceholder.js +++ b/apps/OpenSign/src/pages/TemplatePlaceholder.js @@ -173,7 +173,7 @@ const TemplatePlaceholder = () => { const user = await Parse.Cloud.run("getUserDetails", { email: email }); - const freeplan = user?.get("Plan") && user?.get("Plan"); + const freeplan = user?.get("Plan") && user?.get("Plan").plan_code; const billingDate = user?.get("Next_billing_date") && user?.get("Next_billing_date"); if (freeplan === "freeplan") { diff --git a/apps/OpenSignServer/Utils.js b/apps/OpenSignServer/Utils.js index 8fc705ceb..9684ec154 100644 --- a/apps/OpenSignServer/Utils.js +++ b/apps/OpenSignServer/Utils.js @@ -1,3 +1,7 @@ +import axios from 'axios'; + +const appId = process.env.APP_ID; +const serverUrl = process.env.SERVER_URL; export function customAPIurl() { const url = new URL(process.env.SERVER_URL); return url.pathname === '/api/app' ? url.origin + '/api' : url.origin; @@ -38,3 +42,71 @@ export function replaceMailVaribles(subject, body, variables) { }; return result; } + +export const saveFileUsage = async (size, imageUrl, tenantId) => { + //checking server url and save file's size + const tenantPtr = { + __type: 'Pointer', + className: 'partners_Tenant', + objectId: tenantId, + }; + const _tenantPtr = JSON.stringify(tenantPtr); + try { + const res = await axios.get( + `${serverUrl}classes/partners_TenantCredits?where={"PartnersTenant":${_tenantPtr}}`, + { + headers: { + 'Content-Type': 'application/json', + 'X-Parse-Application-Id': appId, + }, + } + ); + const response = res.data.results; + + let data; + // console.log("response", response); + if (response && response.length > 0) { + data = { + usedStorage: response[0].usedStorage ? response[0].usedStorage + size : size, + }; + await axios.put(`${serverUrl}classes/partners_TenantCredits/${response[0].objectId}`, data, { + headers: { + 'Content-Type': 'application/json', + 'X-Parse-Application-Id': appId, + }, + }); + } else { + data = { usedStorage: size, PartnersTenant: tenantPtr }; + await axios.post(`${serverUrl}classes/partners_TenantCredits`, data, { + headers: { + 'Content-Type': 'application/json', + 'X-Parse-Application-Id': parseAppId, + }, + }); + } + } catch (err) { + console.log('err in save usage', err); + } + saveDataFile(size, imageUrl, tenantPtr); +}; + +//function for save fileUrl and file size in particular client db class partners_DataFiles +const saveDataFile = async (size, imageUrl, tenantPtr) => { + const data = { + FileUrl: imageUrl, + FileSize: size, + TenantPtr: tenantPtr, + }; + + // console.log("data save",file, data) + try { + await axios.post(`${serverUrl}classes/partners_DataFiles`, data, { + headers: { + 'Content-Type': 'application/json', + 'X-Parse-Application-Id': parseAppId, + }, + }); + } catch (err) { + console.log('error in save usage ', err); + } +};