diff --git a/.all-contributorsrc b/.all-contributorsrc
index 94a854af3..8dd14ebc1 100644
--- a/.all-contributorsrc
+++ b/.all-contributorsrc
@@ -151,6 +151,15 @@
"contributions": [
"code"
]
+ },
+ {
+ "login": "rishabjasrotia",
+ "name": "Rishab",
+ "avatar_url": "https://avatars.githubusercontent.com/u/33950743?v=4",
+ "profile": "https://github.com/rishabjasrotia",
+ "contributions": [
+ "code"
+ ]
}
]
}
diff --git a/.env.local_dev b/.env.local_dev
new file mode 100644
index 000000000..7d0a4a251
--- /dev/null
+++ b/.env.local_dev
@@ -0,0 +1,53 @@
+# Clone the repo and rename this file to .env if you want to run the frontend react app locally for some quick contributions to the project.
+# When used as it is, this env config will connect to our hosted UAT backend
+# Note that any data in staging will get cleared from time to time and you may have to sign up again and again
+
+# Set CI to false while running the app locally
+CI=false
+# Set it to the URL form where the app home page will be accessed
+PUBLIC_URL=http://localhost:3000
+# Set it to true if you want to generate the Sourcemap for debugging
+GENERATE_SOURCEMAP=false
+# Set it to the URL from where APIs will be accessible, for local development it should be localhost:3000/api/app (use your local port number instead)
+REACT_APP_SERVERURL=http://localhost:8080/app
+# A 12 character long random app identifier. The value of this should be same as APP_ID which is a variable used by backend API.
+REACT_APP_APPID=opensignstgn
+
+
+# Backend ExpressJS config ****************************************************************************************************************************************************************************************
+# A 12 character long random app identifier. The value of this should be same as REACT_APP_APPID which is a variable used by Frontend React App.
+APP_ID=opensignstgn
+# Name of the app. It will be visible in the verification emails sent out.
+appName=open_sign_server
+# A 12 character long random secret key that allows access to all the data. It is used in Parse dashboard config to view all the data in the database.
+MASTER_KEY=XnAadwKxxByMr
+# Mongodb URI to connect to
+MONGODB_URI=mongodb://host.docker.internal:27017/OpenSignDB
+# Path on which APIs should be mounted. Do not change this. This variable shall be removed & value hardcoded in the source code in coming versions.
+PARSE_MOUNT=/app
+# Set it to the URL from where APIs will be accessible to the NodeJS functions, for local development it should be localhost:3000/api/app (use your local port number instead)
+SERVER_URL=http://127.0.0.1:8080/app
+
+# Storage config ************************************************************************************************************************************************************************************************
+# Digital ocean space name or AWS S3 bucket name for uploading documents
+DO_SPACE=DOSPACENAME
+# Digital ocean spaces endpoint or AWS S3 endpoint for uploading documents
+DO_ENDPOINT=ams3.digitaloceanspaces.com
+# Digital ocean baseurl or AWS S3 base URL
+DO_BASEURL=https://DOSPACENAME.ams3.digitaloceanspaces.com
+# Digital ocean spaces access key ID or AWS s3 Access key ID for uploading the docs
+DO_ACCESS_KEY_ID=
+# Digital ocean spaces secret access key or AWS s3 secret access key for uploading the docs
+DO_SECRET_ACCESS_KEY=
+# Digital ocean spaces region or AWS s3 region
+DO_REGION=us-west
+# local storage
+USE_LOCAL=TRUE
+
+# Email mailgun config (The app will not initialize if any of these 3 variables are not set) *********************************************************************************************************************
+MAILGUN_API_KEY=XXXXX
+MAILGUN_DOMAIN=mail.yourdomain.com
+MAILGUN_SENDER=postmaster@mail.yourdomain.com
+
+# Base64 encoded PFX or p12 document signing certificate file *********************************************************************************************************************
+PFX_BASE64=
diff --git a/INSTALLATION.md b/INSTALLATION.md
index 78dbcf142..e10a73caa 100644
--- a/INSTALLATION.md
+++ b/INSTALLATION.md
@@ -7,6 +7,7 @@ or follow below instructions to install it on your own infrastructure.
- Localhost(Frontend only)
- Digital Ocean
+- Localhost(Docker)
## Localhost(Frontend only)
@@ -83,3 +84,9 @@ You can install all 3 components on digital ocean using the button below -
Visit below link if you face any issues while following the above instructions -
- https://repost.aws/knowledge-center/create-access-key
+
+
+## Localhost(Docker)
+
+Below are the steps to follow -
+- Execute `make build`
\ No newline at end of file
diff --git a/Makefile b/Makefile
new file mode 100644
index 000000000..35fa55901
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,3 @@
+build:
+ cp .env.local_dev .env
+ docker compose up -d
\ No newline at end of file
diff --git a/README.md b/README.md
index 1420d4cf5..4c97acbe2 100644
--- a/README.md
+++ b/README.md
@@ -122,6 +122,7 @@ We would like to thank all our contributors and users for their support and feed
 VishakhaSainani 💻 |
 Andrew 💻 |
