mirror of
https://github.com/OpenSignLabs/OpenSign.git
synced 2026-08-17 21:25:54 +02:00
remove unncessary code and confidential data
This commit is contained in:
@@ -23,9 +23,3 @@ The build is minified and the filenames include the hashes.\
|
||||
Your app is ready to be deployed!
|
||||
|
||||
See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information.
|
||||
|
||||
# Remote Deployment
|
||||
|
||||
## DigitalOcean
|
||||
|
||||
[](https://cloud.digitalocean.com/apps/new?repo=https://github.com/prafullnavkar-nxg/open_sign/tree/master&refcode=30db1c901ab0)
|
||||
|
||||
Generated
+16
@@ -49,6 +49,7 @@
|
||||
"eslint": "^8.51.0",
|
||||
"eslint-plugin-prettier": "^4.2.1",
|
||||
"eslint-plugin-react": "^7.33.2",
|
||||
"husky": "^8.0.3",
|
||||
"lint-staged": "^15.0.1",
|
||||
"postcss": "^8.4.31",
|
||||
"prettier": "^2.8.0",
|
||||
@@ -10197,6 +10198,21 @@
|
||||
"node": ">=10.17.0"
|
||||
}
|
||||
},
|
||||
"node_modules/husky": {
|
||||
"version": "8.0.3",
|
||||
"resolved": "https://registry.npmjs.org/husky/-/husky-8.0.3.tgz",
|
||||
"integrity": "sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==",
|
||||
"dev": true,
|
||||
"bin": {
|
||||
"husky": "lib/bin.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=14"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/typicode"
|
||||
}
|
||||
},
|
||||
"node_modules/iconv-lite": {
|
||||
"version": "0.6.3",
|
||||
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
|
||||
|
||||
@@ -42,6 +42,7 @@
|
||||
"build": "CI=false && mf-cra build",
|
||||
"test": "react-scripts test",
|
||||
"eject": "react-scripts eject",
|
||||
"prepare": "husky install | chmod ug+x .husky/*",
|
||||
"release": "standard-version",
|
||||
"commit": "cz"
|
||||
},
|
||||
@@ -75,6 +76,7 @@
|
||||
"eslint": "^8.51.0",
|
||||
"eslint-plugin-prettier": "^4.2.1",
|
||||
"eslint-plugin-react": "^7.33.2",
|
||||
"husky": "^8.0.3",
|
||||
"lint-staged": "^15.0.1",
|
||||
"postcss": "^8.4.31",
|
||||
"prettier": "^2.8.0",
|
||||
|
||||
@@ -167,8 +167,8 @@ class AppendFormInForm extends Component {
|
||||
let PageLanding = localStorage.getItem("PageLanding");
|
||||
let domain = localStorage.getItem("domain");
|
||||
let _appName = localStorage.getItem("_appName");
|
||||
let baseUrr = localStorage.getItem("BaseUrl12");
|
||||
let appidd = localStorage.getItem("AppID12");
|
||||
let baseUrl = localStorage.getItem("BaseUrl12");
|
||||
let appid = localStorage.getItem("AppID12");
|
||||
|
||||
localStorage.clear();
|
||||
|
||||
@@ -179,8 +179,8 @@ class AppendFormInForm extends Component {
|
||||
localStorage.setItem("PageLanding", PageLanding);
|
||||
localStorage.setItem("domain", domain);
|
||||
localStorage.setItem("userSettings", appdata);
|
||||
localStorage.setItem("BaseUrl12", baseUrr);
|
||||
localStorage.setItem("AppID12", appidd);
|
||||
localStorage.setItem("BaseUrl12", baseUrl);
|
||||
localStorage.setItem("AppID12", appid);
|
||||
|
||||
return <Navigate to="/" />;
|
||||
}
|
||||
|
||||
@@ -29,7 +29,6 @@ export class ErrorBoundary extends Component {
|
||||
flexFlow: "column"
|
||||
}}
|
||||
>
|
||||
{/* <img src="./images/1210964-link.jpg" alt="" /> */}
|
||||
<h1
|
||||
style={{
|
||||
fontSize: "2em",
|
||||
|
||||
@@ -31,8 +31,8 @@ const Header = ({ showSidebar }) => {
|
||||
let PageLanding = localStorage.getItem("PageLanding");
|
||||
let domain = localStorage.getItem("domain");
|
||||
let _appName = localStorage.getItem("_appName");
|
||||
let baseUrr = localStorage.getItem("BaseUrl12");
|
||||
let appidd = localStorage.getItem("AppID12");
|
||||
let baseUrl = localStorage.getItem("BaseUrl12");
|
||||
let appid = localStorage.getItem("AppID12");
|
||||
|
||||
localStorage.clear();
|
||||
|
||||
@@ -43,8 +43,8 @@ const Header = ({ showSidebar }) => {
|
||||
localStorage.setItem("PageLanding", PageLanding);
|
||||
localStorage.setItem("domain", domain);
|
||||
localStorage.setItem("userSettings", appdata);
|
||||
localStorage.setItem("BaseUrl12", baseUrr);
|
||||
localStorage.setItem("AppID12", appidd);
|
||||
localStorage.setItem("BaseUrl12", baseUrl);
|
||||
localStorage.setItem("AppID12", appid);
|
||||
|
||||
navigation("/");
|
||||
};
|
||||
|
||||
@@ -185,8 +185,8 @@ class FormBuilder extends Component {
|
||||
let PageLanding = localStorage.getItem("PageLanding");
|
||||
let domain = localStorage.getItem("domain");
|
||||
let _appName = localStorage.getItem("_appName");
|
||||
let baseUrr = localStorage.getItem("BaseUrl12");
|
||||
let appidd = localStorage.getItem("AppID12");
|
||||
let baseUrl = localStorage.getItem("BaseUrl12");
|
||||
let appid = localStorage.getItem("AppID12");
|
||||
localStorage.clear();
|
||||
localStorage.setItem("appLogo", applogo);
|
||||
localStorage.setItem("appName", appName);
|
||||
@@ -195,8 +195,8 @@ class FormBuilder extends Component {
|
||||
localStorage.setItem("PageLanding", PageLanding);
|
||||
localStorage.setItem("domain", domain);
|
||||
localStorage.setItem("userSettings", appdata);
|
||||
localStorage.setItem("BaseUrl12", baseUrr);
|
||||
localStorage.setItem("AppID12", appidd);
|
||||
localStorage.setItem("BaseUrl12", baseUrl);
|
||||
localStorage.setItem("AppID12", appid);
|
||||
this.props.navigate(`/`);
|
||||
}
|
||||
console.log(e.message);
|
||||
|
||||
@@ -1,27 +1,26 @@
|
||||
# Use an official Node runtime as the base image
|
||||
FROM node:16
|
||||
FROM node:latest
|
||||
|
||||
# Set the working directory inside the container
|
||||
WORKDIR /usr/src/app
|
||||
RUN mkdir parse
|
||||
|
||||
# Copy package.json and package-lock.json first to leverage Docker cache
|
||||
COPY apps/OpenSignServer/package*.json ./
|
||||
|
||||
# Install application dependencies
|
||||
ADD . /parse
|
||||
WORKDIR /parse
|
||||
RUN npm install
|
||||
|
||||
# If you have native dependencies, you'll need extra tools. Uncomment the following line if needed.
|
||||
# RUN apk add --no-cache make gcc g++ python3
|
||||
ENV APP_ID setYourAppId
|
||||
ENV MASTER_KEY setYourMasterKey
|
||||
ENV DATABASE_URI setMongoDBURI
|
||||
|
||||
# Copy the current directory contents into the container
|
||||
COPY apps/OpenSignServer/ .
|
||||
# Optional (default : 'parse/cloud/main.js')
|
||||
# ENV CLOUD_CODE_MAIN cloudCodePath
|
||||
|
||||
# Make port 8080 available to the world outside this container
|
||||
EXPOSE 8080
|
||||
# Optional (default : '/parse')
|
||||
# ENV PARSE_MOUNT mountPath
|
||||
|
||||
# Define environment variables if needed
|
||||
# ENV NODE_ENV production
|
||||
# ENV DATABASE_URL mongodb://db:27017
|
||||
EXPOSE 1337
|
||||
|
||||
# Run the application
|
||||
CMD ["npm", "start"]
|
||||
# Uncomment if you want to access cloud code outside of your container
|
||||
# A main.js file must be present, if not Parse will not start
|
||||
|
||||
# VOLUME /parse/cloud
|
||||
|
||||
CMD [ "npm", "start" ]
|
||||
|
||||
@@ -64,7 +64,7 @@ async function uploadFile(req, res) {
|
||||
s3,
|
||||
bucket: DO_SPACE,
|
||||
metadata: function (req, file, cb) {
|
||||
cb(null, { fieldName: 'TESTING_METADATA' });
|
||||
cb(null, { fieldName: 'OPENSIGN_METADATA' });
|
||||
},
|
||||
key: function (req, file, cb) {
|
||||
//console.log(file);
|
||||
|
||||
@@ -1,79 +0,0 @@
|
||||
/* --Description :cloud function called to get installed applist from client db */
|
||||
|
||||
//-- Export Modules
|
||||
import mongoose from 'mongoose';
|
||||
|
||||
import { w_appinfoSchema } from '../models/appInfoclass.js';
|
||||
import { orgAppsSchema } from '../models/orgApps.js';
|
||||
import axios from 'axios';
|
||||
|
||||
export default async function CheckInstalledApp(request) {
|
||||
const organization = request.params.orgName;
|
||||
const options = { useNewUrlParser: true };
|
||||
const baseDb = process.env.MONGODB_URI;
|
||||
const serverUrl = process.env.SERVER_URL;
|
||||
const appId = process.env.APP_ID;
|
||||
// const sess = request.params._SessionToken;
|
||||
//--function to get the userid from session token
|
||||
try {
|
||||
const sess = request.headers['sessiontoken'];
|
||||
const user = await axios.get(serverUrl + '/users/me', {
|
||||
headers: {
|
||||
'X-Parse-Application-Id': appId,
|
||||
'X-Parse-Session-Token': sess,
|
||||
},
|
||||
});
|
||||
|
||||
if (user.data && user.data.objectId) {
|
||||
// get client db from baseDb
|
||||
try {
|
||||
const getDbUrl = async orgName => {
|
||||
try {
|
||||
const db = await mongoose.createConnection(baseDb, options).asPromise();
|
||||
const orgAppsModel = db.model('orgApps', orgAppsSchema);
|
||||
const res = await orgAppsModel.findOne({ appName: orgName });
|
||||
console.log('dburl ', res.parseServer.databaseURI);
|
||||
return res.parseServer.databaseURI;
|
||||
} catch (err) {
|
||||
console.log('result not found in orgApps ', err);
|
||||
return 'result not found!';
|
||||
}
|
||||
};
|
||||
const dbUrl = await getDbUrl(organization);
|
||||
// targetConString = client db
|
||||
// var targetConString = `mongodb+srv://doadmin:k0Nn4Q8L96vq715s@qik-server-prod-db-5054d37b.mongo.ondigitalocean.com/${dbName}?authSource=admin&replicaSet=qik-server-prod-db&tls=true`;
|
||||
const targetConString = dbUrl;
|
||||
|
||||
async function getAppInfo() {
|
||||
console.log('getAppInfo ');
|
||||
try {
|
||||
const db = await mongoose.createConnection(targetConString, options).asPromise();
|
||||
const w_appinfomodel = db.model('w_appinfo', w_appinfoSchema);
|
||||
const res = await w_appinfomodel.find({});
|
||||
// console.log('getAppInfo ', res);
|
||||
|
||||
if (res.length > 0) {
|
||||
const ress = JSON.stringify(res);
|
||||
const result = { count: res.length, appList: ress };
|
||||
return result;
|
||||
} else {
|
||||
const result = { count: res.length, appList: [] };
|
||||
return result;
|
||||
}
|
||||
// console.log(appId);
|
||||
} catch (err) {
|
||||
console.log('err in getAppData', err);
|
||||
}
|
||||
}
|
||||
const appInfo = await getAppInfo();
|
||||
return appInfo;
|
||||
} catch (err) {
|
||||
console.log('err ', err);
|
||||
const res = { error: 'Internal Server err ' };
|
||||
return res;
|
||||
}
|
||||
}
|
||||
} catch (err) {
|
||||
return Promise.reject('Invalid session token!');
|
||||
}
|
||||
}
|
||||
@@ -1,418 +0,0 @@
|
||||
/* --Description :cloud function called to copy app from default db */
|
||||
|
||||
//-- Export Modules
|
||||
import mongoose from 'mongoose';
|
||||
import { _SCHEMASchema } from '../models/schemaClass.js';
|
||||
import { _RoleSchema } from '../models/RoleClass.js';
|
||||
import { _RolejoinSchema } from '../models/RoleJoin.js';
|
||||
import { _UserjoinSchema } from '../models/UserJoin.js';
|
||||
import { w_appinfoSchema } from '../models/appInfoclass.js';
|
||||
import { w_formV3Schema } from '../models/w_formv3class.js';
|
||||
import { w_menuSchema } from '../models/w_menuclass.js';
|
||||
import { w_reportSchema } from '../models/w_reportclass.js';
|
||||
import { DashboardSchema } from '../models/w_dashboardclass.js';
|
||||
import { DBFunctionSchema } from '../models/DBFunctionClass.js';
|
||||
import { orgAppsSchema } from '../models/orgApps.js';
|
||||
import axios from 'axios';
|
||||
|
||||
export async function InstallApp(request) {
|
||||
try {
|
||||
// console.log("sess ", request)
|
||||
//--function to get the userid from session token
|
||||
const sess = request.headers['sessiontoken'];
|
||||
const serverUrl = process.env.SERVER_URL;
|
||||
const appId = process.env.APP_ID;
|
||||
const user = await axios.get(serverUrl + '/users/me', {
|
||||
headers: {
|
||||
'X-Parse-Application-Id': appId,
|
||||
'X-Parse-Session-Token': sess,
|
||||
},
|
||||
});
|
||||
|
||||
if (user.data && user.data.objectId) {
|
||||
var originalappname = request.params.appname;
|
||||
var appname = originalappname + '_';
|
||||
//externalInstallation should be true for migrate from server2 to server3 data
|
||||
//externalInstallation should be false for migrate from default db to client db data
|
||||
const externalInstallation = request.params.externalSrc;
|
||||
// var chkbaseurl = request.params.baseurl;
|
||||
// console.log('baseurl ' + chkbaseurl);
|
||||
var organization = request.params.organization;
|
||||
// var dbName = request.params.dbName;
|
||||
var UserId = request.params.UserId;
|
||||
//--check if value of connection string is blank or variable
|
||||
if (organization == '') {
|
||||
return Promise.reject('Error:please provide organization');
|
||||
}
|
||||
if (originalappname == '') {
|
||||
return Promise.reject('Error:please provide appname');
|
||||
}
|
||||
const options = { useNewUrlParser: true };
|
||||
|
||||
const baseDb = process.env.MONGODB_URI;
|
||||
// get client db from baseDb
|
||||
const getDbUrl = async orgName => {
|
||||
try {
|
||||
const db = await mongoose.createConnection(baseDb, options).asPromise();
|
||||
const orgAppsModel = db.model('orgApps', orgAppsSchema);
|
||||
const res = await orgAppsModel.findOne({ appName: orgName });
|
||||
console.log('dburl ', res.parseServer.databaseURI);
|
||||
return res.parseServer.databaseURI;
|
||||
} catch (err) {
|
||||
console.log('result not found in getroleanduser ', err);
|
||||
return 'result not found!';
|
||||
}
|
||||
};
|
||||
const dbUrl = await getDbUrl(organization);
|
||||
// targetConString = client db
|
||||
// var targetConString = `mongodb+srv://doadmin:k0Nn4Q8L96vq715s@qik-server-prod-db-5054d37b.mongo.ondigitalocean.com/${dbName}?authSource=admin&replicaSet=qik-server-prod-db&tls=true`;
|
||||
const targetConString = dbUrl;
|
||||
// sourceConString = default db
|
||||
var sourceConString;
|
||||
if (externalInstallation) {
|
||||
sourceConString =
|
||||
'mongodb+srv://doadmin:k0Nn4Q8L96vq715s@qik-server-prod-db-5054d37b.mongo.ondigitalocean.com/heroku_vcjcwn64?authSource=admin&replicaSet=qik-server-prod-db&tls=true';
|
||||
} else {
|
||||
sourceConString =
|
||||
'mongodb+srv://doadmin:k0Nn4Q8L96vq715s@qik-server-prod-db-5054d37b.mongo.ondigitalocean.com/defaultDJIC?authSource=admin&replicaSet=qik-server-prod-db&tls=true';
|
||||
}
|
||||
|
||||
if (targetConString == sourceConString) {
|
||||
return Promise.reject("Error:Soure and target database server can't be same");
|
||||
}
|
||||
|
||||
const randomId = function (length) {
|
||||
const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
|
||||
let result = '';
|
||||
const charactersLength = characters.length;
|
||||
for (let i = 0; i < length; i++) {
|
||||
result += characters.charAt(Math.floor(Math.random() * charactersLength));
|
||||
}
|
||||
|
||||
return result;
|
||||
};
|
||||
const appRoleId = randomId(10);
|
||||
|
||||
try {
|
||||
let Trg_SCHEMASmodel;
|
||||
let Src_SCHEMASmodel;
|
||||
let appId;
|
||||
let defaultRoles;
|
||||
let Trg__RoleModel;
|
||||
let msg;
|
||||
let status;
|
||||
let trg_w_appinfomodel;
|
||||
try {
|
||||
const db = await mongoose.createConnection(targetConString, options).asPromise();
|
||||
trg_w_appinfomodel = db.model('w_appinfo', w_appinfoSchema);
|
||||
const res = await trg_w_appinfomodel.find({
|
||||
appname: originalappname,
|
||||
});
|
||||
if (res.length > 0) {
|
||||
msg = 'App is already exists';
|
||||
status = 137;
|
||||
} else {
|
||||
await getAppInfo();
|
||||
}
|
||||
} catch (err) {
|
||||
console.log('err is checking app exists', err);
|
||||
return Promise.reject('err is checking app exists');
|
||||
}
|
||||
// try {
|
||||
// const db = await mongoose.createConnection(targetConString, options).asPromise();
|
||||
// Trg_SCHEMASmodel = db.model('_SCHEMA', _SCHEMASchema);
|
||||
// const res = await Trg_SCHEMASmodel.find({ _id: { $regex: '.*' + appname + '.*' } });
|
||||
// if (res.length > 0) {
|
||||
// msg = 'App is already exists';
|
||||
// status = 137;
|
||||
// } else {
|
||||
// await getAppInfo();
|
||||
// }
|
||||
// } catch (err) {
|
||||
// console.log('err is checking app exists', err);
|
||||
// return Promise.reject('err is checking app exists');
|
||||
// }
|
||||
|
||||
async function getAppInfo() {
|
||||
console.log('getAppInfo ');
|
||||
try {
|
||||
const db = await mongoose.createConnection(sourceConString, options).asPromise();
|
||||
const w_appinfomodel = db.model('w_appinfo', w_appinfoSchema);
|
||||
const res = await w_appinfomodel.find({
|
||||
appname: originalappname,
|
||||
});
|
||||
// console.log('getAppInfo ', res);
|
||||
appId = res[0]['_id'];
|
||||
const parseRes = JSON.parse(JSON.stringify(res));
|
||||
if (parseRes[0].settings && parseRes[0].settings.length > 0) {
|
||||
defaultRoles = parseRes[0].settings.map(x => {
|
||||
return {
|
||||
_id: randomId(10),
|
||||
name: x.role,
|
||||
_wperm: ['*'],
|
||||
_rperm: ['*'],
|
||||
_acl: { '*': { r: true, w: true } },
|
||||
_created_at: new Date(),
|
||||
_updated_at: new Date(),
|
||||
};
|
||||
});
|
||||
// console.log('defaultRoles ', defaultRoles);
|
||||
}
|
||||
|
||||
// console.log(appId);
|
||||
await saveAppInfo(res);
|
||||
} catch (err) {
|
||||
console.log('err in getAppData', err);
|
||||
}
|
||||
}
|
||||
|
||||
async function saveAppInfo(res) {
|
||||
console.log('saveAppInfo');
|
||||
try {
|
||||
const db = await mongoose.createConnection(targetConString, options).asPromise();
|
||||
// trg_w_appinfomodel = db.model('w_appinfo', w_appinfoSchema);
|
||||
const appInfoRes = await trg_w_appinfomodel.collection.insertMany(res);
|
||||
// console.log('saveAppInfo ', appInfoRes);
|
||||
|
||||
console.log('app info inserted');
|
||||
await getAppFunctions();
|
||||
} catch (err) {
|
||||
console.log('err in saveAppData', err);
|
||||
}
|
||||
}
|
||||
|
||||
async function getAppFunctions() {
|
||||
console.log('getAppFunctions');
|
||||
try {
|
||||
var appIdpointer = 'w_appinfo$' + appId;
|
||||
const db = await mongoose.createConnection(sourceConString, options).asPromise();
|
||||
const DBFunctionModel = db.model('w_DBFunctions', DBFunctionSchema);
|
||||
const dbFnRes = await DBFunctionModel.find({ _p_appId: appIdpointer });
|
||||
await saveAppFunctions(dbFnRes);
|
||||
} catch (err) {
|
||||
console.log('err is get app function', err);
|
||||
return Promise.reject('err is get app functions');
|
||||
}
|
||||
}
|
||||
async function saveAppFunctions(res) {
|
||||
console.log('saveAppFunctions');
|
||||
if (res.length > 0) {
|
||||
try {
|
||||
const db = await mongoose.createConnection(targetConString, options).asPromise();
|
||||
const DBFunctionModel = db.model('w_DBFunctions', DBFunctionSchema);
|
||||
const src_res = await DBFunctionModel.collection.insertMany(res);
|
||||
console.log('app functions inserted');
|
||||
} catch (err) {
|
||||
console.log('err in save app functions', err);
|
||||
}
|
||||
}
|
||||
await getAppDashboard();
|
||||
}
|
||||
|
||||
async function getAppDashboard() {
|
||||
try {
|
||||
var appIdpointer = 'w_appinfo$' + appId;
|
||||
const db = await mongoose.createConnection(sourceConString, options).asPromise();
|
||||
const w_Dashboardmodel = db.model('w_dashboard', DashboardSchema);
|
||||
const dashboardRes = await w_Dashboardmodel.find({ _p_appId: appIdpointer });
|
||||
await saveAppDashboard(dashboardRes);
|
||||
} catch (err) {
|
||||
console.log('err is get app dashboards', err);
|
||||
}
|
||||
}
|
||||
async function saveAppDashboard(res) {
|
||||
if (res.length > 0) {
|
||||
try {
|
||||
const db = await mongoose.createConnection(targetConString, options).asPromise();
|
||||
const w_Dashboardmodel = db.model('w_dashboard', DashboardSchema);
|
||||
const src_res = await w_Dashboardmodel.collection.insertMany(res);
|
||||
console.log('app dashboard inserted');
|
||||
} catch (err) {
|
||||
console.log('err in save app dashboards', err);
|
||||
}
|
||||
}
|
||||
await getAppForms();
|
||||
}
|
||||
|
||||
async function getAppForms() {
|
||||
try {
|
||||
var appIdpointer = 'w_appinfo$' + appId;
|
||||
const db = await mongoose.createConnection(sourceConString, options).asPromise();
|
||||
const w_formV3model = db.model('w_formV3', w_formV3Schema);
|
||||
const formsRes = await w_formV3model.find({ _p_appId: appIdpointer });
|
||||
await saveAppForms(formsRes);
|
||||
} catch (err) {
|
||||
console.log('err is get app forms', err);
|
||||
}
|
||||
}
|
||||
async function saveAppForms(res) {
|
||||
if (res.length > 0) {
|
||||
try {
|
||||
const db = await mongoose.createConnection(targetConString, options).asPromise();
|
||||
const w_formV3model = db.model('w_formV3', w_formV3Schema);
|
||||
const src_res = await w_formV3model.collection.insertMany(res);
|
||||
console.log('app forms inserted');
|
||||
} catch (err) {
|
||||
console.log('err in save app forms', err);
|
||||
}
|
||||
}
|
||||
await getAppReports();
|
||||
}
|
||||
async function getAppReports() {
|
||||
try {
|
||||
var appIdpointer = 'w_appinfo$' + appId;
|
||||
const db = await mongoose.createConnection(sourceConString, options).asPromise();
|
||||
const w_reportmodel = db.model('w_Filter', w_reportSchema);
|
||||
const reportsRes = await w_reportmodel.find({ _p_appId: appIdpointer });
|
||||
await saveAppReports(reportsRes);
|
||||
} catch (err) {
|
||||
console.log('err is get app reports', err);
|
||||
}
|
||||
}
|
||||
async function saveAppReports(res) {
|
||||
if (res.length > 0) {
|
||||
try {
|
||||
const db = await mongoose.createConnection(targetConString, options).asPromise();
|
||||
const w_reportmodel = db.model('w_Filter', w_reportSchema);
|
||||
const src_res = await w_reportmodel.collection.insertMany(res);
|
||||
console.log('app reports inserted');
|
||||
} catch (err) {
|
||||
console.log('err in save app reports', err);
|
||||
}
|
||||
}
|
||||
await getAppMenu();
|
||||
}
|
||||
|
||||
async function getAppMenu() {
|
||||
try {
|
||||
var appIdpointer = 'w_appinfo$' + appId;
|
||||
const db = await mongoose.createConnection(sourceConString, options).asPromise();
|
||||
const w_menumodel = db.model('w_menu', w_menuSchema);
|
||||
const menuRes = await w_menumodel.find({ _p_appId: appIdpointer });
|
||||
await saveAppMenu(menuRes);
|
||||
} catch (err) {
|
||||
console.log('err is get app menus', err);
|
||||
}
|
||||
}
|
||||
async function saveAppMenu(res) {
|
||||
if (res.length > 0) {
|
||||
try {
|
||||
const db = await mongoose.createConnection(targetConString, options).asPromise();
|
||||
const w_menumodel = db.model('w_menu', w_menuSchema);
|
||||
const src_res = await w_menumodel.collection.insertMany(res);
|
||||
|
||||
console.log('app menus inserted');
|
||||
} catch (err) {
|
||||
console.log('err in save app menus', err);
|
||||
}
|
||||
}
|
||||
await saveAppRole();
|
||||
}
|
||||
|
||||
async function saveAppRole(res) {
|
||||
const date = new Date();
|
||||
const appRole = appname + 'appeditor';
|
||||
const role = [
|
||||
{
|
||||
_id: appRoleId,
|
||||
name: appRole,
|
||||
_wperm: [`${UserId}`],
|
||||
_rperm: ['*', `${UserId}`],
|
||||
_acl: { UserId: { w: true, r: true }, '*': { r: true } },
|
||||
_created_at: date,
|
||||
_updated_at: date,
|
||||
},
|
||||
...defaultRoles,
|
||||
];
|
||||
|
||||
try {
|
||||
const db = await mongoose.createConnection(targetConString, options).asPromise();
|
||||
Trg__RoleModel = db.model('_Role', _RoleSchema);
|
||||
const src_res = await Trg__RoleModel.collection.insertMany(role);
|
||||
console.log('app editor role inserted');
|
||||
await saveJoinAppRole();
|
||||
} catch (err) {
|
||||
console.log('err in save app editor role', err);
|
||||
}
|
||||
}
|
||||
|
||||
async function saveJoinAppRole() {
|
||||
const OrgRole = organization + '_org';
|
||||
let OrgRoleId;
|
||||
|
||||
try {
|
||||
const db = await mongoose.createConnection(targetConString, options).asPromise();
|
||||
// const _RoleModel = db.model('_Role', _RoleSchema);
|
||||
const src_res = await Trg__RoleModel.find({ name: OrgRole });
|
||||
// console.log('src_res ', src_res);
|
||||
OrgRoleId = src_res[0]._id;
|
||||
} catch (err) {
|
||||
console.log('err in get org Role Id', err);
|
||||
}
|
||||
const userJoinRole = [{ owningId: appRoleId, relatedId: UserId }];
|
||||
|
||||
try {
|
||||
const db = await mongoose.createConnection(targetConString, options).asPromise();
|
||||
const _UserJoinRolemodel = db.model('_Join:users:_Role', _UserjoinSchema);
|
||||
const userJoinRes = await _UserJoinRolemodel.collection.insertMany(userJoinRole);
|
||||
|
||||
console.log('User Join role inserted');
|
||||
} catch (err) {
|
||||
console.log('err in User Join role', err);
|
||||
}
|
||||
|
||||
const roleJoinRole = [{ owningId: OrgRoleId, relatedId: appRoleId }];
|
||||
|
||||
try {
|
||||
const db = await mongoose.createConnection(targetConString, options).asPromise();
|
||||
const _RoleJoinRolemodel = db.model('_Join:roles:_Role', _RolejoinSchema);
|
||||
const roleJoinRes = await _RoleJoinRolemodel.collection.insertMany(roleJoinRole);
|
||||
console.log('Role Join role inserted');
|
||||
await getAppSchemas();
|
||||
} catch (err) {
|
||||
console.log('err in Role Join role', err);
|
||||
}
|
||||
}
|
||||
async function getAppSchemas() {
|
||||
console.log('getAppSchemas');
|
||||
try {
|
||||
const db = await mongoose.createConnection(sourceConString, options).asPromise();
|
||||
Src_SCHEMASmodel = db.model('_SCHEMA', _SCHEMASchema);
|
||||
const schemaRes = await Src_SCHEMASmodel.find({
|
||||
_id: { $regex: '.*' + appname + '.*' },
|
||||
});
|
||||
await saveAppSchemas(schemaRes);
|
||||
} catch (err) {
|
||||
console.log('err in get app schema', err);
|
||||
}
|
||||
}
|
||||
|
||||
async function saveAppSchemas(res) {
|
||||
if (res.length > 0) {
|
||||
console.log('saveAppSchemas');
|
||||
try {
|
||||
const db = await mongoose.createConnection(targetConString, options).asPromise();
|
||||
Trg_SCHEMASmodel = db.model('_SCHEMA', _SCHEMASchema);
|
||||
const src_res = await Trg_SCHEMASmodel.collection.insertMany(res);
|
||||
console.log('app schema inserted');
|
||||
msg = 'app installed successfully';
|
||||
status = 200;
|
||||
} catch (err) {
|
||||
console.log('err in save app schemas', err);
|
||||
}
|
||||
}
|
||||
msg = 'app installed successfully';
|
||||
status = 200;
|
||||
}
|
||||
const message = { message: msg, status: status };
|
||||
return message;
|
||||
} catch (err) {
|
||||
console.log('Exeption in query ', err);
|
||||
console.log(err);
|
||||
return 'Error:Exeption in query';
|
||||
}
|
||||
}
|
||||
} catch (err) {
|
||||
return Promise.reject('Invalid session token!');
|
||||
}
|
||||
}
|
||||
@@ -2,17 +2,11 @@ async function sendMailOTPv1(request) {
|
||||
try {
|
||||
//--for elearning app side
|
||||
let code = Math.floor(1000 + Math.random() * 9000);
|
||||
let getMessage = code + ' This is your verification code';
|
||||
let email = request.params.email;
|
||||
var Hashcode;
|
||||
var TenantId = request.params.TenantId ? request.params.TenantId : undefined;
|
||||
// console.log("In tempSendOTPv2");
|
||||
|
||||
console.log(JSON.stringify(request));
|
||||
|
||||
var encoded = encodeURIComponent(Hashcode);
|
||||
var otp = '<%23> You OTP is:' + code + ' ' + encoded + ' -QikEln';
|
||||
otp = otp.toString();
|
||||
// console.log(JSON.stringify(request));
|
||||
|
||||
if (email) {
|
||||
axios({
|
||||
|
||||
@@ -221,7 +221,9 @@ async function PDF(req, res) {
|
||||
// let PdfBuffer = fs.readFileSync("exports/simple.pdf");
|
||||
|
||||
// `P12Buffer` used to create buffer from p12 certificate
|
||||
const P12Buffer = fs.readFileSync(`pdfFile/emudhra-test-class2.pfx`);
|
||||
const pfxFile = process.env.PFX_BASE64;
|
||||
// const P12Buffer = fs.readFileSync();
|
||||
const P12Buffer = Buffer.from(pfxFile, 'base64');
|
||||
|
||||
if (sign) {
|
||||
// `plainAddPlaceholder` is used to add code of digitial sign in pdf file
|
||||
@@ -241,10 +243,7 @@ async function PDF(req, res) {
|
||||
signatureLength: 10000,
|
||||
});
|
||||
}
|
||||
|
||||
// console.log("PdfBuffer ", PdfBuffer);
|
||||
// const clientIP = req.headers["x-real-ip"];
|
||||
// console.log("req.ip", clientIP);
|
||||
|
||||
//`new signPDF` create new instance of pdfBuffer and p12Buffer
|
||||
const OBJ = new SignPDF(PdfBuffer, P12Buffer);
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
"lint": "eslint --cache ./cloud && eslint --cache index.js && eslint --cache ./spec",
|
||||
"lint-fix": "eslint --cache --fix ./cloud && eslint --cache --fix index.js && eslint --cache --fix ./spec",
|
||||
"prettier": "prettier --write '{cloud,spec}/{**/*,*}.js' 'index.js'",
|
||||
"start": "ls && node index.js",
|
||||
"start": "node index.js",
|
||||
"test": "mongodb-runner start && TESTING=true jasmine",
|
||||
"watch": "nodemon index.js"
|
||||
},
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user