Commit fee8df29 by Ravindra Kanojiya

.

2 parents 82d20bb3 7c8505a2
...@@ -4,3 +4,20 @@ APP_KEYS="toBeModified1,toBeModified2" ...@@ -4,3 +4,20 @@ APP_KEYS="toBeModified1,toBeModified2"
API_TOKEN_SALT=tobemodified API_TOKEN_SALT=tobemodified
ADMIN_JWT_SECRET=tobemodified ADMIN_JWT_SECRET=tobemodified
JWT_SECRET=tobemodified JWT_SECRET=tobemodified
DATABASE_HOST=localhost
DATABASE_PORT=5432
DATABASE_NAME=offers
DATABASE_USERNAME=harishpatel
DATABASE_PASSWORD=harishpatel
DATABASE_SCHEMA=public
SMTP_HOST=smtp.mailtrap.io
SMTP_PORT=2525
SMTP_USERNAME=2b3a6bda8b6889
SMTP_PASSWORD=521c5fbdaa4326
AWS_ACCESS_KEY_ID=
AWS_ACCESS_SECRET=
AWS_REGION=
AWS_BUCKET=
No preview for this file type
This diff could not be displayed because it is too large.
module.exports = ({ env }) => ({
// ...
// Reference: https://github.com/strapi/strapi/tree/main/packages/providers/email-nodemailer
email: {
config: {
provider: "nodemailer",
providerOptions: {
host: env("SMTP_HOST", "smtp.example.com"),
port: env("SMTP_PORT", 587),
auth: {
user: env("SMTP_USERNAME"),
pass: env("SMTP_PASSWORD"),
},
// ... any custom nodemailer options
},
settings: {
defaultFrom: "from@example.com",
// defaultReplyTo: "hello@example.com"
},
},
},
// ...
// ...
// Reference: https://www.npmjs.com/package/@strapi/provider-upload-aws-s3
// upload: {
// config: {
// provider: "aws-s3",
// providerOptions: {
// accessKeyId: env("AWS_ACCESS_KEY_ID"),
// secretAccessKey: env("AWS_ACCESS_SECRET"),
// region: env("AWS_REGION"),
// params: {
// Bucket: env("AWS_BUCKET"),
// },
// },
// actionOptions: {
// upload: {},
// uploadStream: {},
// delete: {},
// },
// },
// },
// ...
});
module.exports = {
apps: [
{
name: 'strapiapp',
script: 'npm',
args: 'start',
},
],
};
...@@ -11,6 +11,8 @@ ...@@ -11,6 +11,8 @@
"dependencies": { "dependencies": {
"@strapi/plugin-i18n": "4.3.6", "@strapi/plugin-i18n": "4.3.6",
"@strapi/plugin-users-permissions": "4.3.6", "@strapi/plugin-users-permissions": "4.3.6",
"@strapi/provider-email-nodemailer": "^4.3.8",
"@strapi/provider-upload-aws-s3": "^4.3.9",
"@strapi/strapi": "4.3.6", "@strapi/strapi": "4.3.6",
"better-sqlite3": "7.4.6", "better-sqlite3": "7.4.6",
"pg": "^8.8.0", "pg": "^8.8.0",
...@@ -3204,6 +3206,19 @@ ...@@ -3204,6 +3206,19 @@
"npm": ">=6.0.0" "npm": ">=6.0.0"
} }
}, },
"node_modules/@strapi/provider-email-nodemailer": {
"version": "4.3.8",
"resolved": "https://registry.npmjs.org/@strapi/provider-email-nodemailer/-/provider-email-nodemailer-4.3.8.tgz",
"integrity": "sha512-KCZxlZlrQcKo9G5RY17KN73x2hcW3rEm/DXo/Is4pqQiehC35HZEMbxzAMc3SG1NArkqtnoI8JtI1BXJd8jomg==",
"dependencies": {
"lodash": "4.17.21",
"nodemailer": "6.7.7"
},
"engines": {
"node": ">=14.19.1 <=16.x.x",
"npm": ">=6.0.0"
}
},
"node_modules/@strapi/provider-email-sendmail": { "node_modules/@strapi/provider-email-sendmail": {
"version": "4.3.6", "version": "4.3.6",
"resolved": "https://registry.npmjs.org/@strapi/provider-email-sendmail/-/provider-email-sendmail-4.3.6.tgz", "resolved": "https://registry.npmjs.org/@strapi/provider-email-sendmail/-/provider-email-sendmail-4.3.6.tgz",
...@@ -3218,6 +3233,19 @@ ...@@ -3218,6 +3233,19 @@
"npm": ">=6.0.0" "npm": ">=6.0.0"
} }
}, },
"node_modules/@strapi/provider-upload-aws-s3": {
"version": "4.3.9",
"resolved": "https://registry.npmjs.org/@strapi/provider-upload-aws-s3/-/provider-upload-aws-s3-4.3.9.tgz",
"integrity": "sha512-fYX0Z11NGWN0Da1XQogU2XcD2Dt3EisFfyTWCv/qCKPzXgMB/IARnsO2eLyhfKP8wDJX/1OJllHfG6jh9AuFSQ==",
"dependencies": {
"aws-sdk": "2.1215.0",
"lodash": "4.17.21"
},
"engines": {
"node": ">=14.19.1 <=18.x.x",
"npm": ">=6.0.0"
}
},
"node_modules/@strapi/provider-upload-local": { "node_modules/@strapi/provider-upload-local": {
"version": "4.3.6", "version": "4.3.6",
"resolved": "https://registry.npmjs.org/@strapi/provider-upload-local/-/provider-upload-local-4.3.6.tgz", "resolved": "https://registry.npmjs.org/@strapi/provider-upload-local/-/provider-upload-local-4.3.6.tgz",
...@@ -4491,6 +4519,71 @@ ...@@ -4491,6 +4519,71 @@
"url": "https://github.com/sponsors/ljharb" "url": "https://github.com/sponsors/ljharb"
} }
}, },
"node_modules/aws-sdk": {
"version": "2.1215.0",
"resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1215.0.tgz",
"integrity": "sha512-btOexIY0O2F+HhjytToaYuub2HEdLqccZSM8rbT3nrbXo7U4k4Gqi6SbMGi2a+vEpj8lY8dAuMR2lvvVs4Ib9Q==",
"dependencies": {
"buffer": "4.9.2",
"events": "1.1.1",
"ieee754": "1.1.13",
"jmespath": "0.16.0",
"querystring": "0.2.0",
"sax": "1.2.1",
"url": "0.10.3",
"util": "^0.12.4",
"uuid": "8.0.0",
"xml2js": "0.4.19"
},
"engines": {
"node": ">= 10.0.0"
}
},
"node_modules/aws-sdk/node_modules/buffer": {
"version": "4.9.2",
"resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz",
"integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==",
"dependencies": {
"base64-js": "^1.0.2",
"ieee754": "^1.1.4",
"isarray": "^1.0.0"
}
},
"node_modules/aws-sdk/node_modules/events": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz",
"integrity": "sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw==",
"engines": {
"node": ">=0.4.x"
}
},
"node_modules/aws-sdk/node_modules/ieee754": {
"version": "1.1.13",
"resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz",
"integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg=="
},
"node_modules/aws-sdk/node_modules/punycode": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
"integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw=="
},
"node_modules/aws-sdk/node_modules/url": {
"version": "0.10.3",
"resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz",
"integrity": "sha512-hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ==",
"dependencies": {
"punycode": "1.3.2",
"querystring": "0.2.0"
}
},
"node_modules/aws-sdk/node_modules/uuid": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/uuid/-/uuid-8.0.0.tgz",
"integrity": "sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw==",
"bin": {
"uuid": "dist/bin/uuid"
}
},
"node_modules/aws-sign2": { "node_modules/aws-sign2": {
"version": "0.7.0", "version": "0.7.0",
"resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
...@@ -10147,6 +10240,14 @@ ...@@ -10147,6 +10240,14 @@
"url": "https://github.com/chalk/supports-color?sponsor=1" "url": "https://github.com/chalk/supports-color?sponsor=1"
} }
}, },
"node_modules/jmespath": {
"version": "0.16.0",
"resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.16.0.tgz",
"integrity": "sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==",
"engines": {
"node": ">= 0.6.0"
}
},
"node_modules/joycon": { "node_modules/joycon": {
"version": "3.1.1", "version": "3.1.1",
"resolved": "https://registry.npmjs.org/joycon/-/joycon-3.1.1.tgz", "resolved": "https://registry.npmjs.org/joycon/-/joycon-3.1.1.tgz",
...@@ -11804,6 +11905,14 @@ ...@@ -11804,6 +11905,14 @@
"node": ">=6" "node": ">=6"
} }
}, },
"node_modules/nodemailer": {
"version": "6.7.7",
"resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.7.7.tgz",
"integrity": "sha512-pOLC/s+2I1EXuSqO5Wa34i3kXZG3gugDssH+ZNCevHad65tc8vQlCQpOLaUjopvkRQKm2Cki2aME7fEOPRy3bA==",
"engines": {
"node": ">=6.0.0"
}
},
"node_modules/nodemailer-fetch": { "node_modules/nodemailer-fetch": {
"version": "1.6.0", "version": "1.6.0",
"resolved": "https://registry.npmjs.org/nodemailer-fetch/-/nodemailer-fetch-1.6.0.tgz", "resolved": "https://registry.npmjs.org/nodemailer-fetch/-/nodemailer-fetch-1.6.0.tgz",
...@@ -14468,6 +14577,11 @@ ...@@ -14468,6 +14577,11 @@
"node": ">=0.10.0" "node": ">=0.10.0"
} }
}, },
"node_modules/sax": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz",
"integrity": "sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA=="
},
"node_modules/scheduler": { "node_modules/scheduler": {
"version": "0.20.2", "version": "0.20.2",
"resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz",
...@@ -17002,6 +17116,23 @@ ...@@ -17002,6 +17116,23 @@
"node": ">=8" "node": ">=8"
} }
}, },
"node_modules/xml2js": {
"version": "0.4.19",
"resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz",
"integrity": "sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==",
"dependencies": {
"sax": ">=0.6.0",
"xmlbuilder": "~9.0.1"
}
},
"node_modules/xmlbuilder": {
"version": "9.0.7",
"resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz",
"integrity": "sha512-7YXTQc3P2l9+0rjaUbLwMKRhtmwg1M1eDf6nag7urC7pIPYLD9W/jmzQ4ptRSUbodw5S0jfoGTflLemQibSpeQ==",
"engines": {
"node": ">=4.0"
}
},
"node_modules/xtend": { "node_modules/xtend": {
"version": "4.0.2", "version": "4.0.2",
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
...@@ -19236,6 +19367,15 @@ ...@@ -19236,6 +19367,15 @@
"url-join": "4.0.1" "url-join": "4.0.1"
} }
}, },
"@strapi/provider-email-nodemailer": {
"version": "4.3.8",
"resolved": "https://registry.npmjs.org/@strapi/provider-email-nodemailer/-/provider-email-nodemailer-4.3.8.tgz",
"integrity": "sha512-KCZxlZlrQcKo9G5RY17KN73x2hcW3rEm/DXo/Is4pqQiehC35HZEMbxzAMc3SG1NArkqtnoI8JtI1BXJd8jomg==",
"requires": {
"lodash": "4.17.21",
"nodemailer": "6.7.7"
}
},
"@strapi/provider-email-sendmail": { "@strapi/provider-email-sendmail": {
"version": "4.3.6", "version": "4.3.6",
"resolved": "https://registry.npmjs.org/@strapi/provider-email-sendmail/-/provider-email-sendmail-4.3.6.tgz", "resolved": "https://registry.npmjs.org/@strapi/provider-email-sendmail/-/provider-email-sendmail-4.3.6.tgz",
...@@ -19245,6 +19385,15 @@ ...@@ -19245,6 +19385,15 @@
"sendmail": "^1.6.1" "sendmail": "^1.6.1"
} }
}, },
"@strapi/provider-upload-aws-s3": {
"version": "4.3.9",
"resolved": "https://registry.npmjs.org/@strapi/provider-upload-aws-s3/-/provider-upload-aws-s3-4.3.9.tgz",
"integrity": "sha512-fYX0Z11NGWN0Da1XQogU2XcD2Dt3EisFfyTWCv/qCKPzXgMB/IARnsO2eLyhfKP8wDJX/1OJllHfG6jh9AuFSQ==",
"requires": {
"aws-sdk": "2.1215.0",
"lodash": "4.17.21"
}
},
"@strapi/provider-upload-local": { "@strapi/provider-upload-local": {
"version": "4.3.6", "version": "4.3.6",
"resolved": "https://registry.npmjs.org/@strapi/provider-upload-local/-/provider-upload-local-4.3.6.tgz", "resolved": "https://registry.npmjs.org/@strapi/provider-upload-local/-/provider-upload-local-4.3.6.tgz",
...@@ -20210,6 +20359,64 @@ ...@@ -20210,6 +20359,64 @@
"resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz",
"integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==" "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw=="
}, },
"aws-sdk": {
"version": "2.1215.0",
"resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1215.0.tgz",
"integrity": "sha512-btOexIY0O2F+HhjytToaYuub2HEdLqccZSM8rbT3nrbXo7U4k4Gqi6SbMGi2a+vEpj8lY8dAuMR2lvvVs4Ib9Q==",
"requires": {
"buffer": "4.9.2",
"events": "1.1.1",
"ieee754": "1.1.13",
"jmespath": "0.16.0",
"querystring": "0.2.0",
"sax": "1.2.1",
"url": "0.10.3",
"util": "^0.12.4",
"uuid": "8.0.0",
"xml2js": "0.4.19"
},
"dependencies": {
"buffer": {
"version": "4.9.2",
"resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz",
"integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==",
"requires": {
"base64-js": "^1.0.2",
"ieee754": "^1.1.4",
"isarray": "^1.0.0"
}
},
"events": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz",
"integrity": "sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw=="
},
"ieee754": {
"version": "1.1.13",
"resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz",
"integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg=="
},
"punycode": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
"integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw=="
},
"url": {
"version": "0.10.3",
"resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz",
"integrity": "sha512-hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ==",
"requires": {
"punycode": "1.3.2",
"querystring": "0.2.0"
}
},
"uuid": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/uuid/-/uuid-8.0.0.tgz",
"integrity": "sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw=="
}
}
},
"aws-sign2": { "aws-sign2": {
"version": "0.7.0", "version": "0.7.0",
"resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
...@@ -24142,6 +24349,11 @@ ...@@ -24142,6 +24349,11 @@
} }
} }
}, },
"jmespath": {
"version": "0.16.0",
"resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.16.0.tgz",
"integrity": "sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw=="
},
"joycon": { "joycon": {
"version": "3.1.1", "version": "3.1.1",
"resolved": "https://registry.npmjs.org/joycon/-/joycon-3.1.1.tgz", "resolved": "https://registry.npmjs.org/joycon/-/joycon-3.1.1.tgz",
...@@ -25324,6 +25536,11 @@ ...@@ -25324,6 +25536,11 @@
"sorted-array-functions": "^1.3.0" "sorted-array-functions": "^1.3.0"
} }
}, },
"nodemailer": {
"version": "6.7.7",
"resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.7.7.tgz",
"integrity": "sha512-pOLC/s+2I1EXuSqO5Wa34i3kXZG3gugDssH+ZNCevHad65tc8vQlCQpOLaUjopvkRQKm2Cki2aME7fEOPRy3bA=="
},
"nodemailer-fetch": { "nodemailer-fetch": {
"version": "1.6.0", "version": "1.6.0",
"resolved": "https://registry.npmjs.org/nodemailer-fetch/-/nodemailer-fetch-1.6.0.tgz", "resolved": "https://registry.npmjs.org/nodemailer-fetch/-/nodemailer-fetch-1.6.0.tgz",
...@@ -27116,6 +27333,11 @@ ...@@ -27116,6 +27333,11 @@
} }
} }
}, },
"sax": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz",
"integrity": "sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA=="
},
"scheduler": { "scheduler": {
"version": "0.20.2", "version": "0.20.2",
"resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz",
...@@ -28875,6 +29097,20 @@ ...@@ -28875,6 +29097,20 @@
"resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz",
"integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==" "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q=="
}, },
"xml2js": {
"version": "0.4.19",
"resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz",
"integrity": "sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==",
"requires": {
"sax": ">=0.6.0",
"xmlbuilder": "~9.0.1"
}
},
"xmlbuilder": {
"version": "9.0.7",
"resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz",
"integrity": "sha512-7YXTQc3P2l9+0rjaUbLwMKRhtmwg1M1eDf6nag7urC7pIPYLD9W/jmzQ4ptRSUbodw5S0jfoGTflLemQibSpeQ=="
},
"xtend": { "xtend": {
"version": "4.0.2", "version": "4.0.2",
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
...@@ -12,6 +12,8 @@ ...@@ -12,6 +12,8 @@
"dependencies": { "dependencies": {
"@strapi/plugin-i18n": "4.3.6", "@strapi/plugin-i18n": "4.3.6",
"@strapi/plugin-users-permissions": "4.3.6", "@strapi/plugin-users-permissions": "4.3.6",
"@strapi/provider-email-nodemailer": "^4.3.8",
"@strapi/provider-upload-aws-s3": "^4.3.9",
"@strapi/strapi": "4.3.6", "@strapi/strapi": "4.3.6",
"better-sqlite3": "7.4.6", "better-sqlite3": "7.4.6",
"pg": "^8.8.0", "pg": "^8.8.0",
......
...@@ -4,7 +4,8 @@ ...@@ -4,7 +4,8 @@
"info": { "info": {
"singularName": "amenity", "singularName": "amenity",
"pluralName": "amenities", "pluralName": "amenities",
"displayName": "Amenity" "displayName": "Amenity",
"description": ""
}, },
"options": { "options": {
"draftAndPublish": true "draftAndPublish": true
...@@ -15,11 +16,20 @@ ...@@ -15,11 +16,20 @@
"type": "string" "type": "string"
}, },
"icon": { "icon": {
"type": "media",
"multiple": false,
"required": false,
"allowedTypes": [ "allowedTypes": [
"images" "images"
], ]
"type": "media", },
"multiple": false "type": {
"type": "enumeration",
"enum": [
"Internal",
"External",
"Common"
]
} }
} }
} }
{
"kind": "collectionType",
"collectionName": "channel_partners",
"info": {
"singularName": "channel-partner",
"pluralName": "channel-partners",
"displayName": "Channel Partner",
"description": ""
},
"options": {
"draftAndPublish": true
},
"pluginOptions": {},
"attributes": {
"companyName": {
"type": "string",
"required": true
},
"companyType": {
"type": "string"
},
"contactPersonName": {
"type": "string"
},
"email": {
"type": "string"
},
"communicationAddress": {
"type": "text"
},
"mobileNo": {
"type": "string"
},
"city": {
"type": "string"
},
"state": {
"type": "string"
},
"reraNumber": {
"type": "string"
},
"regionOfOperation": {
"type": "string"
},
"sourcingManager": {
"type": "string"
},
"pan": {
"type": "string"
},
"panFile": {
"type": "media",
"multiple": true,
"required": false,
"allowedTypes": [
"images",
"files"
]
},
"memberOf": {
"type": "string"
},
"termsAndConditions": {
"type": "boolean"
},
"user": {
"type": "relation",
"relation": "oneToOne",
"target": "plugin::users-permissions.user"
}
}
}
'use strict';
/**
* channel-partner controller
*/
const { createCoreController } = require('@strapi/strapi').factories;
module.exports = createCoreController('api::channel-partner.channel-partner');
'use strict';
/**
* channel-partner router
*/
const { createCoreRouter } = require('@strapi/strapi').factories;
module.exports = createCoreRouter('api::channel-partner.channel-partner');
'use strict';
/**
* channel-partner service
*/
const { createCoreService } = require('@strapi/strapi').factories;
module.exports = createCoreService('api::channel-partner.channel-partner');
...@@ -12,15 +12,37 @@ ...@@ -12,15 +12,37 @@
}, },
"pluginOptions": {}, "pluginOptions": {},
"attributes": { "attributes": {
"statistics": {
"type": "richtext"
},
"backgroundImage": { "backgroundImage": {
"type": "media",
"multiple": false,
"required": false,
"allowedTypes": [ "allowedTypes": [
"images" "images"
], ]
"type": "media", },
"multiple": false "stat1Label": {
"type": "string"
},
"stat2Label": {
"type": "string"
},
"stat3Label": {
"type": "string"
},
"stat4Label": {
"type": "string"
},
"stat1Value": {
"type": "string"
},
"stat2Value": {
"type": "string"
},
"stat3Value": {
"type": "string"
},
"stat4Value": {
"type": "string"
} }
} }
} }
...@@ -14,7 +14,8 @@ ...@@ -14,7 +14,8 @@
"attributes": { "attributes": {
"projectName": { "projectName": {
"type": "string", "type": "string",
"required": true "required": true,
"unique": true
}, },
"address": { "address": {
"type": "text", "type": "text",
...@@ -43,10 +44,6 @@ ...@@ -43,10 +44,6 @@
"videos" "videos"
] ]
}, },
"details": {
"type": "richtext",
"required": true
},
"featuredOnHome": { "featuredOnHome": {
"type": "boolean", "type": "boolean",
"default": false, "default": false,
...@@ -125,6 +122,29 @@ ...@@ -125,6 +122,29 @@
}, },
"offersText": { "offersText": {
"type": "richtext" "type": "richtext"
},
"slug": {
"type": "uid",
"targetField": "projectName",
"required": true
},
"details1": {
"type": "richtext",
"required": true
},
"details2": {
"type": "richtext",
"required": true
},
"details3": {
"type": "richtext",
"required": true
},
"storeys": {
"type": "integer"
},
"posession": {
"type": "string"
} }
} }
} }
{
"kind": "collectionType",
"collectionName": "referrals",
"info": {
"singularName": "referral",
"pluralName": "referrals",
"displayName": "Referral",
"description": ""
},
"options": {
"draftAndPublish": true
},
"pluginOptions": {
"i18n": {
"localized": true
}
},
"attributes": {
"fullName": {
"type": "string",
"required": true,
"pluginOptions": {
"i18n": {
"localized": true
}
}
},
"mobileNumber": {
"type": "string",
"pluginOptions": {
"i18n": {
"localized": true
}
}
},
"email": {
"type": "email",
"pluginOptions": {
"i18n": {
"localized": true
}
}
},
"wing": {
"type": "string",
"pluginOptions": {
"i18n": {
"localized": true
}
}
},
"flatNumber": {
"type": "string",
"pluginOptions": {
"i18n": {
"localized": true
}
}
},
"ownershipType": {
"type": "string",
"pluginOptions": {
"i18n": {
"localized": true
}
}
},
"purchasedYear": {
"type": "string",
"pluginOptions": {
"i18n": {
"localized": true
}
}
},
"purchasedSource": {
"type": "string",
"pluginOptions": {
"i18n": {
"localized": true
}
}
},
"referralName": {
"type": "string",
"pluginOptions": {
"i18n": {
"localized": true
}
}
},
"referralPhoneNo": {
"type": "string",
"pluginOptions": {
"i18n": {
"localized": true
}
}
},
"referralEmail": {
"type": "email",
"pluginOptions": {
"i18n": {
"localized": true
}
}
},
"projectReferredTo": {
"type": "string",
"pluginOptions": {
"i18n": {
"localized": true
}
}
},
"project": {
"type": "relation",
"relation": "oneToOne",
"target": "api::project.project"
},
"township": {
"type": "relation",
"relation": "oneToOne",
"target": "api::township.township"
}
}
}
'use strict';
/**
* referral controller
*/
const { createCoreController } = require('@strapi/strapi').factories;
module.exports = createCoreController('api::referral.referral');
'use strict';
/**
* referral router
*/
const { createCoreRouter } = require('@strapi/strapi').factories;
module.exports = createCoreRouter('api::referral.referral');
'use strict';
/**
* referral service
*/
const { createCoreService } = require('@strapi/strapi').factories;
module.exports = createCoreService('api::referral.referral');
...@@ -65,6 +65,28 @@ ...@@ -65,6 +65,28 @@
"type": "relation", "type": "relation",
"relation": "oneToMany", "relation": "oneToMany",
"target": "api::amenity.amenity" "target": "api::amenity.amenity"
},
"townshipContactEmail": {
"type": "string",
"required": true
},
"townshipContactNumber": {
"type": "string",
"required": true
},
"cpSubmitLeadEnabled": {
"type": "boolean",
"default": false
},
"cpGuidelines": {
"allowedTypes": [
"images",
"files",
"videos",
"audios"
],
"type": "media",
"multiple": false
} }
} }
} }
{
"kind": "collectionType",
"collectionName": "up_users",
"info": {
"name": "user",
"description": "",
"singularName": "user",
"pluralName": "users",
"displayName": "User"
},
"options": {
"draftAndPublish": false,
"timestamps": true
},
"attributes": {
"username": {
"type": "string",
"minLength": 3,
"unique": true,
"configurable": false,
"required": true
},
"email": {
"type": "email",
"minLength": 6,
"configurable": false,
"required": true
},
"provider": {
"type": "string",
"configurable": false
},
"password": {
"type": "password",
"minLength": 6,
"configurable": false,
"private": true
},
"resetPasswordToken": {
"type": "string",
"configurable": false,
"private": true
},
"confirmationToken": {
"type": "string",
"configurable": false,
"private": true
},
"confirmed": {
"type": "boolean",
"default": false,
"configurable": false
},
"blocked": {
"type": "boolean",
"default": false,
"configurable": false
},
"role": {
"type": "relation",
"relation": "manyToOne",
"target": "plugin::users-permissions.role",
"inversedBy": "users",
"configurable": false
},
"profileImage": {
"type": "media",
"multiple": false,
"required": false,
"allowedTypes": [
"images"
]
},
"aboutMe": {
"type": "text"
},
"fullName": {
"type": "string",
"required": true
},
"oneTimePassword": {
"type": "string",
"configurable": false,
"private": true
}
}
}
\ No newline at end of file \ No newline at end of file
const utils = require("@strapi/utils");
const _ = require("lodash");
const { sanitize } = utils;
const { ApplicationError, ValidationError } = utils.errors;
const {
validateRegisterBody,
} = require("@strapi/plugin-users-permissions/server/controllers/validation/auth");
const { getService } = require("@strapi/plugin-users-permissions/server/utils");
const sanitizeUser = (user, ctx) => {
const { auth } = ctx.state;
const userSchema = strapi.getModel("plugin::users-permissions.user");
return sanitize.contentAPI.output(user, userSchema, { auth });
};
const userPermissionExtension = (plugin) => {
/** Example of overriding and adding a new endpoint, check the section where we have registered this as a route below. */
plugin.controllers.user.updateMe = (ctx) => {
ctx.params.id = ctx.state.user.id;
return plugin.controllers.user.update(ctx);
};
plugin.controllers.user.startOtpLogin = async (ctx) => {
const { mahareraNumber, mobileNumber } = ctx.request.body;
if (!mahareraNumber || !mobileNumber) {
throw new ValidationError(
"Please specify both the maharera & mobile numbers."
);
}
const pluginStore = await strapi.store({
type: "plugin",
name: "users-permissions",
});
const emailSettings = await pluginStore.get({ key: "email" });
// Find the channel partner first.
const channelPartner = await strapi
.query("api::channel-partner.channel-partner")
.findOne({
populate: ["user"],
where: {
$and: [
{ publishedAt: { $notNull: true } },
{ reraNumber: mahareraNumber },
{ mobileNo: mobileNumber },
],
},
});
if (!channelPartner) {
throw new ValidationError(
"No channel partner registered with specified maharera number, mobile number combination."
);
}
// Find the linked user next.
const user = await strapi
.query("plugin::users-permissions.user")
.findOne({ id: channelPartner.user.id });
if (!user || user.blocked) {
throw new ValidationError(
"Unable to resolve user linked to channel partner."
);
}
const resetPasswordSettings = _.get(
emailSettings,
"reset_password.options",
{}
);
const oneTimePassword = Math.floor(100000 + Math.random() * 900000);
const emailToSend = {
to: user.email,
from:
resetPasswordSettings.from.email || resetPasswordSettings.from.name
? `${resetPasswordSettings.from.name} <${resetPasswordSettings.from.email}>`
: undefined,
replyTo: resetPasswordSettings.response_email,
subject: `Your one time password is: ${oneTimePassword}`,
text: `Hello ${channelPartner.contactPersonName}, Your one time password to login to your partner portal is ${oneTimePassword}`,
html: `<p>Hello ${channelPartner.contactPersonName}, <br></br>Your one time password to login to your partner portal is ${oneTimePassword}</p><br /> Best Regards, <br /> Team Hiranandani.`,
};
// NOTE: Update the user before sending the email so an Admin can generate the link if the email fails
await getService("user").edit(user.id, {
oneTimePassword: `${oneTimePassword}`,
});
// Send an email to the user.
await strapi.plugin("email").service("email").send(emailToSend);
// TODO: Send SMS.
ctx.send({ ok: true, message: "otp sent" });
};
plugin.controllers.user.finishOtpLogin = async (ctx) => {
const { oneTimePassword, mahareraNumber, mobileNumber } = ctx.request.body;
if (!oneTimePassword || !mobileNumber || !mahareraNumber) {
throw new ValidationError(
"Please specify the oneTimePassword, maharera number and mobile numbers."
);
}
// Find the channel partner first.
const channelPartner = await strapi
.query("api::channel-partner.channel-partner")
.findOne({
populate: ["user"],
where: {
$and: [
{ publishedAt: { $notNull: true } },
{ reraNumber: mahareraNumber },
{ mobileNo: mobileNumber },
],
},
});
if (!channelPartner) {
throw new ValidationError(
"No channel partner registered with specified maharera number, mobile number combination."
);
}
// Find the linked user next.
const user = await strapi.query("plugin::users-permissions.user").findOne({
where: {
$and: [
{ id: channelPartner.user.id },
{ oneTimePassword: oneTimePassword },
],
},
});
if (!user || user.blocked) {
throw new ValidationError("Code provided is not valid.");
}
await getService("user").edit(user.id, {
oneTimePassword: null,
password: oneTimePassword,
});
ctx.send({ ok: true, message: "otp updated" });
};
/** Example of overriding an existing route. */
plugin.controllers.auth.register = async (ctx) => {
const pluginStore = await strapi.store({
type: "plugin",
name: "users-permissions",
});
const settings = await pluginStore.get({ key: "advanced" });
if (!settings.allow_register) {
throw new ApplicationError("Register action is currently disabled");
}
const params = {
..._.omit(ctx.request.body, [
"confirmed",
"blocked",
"confirmationToken",
"resetPasswordToken",
"provider",
]),
provider: "local",
};
await validateRegisterBody(params);
// We have added the ability to choose the role.
// This is the customisation that we wanted to do to make this possible
const newUserRole = params?.role ? params?.role : settings.default_role;
// the query was also changed to apply a query on "name" rather than the default "type".
const role = await strapi
.query("plugin::users-permissions.role")
.findOne({ where: { name: newUserRole } });
if (!role) {
throw new ApplicationError("Impossible to find the default role");
}
// @ts-ignore
const { email, username, provider } = params;
const identifierFilter = {
$or: [
{ email: email.toLowerCase() },
{ username: email.toLowerCase() },
{ username },
{ email: username },
],
};
const conflictingUserCount = await strapi
.query("plugin::users-permissions.user")
.count({
where: { ...identifierFilter, provider },
});
if (conflictingUserCount > 0) {
throw new ApplicationError("Email or Username are already taken");
}
if (settings.unique_email) {
const conflictingUserCount = await strapi
.query("plugin::users-permissions.user")
.count({
where: { ...identifierFilter },
});
if (conflictingUserCount > 0) {
throw new ApplicationError("Email or Username are already taken");
}
}
let newUser = {
...params,
role: role.id,
email: email.toLowerCase(),
username,
confirmed: !settings.email_confirmation,
};
const user = await strapi
.plugin("users-permissions")
.service("user")
.add(newUser);
const sanitizedUser = await sanitizeUser(user, ctx);
if (settings.email_confirmation) {
try {
await strapi
.plugin("users-permissions")
.service("user")
.sendConfirmationEmail(sanitizedUser);
} catch (err) {
throw new ApplicationError(err.message);
}
return ctx.send({ user: sanitizedUser });
}
const jwt = strapi
.plugin("users-permissions")
.service("jwt")
.issue(_.pick(user, ["id"]));
return ctx.send({
jwt,
user: sanitizedUser,
});
};
/** Endpoint used to allow edits on a user done by currently logged in user only their own record. */
plugin.routes["content-api"].routes.push({
method: "PUT",
path: "/users/me",
handler: "user.updateMe",
});
plugin.routes["content-api"].routes.push({
method: "POST",
path: "/users/start-otp-login",
handler: "user.startOtpLogin",
});
plugin.routes["content-api"].routes.push({
method: "POST",
path: "/users/finish-otp-login",
handler: "user.finishOtpLogin",
});
return plugin;
};
module.exports = userPermissionExtension;
...@@ -1784,6 +1784,14 @@ ...@@ -1784,6 +1784,14 @@
"request" "^2.83.0" "request" "^2.83.0"
"url-join" "4.0.1" "url-join" "4.0.1"
"@strapi/provider-email-nodemailer@^4.3.8":
"integrity" "sha512-KCZxlZlrQcKo9G5RY17KN73x2hcW3rEm/DXo/Is4pqQiehC35HZEMbxzAMc3SG1NArkqtnoI8JtI1BXJd8jomg=="
"resolved" "https://registry.npmjs.org/@strapi/provider-email-nodemailer/-/provider-email-nodemailer-4.3.8.tgz"
"version" "4.3.8"
dependencies:
"lodash" "4.17.21"
"nodemailer" "6.7.7"
"@strapi/provider-email-sendmail@4.3.6": "@strapi/provider-email-sendmail@4.3.6":
"integrity" "sha512-pTz08brITDu1tjGBMZoKfoE+7zEhMoxdFvEMx16h32PLa0TJSjne3vv1ETzmNGWX/JKD6GFH4ESzSnLT2ES6gQ==" "integrity" "sha512-pTz08brITDu1tjGBMZoKfoE+7zEhMoxdFvEMx16h32PLa0TJSjne3vv1ETzmNGWX/JKD6GFH4ESzSnLT2ES6gQ=="
"resolved" "https://registry.npmjs.org/@strapi/provider-email-sendmail/-/provider-email-sendmail-4.3.6.tgz" "resolved" "https://registry.npmjs.org/@strapi/provider-email-sendmail/-/provider-email-sendmail-4.3.6.tgz"
...@@ -1792,6 +1800,14 @@ ...@@ -1792,6 +1800,14 @@
"@strapi/utils" "4.3.6" "@strapi/utils" "4.3.6"
"sendmail" "^1.6.1" "sendmail" "^1.6.1"
"@strapi/provider-upload-aws-s3@^4.3.9":
"integrity" "sha512-fYX0Z11NGWN0Da1XQogU2XcD2Dt3EisFfyTWCv/qCKPzXgMB/IARnsO2eLyhfKP8wDJX/1OJllHfG6jh9AuFSQ=="
"resolved" "https://registry.npmjs.org/@strapi/provider-upload-aws-s3/-/provider-upload-aws-s3-4.3.9.tgz"
"version" "4.3.9"
dependencies:
"aws-sdk" "2.1215.0"
"lodash" "4.17.21"
"@strapi/provider-upload-local@4.3.6": "@strapi/provider-upload-local@4.3.6":
"integrity" "sha512-rTPNA1QY3V2I4wa0n9jrW73G2qXvWzT1YefuP/Bk4XFRbhJYbNyiYd5/DrIAo4wwBA5KDqi2beZAPD5eLDOWqw==" "integrity" "sha512-rTPNA1QY3V2I4wa0n9jrW73G2qXvWzT1YefuP/Bk4XFRbhJYbNyiYd5/DrIAo4wwBA5KDqi2beZAPD5eLDOWqw=="
"resolved" "https://registry.npmjs.org/@strapi/provider-upload-local/-/provider-upload-local-4.3.6.tgz" "resolved" "https://registry.npmjs.org/@strapi/provider-upload-local/-/provider-upload-local-4.3.6.tgz"
...@@ -2618,6 +2634,22 @@ ...@@ -2618,6 +2634,22 @@
"resolved" "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz" "resolved" "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz"
"version" "1.0.5" "version" "1.0.5"
"aws-sdk@2.1215.0":
"integrity" "sha512-btOexIY0O2F+HhjytToaYuub2HEdLqccZSM8rbT3nrbXo7U4k4Gqi6SbMGi2a+vEpj8lY8dAuMR2lvvVs4Ib9Q=="
"resolved" "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1215.0.tgz"
"version" "2.1215.0"
dependencies:
"buffer" "4.9.2"
"events" "1.1.1"
"ieee754" "1.1.13"
"jmespath" "0.16.0"
"querystring" "0.2.0"
"sax" "1.2.1"
"url" "0.10.3"
"util" "^0.12.4"
"uuid" "8.0.0"
"xml2js" "0.4.19"
"aws-sign2@~0.7.0": "aws-sign2@~0.7.0":
"integrity" "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==" "integrity" "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA=="
"resolved" "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz" "resolved" "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz"
...@@ -2730,7 +2762,7 @@ ...@@ -2730,7 +2762,7 @@
"mixin-deep" "^1.2.0" "mixin-deep" "^1.2.0"
"pascalcase" "^0.1.1" "pascalcase" "^0.1.1"
"base64-js@^1.3.1": "base64-js@^1.0.2", "base64-js@^1.3.1":
"integrity" "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" "integrity" "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="
"resolved" "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" "resolved" "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz"
"version" "1.5.1" "version" "1.5.1"
...@@ -3011,6 +3043,15 @@ ...@@ -3011,6 +3043,15 @@
"base64-js" "^1.3.1" "base64-js" "^1.3.1"
"ieee754" "^1.2.1" "ieee754" "^1.2.1"
"buffer@4.9.2":
"integrity" "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg=="
"resolved" "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz"
"version" "4.9.2"
dependencies:
"base64-js" "^1.0.2"
"ieee754" "^1.1.4"
"isarray" "^1.0.0"
"buildmail@3.10.0": "buildmail@3.10.0":
"integrity" "sha512-6e5sDN/pl3en5Klqdfyir7LEIBiFr9oqZuvYaEyVwjxpIbBZN+98e0j87Fz2Ukl8ud32rbk9VGOZAnsOZ7pkaA==" "integrity" "sha512-6e5sDN/pl3en5Klqdfyir7LEIBiFr9oqZuvYaEyVwjxpIbBZN+98e0j87Fz2Ukl8ud32rbk9VGOZAnsOZ7pkaA=="
"resolved" "https://registry.npmjs.org/buildmail/-/buildmail-3.10.0.tgz" "resolved" "https://registry.npmjs.org/buildmail/-/buildmail-3.10.0.tgz"
...@@ -4424,6 +4465,11 @@ ...@@ -4424,6 +4465,11 @@
"resolved" "https://registry.npmjs.org/events/-/events-3.3.0.tgz" "resolved" "https://registry.npmjs.org/events/-/events-3.3.0.tgz"
"version" "3.3.0" "version" "3.3.0"
"events@1.1.1":
"integrity" "sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw=="
"resolved" "https://registry.npmjs.org/events/-/events-1.1.1.tgz"
"version" "1.1.1"
"evp_bytestokey@^1.0.0", "evp_bytestokey@^1.0.3": "evp_bytestokey@^1.0.0", "evp_bytestokey@^1.0.3":
"integrity" "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==" "integrity" "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA=="
"resolved" "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz" "resolved" "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz"
...@@ -5496,6 +5542,11 @@ ...@@ -5496,6 +5542,11 @@
"resolved" "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz" "resolved" "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz"
"version" "1.2.1" "version" "1.2.1"
"ieee754@^1.1.4", "ieee754@1.1.13":
"integrity" "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg=="
"resolved" "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz"
"version" "1.1.13"
"ignore@^5.1.1": "ignore@^5.1.1":
"integrity" "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==" "integrity" "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ=="
"resolved" "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz" "resolved" "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz"
...@@ -6012,7 +6063,7 @@ ...@@ -6012,7 +6063,7 @@
dependencies: dependencies:
"is-docker" "^2.0.0" "is-docker" "^2.0.0"
"isarray@~1.0.0", "isarray@1.0.0": "isarray@^1.0.0", "isarray@~1.0.0", "isarray@1.0.0":
"integrity" "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" "integrity" "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ=="
"resolved" "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" "resolved" "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz"
"version" "1.0.0" "version" "1.0.0"
...@@ -6058,6 +6109,11 @@ ...@@ -6058,6 +6109,11 @@
"merge-stream" "^2.0.0" "merge-stream" "^2.0.0"
"supports-color" "^8.0.0" "supports-color" "^8.0.0"
"jmespath@0.16.0":
"integrity" "sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw=="
"resolved" "https://registry.npmjs.org/jmespath/-/jmespath-0.16.0.tgz"
"version" "0.16.0"
"joycon@^3.0.1": "joycon@^3.0.1":
"integrity" "sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==" "integrity" "sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw=="
"resolved" "https://registry.npmjs.org/joycon/-/joycon-3.1.1.tgz" "resolved" "https://registry.npmjs.org/joycon/-/joycon-3.1.1.tgz"
...@@ -7173,6 +7229,11 @@ ...@@ -7173,6 +7229,11 @@
dependencies: dependencies:
"nodemailer-fetch" "1.6.0" "nodemailer-fetch" "1.6.0"
"nodemailer@6.7.7":
"integrity" "sha512-pOLC/s+2I1EXuSqO5Wa34i3kXZG3gugDssH+ZNCevHad65tc8vQlCQpOLaUjopvkRQKm2Cki2aME7fEOPRy3bA=="
"resolved" "https://registry.npmjs.org/nodemailer/-/nodemailer-6.7.7.tgz"
"version" "6.7.7"
"normalize-path@^3.0.0", "normalize-path@~3.0.0": "normalize-path@^3.0.0", "normalize-path@~3.0.0":
"integrity" "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" "integrity" "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="
"resolved" "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" "resolved" "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz"
...@@ -8714,6 +8775,11 @@ ...@@ -8714,6 +8775,11 @@
"parse-srcset" "^1.0.2" "parse-srcset" "^1.0.2"
"postcss" "^8.3.11" "postcss" "^8.3.11"
"sax@>=0.6.0", "sax@1.2.1":
"integrity" "sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA=="
"resolved" "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz"
"version" "1.2.1"
"scheduler@^0.20.2": "scheduler@^0.20.2":
"integrity" "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==" "integrity" "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ=="
"resolved" "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz" "resolved" "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz"
...@@ -9817,6 +9883,14 @@ ...@@ -9817,6 +9883,14 @@
"punycode" "1.3.2" "punycode" "1.3.2"
"querystring" "0.2.0" "querystring" "0.2.0"
"url@0.10.3":
"integrity" "sha512-hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ=="
"resolved" "https://registry.npmjs.org/url/-/url-0.10.3.tgz"
"version" "0.10.3"
dependencies:
"punycode" "1.3.2"
"querystring" "0.2.0"
"use@^3.1.0": "use@^3.1.0":
"integrity" "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" "integrity" "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ=="
"resolved" "https://registry.npmjs.org/use/-/use-3.1.1.tgz" "resolved" "https://registry.npmjs.org/use/-/use-3.1.1.tgz"
...@@ -9864,6 +9938,11 @@ ...@@ -9864,6 +9938,11 @@
"resolved" "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz" "resolved" "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz"
"version" "8.3.2" "version" "8.3.2"
"uuid@8.0.0":
"integrity" "sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw=="
"resolved" "https://registry.npmjs.org/uuid/-/uuid-8.0.0.tgz"
"version" "8.0.0"
"v8flags@^2.0.10": "v8flags@^2.0.10":
"integrity" "sha512-SKfhk/LlaXzvtowJabLZwD4K6SGRYeoxA7KJeISlUMAB/NT4CBkZjMq3WceX2Ckm4llwqYVo8TICgsDYCBU2tA==" "integrity" "sha512-SKfhk/LlaXzvtowJabLZwD4K6SGRYeoxA7KJeISlUMAB/NT4CBkZjMq3WceX2Ckm4llwqYVo8TICgsDYCBU2tA=="
"resolved" "https://registry.npmjs.org/v8flags/-/v8flags-2.1.1.tgz" "resolved" "https://registry.npmjs.org/v8flags/-/v8flags-2.1.1.tgz"
...@@ -10186,6 +10265,19 @@ ...@@ -10186,6 +10265,19 @@
"resolved" "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz" "resolved" "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz"
"version" "4.0.0" "version" "4.0.0"
"xml2js@0.4.19":
"integrity" "sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q=="
"resolved" "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz"
"version" "0.4.19"
dependencies:
"sax" ">=0.6.0"
"xmlbuilder" "~9.0.1"
"xmlbuilder@~9.0.1":
"integrity" "sha512-7YXTQc3P2l9+0rjaUbLwMKRhtmwg1M1eDf6nag7urC7pIPYLD9W/jmzQ4ptRSUbodw5S0jfoGTflLemQibSpeQ=="
"resolved" "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz"
"version" "9.0.7"
"xtend@^4.0.0", "xtend@^4.0.2": "xtend@^4.0.0", "xtend@^4.0.2":
"integrity" "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" "integrity" "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ=="
"resolved" "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz" "resolved" "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz"
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!