+  Rishab 💻 |
diff --git a/apps/OpenSign/Dockerfile b/apps/OpenSign/Dockerfile
index 49067d236..7d8542bf6 100644
--- a/apps/OpenSign/Dockerfile
+++ b/apps/OpenSign/Dockerfile
@@ -5,14 +5,14 @@ FROM node:16
WORKDIR /usr/src/app
# Copy package.json and package-lock.json first to leverage Docker cache
-COPY apps/OpenSign/package*.json ./
+COPY ./package*.json ./
# Install application dependencies
RUN npm install
# Copy the current directory contents into the container
-COPY apps/OpenSign/ .
-COPY apps/OpenSign/.husky .
+COPY ./ .
+COPY ./.husky .
# Make port 3000 available to the world outside this container
EXPOSE 3000
diff --git a/apps/OpenSignServer/Dockerfile b/apps/OpenSignServer/Dockerfile
index c71c551e2..68962a8be 100644
--- a/apps/OpenSignServer/Dockerfile
+++ b/apps/OpenSignServer/Dockerfile
@@ -5,7 +5,7 @@ FROM node:16
WORKDIR /usr/src/app
# Copy package.json and package-lock.json first to leverage Docker cache
-COPY apps/OpenSignServer/package*.json ./
+COPY ./package*.json ./
# Install application dependencies
RUN npm install
@@ -14,7 +14,7 @@ RUN npm install
# RUN apk add --no-cache make gcc g++ python3
# Copy the current directory contents into the container
-COPY apps/OpenSignServer/ .
+COPY ./ .
# Make port 8080 available to the world outside this container
EXPOSE 8080
@@ -24,4 +24,4 @@ EXPOSE 8080
# ENV DATABASE_URL mongodb://db:27017
# Run the application
-CMD ["npm", "start"]
\ No newline at end of file
+ENTRYPOINT npm start
diff --git a/apps/OpenSignServer/index.js b/apps/OpenSignServer/index.js
index 47f83dd38..f0d494c44 100644
--- a/apps/OpenSignServer/index.js
+++ b/apps/OpenSignServer/index.js
@@ -14,23 +14,31 @@ import formData from 'form-data';
import Mailgun from 'mailgun.js';
import { ApiPayloadConverter } from 'parse-server-api-mail-adapter';
import S3Adapter from 'parse-server-s3-adapter';
+import FSFilesAdapter from 'parse-server-fs-adapter';
import AWS from 'aws-sdk';
import { app as customRoute } from './cloud/customRoute/customApp.js';
const spacesEndpoint = new AWS.Endpoint(process.env.DO_ENDPOINT);
// console.log("configuration ", configuration);
-const s3Options = {
- bucket: process.env.DO_SPACE, // globalConfig.S3FilesAdapter.bucket,
- baseUrl: process.env.DO_BASEURL,
- region: process.env.DO_REGION,
- directAccess: true,
- preserveFileName: true,
- s3overrides: {
- accessKeyId: process.env.DO_ACCESS_KEY_ID,
- secretAccessKey: process.env.DO_SECRET_ACCESS_KEY,
- endpoint: spacesEndpoint,
- },
-};
+if (process.env.USE_LOCAL !== "TRUE") {
+ const s3Options = {
+ bucket: process.env.DO_SPACE, // globalConfig.S3FilesAdapter.bucket,
+ baseUrl: process.env.DO_BASEURL,
+ region: process.env.DO_REGION,
+ directAccess: true,
+ preserveFileName: true,
+ s3overrides: {
+ accessKeyId: process.env.DO_ACCESS_KEY_ID,
+ secretAccessKey: process.env.DO_SECRET_ACCESS_KEY,
+ endpoint: spacesEndpoint,
+ },
+ };
+ var fsAdapter = new S3Adapter(s3Options);
+} else {
+ var fsAdapter = new FSFilesAdapter({
+ "filesSubDirectory": "files" // optional, defaults to ./files
+ });
+}
let mailgunClient;
let mailgunDomain;
@@ -85,7 +93,7 @@ export const config = {
},
}
: null,
- filesAdapter: new S3Adapter(s3Options),
+ filesAdapter: fsAdapter,
auth: {
google: {
enabled: true,
diff --git a/apps/OpenSignServer/package-lock.json b/apps/OpenSignServer/package-lock.json
index b93d0f545..6b692e824 100644
--- a/apps/OpenSignServer/package-lock.json
+++ b/apps/OpenSignServer/package-lock.json
@@ -25,8 +25,8 @@
"node-forge": "^1.3.1",
"node-signpdf": "^1.5.1",
"openai": "^4.8.0",
- "parse": "4.0.1",
- "parse-server": "6.0.0",
+ "parse": "4.1.0",
+ "parse-server": "6.3.1",
"parse-server-api-mail-adapter": "^3.0.0",
"parse-server-s3-adapter": "^1.2.0",
"pdf-lib": "^1.16.0",
@@ -301,9 +301,9 @@
}
},
"node_modules/@babel/runtime": {
- "version": "7.18.0",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.0.tgz",
- "integrity": "sha512-YMQvx/6nKEaucl0MY56mwIG483xk8SDNdlUwb2Ts6FUpr7fm85DxEmsY18LXBNhcTz6tO6JwZV8w1W06v8UKeg==",
+ "version": "7.15.4",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.15.4.tgz",
+ "integrity": "sha512-99catp6bHCaxr4sJ/DbTGgHS4+Rs2RVd2g7iOap6SLGPDknRK9ztKNsE/Fg6QhSeh1FGE5f6gHGQmvvn3I3xhw==",
"dependencies": {
"regenerator-runtime": "^0.13.4"
},
@@ -312,12 +312,12 @@
}
},
"node_modules/@babel/runtime-corejs3": {
- "version": "7.17.8",
- "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.17.8.tgz",
- "integrity": "sha512-ZbYSUvoSF6dXZmMl/CYTMOvzIFnbGfv4W3SEHYgMvNsFTeLaF2gkGAF4K2ddmtSK4Emej+0aYcnSC6N5dPCXUQ==",
+ "version": "7.21.0",
+ "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.21.0.tgz",
+ "integrity": "sha512-TDD4UJzos3JJtM+tHX+w2Uc+KWj7GV+VKKFdMVd2Rx8sdA19hcc3P3AHFYd5LVOw+pYuSd5lICC3gm52B6Rwxw==",
"dependencies": {
- "core-js-pure": "^3.20.2",
- "regenerator-runtime": "^0.13.4"
+ "core-js-pure": "^3.25.1",
+ "regenerator-runtime": "^0.13.11"
},
"engines": {
"node": ">=6.9.0"
@@ -888,65 +888,6 @@
"eslint-scope": "5.1.1"
}
},
- "node_modules/@node-redis/bloom": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@node-redis/bloom/-/bloom-1.0.1.tgz",
- "integrity": "sha512-mXEBvEIgF4tUzdIN89LiYsbi6//EdpFA7L8M+DHCvePXg+bfHWi+ct5VI6nHUFQE5+ohm/9wmgihCH3HSkeKsw==",
- "peerDependencies": {
- "@node-redis/client": "^1.0.0"
- }
- },
- "node_modules/@node-redis/client": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/@node-redis/client/-/client-1.0.5.tgz",
- "integrity": "sha512-ESZ3bd1f+od62h4MaBLKum+klVJfA4wAeLHcVQBkoXa1l0viFesOWnakLQqKg+UyrlJhZmXJWtu0Y9v7iTMrig==",
- "dependencies": {
- "cluster-key-slot": "1.1.0",
- "generic-pool": "3.8.2",
- "redis-parser": "3.0.0",
- "yallist": "4.0.0"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@node-redis/client/node_modules/yallist": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
- },
- "node_modules/@node-redis/graph": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/@node-redis/graph/-/graph-1.0.0.tgz",
- "integrity": "sha512-mRSo8jEGC0cf+Rm7q8mWMKKKqkn6EAnA9IA2S3JvUv/gaWW/73vil7GLNwion2ihTptAm05I9LkepzfIXUKX5g==",
- "peerDependencies": {
- "@node-redis/client": "^1.0.0"
- }
- },
- "node_modules/@node-redis/json": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@node-redis/json/-/json-1.0.2.tgz",
- "integrity": "sha512-qVRgn8WfG46QQ08CghSbY4VhHFgaTY71WjpwRBGEuqGPfWwfRcIf3OqSpR7Q/45X+v3xd8mvYjywqh0wqJ8T+g==",
- "peerDependencies": {
- "@node-redis/client": "^1.0.0"
- }
- },
- "node_modules/@node-redis/search": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/@node-redis/search/-/search-1.0.5.tgz",
- "integrity": "sha512-MCOL8iCKq4v+3HgEQv8zGlSkZyXSXtERgrAJ4TSryIG/eLFy84b57KmNNa/V7M1Q2Wd2hgn2nPCGNcQtk1R1OQ==",
- "peerDependencies": {
- "@node-redis/client": "^1.0.0"
- }
- },
- "node_modules/@node-redis/time-series": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@node-redis/time-series/-/time-series-1.0.2.tgz",
- "integrity": "sha512-HGQ8YooJ8Mx7l28tD7XjtB3ImLEjlUxG1wC1PAjxu6hPJqjPshUZxAICzDqDjtIbhDTf48WXXUcx8TQJB1XTKA==",
- "peerDependencies": {
- "@node-redis/client": "^1.0.0"
- }
- },
"node_modules/@node-rs/bcrypt": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@node-rs/bcrypt/-/bcrypt-1.1.0.tgz",
@@ -1193,6 +1134,27 @@
}
}
},
+ "node_modules/@parse/node-apn/node_modules/jsonwebtoken": {
+ "version": "8.5.1",
+ "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz",
+ "integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==",
+ "dependencies": {
+ "jws": "^3.2.2",
+ "lodash.includes": "^4.3.0",
+ "lodash.isboolean": "^3.0.3",
+ "lodash.isinteger": "^4.0.4",
+ "lodash.isnumber": "^3.0.3",
+ "lodash.isplainobject": "^4.0.6",
+ "lodash.isstring": "^4.0.1",
+ "lodash.once": "^4.0.0",
+ "ms": "^2.1.1",
+ "semver": "^5.6.0"
+ },
+ "engines": {
+ "node": ">=4",
+ "npm": ">=1.4.28"
+ }
+ },
"node_modules/@parse/node-apn/node_modules/node-forge": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.0.tgz",
@@ -1201,6 +1163,14 @@
"node": ">= 6.13.0"
}
},
+ "node_modules/@parse/node-apn/node_modules/semver": {
+ "version": "5.7.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
+ "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
+ "bin": {
+ "semver": "bin/semver"
+ }
+ },
"node_modules/@parse/node-gcm": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/@parse/node-gcm/-/node-gcm-1.0.2.tgz",
@@ -1301,9 +1271,9 @@
}
},
"node_modules/@parse/push-adapter": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/@parse/push-adapter/-/push-adapter-4.1.2.tgz",
- "integrity": "sha512-034vZTlAzgdfefIY4+Q4j8DHS/VwUAIVoh1JeRkHNfyQmUQ++uKbQbUQdJ/nf11HHS69kwLENs13BmhlHMpyHQ==",
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/@parse/push-adapter/-/push-adapter-4.1.3.tgz",
+ "integrity": "sha512-Oy53ag7DpUva5dUWwP6tNEsrxv2xU9QIk+rb84q1DIm1qVgo2yl4oXcZ3FPG2Ks/NYURbv4w+z9oaSgVfyBRfQ==",
"dependencies": {
"@parse/node-apn": "5.1.3",
"@parse/node-gcm": "1.0.2",
@@ -1314,17 +1284,6 @@
"node": ">= 12"
}
},
- "node_modules/@parse/push-adapter/node_modules/@babel/runtime": {
- "version": "7.15.4",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.15.4.tgz",
- "integrity": "sha512-99catp6bHCaxr4sJ/DbTGgHS4+Rs2RVd2g7iOap6SLGPDknRK9ztKNsE/Fg6QhSeh1FGE5f6gHGQmvvn3I3xhw==",
- "dependencies": {
- "regenerator-runtime": "^0.13.4"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
"node_modules/@parse/push-adapter/node_modules/@babel/runtime-corejs3": {
"version": "7.14.7",
"resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.14.7.tgz",
@@ -1473,6 +1432,64 @@
"pako": "^1.0.10"
}
},
+ "node_modules/@redis/bloom": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@redis/bloom/-/bloom-1.2.0.tgz",
+ "integrity": "sha512-HG2DFjYKbpNmVXsa0keLHp/3leGJz1mjh09f2RLGGLQZzSHpkmZWuwJbAvo3QcRY8p80m5+ZdXZdYOSBLlp7Cg==",
+ "peerDependencies": {
+ "@redis/client": "^1.0.0"
+ }
+ },
+ "node_modules/@redis/client": {
+ "version": "1.5.7",
+ "resolved": "https://registry.npmjs.org/@redis/client/-/client-1.5.7.tgz",
+ "integrity": "sha512-gaOBOuJPjK5fGtxSseaKgSvjiZXQCdLlGg9WYQst+/GRUjmXaiB5kVkeQMRtPc7Q2t93XZcJfBMSwzs/XS9UZw==",
+ "dependencies": {
+ "cluster-key-slot": "1.1.2",
+ "generic-pool": "3.9.0",
+ "yallist": "4.0.0"
+ },
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/@redis/client/node_modules/yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
+ },
+ "node_modules/@redis/graph": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@redis/graph/-/graph-1.1.0.tgz",
+ "integrity": "sha512-16yZWngxyXPd+MJxeSr0dqh2AIOi8j9yXKcKCwVaKDbH3HTuETpDVPcLujhFYVPtYrngSco31BUcSa9TH31Gqg==",
+ "peerDependencies": {
+ "@redis/client": "^1.0.0"
+ }
+ },
+ "node_modules/@redis/json": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/@redis/json/-/json-1.0.4.tgz",
+ "integrity": "sha512-LUZE2Gdrhg0Rx7AN+cZkb1e6HjoSKaeeW8rYnt89Tly13GBI5eP4CwDVr+MY8BAYfCg4/N15OUrtLoona9uSgw==",
+ "peerDependencies": {
+ "@redis/client": "^1.0.0"
+ }
+ },
+ "node_modules/@redis/search": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@redis/search/-/search-1.1.2.tgz",
+ "integrity": "sha512-/cMfstG/fOh/SsE+4/BQGeuH/JJloeWuH+qJzM8dbxuWvdWibWAOAHHCZTMPhV3xIlH4/cUEIA8OV5QnYpaVoA==",
+ "peerDependencies": {
+ "@redis/client": "^1.0.0"
+ }
+ },
+ "node_modules/@redis/time-series": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/@redis/time-series/-/time-series-1.0.4.tgz",
+ "integrity": "sha512-ThUIgo2U/g7cCuZavucQTQzA9g9JbDDY2f64u3AbAoz/8vE2lt2U37LamDUVChhaDA3IRT9R6VvJwqnUfTJzng==",
+ "peerDependencies": {
+ "@redis/client": "^1.0.0"
+ }
+ },
"node_modules/@repeaterjs/repeater": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/@repeaterjs/repeater/-/repeater-3.0.4.tgz",
@@ -1889,11 +1906,11 @@
}
},
"node_modules/assert-options": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/assert-options/-/assert-options-0.7.0.tgz",
- "integrity": "sha512-7q9uNH/Dh8gFgpIIb9ja8PJEWA5AQy3xnBC8jtKs8K/gNVCr1K6kIvlm59HUyYgvM7oEDoLzGgPcGd9FqhtXEQ==",
+ "version": "0.8.1",
+ "resolved": "https://registry.npmjs.org/assert-options/-/assert-options-0.8.1.tgz",
+ "integrity": "sha512-5lNGRB5g5i2bGIzb+J1QQE1iKU/WEMVBReFIc5pPDWjcPj23otPL0eI6PB2v7QPi0qU6Mhym5D3y0ZiSIOf3GA==",
"engines": {
- "node": ">=8.0.0"
+ "node": ">=10.0.0"
}
},
"node_modules/assert-plus": {
@@ -2506,9 +2523,9 @@
}
},
"node_modules/cluster-key-slot": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/cluster-key-slot/-/cluster-key-slot-1.1.0.tgz",
- "integrity": "sha512-2Nii8p3RwAPiFwsnZvukotvow2rIHM+yQ6ZcBXGHdniadkYGZYiGmkHJIbZPIV9nfv7m/U1IPMVVcAhoWFeklw==",
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/cluster-key-slot/-/cluster-key-slot-1.1.2.tgz",
+ "integrity": "sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA==",
"engines": {
"node": ">=0.10.0"
}
@@ -2573,11 +2590,11 @@
}
},
"node_modules/commander": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz",
- "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==",
+ "version": "10.0.1",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz",
+ "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==",
"engines": {
- "node": ">= 6"
+ "node": ">=14"
}
},
"node_modules/commondir": {
@@ -2664,9 +2681,9 @@
"integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ=="
},
"node_modules/core-js-pure": {
- "version": "3.30.2",
- "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.30.2.tgz",
- "integrity": "sha512-p/npFUJXXBkCCTIlEGBdghofn00jWG6ZOtdoIXSJmAu2QBvN0IqpZXWweOytcwE6cfx8ZvVUy1vw8zxhe4Y2vg==",
+ "version": "3.33.2",
+ "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.33.2.tgz",
+ "integrity": "sha512-a8zeCdyVk7uF2elKIGz67AjcXOxjRbwOLz8SbklEso1V+2DoW4OkAMZN9S9GBgvZIaqQi/OemFX4OiSoQEmg1Q==",
"hasInstallScript": true,
"funding": {
"type": "opencollective",
@@ -3804,9 +3821,9 @@
}
},
"node_modules/express-rate-limit": {
- "version": "6.6.0",
- "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-6.6.0.tgz",
- "integrity": "sha512-HFN2+4ZGdkQOS8Qli4z6knmJFnw6lZed67o6b7RGplWeb1Z0s8VXaj3dUgPIdm9hrhZXTRpCTHXA0/2Eqex0vA==",
+ "version": "6.7.0",
+ "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-6.7.0.tgz",
+ "integrity": "sha512-vhwIdRoqcYB/72TK3tRZI+0ttS8Ytrk24GfmsxDXK9o9IhHNO5bXRiXQSExPQ4GbaE5tvIS7j1SGrxsuWs+sGA==",
"engines": {
"node": ">= 12.9.0"
},
@@ -4299,9 +4316,9 @@
}
},
"node_modules/generic-pool": {
- "version": "3.8.2",
- "resolved": "https://registry.npmjs.org/generic-pool/-/generic-pool-3.8.2.tgz",
- "integrity": "sha512-nGToKy6p3PAbYQ7p1UlWl6vSPwfwU6TMSWK7TTu+WUY4ZjyZQGniGGt2oNVvyNSpyZYSB43zMXVLcBm08MTMkg==",
+ "version": "3.9.0",
+ "resolved": "https://registry.npmjs.org/generic-pool/-/generic-pool-3.9.0.tgz",
+ "integrity": "sha512-hymDOu5B53XvN4QT9dBmZxPX4CWhBPPLguTZ9MMFeFa/Kg0xWVfylOVNlJji/E7yTZWFd/q9GO5TxDLq156D7g==",
"engines": {
"node": ">= 4"
}
@@ -4764,9 +4781,9 @@
}
},
"node_modules/idb-keyval": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/idb-keyval/-/idb-keyval-6.0.3.tgz",
- "integrity": "sha512-yh8V7CnE6EQMu9YDwQXhRxwZh4nv+8xm/HV4ZqK4IiYFJBWYGjJuykADJbSP+F/GDXUBwCSSNn/14IpGL81TuA==",
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/idb-keyval/-/idb-keyval-6.2.0.tgz",
+ "integrity": "sha512-uw+MIyQn2jl3+hroD7hF8J7PUviBU7BPKWw4f/ISf32D4LoGu98yHjrzWWJDASu9QNrX10tCJqk9YY0ClWm8Ng==",
"dependencies": {
"safari-14-idb-fix": "^3.0.0"
}
@@ -5559,34 +5576,50 @@
}
},
"node_modules/jsonwebtoken": {
- "version": "8.5.1",
- "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz",
- "integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==",
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.0.tgz",
+ "integrity": "sha512-tuGfYXxkQGDPnLJ7SibiQgVgeDgfbPq2k2ICcbgqW8WxWLBAxKQM/ZCu/IT8SOSwmaYl4dpTFCW5xZv7YbbWUw==",
"dependencies": {
"jws": "^3.2.2",
- "lodash.includes": "^4.3.0",
- "lodash.isboolean": "^3.0.3",
- "lodash.isinteger": "^4.0.4",
- "lodash.isnumber": "^3.0.3",
- "lodash.isplainobject": "^4.0.6",
- "lodash.isstring": "^4.0.1",
- "lodash.once": "^4.0.0",
+ "lodash": "^4.17.21",
"ms": "^2.1.1",
- "semver": "^5.6.0"
+ "semver": "^7.3.8"
},
"engines": {
- "node": ">=4",
- "npm": ">=1.4.28"
+ "node": ">=12",
+ "npm": ">=6"
+ }
+ },
+ "node_modules/jsonwebtoken/node_modules/lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
}
},
"node_modules/jsonwebtoken/node_modules/semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "version": "7.5.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
+ "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
"bin": {
- "semver": "bin/semver"
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
}
},
+ "node_modules/jsonwebtoken/node_modules/yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
+ },
"node_modules/jsprim": {
"version": "1.4.2",
"resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz",
@@ -7277,45 +7310,44 @@
}
},
"node_modules/parse": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/parse/-/parse-4.0.1.tgz",
- "integrity": "sha512-ctv7zaVKlQIBSbarorB7TH3yacDzCvgWBP4ccpLKxlpe21QlaY88kv9V7ca7JdG/Txb3qWug4MwepQoPogXB6Q==",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/parse/-/parse-4.1.0.tgz",
+ "integrity": "sha512-s0Ti+nWrKWj9DlFcmkEE05fGwa/K5ycZSdqCz01F8YL7Hevqv4WLXAmYGOwzq5UJSZ005seKgb20KwVwLdy/Zg==",
"dependencies": {
- "@babel/runtime": "7.18.0",
- "@babel/runtime-corejs3": "7.17.8",
- "idb-keyval": "6.0.3",
+ "@babel/runtime-corejs3": "7.21.0",
+ "idb-keyval": "6.2.0",
"react-native-crypto-js": "1.0.0",
- "uuid": "3.4.0",
- "ws": "8.6.0",
+ "uuid": "9.0.0",
+ "ws": "8.12.0",
"xmlhttprequest": "1.8.0"
},
"engines": {
- "node": ">=14.21.0 <17 || >=18 <19"
+ "node": ">=14.21.0 <17 || >=18 <20"
},
"optionalDependencies": {
"crypto-js": "4.1.1"
}
},
"node_modules/parse-server": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/parse-server/-/parse-server-6.0.0.tgz",
- "integrity": "sha512-Ma7TP3ONqd4ja3KcEO4tnO55YiZ5w5ihtucQoAbeJwbKXqwZ3A0E9t4o4ilPqDKO+qxo+cA9yoNKej2cGVVVTg==",
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/parse-server/-/parse-server-6.3.1.tgz",
+ "integrity": "sha512-Dhf6mCqRlvPNbeuGl71d+FpBakXFSIEw2ayhnDee8L99WYZTCiP8x4RDs/xIdXVsUIgRWR1xvkEtRHuyll75OA==",
"hasInstallScript": true,
"dependencies": {
- "@babel/eslint-parser": "7.19.1",
- "@graphql-tools/merge": "8.3.6",
+ "@babel/eslint-parser": "7.21.8",
+ "@graphql-tools/merge": "8.4.1",
"@graphql-tools/schema": "9.0.4",
"@graphql-tools/utils": "8.12.0",
"@graphql-yoga/node": "2.6.0",
"@parse/fs-files-adapter": "1.2.2",
- "@parse/push-adapter": "4.1.2",
+ "@parse/push-adapter": "4.1.3",
"bcryptjs": "2.4.3",
- "body-parser": "1.20.1",
- "commander": "5.1.0",
+ "body-parser": "1.20.2",
+ "commander": "10.0.1",
"cors": "2.8.5",
"deepcopy": "2.1.0",
"express": "4.18.2",
- "express-rate-limit": "6.6.0",
+ "express-rate-limit": "6.7.0",
"follow-redirects": "1.15.2",
"graphql": "16.6.0",
"graphql-list-fields": "2.0.2",
@@ -7323,27 +7355,28 @@
"graphql-tag": "2.12.6",
"intersect": "1.0.1",
"ip-range-check": "0.2.0",
- "jsonwebtoken": "8.5.1",
+ "jsonwebtoken": "9.0.0",
"jwks-rsa": "2.1.5",
"ldapjs": "2.3.3",
"lodash": "4.17.21",
- "lru-cache": "7.12.0",
+ "lru-cache": "9.1.1",
"mime": "3.0.0",
"mongodb": "4.10.0",
"mustache": "4.2.0",
- "parse": "4.0.1",
- "path-to-regexp": "0.1.7",
- "pg-monitor": "1.5.0",
- "pg-promise": "10.12.1",
+ "parse": "4.1.0",
+ "path-to-regexp": "6.2.1",
+ "pg-monitor": "2.0.0",
+ "pg-promise": "11.5.0",
"pluralize": "8.0.0",
- "redis": "4.0.6",
- "semver": "7.3.8",
+ "rate-limit-redis": "3.0.2",
+ "redis": "4.6.6",
+ "semver": "7.5.2",
"subscriptions-transport-ws": "0.11.0",
"tv4": "1.3.0",
"uuid": "9.0.0",
- "winston": "3.8.1",
+ "winston": "3.8.2",
"winston-daily-rotate-file": "4.7.1",
- "ws": "8.9.0"
+ "ws": "8.13.0"
},
"bin": {
"parse-server": "bin/parse-server"
@@ -7380,9 +7413,9 @@
}
},
"node_modules/parse-server/node_modules/@babel/eslint-parser": {
- "version": "7.19.1",
- "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.19.1.tgz",
- "integrity": "sha512-AqNf2QWt1rtu2/1rLswy6CDP7H9Oh3mMhk177Y67Rg8d7RD9WfOLLv8CGn6tisFvS2htm86yIe1yLF6I1UDaGQ==",
+ "version": "7.21.8",
+ "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.21.8.tgz",
+ "integrity": "sha512-HLhI+2q+BP3sf78mFUZNCGc10KEmoUqtUT1OCdMZsN+qr4qFeLUod62/zAnF3jNQstwyasDkZnVXwfK2Bml7MQ==",
"dependencies": {
"@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1",
"eslint-visitor-keys": "^2.1.0",
@@ -7397,13 +7430,60 @@
}
},
"node_modules/parse-server/node_modules/@babel/eslint-parser/node_modules/semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
"bin": {
"semver": "bin/semver.js"
}
},
+ "node_modules/parse-server/node_modules/@graphql-tools/merge": {
+ "version": "8.4.1",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-8.4.1.tgz",
+ "integrity": "sha512-hssnPpZ818mxgl5+GfyOOSnnflAxiaTn1A1AojZcIbh4J52sS1Q0gSuBR5VrnUDjuxiqoCotpXdAQl+K+U6KLQ==",
+ "dependencies": {
+ "@graphql-tools/utils": "^9.2.1",
+ "tslib": "^2.4.0"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
+ }
+ },
+ "node_modules/parse-server/node_modules/@graphql-tools/merge/node_modules/@graphql-tools/utils": {
+ "version": "9.2.1",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-9.2.1.tgz",
+ "integrity": "sha512-WUw506Ql6xzmOORlriNrD6Ugx+HjVgYxt9KCXD9mHAak+eaXSwuGGPyE60hy9xaDEoXKBsG7SkG69ybitaVl6A==",
+ "dependencies": {
+ "@graphql-typed-document-node/core": "^3.1.1",
+ "tslib": "^2.4.0"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
+ }
+ },
+ "node_modules/parse-server/node_modules/body-parser": {
+ "version": "1.20.2",
+ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz",
+ "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==",
+ "dependencies": {
+ "bytes": "3.1.2",
+ "content-type": "~1.0.5",
+ "debug": "2.6.9",
+ "depd": "2.0.0",
+ "destroy": "1.2.0",
+ "http-errors": "2.0.0",
+ "iconv-lite": "0.4.24",
+ "on-finished": "2.4.1",
+ "qs": "6.11.0",
+ "raw-body": "2.5.2",
+ "type-is": "~1.6.18",
+ "unpipe": "1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8",
+ "npm": "1.2.8000 || >= 1.4.16"
+ }
+ },
"node_modules/parse-server/node_modules/bson": {
"version": "4.7.2",
"resolved": "https://registry.npmjs.org/bson/-/bson-4.7.2.tgz",
@@ -7415,6 +7495,14 @@
"node": ">=6.9.0"
}
},
+ "node_modules/parse-server/node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
"node_modules/parse-server/node_modules/denque": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/denque/-/denque-2.1.0.tgz",
@@ -7424,11 +7512,11 @@
}
},
"node_modules/parse-server/node_modules/lru-cache": {
- "version": "7.12.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.12.0.tgz",
- "integrity": "sha512-OIP3DwzRZDfLg9B9VP/huWBlpvbkmbfiBy8xmsXp4RPmE4A3MhwNozc5ZJ3fWnSg8fDcdlE/neRTPG2ycEKliw==",
+ "version": "9.1.1",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-9.1.1.tgz",
+ "integrity": "sha512-65/Jky17UwSb0BuB9V+MyDpsOtXKmYwzhyl+cOa9XUiI4uV2Ouy/2voFP3+al0BjZbJgMBD8FojMpAf+Z+qn4A==",
"engines": {
- "node": ">=12"
+ "node": "14 || >=16.14"
}
},
"node_modules/parse-server/node_modules/mongodb": {
@@ -7448,10 +7536,34 @@
"saslprep": "^1.0.3"
}
},
+ "node_modules/parse-server/node_modules/ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
+ },
+ "node_modules/parse-server/node_modules/path-to-regexp": {
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.1.tgz",
+ "integrity": "sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw=="
+ },
+ "node_modules/parse-server/node_modules/raw-body": {
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz",
+ "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==",
+ "dependencies": {
+ "bytes": "3.1.2",
+ "http-errors": "2.0.0",
+ "iconv-lite": "0.4.24",
+ "unpipe": "1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
"node_modules/parse-server/node_modules/semver": {
- "version": "7.3.8",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
- "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
+ "version": "7.5.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.2.tgz",
+ "integrity": "sha512-SoftuTROv/cRjCze/scjGyiDtcUyxw1rgYQSZY7XTmtR5hX+dm76iDbTH8TkLPHCQmlbQVSSbNZCPM2hb0knnQ==",
"dependencies": {
"lru-cache": "^6.0.0"
},
@@ -7482,15 +7594,15 @@
}
},
"node_modules/parse-server/node_modules/ws": {
- "version": "8.9.0",
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.9.0.tgz",
- "integrity": "sha512-Ja7nszREasGaYUYCI2k4lCKIRTt+y7XuqVoHR44YpI49TtryyqbqvDMn5eqfW7e6HzTukDRIsXqzVHScqRcafg==",
+ "version": "8.13.0",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz",
+ "integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==",
"engines": {
"node": ">=10.0.0"
},
"peerDependencies": {
"bufferutil": "^4.0.1",
- "utf-8-validate": "^5.0.2"
+ "utf-8-validate": ">=5.0.2"
},
"peerDependenciesMeta": {
"bufferutil": {
@@ -7507,12 +7619,11 @@
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
},
"node_modules/parse/node_modules/uuid": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
- "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
- "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.",
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz",
+ "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==",
"bin": {
- "uuid": "bin/uuid"
+ "uuid": "dist/bin/uuid"
}
},
"node_modules/parseurl": {
@@ -7591,21 +7702,24 @@
"integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow=="
},
"node_modules/pg": {
- "version": "8.8.0",
- "resolved": "https://registry.npmjs.org/pg/-/pg-8.8.0.tgz",
- "integrity": "sha512-UXYN0ziKj+AeNNP7VDMwrehpACThH7LUl/p8TDFpEUuSejCUIwGSfxpHsPvtM6/WXFy6SU4E5RG4IJV/TZAGjw==",
+ "version": "8.11.0",
+ "resolved": "https://registry.npmjs.org/pg/-/pg-8.11.0.tgz",
+ "integrity": "sha512-meLUVPn2TWgJyLmy7el3fQQVwft4gU5NGyvV0XbD41iU9Jbg8lCH4zexhIkihDzVHJStlt6r088G6/fWeNjhXA==",
"dependencies": {
"buffer-writer": "2.0.0",
"packet-reader": "1.0.0",
- "pg-connection-string": "^2.5.0",
- "pg-pool": "^3.5.2",
- "pg-protocol": "^1.5.0",
+ "pg-connection-string": "^2.6.0",
+ "pg-pool": "^3.6.0",
+ "pg-protocol": "^1.6.0",
"pg-types": "^2.1.0",
"pgpass": "1.x"
},
"engines": {
"node": ">= 8.0.0"
},
+ "optionalDependencies": {
+ "pg-cloudflare": "^1.1.0"
+ },
"peerDependencies": {
"pg-native": ">=3.0.1"
},
@@ -7615,10 +7729,16 @@
}
}
},
+ "node_modules/pg-cloudflare": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/pg-cloudflare/-/pg-cloudflare-1.1.1.tgz",
+ "integrity": "sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==",
+ "optional": true
+ },
"node_modules/pg-connection-string": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.6.0.tgz",
- "integrity": "sha512-x14ibktcwlHKoHxx9X3uTVW9zIGR41ZB6QNhHb21OPNdCCO3NaRnpJuwKIQSR4u+Yqjx4HCvy7Hh7VSy1U4dGg=="
+ "version": "2.6.2",
+ "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.6.2.tgz",
+ "integrity": "sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA=="
},
"node_modules/pg-int8": {
"version": "1.0.1",
@@ -7629,22 +7749,22 @@
}
},
"node_modules/pg-minify": {
- "version": "1.6.2",
- "resolved": "https://registry.npmjs.org/pg-minify/-/pg-minify-1.6.2.tgz",
- "integrity": "sha512-1KdmFGGTP6jplJoI8MfvRlfvMiyBivMRP7/ffh4a11RUFJ7kC2J0ZHlipoKiH/1hz+DVgceon9U2qbaHpPeyPg==",
+ "version": "1.6.3",
+ "resolved": "https://registry.npmjs.org/pg-minify/-/pg-minify-1.6.3.tgz",
+ "integrity": "sha512-NoSsPqXxbkD8RIe+peQCqiea4QzXgosdTKY8p7PsbbGsh2F8TifDj/vJxfuR8qJwNYrijdSs7uf0tAe6WOyCsQ==",
"engines": {
- "node": ">=8.0"
+ "node": ">=12.0.0"
}
},
"node_modules/pg-monitor": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/pg-monitor/-/pg-monitor-1.5.0.tgz",
- "integrity": "sha512-Zg5RpoYaz0zyRwAQWKrRxUZgzZ+/r4McMP4vEvg+qE8765SHAB1wHZL58uAjocG4WSK/NLP/zZhUuoyurw4l6Q==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/pg-monitor/-/pg-monitor-2.0.0.tgz",
+ "integrity": "sha512-UqjhroM701sRrJHhXeF1OwNBGxkN9R0YgkVU8A46wWn3RwK/K7QDylChMoDxo8TmGp86CBP4ZSf+RK9vD8XyVA==",
"dependencies": {
"cli-color": "2.0.3"
},
"engines": {
- "node": ">=7.6"
+ "node": ">=14"
}
},
"node_modules/pg-monitor/node_modules/cli-color": {
@@ -7703,25 +7823,25 @@
"integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg=="
},
"node_modules/pg-pool": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-3.6.0.tgz",
- "integrity": "sha512-clFRf2ksqd+F497kWFyM21tMjeikn60oGDmqMT8UBrynEwVEX/5R5xd2sdvdo1cZCFlguORNpVuqxIj+aK4cfQ==",
+ "version": "3.6.1",
+ "resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-3.6.1.tgz",
+ "integrity": "sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og==",
"peerDependencies": {
"pg": ">=8.0"
}
},
"node_modules/pg-promise": {
- "version": "10.12.1",
- "resolved": "https://registry.npmjs.org/pg-promise/-/pg-promise-10.12.1.tgz",
- "integrity": "sha512-SiJkBUDGq7PNfJFJbWferodsSH+vLrhte0Q0kVgQbwlNYeKmp9Hhkr+357+5DWEuBGOHhSu1UQffSSf5HVqRtA==",
+ "version": "11.5.0",
+ "resolved": "https://registry.npmjs.org/pg-promise/-/pg-promise-11.5.0.tgz",
+ "integrity": "sha512-ZfhntV6Yoc3S0hQWOlEodk5fEmF9ADxKl0vNvBnZgzvLt73uY29wVaNBz2AZK2J0gVmm/zhO51RXPtI4MgKkSQ==",
"dependencies": {
- "assert-options": "0.7.0",
- "pg": "8.8.0",
- "pg-minify": "1.6.2",
- "spex": "3.2.0"
+ "assert-options": "0.8.1",
+ "pg": "8.11.0",
+ "pg-minify": "1.6.3",
+ "spex": "3.3.0"
},
"engines": {
- "node": ">=12.0"
+ "node": ">=14.0"
}
},
"node_modules/pg-protocol": {
@@ -8082,6 +8202,17 @@
"node": ">= 0.6"
}
},
+ "node_modules/rate-limit-redis": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/rate-limit-redis/-/rate-limit-redis-3.0.2.tgz",
+ "integrity": "sha512-4SBK6AzIr9PKkCF4HmSDcJH2O2KKMF3fZEcsbNMXyaL5I9d6X71uOreUldFRiyrRyP+qkQrTxzJ38ZKKN+sScw==",
+ "engines": {
+ "node": ">= 14.5.0"
+ },
+ "peerDependencies": {
+ "express-rate-limit": "^6"
+ }
+ },
"node_modules/raw-body": {
"version": "2.5.1",
"resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz",
@@ -8145,35 +8276,16 @@
}
},
"node_modules/redis": {
- "version": "4.0.6",
- "resolved": "https://registry.npmjs.org/redis/-/redis-4.0.6.tgz",
- "integrity": "sha512-IaPAxgF5dV0jx+A9l6yd6R9/PAChZIoAskDVRzUODeLDNhsMlq7OLLTmu0AwAr0xjrJ1bibW5xdpRwqIQ8Q0Xg==",
+ "version": "4.6.6",
+ "resolved": "https://registry.npmjs.org/redis/-/redis-4.6.6.tgz",
+ "integrity": "sha512-aLs2fuBFV/VJ28oLBqYykfnhGGkFxvx0HdCEBYdJ99FFbSEMZ7c1nVKwR6ZRv+7bb7JnC0mmCzaqu8frgOYhpA==",
"dependencies": {
- "@node-redis/bloom": "1.0.1",
- "@node-redis/client": "1.0.5",
- "@node-redis/graph": "1.0.0",
- "@node-redis/json": "1.0.2",
- "@node-redis/search": "1.0.5",
- "@node-redis/time-series": "1.0.2"
- }
- },
- "node_modules/redis-errors": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/redis-errors/-/redis-errors-1.2.0.tgz",
- "integrity": "sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w==",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/redis-parser": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/redis-parser/-/redis-parser-3.0.0.tgz",
- "integrity": "sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A==",
- "dependencies": {
- "redis-errors": "^1.0.0"
- },
- "engines": {
- "node": ">=4"
+ "@redis/bloom": "1.2.0",
+ "@redis/client": "1.5.7",
+ "@redis/graph": "1.1.0",
+ "@redis/json": "1.0.4",
+ "@redis/search": "1.1.2",
+ "@redis/time-series": "1.0.4"
}
},
"node_modules/regenerator-runtime": {
@@ -8737,11 +8849,11 @@
}
},
"node_modules/spex": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/spex/-/spex-3.2.0.tgz",
- "integrity": "sha512-9srjJM7NaymrpwMHvSmpDeIK5GoRMX/Tq0E8aOlDPS54dDnDUIp30DrP9SphMPEETDLzEM9+4qo+KipmbtPecg==",
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/spex/-/spex-3.3.0.tgz",
+ "integrity": "sha512-VNiXjFp6R4ldPbVRYbpxlD35yRHceecVXlct1J4/X80KuuPnW2AXMq3sGwhnJOhKkUsOxAT6nRGfGE5pocVw5w==",
"engines": {
- "node": ">=4.5"
+ "node": ">=10.0.0"
}
},
"node_modules/split2": {
@@ -9629,10 +9741,11 @@
}
},
"node_modules/winston": {
- "version": "3.8.1",
- "resolved": "https://registry.npmjs.org/winston/-/winston-3.8.1.tgz",
- "integrity": "sha512-r+6YAiCR4uI3N8eQNOg8k3P3PqwAm20cLKlzVD9E66Ch39+LZC+VH1UKf9JemQj2B3QoUHfKD7Poewn0Pr3Y1w==",
+ "version": "3.8.2",
+ "resolved": "https://registry.npmjs.org/winston/-/winston-3.8.2.tgz",
+ "integrity": "sha512-MsE1gRx1m5jdTTO9Ld/vND4krP2To+lgDoMEHGGa4HIlAUyXJtfc7CxQcGXVyz2IBpw5hbFkj2b/AtUdQwyRew==",
"dependencies": {
+ "@colors/colors": "1.5.0",
"@dabh/diagnostics": "^2.0.2",
"async": "^3.2.3",
"is-stream": "^2.0.0",
@@ -9788,15 +9901,15 @@
}
},
"node_modules/ws": {
- "version": "8.6.0",
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.6.0.tgz",
- "integrity": "sha512-AzmM3aH3gk0aX7/rZLYvjdvZooofDu3fFOzGqcSnQ1tOcTWwhM/o+q++E8mAyVVIyUdajrkzWUGftaVSDLn1bw==",
+ "version": "8.12.0",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.12.0.tgz",
+ "integrity": "sha512-kU62emKIdKVeEIOIKVegvqpXMSTAMLJozpHZaJNDYqBjzlSYXQGviYwN1osDLJ9av68qHd4a2oSjd7yD4pacig==",
"engines": {
"node": ">=10.0.0"
},
"peerDependencies": {
"bufferutil": "^4.0.1",
- "utf-8-validate": "^5.0.2"
+ "utf-8-validate": ">=5.0.2"
},
"peerDependenciesMeta": {
"bufferutil": {
diff --git a/apps/OpenSignServer/package.json b/apps/OpenSignServer/package.json
index 2f79c8e68..50292ad43 100644
--- a/apps/OpenSignServer/package.json
+++ b/apps/OpenSignServer/package.json
@@ -34,10 +34,11 @@
"node-forge": "^1.3.1",
"node-signpdf": "^1.5.1",
"openai": "^4.8.0",
- "parse": "4.0.1",
- "parse-server": "6.0.0",
+ "parse": "4.1.0",
+ "parse-server": "6.3.1",
"parse-server-api-mail-adapter": "^3.0.0",
"parse-server-s3-adapter": "^1.2.0",
+ "parse-server-fs-adapter": "1.0.1",
"pdf-lib": "^1.16.0",
"pdfkit": "^0.13.0",
"razorpay": "^2.8.6",
diff --git a/apps/localstack/localstack-script.sh b/apps/localstack/localstack-script.sh
new file mode 100644
index 000000000..0119cfb82
--- /dev/null
+++ b/apps/localstack/localstack-script.sh
@@ -0,0 +1,6 @@
+#!/bin/bash
+
+awslocal s3api \
+create-bucket --bucket my-bucket \
+--create-bucket-configuration LocationConstraint=eu-central-1 \
+--region eu-central-1
\ No newline at end of file
diff --git a/apps/mongo/Dockerfile b/apps/mongo/Dockerfile
new file mode 100644
index 000000000..c8468de0e
--- /dev/null
+++ b/apps/mongo/Dockerfile
@@ -0,0 +1,11 @@
+# Use the official MongoDB imagee
+FROM mongo:latest
+
+# Create a directory to host initialization scripts
+RUN mkdir -p /docker-entrypoint-initdb.d
+
+# Copy default data JSON files to the initialization directory
+COPY ./default-data/*.json /docker-entrypoint-initdb.d/
+
+# Execute the initialization script during container startup
+CMD ["mongod"]
\ No newline at end of file
diff --git a/apps/mongo/default-data/legadraGCva._Role.json b/apps/mongo/default-data/legadraGCva._Role.json
new file mode 100644
index 000000000..4c6406fc9
--- /dev/null
+++ b/apps/mongo/default-data/legadraGCva._Role.json
@@ -0,0 +1,70 @@
+[{
+ "_id": "lpm8ijrwod",
+ "name": "contracts_Admin",
+ "_wperm": [
+ "*"
+ ],
+ "_rperm": [
+ "*"
+ ],
+ "_acl": {
+ "*": {
+ "r": true,
+ "w": true
+ }
+ },
+ "_created_at": {
+ "$date": "2023-09-19T09:25:20.205Z"
+ },
+ "_updated_at": {
+ "$date": "2023-09-28T09:47:03.968Z"
+ }
+ },
+ {
+ "_id": "Bz90QJSYMw",
+ "name": "contracts_Guest",
+ "_wperm": [
+ "ZhOmhqvw7S"
+ ],
+ "_rperm": [
+ "*",
+ "ZhOmhqvw7S"
+ ],
+ "_acl": {
+ "ZhOmhqvw7S": {
+ "w": true,
+ "r": true
+ },
+ "*": {
+ "r": true
+ }
+ },
+ "_created_at": {
+ "$date": "2023-10-20T07:56:10.094Z"
+ },
+ "_updated_at": {
+ "$date": "2023-10-20T10:50:36.229Z"
+ }
+ },
+ {
+ "_id": "Tb14x04JK2",
+ "name": "contracts_User",
+ "_wperm": [
+ "*"
+ ],
+ "_rperm": [
+ "*"
+ ],
+ "_acl": {
+ "*": {
+ "r": true,
+ "w": true
+ }
+ },
+ "_created_at": {
+ "$date": "2023-09-19T09:25:20.205Z"
+ },
+ "_updated_at": {
+ "$date": "2023-10-20T06:54:09.836Z"
+ }
+ }]
\ No newline at end of file
diff --git a/apps/mongo/default-data/legadraGCva._SCHEMA.json b/apps/mongo/default-data/legadraGCva._SCHEMA.json
new file mode 100644
index 000000000..a58eae1b0
--- /dev/null
+++ b/apps/mongo/default-data/legadraGCva._SCHEMA.json
@@ -0,0 +1,657 @@
+[{
+ "_id": "_Role",
+ "objectId": "string",
+ "updatedAt": "date",
+ "createdAt": "date",
+ "name": "string",
+ "users": "relation<_User>",
+ "roles": "relation<_Role>",
+ "_metadata": {
+ "indexes": {
+ "name_1": {
+ "name": 1
+ },
+ "_id_": {
+ "_id": 1
+ }
+ },
+ "class_permissions": {
+ "get": {
+ "*": true
+ },
+ "find": {
+ "*": true
+ },
+ "count": {
+ "*": true
+ },
+ "create": {
+ "*": true
+ },
+ "update": {
+ "*": true
+ },
+ "delete": {
+ "*": true
+ },
+ "addField": {},
+ "protectedFields": {
+ "*": []
+ }
+ }
+ }
+ },
+ {
+ "_id": "_Session",
+ "objectId": "string",
+ "updatedAt": "date",
+ "createdAt": "date",
+ "user": "*_User",
+ "installationId": "string",
+ "sessionToken": "string",
+ "expiresAt": "date",
+ "createdWith": "object",
+ "_metadata": {
+ "indexes": {
+ "_id_": {
+ "_id": 1
+ }
+ }
+ }
+ },
+ {
+ "_id": "_User",
+ "objectId": "string",
+ "updatedAt": "date",
+ "createdAt": "date",
+ "username": "string",
+ "email": "string",
+ "emailVerified": "boolean",
+ "authData": "object",
+ "_metadata": {
+ "indexes": {
+ "phone_1": {
+ "phone": 1
+ },
+ "username_1": {
+ "username": 1
+ },
+ "case_insensitive_username": {
+ "username": 1
+ },
+ "email_1": {
+ "email": 1
+ },
+ "case_insensitive_email": {
+ "email": 1
+ },
+ "_id_": {
+ "_id": 1
+ }
+ },
+ "class_permissions": {
+ "get": {
+ "*": true
+ },
+ "find": {
+ "*": true
+ },
+ "count": {
+ "*": true
+ },
+ "create": {
+ "*": true
+ },
+ "update": {
+ "*": true
+ },
+ "delete": {
+ "*": true
+ },
+ "addField": {},
+ "protectedFields": {
+ "*": [
+ "email"
+ ]
+ }
+ }
+ },
+ "name": "string",
+ "phone": "string",
+ "ProfilePic": "string"
+ },
+ {
+ "_id": "contracts_Contactbook",
+ "objectId": "string",
+ "updatedAt": "date",
+ "createdAt": "date",
+ "Phone": "string",
+ "Email": "string",
+ "Name": "string",
+ "UserRole": "string",
+ "UserId": "*_User",
+ "CreatedBy": "*_User",
+ "_metadata": {
+ "indexes": {
+ "_id_": {
+ "_id": 1
+ }
+ }
+ },
+ "TenantId": "*partners_Tenant",
+ "TourStatus": "array"
+ },
+ {
+ "_id": "contracts_Document",
+ "objectId": "string",
+ "updatedAt": "date",
+ "createdAt": "date",
+ "_metadata": {
+ "fields_options": {
+ "EnablePhoneOTP": {
+ "required": "false"
+ },
+ "IsCompleted": {
+ "required": "false",
+ "defaultValue": false
+ },
+ "IsDeclined": {
+ "required": "false",
+ "defaultValue": false
+ },
+ "SendinOrder": {
+ "required": "false",
+ "defaultValue": false
+ },
+ "ExpiryDate": {
+ "required": "false"
+ },
+ "Signers": {
+ "required": "false"
+ },
+ "Name": {
+ "required": "false"
+ },
+ "AgreementValidUntil": {
+ "required": "false"
+ },
+ "URL": {
+ "required": "false"
+ },
+ "RemindOnceInEvery": {
+ "required": "false",
+ "defaultValue": 5
+ },
+ "EnableEmailOTP": {
+ "required": "false"
+ },
+ "AutomaticReminders": {
+ "required": "false",
+ "defaultValue": false
+ },
+ "SentToOthers": {
+ "required": "false",
+ "defaultValue": false
+ },
+ "TimeToCompleteDays": {
+ "required": "false",
+ "defaultValue": 15
+ },
+ "Recipients": {
+ "required": "false"
+ },
+ "Type": {
+ "required": "false"
+ },
+ "Description": {
+ "required": "false"
+ },
+ "ExtUserPtr": {
+ "required": "false"
+ },
+ "SignedUrl": {
+ "required": "false"
+ },
+ "AuditTrail": {
+ "required": "false"
+ },
+ "Placeholders": {
+ "required": "false"
+ },
+ "Folder": {
+ "required": "false"
+ },
+ "Note": {
+ "required": false
+ },
+ "Clauses": {
+ "required": false
+ },
+ "AgreementDelta": {
+ "required": false
+ }
+ },
+ "indexes": {
+ "_id_": {
+ "_id": 1
+ }
+ },
+ "class_permissions": {
+ "get": {
+ "*": true
+ },
+ "find": {
+ "*": true
+ },
+ "count": {
+ "*": true
+ },
+ "create": {
+ "*": true
+ },
+ "update": {
+ "*": true
+ },
+ "delete": {
+ "*": true
+ },
+ "addField": {},
+ "protectedFields": {
+ "*": []
+ }
+ }
+ },
+ "EnablePhoneOTP": "boolean",
+ "IsCompleted": "boolean",
+ "IsDeclined": "boolean",
+ "SendinOrder": "boolean",
+ "ExpiryDate": "date",
+ "Signers": "array",
+ "Name": "string",
+ "AgreementValidUntil": "date",
+ "URL": "string",
+ "RemindOnceInEvery": "number",
+ "EnableEmailOTP": "boolean",
+ "AutomaticReminders": "boolean",
+ "SentToOthers": "boolean",
+ "TimeToCompleteDays": "number",
+ "Recipients": "array",
+ "Type": "string",
+ "Description": "string",
+ "ExtUserPtr": "*contracts_Users",
+ "SignedUrl": "string",
+ "AuditTrail": "array",
+ "Placeholders": "array",
+ "Folder": "*contracts_Document",
+ "Note": "string",
+ "CreatedBy": "*_User",
+ "Clauses": "array",
+ "AgreementDelta": "array"
+ },
+ {
+ "_id": "contracts_Signature",
+ "objectId": "string",
+ "updatedAt": "date",
+ "createdAt": "date",
+ "_metadata": {
+ "fields_options": {
+ "SignatureName": {
+ "required": "false"
+ },
+ "SignText": {
+ "required": "false"
+ },
+ "ImageURL": {
+ "required": "false"
+ },
+ "SignTextFont": {
+ "required": "false"
+ },
+ "InitialsText": {
+ "required": "false"
+ },
+ "InitialsFont": {
+ "required": "false"
+ },
+ "UserId": {
+ "required": false
+ }
+ },
+ "indexes": {
+ "_id_": {
+ "_id": 1
+ }
+ },
+ "class_permissions": {
+ "get": {
+ "*": true
+ },
+ "find": {
+ "*": true
+ },
+ "count": {
+ "*": true
+ },
+ "create": {
+ "*": true
+ },
+ "update": {
+ "*": true
+ },
+ "delete": {
+ "*": true
+ },
+ "addField": {},
+ "protectedFields": {
+ "*": []
+ }
+ }
+ },
+ "SignatureName": "string",
+ "SignText": "string",
+ "ImageURL": "string",
+ "SignTextFont": "string",
+ "InitialsText": "string",
+ "InitialsFont": "string",
+ "Initials": "string",
+ "UserId": "*_User"
+ },
+ {
+ "_id": "contracts_Users",
+ "objectId": "string",
+ "updatedAt": "date",
+ "createdAt": "date",
+ "_metadata": {
+ "fields_options": {
+ "Name": {
+ "required": "false"
+ },
+ "Phone": {
+ "required": "false"
+ },
+ "JobTitle": {
+ "required": "false"
+ },
+ "Email": {
+ "required": "false"
+ },
+ "Company": {
+ "required": "false"
+ },
+ "UserId": {
+ "required": "false"
+ },
+ "TenantId": {
+ "required": "false"
+ },
+ "TourStatus": {
+ "required": false
+ },
+ "IsContactEntry": {
+ "required": false,
+ "defaultValue": false
+ },
+ "ShareWithTeam": {
+ "required": false
+ }
+ },
+ "indexes": {
+ "_id_": {
+ "_id": 1
+ }
+ },
+ "class_permissions": {
+ "get": {
+ "*": true
+ },
+ "find": {
+ "*": true
+ },
+ "count": {
+ "*": true
+ },
+ "create": {
+ "*": true
+ },
+ "update": {
+ "*": true
+ },
+ "delete": {
+ "*": true
+ },
+ "addField": {},
+ "protectedFields": {
+ "*": []
+ }
+ }
+ },
+ "Name": "string",
+ "Phone": "string",
+ "JobTitle": "string",
+ "Email": "string",
+ "Company": "string",
+ "UserId": "*_User",
+ "TenantId": "*partners_Tenant",
+ "TourStatus": "array",
+ "Plan": "object",
+ "UserRole": "string",
+ "Next_billing_date": "date",
+ "Customer_id": "string",
+ "Subscription_id": "string",
+ "CreatedBy": "*_User",
+ "IsContactEntry": "boolean",
+ "ShareWithTeam": "boolean"
+ },
+ {
+ "_id": "partners_DataFiles",
+ "objectId": "string",
+ "updatedAt": "date",
+ "createdAt": "date",
+ "FileSize": "number",
+ "FileUrl": "string",
+ "_metadata": {
+ "indexes": {
+ "_id_": {
+ "_id": 1
+ }
+ }
+ }
+ },
+ {
+ "_id": "partners_Subscriptions",
+ "objectId": "string",
+ "updatedAt": "date",
+ "createdAt": "date"
+ },
+ {
+ "_id": "partners_Tenant",
+ "objectId": "string",
+ "updatedAt": "date",
+ "createdAt": "date",
+ "EmailAddress": "string",
+ "TenantName": "string",
+ "IsActive": "boolean",
+ "CreatedBy": "*_User",
+ "ContactNumber": "string",
+ "UserId": "*_User",
+ "_metadata": {
+ "indexes": {
+ "_id_": {
+ "_id": 1
+ }
+ }
+ }
+ },
+ {
+ "_id": "partners_TenantCredits",
+ "objectId": "string",
+ "updatedAt": "date",
+ "createdAt": "date",
+ "usedStorage": "number",
+ "PartnersTenant": "*partners_Tenant",
+ "_metadata": {
+ "indexes": {
+ "_id_": {
+ "_id": 1
+ }
+ }
+ }
+ },
+ {
+ "_id": "w_appinfo",
+ "objectId": "string",
+ "updatedAt": "date",
+ "createdAt": "date",
+ "orgId": "string",
+ "forgetpassFormId": "string",
+ "mainformObjId": "string",
+ "applogo": "string",
+ "fbAppId": "string",
+ "appname": "string",
+ "loginFormId": "string",
+ "baseurl": "string",
+ "org_name": "string",
+ "signUpFormId": "string",
+ "defaultmenuid": "string",
+ "version": "string",
+ "formTitle": "string",
+ "googleClietId": "string",
+ "_metadata": {
+ "indexes": {
+ "_id_": {
+ "_id": 1
+ }
+ },
+ "class_permissions": {
+ "get": {
+ "*": true
+ },
+ "find": {
+ "*": true
+ },
+ "count": {
+ "*": true
+ },
+ "create": {
+ "*": true
+ },
+ "update": {
+ "*": true
+ },
+ "delete": {
+ "*": true
+ },
+ "addField": {
+ "*": true
+ }
+ },
+ "fields_options": {
+ "uploadUrl": {
+ "required": false
+ }
+ }
+ },
+ "class": "string",
+ "LandingPageId": "string",
+ "accessType": "string",
+ "settings": "array",
+ "appTitle": "string",
+ "metaDescription": "string",
+ "branding_image": "string",
+ "fev_Icon": "string",
+ "defaultRole": "string",
+ "results": "array",
+ "loginType": "string",
+ "createdBy": "*_User",
+ "domain": "string",
+ "enableWebNotification": "boolean",
+ "allowWhiteLabel": "boolean",
+ "uploadUrl": "string"
+ },
+ {
+ "_id": "w_dashboard",
+ "objectId": "string",
+ "updatedAt": "date",
+ "createdAt": "date",
+ "dbDescription": "string",
+ "dbTitle": "string",
+ "bgColor": "string",
+ "rows": "array",
+ "_metadata": {
+ "indexes": {
+ "_id_": {
+ "_id": 1
+ }
+ }
+ },
+ "appId": "*w_appinfo"
+ },
+ {
+ "_id": "w_formV3",
+ "objectId": "string",
+ "updatedAt": "date",
+ "createdAt": "date",
+ "description": "string",
+ "uiSchema": "object",
+ "jsonSchema": "object",
+ "_metadata": {
+ "indexes": {
+ "_id_": {
+ "_id": 1
+ }
+ }
+ },
+ "class": "string",
+ "success_message": "string",
+ "restrict_form_entry": "object",
+ "send_email": "boolean",
+ "restrict_form_access": "object",
+ "email_template": "object",
+ "form_permission": "string",
+ "success_redirect": "string",
+ "form_buttons": "object",
+ "buttons": "object",
+ "appId": "*w_appinfo",
+ "rpTitle": "string",
+ "rpDescription": "string",
+ "rpType": "string",
+ "bgColor": "string",
+ "rows": "array",
+ "redirect_id": "string",
+ "formACL": "object",
+ "userSchema": "object",
+ "isRegisterForm": "boolean",
+ "liveValidate": "boolean",
+ "noValidate": "boolean",
+ "validFunction": "string",
+ "help": "object",
+ "name": "string",
+ "phone": "string",
+ "email": "string",
+ "password": "string",
+ "username": "string",
+ "role": "string",
+ "helpText": "object",
+ "helpTextForm": "object",
+ "hideActionsAfter": "number",
+ "rules": "array",
+ "extraActions": "object",
+ "persistentFields": "array"
+ },
+ {
+ "_id": "w_menu",
+ "objectId": "string",
+ "updatedAt": "date",
+ "createdAt": "date",
+ "menuTitle": "string",
+ "menuType": "string",
+ "menuItems": "array",
+ "_metadata": {
+ "indexes": {
+ "_id_": {
+ "_id": 1
+ }
+ }
+ },
+ "appId": "*w_appinfo"
+ }]
\ No newline at end of file
diff --git a/apps/mongo/default-data/legadraGCva.w_appinfo.json b/apps/mongo/default-data/legadraGCva.w_appinfo.json
new file mode 100644
index 000000000..435a02ac0
--- /dev/null
+++ b/apps/mongo/default-data/legadraGCva.w_appinfo.json
@@ -0,0 +1,59 @@
+[{
+ "_id": "aIPmIvMzGM",
+ "_created_at": {
+ "$date": "2023-09-01T08:37:11.830Z"
+ },
+ "_updated_at": {
+ "$date": "2023-10-20T07:56:08.347Z"
+ },
+ "settings": [
+ {
+ "role": "contracts_User",
+ "menuId": "H9vRfEYKhT",
+ "pageType": "dashboard",
+ "pageId": "35KBoSgoAK",
+ "extended_class": "contracts_Users"
+ },
+ {
+ "role": "contracts_Admin",
+ "menuId": "VPh91h0ZHk",
+ "pageType": "dashboard",
+ "pageId": "35KBoSgoAK",
+ "extended_class": "contracts_Users"
+ },
+ {
+ "role": "contracts_Guest"
+ }
+ ],
+ "_p_createdBy": "_User$jHp2HBNiNu",
+ "appname": "contracts",
+ "version": "0.1",
+ "googleClietId": "918704711393-thhv3re2pfqvve76tgb86ulu1tlpssrk.apps.googleusercontent.com",
+ "fbAppId": "1155800517950502",
+ "baseurl": "https://server3.qik.ai/legadranaxn",
+ "applogo": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPoAAAA8CAYAAABPXaeUAAAAAXNSR0IArs4c6QAAG0ZJREFUeF7tnQl4VdW1x3+Zb+aQ3AgkhJAwmIAVFCcQaZ1wQl+xClZbq9Za9FVtX9unzw7WDr62tg7P1qLW2qJ1QGtFnmhRX9E6oICAigkQQiaGkHlOCCTv++fcG25Ozrn3JrmBIGd9n58fN/vss8/a+7/X2mvaYeQv7uZoooIlYUfT5zrf6nBAHAhzgO4sBIcDn30OOED/7M+x84UOBxyJ7qwBhwNHAwcciX40zLLzjUc9BxygH/VLwGHA0cABB+gQCfzcYrL3Az88GhbBYfjGM4HzBvheeYf2AXXAP4FNA3x+pDdPBr4JTAdOBdIw1qa+91Jg3VA+wAE6xADtFkxsA+KGwlznWVsO3A789xD5Uws8CPzSZv6G2P0hfXwu8A/AZfNWbYyrhzIiB+gO0Ieyfgb7bCiA7n33LuAy4L3BDuYwP5cIlAOS6HZkBvr/eL7Zt/1W4At2HThAd4B+ONZ5KIGu8XcC5wBvHY6PGeI7vwfcE6APM9D/DHzN9MynwLQhA7370z8M8XuG9/GwqTcG94L+kXGO6h4c50LZKtRA19hagKlAWSgHegj6ehS43uI9pcDLGILoXkBA9pID9IAT4wA9IIsOQQM7oD8L/J/F++OBBOA44EtAhM0YVw3CyHcIPtfvK3TkOM3UogEYDXTYPOkAPeCsOUAPyKJD0MAO6LcCOn/6o1TgGeBcm0ZDNlwdgu/3fcVmjybi+5uOIJ/3Mw4H6AEnaWQAfQKwCBjr+S8c2AtUAq8NwbAk1fWLgMAgI08zsBv4EyArtUi/Szr6klxXewLyDqYA8z2uHxmPooFGz3ukMj8HNAXRz1CAru6VmPQBcJLFu6QVXGH6XeOUu8pM4o2XNBc69x7j8bboLGiX8KU2l3ukborHWq7vbvXM4d88fA+CFVgB/U1/hjXAAXpAzh5eoM8AfgOcHWCcAs1tHskV8JM8EuEhP1JAxiqBS2e9HwE/NXUayJV4iSfW4HNBDEYblaTy//ppO1Sgq+sLPWdY82sOeICnOAgvyRot37uZdAToAn4B/JdnA/G28f7N95mZwK+CmD89IwDfDzxmsWEUAdrsRVbHEG0wGpeXvgPkAjd7fpBgsMrC1Ld7SceBXt970FZ3xxgXxBL33+Raz6QPJE1W0unLfiSL3igfrM6mMtoEovs8ARgDAboswrIMD5SeAK62eSgUQBcf64Eki3dIrX/d53d/QJcv/iaLPsxAX+jZeAcyf+r2XeAs03m7GMgZAEN1pBHQ9f9g6WQH6H1ZdSis7td5QB7sJPm2s1JFvX+XKq0IMbtAC6v3vQOcbvqDnUQXUP8ymEF7npEE+p3F86EAurpdCnzVov8fAHcHAfQFwN9tvs8X6JLka22kaDDseQq4yqehA/RguGbVZgS716TubgSkblmRQhylZqb7+XadOQV4M8loc8ZgeebznBXQNd5qYJRF/1Ir5f7R+TzDz9h1BtbfzRQqoN8J/MSi/9+atBA7iV5jc3ZXl75Al3Zgd9zSN8q+ofnLtNkMpIrLpuG1XxT6qO5RFmvDG+7r/TRpVBMd1V3cHbl+9JXABRaLcQXwDY/xRn+WCvprT7yzubkMdTIW+Z7b7M6oelYum0cASW8Z3tT2+36ir6yALlXVanPR2ftKk9EtC3gJkA3CTDIMajPzpVAB/T8AgdpMZi3IDujm5wQwbbqKMdd/4reMeNrwzLTB4+rb4fMH8VoegYss2kuiS7KbSaGtZgu7Y4yzYFTPTyMU6OM9ks88bH8TKVX33y2+Uyrqkz6/L/NYfs1NpYoqCcJM2cC/AIHSTFZA/5lFUo+syrIyy7hnJgV9KPjDTAK/OQElVECX3UMeBTO94YmU8/4eCOji+QPAdgt7yNeBP1q8Ix+QZDaTNJidFr/L2Ke4fDMdmUAPGnAWX2z1U7BGwKDfe2it7rKcW03uLGCNDQtkM1CUl9kaK+utN4JKf1MwhbmNgCjXj563ImWMvWrxByugC0RmSSMrrtWZW13eADxs0Xcfo5Dn76ECup0NYSBA/wrwVz/LUR4H88Yp3ivTzIpkN9niAD1IgHubHeFAt/J36pxmZSn25czbFgYz+djHeBoJPPIjm0lxylYWZN926kebgS8Fcq/5mzVl+MmGILeh1Xl+OIEuX7fcimZ6waNWe3+3k+iynZwwwCVp11yqvo5oSnk+3gH6ALl6hANdqt2xpk/WeVW+Zn8kcJjdLzo/SoLr/7d4VE1zH8FElunsLtvAQIEuQF8MSGWV0UkA0beZg2/MYxpOoEsd9rWue98tl5l4FAjocjPKoDcQEqDlLlPOuAxwyh+XwdVqk/Pt11Hd/XH5CAe6VOhQ5rRLrVfxBRXE0BnaTOd78pr9sdTq7O1Poguoep9APlAfssYxnECX8VJGRjPdZbLG20n0b9tsmFb8k21Dm4Ki5wT2gZID9M8w0FXQIphAlmAXTaynyMKPAS1mM8k/rgANf6Tn9Lwv2QFdfnAZqYIBuI4kCq8103AC/SOPNDW/8xqT/98O6OZ2dnyTa03ehmDiFaps3I0O0D/DQBeAzItDYYq+4ZnBglztZPHW5mEn0RUA8mKADqXqatEFArokuFxmdiTDn6z4shVoc5HdwcodN1xAV3aXXXy+VGpfl5gd0CWdFXTjj2Rc+9gT12/VTnO5HpAn5RNPAI5VvL8D9M8w0BVUIhebLynSTJJkKPQtTxklcx/miDCrdywHZEkOBHRVLJls0YGs/wqLNVuW7fzuwwV0eTPk1TCTxpVn+nEoQFcoryzzZlLYsY5BilXwTX6R1qVN0EwO0D/DQJdPW9lkvqSEBisADQT48k0rYMNMgdIbFYWljDZlc/kDunzuJRb9y8Jt5eNX00PpXpMRUNLT6qxstdkNFug6skiDMvPLH58V2KTyVg7QB7Kij3BjnF2IpsIZFe9sRwKyeRHrGKCMKJHCU7UABVwzaVFLjbQiq/O52pnP6Hb+acV8f2jTt9xKApmZQi3R5Y2Q10I8NJMCeaTSmyPxBgt0RfUpTNZM0iRkCLQiSX9pAWZyJLoNw3p+PoxAF5CU3z0YkjSUOqd8aSVDmEkVP2UhtyK7RakIMEVpeUn/VlCLmbQwFYL5vs8fJJkUL223OM1AtzsanGLzPZJ42rjkdjNTKIAut6LOyvLXC2R2Bk6p82b7g8YzWKDbRTbagVbvUkCSVSnr4Qa6X00x5GmqQUeoBQmfwwj0IEdo2UyS1mtwkwS0CsoQ2GXV3ubpQWBUNVOdga2s12bXmfy3CviwIxnIFHijM6POz5J0dmQGuox6Cjoxk3zw5ogwBd8ohtsu6UNJNxqHLw1HzTiFr+psbmXoHCzQVcJKRx0zSWNSJRvfs7k2O+Xh20XM2dlPQhUCK21GG62s/v3IAbp9FdhQAV0L3V91UtUH03+KejOfBb1jUJFAVXYxk0JOdTYeCClRw5xJZwa6NhqNycqtJmOekmYkZaU+Kwbf6gjhHZM5N1y/hxroildQWLGs41Y0WKCrL2WneSMSfftWOLA8HPKiaLNTKrK/ks0q+GF1UchggK6AIGldVqSNTnMsV+vwFZ5wJHoP730luv5tZ6gKBqA6l2sRW7lsBFhJlznBdOSpHy4DoW/UmB618qOrLJQ0jGBJ47QqN2xOxgk10HVU0WZiZZz0jn0oQFdAjt2Rx4o3sg/oaGEOlJKF3hy/oOcHA3RpB1abhu94hrfwhAN0S6DrRyVGyGcrdTBY0vleKaZWaZLePmS0U3aVuc63+R3KqFJfOucG40d3e87j3pJH/saszUbeBY3TnGij+mnmDSMUEl1qs3IJvmthfDOPdShAl1aj7wsm71/HB7kuNc8yXPqSNiKVd1Jkoy8NBujSIBRe7S/s1gG6idHebLFgwRdMOwXJWJ0VlcIoS7yMaP7UXUkp1TFTzTG7AoXmcWhhSX1U0UJvEQs9q8Wn9FbVi5NWoOQTgcOX7BJttKC0iSh4xor0nKSUxilSqWaVtjKTgK33ekn/DiSRzH1IRdb7BDptgPqmimAmw2OM8y0t5X1M/AoUMKO22kz1jUqisSogorFJndYGKiOurpuyCs3VGV459L5kxTN9Y6C6gip9rTViF5rsAD3IxTGczXQWl4FMlmTtytpsVK1FNdBkRFMhw2ABbjVOSSFvhRTfYhVqa6WS60ogc2CPb78ap6Syot+06HUm1oUCktaDjfIbTv4OV9/SclRAQoZNbeYKjNFmI3eaXWrwcI3F26/mQ/XkNH+aC41D60jBWr3ag2OMG+5pGHn9q+yzWeV7xaPWj7zROiMKCQccoIeEjYelE1l8rSLDFLChHd2KdD+ZVYqsVEDniujDMo2H5qUO0A8Nn4fjLVLxZY030/OeyyHMKrvyp5WBJfXTTDoPWl2FNBzjdvo8DBxwgH4YmB6iVyrm3K6skyS6ik8q5lrnf1mdrQo3aiiKGQ/mYoYQDdvp5nBwIORAPxwfoXcG7dbrXzPucA15qO+VwU0BEScOoSMZbyTp7eLXh9C18+hI4oAD9JE0GwMfi4xqUsdnD/zRHp+3Ql3N4amD6Mp5ZKRzwAH6SJ+h4MYnv7ySVoJJwpFaryKS8vUGcyFicCNwWo1oDjhAH9HTM+DBKRdaEWry8+psruAOBXMo4UFBOLK4Fwy4V+eBI54DDtCP+Cl0PsDhQGAOOEAPzCOnhcOBI54DDtC9U5g8+Rxc2ZcTnzaWll1FNG1/gtZd/jKiDu3kx6ZlEp/rk+vcfYCutk+o3aww1KFRbMbpJE29jOaPHqdlryqr9qW4sSfiSp1J7WarK5eG9m67p6PT8hmV9w3ix01iX81umktepr7IX7FK657cJ91JddEDUG8EESVOupjE3HPYteqOAYSthpE641YSx59KeGQUTTs/onrb/VCrsGVRDO6Zd1C9fqA14q3GHIH75DupXqvLI82xEIPmtQN0sS550jzGnv0iVet+Cgf2EJ0yg5S8mylZcTptO+2uTho00y0fzF/cRvmT2TQ360LF/pQ05RQyz1pD1Vqjnnt4dCwp066mvfZjyl6YN6TY+MlXb6C9qpCqd39Ae0Mx7pN/TFiXi6r1AgOk5Z9DfM7ZlK20qt4SWj6ot/j4MYz/ShF1hQ/T2fAx4a5M3NN/QM2G77D3A6trn+zHMHHRMravvAmajAzA/MXt1Bfcy+43xcc2Ms59gM66SqrWWV0EYfQ77rxHiUmZQX3R4z3/Thp/ORGJGRQt1WUWAmMcuZc/QfFzXwoBMyLJXbiM4mXKLXCAbmbokPzoGWf/no6WWmrWqDiAQdnzn6Z5z3Zq1hmhoQlZx9HcuJOksacQEZVG3cfLIN5N6uT5dFR/QEtFX0kYnzkdV/ocujpKqCtQLLl30qJJnnQcDdXFpGYvoHbT4z19Z120kcp351P7kbKs+ieKeIFesMQneyoplbxF26h8/4fUfSRLOiRk59PcsJvEMXPo3P1pD3BFMemTScg8l+7OSmo3SzIaFyXGjssk+8IPaNhyF7s3P01Cu4uU0++Grhhq1t9BW20FpKSQkpJCfYlRMNKVMZ7wfZ2EudKJcZ9Ca8lrtNcrieIgSQuISZ1C3eYVuFLctNeXBb0ZuU/8PslTL2T7k6riYlDarNtJyb2U7X9VOas4knKn0VhslOmKGTeZ8NY2Y6yEk5RzEo07jCur0ibnU7NNZZY6ScqdTOa8LdSunUXl+nXEuUdzzJz76WyppW7DT2mttirqqM2hk/KXT6C5XMFFomjyF7dQumo2rT1jCCd1Uh61RUr08VI0ydMuoat5F02lH0NiNDQZ9ecSM46lqbmKxPQ8ohKnUlu0HJq9lWHCSJ2WT+1mo6+EhGPYHx9PZEsL0ZMuobNuM02lKvxxkLQxuiadQ0vZW7Tvb4EmJbP08ag4El3sGnPGPcRlnkXVe9+iqVQSXJlj3uoqRhZZ7qJPiIyNpaNuA1FJU+lqqyEqJZuWitUkTriSXa9fSEORSgDDmNnfJXnKv1Nb8AyJ2WdAuIviZ5Q2CLGpWWRfVsiBdt2B1si2pTMYPetuUqffTnP5c5S/rNTJ/plQlkDXu+b+EteofEqW/5tnnO8QEZVAuCud3a9fR2PJq4yacSWjT76Pus2PEz/2eCLijmXbE6pE28Wo6YsZc9pvaKt8m73v30F4TCLHnPYAYURQue4umoueJ3XG9YzKu47tzxj++rHz7iVh7MUc6Kihq72M2DGXsv3F49m3x1icY8+6l8TcK2mpeIWEzM8THpVFwRJVrVEKZ2BKnX4do0+9n91vXUN9oTYl78anOdF8CGhtlDw3nraaneTdsJeW6rcpf+FSEiaeScbcP7L1caN4ZP7ifex4dhLtdWU940qZ8m2aip+iYtViEiedxehZv6JrXztVH9xJ0w7ro0HeDTU0l71M7Vu30dqqijMibbiezXtUMvmL6vEGYwmcYy99nwMtO+gODyMmZTLNpf+gYpVR8y/3y68RkZTN/poSuru7iXXPouDZ8Z7jhb6tg4IlRvGStOnfYtS0GwiPiad19+skZn+NynduovYT4xbZ5Jx5ZJz3Ei0Vy3Clz4budmo2PtTznw8FDfTAs3OEtLCMjEt0k3XmwyRkyDV1gPaqf9JYtIKaTb/vlUICemvlq+xZ/T3ixs8k+8J1lCzL6pEiY874LZ1tbb3SP+fSB6ld92caylTYv+/ECegTFpZR8tIc2napJrhB+Yv3U/ZEJi0t2gD6kx3Q02beTtr0a9n6J+OOt9xF79DZVEr5St1hbtC48/6TlrJPqCvQXe3G4i/723haqowLEPKuL6Hijatp3mGUvHKf9BPCwlxUrVXeOJZAdyXks+MF49733MtW0VSyukf9lbTPuaSY8iczeo4hSRNOI/P89yhY4r1lJpiFEkbmWfeRNPmbEBbN/uYNNG1/mT2F90KdSlxB7uWv01S0nKptz3LsFR8SHunueYd71l1EEEnle8axwxfoxr+7KFii4h+qqgPjzv4dHfV7qFpvnx/vGjuXcec+RFTcNLq7amksfZGWbU/RUKxbW5UM2BfoY+beQ6RrDBWrVF0Hsi56iu7Otj5A31ddSsVrxu24U67ZRdXa71K3+el+60VATz/15xQ+Mq6nfp37tDuJT59C6Qqly8KU68qoXPM9Gj7VNdou8q7fSdW6HzlA9x8CG0lCzmwSxp1DytRbaNryODtXf8dYWIs+oaHwl9RsehJXygRyrthKwRKjxlv6TON85z3TupJzSJh6LfHuHGLSTifCldO7QxtAL6JgSd9KpoMFunvmj0iaMo/ip40KKAJ6feFj1G46eG+4JIwr70bij8km2j2LyLg8Spdm9EqnwQC9s66e6rW6pBAy5j1EZ82uHrBI+qcedyNFTx6ssCLVdyAS/eBWEEbCmHxiMuaTOu06uvc3UfS0oRlpg4t2Z7Ov8mNiknKJz7mIXW9dwejZD1Oz5g4athtJOqEA+sHxJDFq2nzixp1LUs41lL96Js0lq/sBPfeKNTRs+Qs1G4zjVPrMW4lJO74P0BsK/t4LxomL3qNuy2PUblSRj/4SPTn/EoqfkR0G3DO+T3LeHLY/Iw3O29Z7Jx+Mn7+Uloo1DtCtgJ67aD2Vb3+dlp0Hq6qmz7yF1BO+zZY/KqnfAHpT4c+o2vSsB+hbesHaF+iRPapkc/FjNJS8QFPRx+QvbjIBfRsFS/pe1TRYoE9cuJrmXW9T+bZhSxDQG7Y8Ss1GlVkyaPI12+mo/BeN2/5MfdFa8hfXUbo0e2hAr6mjer1hGOwH9ONvomipNwY/vOeMa0jR4FT3zLPupXVPIXWfquqsQa4xE8j54o5ePrpG55J98Rqatj1HW9W7RKceRzcdpE67jcKH9S5DrR4q0JPGnYJ79oMUL1NOwEGa8MWXaK74kOp1PwkIdG1KsWmT+wC97tPnqNtkfN/EK96lrvBP9kA/9nyKlxnFQQMBfcKCV2jascIBuiXQF6yk80A75S95LZ1hZF3wFOHRLkqXKx48eKAnJroZd1UVBUtUHLCN5KmXkzF3WRBA76RkWY7HoNRnTfX846Dq7q0UG0PGmbeRNOX7lP1tYq8hqT/QI3qOBd5jhitrLjkXvUnp8xm0VhvnTSuJHhmXwJ63FFZrrbp32gA9NnUcExaWUvz8VDqqt5B28k0cM/P3Pqp7OO4ZX6Z6x0poMF+0YHx3+uwfkjxhIUWvnNGrqrtPugH3ifdQ+MjBSqt51++R+4HCR7JIOfZsxn5hCc3l/6R8paHWBgX0cx6kvaGqVzvpz/n4no2x8v0rqd2gFGBZ09wce9l6aj68m+pND/dX3c/4NdEp+ZStUJmnGCZe+S4d1RuHAegw5doSaj/5BdVrHyV69OeYuGADe9fc4gDdCuhSxbMueZGI2El07SsjPGo8nQ2FVLxxVc9iHQjQe9oueJ3IUcfRfaCG9potxI2eRdvelyhb8c0eY9yEhf0l+uSrPiAifiqFz2ZZAiAp92Qy5xmWZIO66Wz6kJ2rb6Zt50ErrJVEz5r/V+LGXMCBfaXsb60lyuWmu6ueoqc+fxDob15N8zbjjJ48dSEZc5+m+v07qdpgqONmY5wd0PX8MSffSNrM39Ld1Upb5Vrixs7zkeiGuln2xgm0bLOrSx/J+C+9QHz6BexvLSLC5YauTspXfZWWMs+5WIG+Z9xHcs4FbF2qeu5RPa6zvWtu7rPIA0l0+cdHn3YPVR/cRvWH9/XHuXCdN5/Muc/0nJG72huIiMulcccT7PyHjGvd/YBOahI5Zy8nZpTq+YfR2biJjpotVLxm3EsvY1xoJDrEZswm6/xlhEdE093VSFdHLbWbH+89Nng+yDHG+c6spFFUWiaNu3eAjT/bciVY/ChVs729vteSevAaJbseZFGWtO4I9hUDaqdva9vX4XHjqDJNoKKYsvpK/VWs/EAonpTc86gvVgUcWaZd5C9u8Gg0hjo9es7Pqdz4gI9Lyab/pFSSxkxiX+Ne2vdY3QU3kHH5ayu+e+uh27WLIGF8HhFRLhq2q7S1/TEkfvTn6OzsYl+thMQB3LPvJCLSReVbhnEzlJQ4cQFNVW9Co4J39jPpqx9R8/5t1G2VS7eXHKCHkulOX+JAFHnXV1K/9RH2NW0lYfyVdHXuomKl7nMTRTJ2zu3sfnugVWCPHO6mHvd10mbeQd1HunU2jvRTfkzJy+fRVuF7TVZovmfCguV0HYilpewpXGkziMucz7YeDadPLIYD9NCw2+nFlwMylCWM+xqRMTF0tpZRs1HW56FUtT3y+KvjT2zKiXR2dtK2Zzmt5b23poT4Y2JIO/FWwl2p0NFM1dY/9AbmOBI9xKx2unM4MMI54Ej0ET5BzvAcDoSCA/8P/Fyp0zk0UBgAAAAASUVORK5CYII=",
+ "accessType": "public",
+ "appTitle": "contracts",
+ "metaDescription": "The fastest way to sign PDFs & request signatures from others.",
+ "branding_image": "",
+ "fev_Icon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAALlJREFUaEPtmN0NwjAMBpNxYDKYiM1Yp90g93CKStH1NbIdfz921Dker2Pc+Js1cDF7MXAxASMGYkAigBI6vh9ZwoXP53uZoAYcvhwdA3mAVbI2aSb+9zFKU4IURB6j/HoPUIEa2G3iGIAhQQDlAUIoE2diabIklISS0NoFPebo77RF6OenEF3QntOm128he0GKrwHyACFoz2MgBqSGkpAEcHs47oHtN5AFakACqMNjQEMoE8SABFCHn4HE2zGHSLeEAAAAAElFTkSuQmCC",
+ "defaultRole": "contracts_User",
+ "loginType": "email-pass",
+ "_acl": {
+ "role:contracts_appeditor": {
+ "w": true,
+ "r": true
+ },
+ "*": {
+ "r": true
+ }
+ },
+ "_rperm": [
+ "*",
+ "role:contracts_appeditor"
+ ],
+ "_wperm": [
+ "role:contracts_appeditor"
+ ],
+ "uploadUrl": "https://root.qik.ai/qik_upload"
+ }]
\ No newline at end of file
diff --git a/apps/mongo/default-data/legadraGCva.w_dashboard.json b/apps/mongo/default-data/legadraGCva.w_dashboard.json
new file mode 100644
index 000000000..3ca1737a5
--- /dev/null
+++ b/apps/mongo/default-data/legadraGCva.w_dashboard.json
@@ -0,0 +1,104 @@
+[{
+ "_id": "35KBoSgoAK",
+ "rows": [
+ {
+ "columns": [
+ {
+ "colxs": "12",
+ "colmd": "6",
+ "collg": "6",
+ "widget": {
+ "type": "Card",
+ "icon": "fas fa-signature",
+ "bgColor": "#f0058e",
+ "label": "Need your Signature",
+ "description": null,
+ "data": {
+ "id": "e04ee9dc-932d-6b80-0202-703fd154eb74",
+ "queryType": "",
+ "class": "contracts_Document",
+ "query": "where={\"$and\":[{\"AuditTrail.UserPtr\":{\"$ne\":{\"__type\":\"Pointer\",\"className\": \"contracts_Users\",\"objectId\":\"#objectId#\"}}},{\"AuditTrail.Activity\":{\"$ne\":\"Signed\"}}],\"Signers\":{\"$in\":[{\"__type\":\"Pointer\",\"className\":\"contracts_Users\",\"objectId\":\"#objectId#\"}]},\"IsDeclined\":{\"$ne\":true},\"IsCompleted\":{\"$ne\":true},\"Type\":{\"$ne\":\"Folder\"},\"Placeholders\":{\"$ne\":null},\"ExpiryDate\":{\"#*gt\":{\"__type\":\"#Date#\",\"iso\":\"#today#\"}}}&count=1",
+ "key": "count",
+ "Redirect_type": "Report",
+ "Redirect_id": "4Hhwbp482K",
+ "tourSection": "tourcard1",
+ "tourMessage": "This card shows the aggregate count of documents that are awaiting your signature. Clicking on this card will seamlessly take you to the detailed list of such documents for your review and action."
+ }
+ }
+ },
+ {
+ "colxs": "12",
+ "colmd": "6",
+ "collg": "6",
+ "widget": {
+ "type": "Card",
+ "icon": "fas fa-sign-out-alt",
+ "bgColor": "#g0058e",
+ "label": "Out for signatures",
+ "description": null,
+ "data": {
+ "id": "c1935cc0-28d4-3d73-b72a-8c1e3d18a17f",
+ "queryType": "",
+ "class": "contracts_Document",
+ "query": "where={\"CreatedBy\":{\"__type\":\"Pointer\",\"className\":\"_User\",\"objectId\":\"#UserId.objectId#\"},\"IsCompleted\":{\"$ne\":true},\"IsDeclined\":{\"$ne\":true},\"Type\":{\"$ne\":\"Folder\"},\"Placeholders\":{\"$ne\":null},\"ExpiryDate\":{\"#*gt\":{\"__type\":\"#Date#\",\"iso\":\"#today#\"}}}&count=1",
+ "key": "count",
+ "Redirect_type": "Report",
+ "Redirect_id": "1MwEuxLEkF",
+ "tourSection": "tourcard2",
+ "tourMessage": "This card indicates the total number of documents you've sent out for signatures. A single click on this card will navigate you to a comprehensive list of these documents, allowing you to monitor their status."
+ }
+ }
+ },
+ {
+ "colxs": "12",
+ "colmd": "6",
+ "collg": "6",
+ "widget": {
+ "type": "report",
+ "reportId": "5Go51Q7T8r",
+ "data": {
+ "tourSection": "tourreport1",
+ "tourMessage": "Here lies a curated list of documents that are pending your signature. These are requests from other users that require your immediate attention for completion."
+ }
+ }
+ },
+ {
+ "colxs": "12",
+ "colmd": "6",
+ "collg": "6",
+ "widget": {
+ "type": "report",
+ "reportId": "d9k3UfYHBc",
+ "data": {
+ "tourSection": "tourreport2",
+ "tourMessage": "This area displays all the documents you've dispatched for signatures from other parties. It serves as a real-time tracker for documents pending external approval."
+ }
+ }
+ },
+ {
+ "colxs": "12",
+ "colmd": "12",
+ "collg": "12",
+ "widget": {
+ "type": "report",
+ "reportId": "kC5mfynCi4",
+ "data": {
+ "tourSection": "tourreport3",
+ "tourMessage": "In this section, you'll find your draft documents awaiting completion. These are the documents you've initiated but haven't yet finalized for sending."
+ }
+ }
+ }
+ ]
+ }
+ ],
+ "_p_appId": "w_appinfo$aIPmIvMzGM",
+ "dbTitle": "Dashboard",
+ "dbDescription": null,
+ "bgColor": "#ffffff",
+ "_created_at": {
+ "$date": "2023-09-04T13:17:26.707Z"
+ },
+ "_updated_at": {
+ "$date": "2023-09-27T04:53:20.395Z"
+ }
+ }]
\ No newline at end of file
diff --git a/apps/mongo/default-data/legadraGCva.w_menu.json b/apps/mongo/default-data/legadraGCva.w_menu.json
new file mode 100644
index 000000000..034bfb91e
--- /dev/null
+++ b/apps/mongo/default-data/legadraGCva.w_menu.json
@@ -0,0 +1,272 @@
+[{
+ "_id": "H9vRfEYKhT",
+ "_created_at": {
+ "$date": "2023-09-04T14:04:00.669Z"
+ },
+ "_updated_at": {
+ "$date": "2023-10-20T06:27:02.314Z"
+ },
+ "_p_appId": "w_appinfo$aIPmIvMzGM",
+ "menuItems": [
+ {
+ "icon": "fas fa-tachometer-alt",
+ "title": "Dashboard",
+ "target": "",
+ "pageType": "dashboard",
+ "description": "",
+ "objectId": "35KBoSgoAK"
+ },
+ {
+ "icon": "far fa-newspaper",
+ "title": "New Document",
+ "target": "_self",
+ "pageType": null,
+ "description": null,
+ "objectId": null,
+ "children": [
+ {
+ "icon": "fas fa-pen-nib",
+ "title": "Sign yourself",
+ "target": "_self",
+ "pageType": "form",
+ "description": "",
+ "objectId": "sHAnZphf69"
+ },
+ {
+ "icon": "fas fa-file-signature",
+ "title": "Request signatures",
+ "target": "_self",
+ "pageType": "form",
+ "description": "",
+ "objectId": "8mZzFxbG1z"
+ }
+ ]
+ },
+ {
+ "icon": "fas fa-folder",
+ "title": "OpenSignDrive™",
+ "target": "_self",
+ "pageType": "mf",
+ "description": "",
+ "objectId": "remoteUrl=aHR0cHM6Ly9xaWstYWktb3JnLmdpdGh1Yi5pby9TaWduLU1pY3JvYXBwVjIvcmVtb3RlRW50cnkuanM=&moduleToLoad=AppRoutes&remoteName=signmicroapp/legadrive"
+ },
+ {
+ "icon": "fas fa-address-card",
+ "title": "Reports",
+ "target": "_self",
+ "pageType": null,
+ "description": "",
+ "objectId": null,
+ "children": [
+ {
+ "icon": "fas fa-signature",
+ "title": "Need your sign",
+ "target": "_self",
+ "pageType": "report",
+ "description": "",
+ "objectId": "4Hhwbp482K"
+ },
+ {
+ "icon": "fas fa-tasks",
+ "title": "In Progress",
+ "target": "_self",
+ "pageType": "report",
+ "description": "",
+ "objectId": "1MwEuxLEkF"
+ },
+ {
+ "icon": "fas fa-check-circle",
+ "title": "Completed",
+ "target": "_self",
+ "pageType": "report",
+ "description": "",
+ "objectId": "kQUoW4hUXz"
+ },
+ {
+ "icon": "fas fa-edit",
+ "title": "Drafts",
+ "target": "_self",
+ "pageType": "report",
+ "description": "",
+ "objectId": "ByHuevtCFY"
+ },
+ {
+ "icon": "fas fa-times-circle",
+ "title": "Declined",
+ "target": "_self",
+ "pageType": "report",
+ "description": "",
+ "objectId": "UPr2Fm5WY3"
+ },
+ {
+ "icon": "fas fa-hourglass-end",
+ "title": "Expired",
+ "target": "_self",
+ "pageType": "report",
+ "description": "",
+ "objectId": "zNqBHXHsYH"
+ }
+ ]
+ },
+ {
+ "icon": "fas fa-cog",
+ "title": "Settings",
+ "target": "_self",
+ "pageType": null,
+ "description": "",
+ "objectId": null,
+ "children": [
+ {
+ "icon": "fas fa-pen-fancy",
+ "title": "My Signature",
+ "target": "_self",
+ "pageType": "mf",
+ "description": "",
+ "objectId": "remoteUrl=aHR0cHM6Ly9xaWstYWktb3JnLmdpdGh1Yi5pby9TaWduLU1pY3JvYXBwVjIvcmVtb3RlRW50cnkuanM=&moduleToLoad=AppRoutes&remoteName=signmicroapp/managesign"
+ }
+ ]
+ }
+ ],
+ "menuTitle": "Default Menu",
+ "menuType": "Side Menu"
+ },
+ {
+ "_id": "VPh91h0ZHk",
+ "_created_at": {
+ "$date": "2023-09-04T14:16:15.424Z"
+ },
+ "_updated_at": {
+ "$date": "2023-10-20T06:25:59.660Z"
+ },
+ "_p_appId": "w_appinfo$aIPmIvMzGM",
+ "menuItems": [
+ {
+ "icon": "fas fa-tachometer-alt",
+ "title": "Dashboard",
+ "target": "",
+ "pageType": "dashboard",
+ "description": "",
+ "objectId": "35KBoSgoAK"
+ },
+ {
+ "icon": "far fa-newspaper",
+ "title": "New Document",
+ "target": "_self",
+ "pageType": null,
+ "description": null,
+ "objectId": null,
+ "children": [
+ {
+ "icon": "fas fa-pen-nib",
+ "title": "Sign yourself",
+ "target": "_self",
+ "pageType": "form",
+ "description": "",
+ "objectId": "sHAnZphf69"
+ },
+ {
+ "icon": "fas fa-file-signature",
+ "title": "Request signatures",
+ "target": "_self",
+ "pageType": "form",
+ "description": "",
+ "objectId": "8mZzFxbG1z"
+ }
+ ]
+ },
+ {
+ "icon": "fas fa-folder",
+ "title": "OpenSignDrive™",
+ "target": "_self",
+ "pageType": "mf",
+ "description": "",
+ "objectId": "remoteUrl=aHR0cHM6Ly9xaWstYWktb3JnLmdpdGh1Yi5pby9TaWduLU1pY3JvYXBwVjIvcmVtb3RlRW50cnkuanM=&moduleToLoad=AppRoutes&remoteName=signmicroapp/legadrive"
+ },
+ {
+ "icon": "fas fa-address-card",
+ "title": "Reports",
+ "target": "_self",
+ "pageType": null,
+ "description": "",
+ "objectId": null,
+ "children": [
+ {
+ "icon": "fas fa-signature",
+ "title": "Need your sign",
+ "target": "_self",
+ "pageType": "report",
+ "description": "",
+ "objectId": "4Hhwbp482K"
+ },
+ {
+ "icon": "fas fa-tasks",
+ "title": "In Progress",
+ "target": "_self",
+ "pageType": "report",
+ "description": "",
+ "objectId": "1MwEuxLEkF"
+ },
+ {
+ "icon": "fas fa-check-circle",
+ "title": "Completed",
+ "target": "_self",
+ "pageType": "report",
+ "description": "",
+ "objectId": "kQUoW4hUXz"
+ },
+ {
+ "icon": "fas fa-edit",
+ "title": "Drafts",
+ "target": "_self",
+ "pageType": "report",
+ "description": "",
+ "objectId": "ByHuevtCFY"
+ },
+ {
+ "icon": "fas fa-times-circle",
+ "title": "Declined",
+ "target": "_self",
+ "pageType": "report",
+ "description": "",
+ "objectId": "UPr2Fm5WY3"
+ },
+ {
+ "icon": "fas fa-hourglass-end",
+ "title": "Expired",
+ "target": "_self",
+ "pageType": "report",
+ "description": "",
+ "objectId": "zNqBHXHsYH"
+ }
+ ]
+ },
+ {
+ "icon": "fas fa-cog",
+ "title": "Settings",
+ "target": "_self",
+ "pageType": null,
+ "description": "",
+ "objectId": null,
+ "children": [
+ {
+ "icon": "fas fa-pen-fancy",
+ "title": "My Signature",
+ "target": "_self",
+ "pageType": "mf",
+ "description": "",
+ "objectId": "remoteUrl=aHR0cHM6Ly9xaWstYWktb3JnLmdpdGh1Yi5pby9TaWduLU1pY3JvYXBwVjIvcmVtb3RlRW50cnkuanM=&moduleToLoad=AppRoutes&remoteName=signmicroapp/managesign"
+ },
+ {
+ "icon": "far fa-user",
+ "title": "Add User",
+ "target": "_self",
+ "pageType": "form",
+ "description": "",
+ "objectId": "lM0xRnM3iE"
+ }
+ ]
+ }
+ ],
+ "menuTitle": "Admin Menu",
+ "menuType": "Side Menu"
+ }]
\ No newline at end of file
diff --git a/apps/mongo/mongo-init.sh b/apps/mongo/mongo-init.sh
new file mode 100644
index 000000000..ddb4f6d36
--- /dev/null
+++ b/apps/mongo/mongo-init.sh
@@ -0,0 +1,17 @@
+#!/bin/bash
+
+echo "Starting MongoDB initial data import..."
+
+# Wait for MongoDB to fully start
+sleep 10
+
+# Import the data
+mongoimport --host localhost --db OpenSignDB --collection _Role --type json --file /docker-entrypoint-initdb.d/legadraGCva._Role.json --jsonArray
+mongoimport --host localhost --db OpenSignDB --collection _SCHEMA --type json --file /docker-entrypoint-initdb.d/legadraGCva._SCHEMA.json --jsonArray
+mongoimport --host localhost --db OpenSignDB --collection w_appinfo --type json --file /docker-entrypoint-initdb.d/legadraGCva.w_appinfo.json --jsonArray
+mongoimport --host localhost --db OpenSignDB --collection w_dashboard --type json --file /docker-entrypoint-initdb.d/legadraGCva.w_dashboard.json --jsonArray
+mongoimport --host localhost --db OpenSignDB --collection w_menu --type json --file /docker-entrypoint-initdb.d/legadraGCva.w_menu.json --jsonArray
+
+
+
+echo "MongoDB initial data import done."
\ No newline at end of file
diff --git a/docker-compose.yml b/docker-compose.yml
index 5a03008dd..60f894895 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -5,25 +5,30 @@ services:
build:
context: ./apps/OpenSignServer
dockerfile: Dockerfile
- image: OpenSignServer-image
+ image: opensignserver-image
container_name: OpenSignServer-container
command: /usr/src/app/node_modules/.bin/nodemon server.js
volumes:
- ./apps/OpenSignServer/:/usr/src/app
- /usr/src/app/node_modules
ports:
- - "5000:5000"
+ - "8080:8080"
depends_on:
- mongo
- env_file: ./OpenSignServer/.env
+ env_file: .env
environment:
- NODE_ENV=development
networks:
- app-network
mongo:
- image: mongo
+ build:
+ context: ./apps/mongo
+ dockerfile: Dockerfile
+ container_name: mongo-container
+ image: opensign-mongo
volumes:
- data-volume:/data/db
+ - ./apps/mongo/mongo-init.sh:/docker-entrypoint-initdb.d/mongo-init.sh:ro
ports:
- "27017:27017"
networks:
@@ -32,9 +37,10 @@ services:
build:
context: ./apps/OpenSign
dockerfile: Dockerfile
- image: OpenSign-image
+ image: opensign-image
container_name: OpenSign-container
command: npm start
+ env_file: .env
volumes:
- ./apps/OpenSign/:/usr/app
- /usr/app/node_modules
@@ -53,4 +59,4 @@ volumes:
data-volume:
node_modules:
web-root:
- driver: local
+ driver: local