my-typescript-library-rahul52us 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (317) hide show
  1. package/.env +42 -0
  2. package/.eslintignore +0 -0
  3. package/.vscode/extensions.json +5 -0
  4. package/README.md +9 -0
  5. package/babel.config.ts +6 -0
  6. package/dist/caches/memcache.cache.js +1 -0
  7. package/dist/caches/memcache.cache.js.map +1 -0
  8. package/dist/caches/redis.cache.js +1 -0
  9. package/dist/caches/redis.cache.js.map +1 -0
  10. package/dist/config/auth/passportConfig.js +50 -0
  11. package/dist/config/auth/passportConfig.js.map +1 -0
  12. package/dist/constants/billing.constant.js +13 -0
  13. package/dist/constants/billing.constant.js.map +1 -0
  14. package/dist/constants/send-mail-type.constant.js +10 -0
  15. package/dist/constants/send-mail-type.constant.js.map +1 -0
  16. package/dist/constants/status.constant.js +25 -0
  17. package/dist/constants/status.constant.js.map +1 -0
  18. package/dist/controllers/auth.controller.js +87 -0
  19. package/dist/controllers/auth.controller.js.map +1 -0
  20. package/dist/controllers/license/license.controller.js +52 -0
  21. package/dist/controllers/license/license.controller.js.map +1 -0
  22. package/dist/controllers/rbac/express.def.js +3 -0
  23. package/dist/controllers/rbac/express.def.js.map +1 -0
  24. package/dist/controllers/rbac/grantaccess.json +72 -0
  25. package/dist/controllers/rbac/rbac.controller.js +51 -0
  26. package/dist/controllers/rbac/rbac.controller.js.map +1 -0
  27. package/dist/controllers/rbac/roles.js +27 -0
  28. package/dist/controllers/rbac/roles.js.map +1 -0
  29. package/dist/helpers/compile-email-template.js +27 -0
  30. package/dist/helpers/compile-email-template.js.map +1 -0
  31. package/dist/helpers/genarateRandomkey.js +14 -0
  32. package/dist/helpers/genarateRandomkey.js.map +1 -0
  33. package/dist/helpers/hashing.helper.js +29 -0
  34. package/dist/helpers/hashing.helper.js.map +1 -0
  35. package/dist/helpers/jwt.helper.js +25 -0
  36. package/dist/helpers/jwt.helper.js.map +1 -0
  37. package/dist/helpers/string.helper.js +27 -0
  38. package/dist/helpers/string.helper.js.map +1 -0
  39. package/dist/libs/mail.js +70 -0
  40. package/dist/libs/mail.js.map +1 -0
  41. package/dist/middlewares/logger.middleware.js +11 -0
  42. package/dist/middlewares/logger.middleware.js.map +1 -0
  43. package/dist/repository/accountdetails.repository.js +73 -0
  44. package/dist/repository/accountdetails.repository.js.map +1 -0
  45. package/dist/repository/document.repository.js +1843 -0
  46. package/dist/repository/document.repository.js.map +1 -0
  47. package/dist/repository/filesystem.repository.js +163 -0
  48. package/dist/repository/filesystem.repository.js.map +1 -0
  49. package/dist/repository/form.repository.js +106 -0
  50. package/dist/repository/form.repository.js.map +1 -0
  51. package/dist/repository/log.repository.js +55 -0
  52. package/dist/repository/log.repository.js.map +1 -0
  53. package/dist/repository/notifications.repository.js +210 -0
  54. package/dist/repository/notifications.repository.js.map +1 -0
  55. package/dist/repository/organisation.repository.js +368 -0
  56. package/dist/repository/organisation.repository.js.map +1 -0
  57. package/dist/repository/profile.repository.js +79 -0
  58. package/dist/repository/profile.repository.js.map +1 -0
  59. package/dist/repository/role.repository.js +166 -0
  60. package/dist/repository/role.repository.js.map +1 -0
  61. package/dist/repository/schemas/WorkflowSettingsScheme.js +31 -0
  62. package/dist/repository/schemas/WorkflowSettingsScheme.js.map +1 -0
  63. package/dist/repository/schemas/accountdetails.schema.js +64 -0
  64. package/dist/repository/schemas/accountdetails.schema.js.map +1 -0
  65. package/dist/repository/schemas/accounts.schema.js +72 -0
  66. package/dist/repository/schemas/accounts.schema.js.map +1 -0
  67. package/dist/repository/schemas/document.schema.js +128 -0
  68. package/dist/repository/schemas/document.schema.js.map +1 -0
  69. package/dist/repository/schemas/extracted.schema.js +49 -0
  70. package/dist/repository/schemas/extracted.schema.js.map +1 -0
  71. package/dist/repository/schemas/fileSystem.schema.js +34 -0
  72. package/dist/repository/schemas/fileSystem.schema.js.map +1 -0
  73. package/dist/repository/schemas/form.schema.js +38 -0
  74. package/dist/repository/schemas/form.schema.js.map +1 -0
  75. package/dist/repository/schemas/log.schema.js +41 -0
  76. package/dist/repository/schemas/log.schema.js.map +1 -0
  77. package/dist/repository/schemas/notifications.schema.js +43 -0
  78. package/dist/repository/schemas/notifications.schema.js.map +1 -0
  79. package/dist/repository/schemas/organisation.schema.js +148 -0
  80. package/dist/repository/schemas/organisation.schema.js.map +1 -0
  81. package/dist/repository/schemas/profile.schema.js +53 -0
  82. package/dist/repository/schemas/profile.schema.js.map +1 -0
  83. package/dist/repository/schemas/role.schema.js +39 -0
  84. package/dist/repository/schemas/role.schema.js.map +1 -0
  85. package/dist/repository/schemas/tokens.schema.js +42 -0
  86. package/dist/repository/schemas/tokens.schema.js.map +1 -0
  87. package/dist/repository/schemas/userrole.schema.js +82 -0
  88. package/dist/repository/schemas/userrole.schema.js.map +1 -0
  89. package/dist/repository/schemas/workflow.schema.js +46 -0
  90. package/dist/repository/schemas/workflow.schema.js.map +1 -0
  91. package/dist/repository/user.repository.js +526 -0
  92. package/dist/repository/user.repository.js.map +1 -0
  93. package/dist/repository/user_tokens.repository.js +122 -0
  94. package/dist/repository/user_tokens.repository.js.map +1 -0
  95. package/dist/repository/userrole.repository.js +172 -0
  96. package/dist/repository/userrole.repository.js.map +1 -0
  97. package/dist/repository/workflow.repository.js +353 -0
  98. package/dist/repository/workflow.repository.js.map +1 -0
  99. package/dist/repository/workflowSetting.schema.js +50 -0
  100. package/dist/repository/workflowSetting.schema.js.map +1 -0
  101. package/dist/routes/accountdetails.route.js +11 -0
  102. package/dist/routes/accountdetails.route.js.map +1 -0
  103. package/dist/routes/auth.route.js +20 -0
  104. package/dist/routes/auth.route.js.map +1 -0
  105. package/dist/routes/document.route.js +20 -0
  106. package/dist/routes/document.route.js.map +1 -0
  107. package/dist/routes/fileSystem.route.js +14 -0
  108. package/dist/routes/fileSystem.route.js.map +1 -0
  109. package/dist/routes/form.route.js +13 -0
  110. package/dist/routes/form.route.js.map +1 -0
  111. package/dist/routes/index.js +14 -0
  112. package/dist/routes/index.js.map +1 -0
  113. package/dist/routes/log.route.js +13 -0
  114. package/dist/routes/log.route.js.map +1 -0
  115. package/dist/routes/notifications.route.js +17 -0
  116. package/dist/routes/notifications.route.js.map +1 -0
  117. package/dist/routes/org.route.js +16 -0
  118. package/dist/routes/org.route.js.map +1 -0
  119. package/dist/routes/profile.route.js +12 -0
  120. package/dist/routes/profile.route.js.map +1 -0
  121. package/dist/routes/role.route.js +14 -0
  122. package/dist/routes/role.route.js.map +1 -0
  123. package/dist/routes/user.route.js +42 -0
  124. package/dist/routes/user.route.js.map +1 -0
  125. package/dist/routes/userrole.route.js +13 -0
  126. package/dist/routes/userrole.route.js.map +1 -0
  127. package/dist/routes/workflow.route.js +20 -0
  128. package/dist/routes/workflow.route.js.map +1 -0
  129. package/dist/server.js +38 -0
  130. package/dist/server.js.map +1 -0
  131. package/dist/services/authentication/change-password.service.js +122 -0
  132. package/dist/services/authentication/change-password.service.js.map +1 -0
  133. package/dist/services/authentication/forgot-password.service.js +61 -0
  134. package/dist/services/authentication/forgot-password.service.js.map +1 -0
  135. package/dist/services/authentication/getuser.service.js +154 -0
  136. package/dist/services/authentication/getuser.service.js.map +1 -0
  137. package/dist/services/authentication/index.js +23 -0
  138. package/dist/services/authentication/index.js.map +1 -0
  139. package/dist/services/authentication/login.service.js +190 -0
  140. package/dist/services/authentication/login.service.js.map +1 -0
  141. package/dist/services/authentication/register.admin.service.js +74 -0
  142. package/dist/services/authentication/register.admin.service.js.map +1 -0
  143. package/dist/services/authentication/register.service.js +106 -0
  144. package/dist/services/authentication/register.service.js.map +1 -0
  145. package/dist/services/authentication/resend-email.service.js +75 -0
  146. package/dist/services/authentication/resend-email.service.js.map +1 -0
  147. package/dist/services/authentication/reset-password.service.js +62 -0
  148. package/dist/services/authentication/reset-password.service.js.map +1 -0
  149. package/dist/services/authentication/verify-email.service.js +54 -0
  150. package/dist/services/authentication/verify-email.service.js.map +1 -0
  151. package/dist/services/document/document.services.js +956 -0
  152. package/dist/services/document/document.services.js.map +1 -0
  153. package/dist/services/fileSystem/fileSystem.service.js +198 -0
  154. package/dist/services/fileSystem/fileSystem.service.js.map +1 -0
  155. package/dist/services/form/form.service.js +117 -0
  156. package/dist/services/form/form.service.js.map +1 -0
  157. package/dist/services/logs/log.service.js +88 -0
  158. package/dist/services/logs/log.service.js.map +1 -0
  159. package/dist/services/logs/vendorLog.service.js +88 -0
  160. package/dist/services/logs/vendorLog.service.js.map +1 -0
  161. package/dist/services/notifications/notifications.service.js +159 -0
  162. package/dist/services/notifications/notifications.service.js.map +1 -0
  163. package/dist/services/organisation/organisation.service.js +176 -0
  164. package/dist/services/organisation/organisation.service.js.map +1 -0
  165. package/dist/services/profile/profile.services.js +64 -0
  166. package/dist/services/profile/profile.services.js.map +1 -0
  167. package/dist/services/roles/role.services.js +138 -0
  168. package/dist/services/roles/role.services.js.map +1 -0
  169. package/dist/services/statement/accountdetails.service.js +44 -0
  170. package/dist/services/statement/accountdetails.service.js.map +1 -0
  171. package/dist/services/userroles/userrole.service.js +119 -0
  172. package/dist/services/userroles/userrole.service.js.map +1 -0
  173. package/dist/services/workflow/workSettings.service.js +98 -0
  174. package/dist/services/workflow/workSettings.service.js.map +1 -0
  175. package/dist/services/workflow/workflow.service.js +761 -0
  176. package/dist/services/workflow/workflow.service.js.map +1 -0
  177. package/dist/setupModal.js +22 -0
  178. package/dist/setupModal.js.map +1 -0
  179. package/dist/utils/axios-instance.js +13 -0
  180. package/dist/utils/axios-instance.js.map +1 -0
  181. package/dist/utils/common.js +145 -0
  182. package/dist/utils/common.js.map +1 -0
  183. package/dist/utils/commonfile.js +27 -0
  184. package/dist/utils/commonfile.js.map +1 -0
  185. package/dist/utils/cookie.js +15 -0
  186. package/dist/utils/cookie.js.map +1 -0
  187. package/dist/utils/env.js +76 -0
  188. package/dist/utils/env.js.map +1 -0
  189. package/dist/utils/folder-path.js +11 -0
  190. package/dist/utils/folder-path.js.map +1 -0
  191. package/dist/utils/format-date-db.js +15 -0
  192. package/dist/utils/format-date-db.js.map +1 -0
  193. package/dist/utils/log.service.js +28 -0
  194. package/dist/utils/log.service.js.map +1 -0
  195. package/dist/utils/logger.js +36 -0
  196. package/dist/utils/logger.js.map +1 -0
  197. package/dist/validations/authenticate.validation.js +41 -0
  198. package/dist/validations/authenticate.validation.js.map +1 -0
  199. package/dist/validations/authenticate.validation.test.js +40 -0
  200. package/dist/validations/authenticate.validation.test.js.map +1 -0
  201. package/jest.config.ts +9 -0
  202. package/outputFile +0 -0
  203. package/package.json +62 -0
  204. package/public/image/logo.png +0 -0
  205. package/src/caches/memcache.cache.ts +0 -0
  206. package/src/caches/redis.cache.ts +0 -0
  207. package/src/config/auth/passportConfig.ts +42 -0
  208. package/src/constants/billing.constant.ts +9 -0
  209. package/src/constants/send-mail-type.constant.ts +13 -0
  210. package/src/constants/status.constant.ts +22 -0
  211. package/src/controllers/auth.controller.ts +74 -0
  212. package/src/controllers/license/license.controller.ts +89 -0
  213. package/src/controllers/rbac/express.def.ts +7 -0
  214. package/src/controllers/rbac/grantaccess.json +72 -0
  215. package/src/controllers/rbac/rbac.controller.ts +55 -0
  216. package/src/controllers/rbac/rbac_model.conf +14 -0
  217. package/src/controllers/rbac/rbac_policy.csv +27 -0
  218. package/src/controllers/rbac/roles.ts +14 -0
  219. package/src/email-templates/attachment.mjml +22 -0
  220. package/src/email-templates/changePassword.mjml +24 -0
  221. package/src/email-templates/forgotPassword.mjml +35 -0
  222. package/src/email-templates/inviteTeamMember.mjml +46 -0
  223. package/src/email-templates/invoicePaymentFailed.mjml +26 -0
  224. package/src/email-templates/invoicePaymentSuccess.mjml +26 -0
  225. package/src/email-templates/trialWillEnd.mjml +26 -0
  226. package/src/email-templates/verifyEmail.mjml +33 -0
  227. package/src/email-templates/workflowApproval.mjml +78 -0
  228. package/src/email-templates/workflowTeamMember.mjml +113 -0
  229. package/src/helpers/compile-email-template.ts +28 -0
  230. package/src/helpers/genarateRandomkey.ts +14 -0
  231. package/src/helpers/hashing.helper.ts +12 -0
  232. package/src/helpers/jwt.helper.ts +28 -0
  233. package/src/helpers/string.helper.ts +25 -0
  234. package/src/libs/mail.ts +72 -0
  235. package/src/middleware/authMiddleware +0 -0
  236. package/src/middlewares/logger.middleware.ts +12 -0
  237. package/src/repository/accountdetails.repository.ts +71 -0
  238. package/src/repository/document.repository.ts +2045 -0
  239. package/src/repository/filesystem.repository.ts +133 -0
  240. package/src/repository/form.repository.ts +110 -0
  241. package/src/repository/log.repository.ts +44 -0
  242. package/src/repository/notifications.repository.ts +204 -0
  243. package/src/repository/organisation.repository.ts +371 -0
  244. package/src/repository/profile.repository.ts +67 -0
  245. package/src/repository/role.repository.ts +148 -0
  246. package/src/repository/schemas/WorkflowSettingsScheme.ts +27 -0
  247. package/src/repository/schemas/accountdetails.schema.ts +78 -0
  248. package/src/repository/schemas/accounts.schema.ts +85 -0
  249. package/src/repository/schemas/document.schema.ts +145 -0
  250. package/src/repository/schemas/extracted.schema.ts +33 -0
  251. package/src/repository/schemas/fileSystem.schema.ts +20 -0
  252. package/src/repository/schemas/form.schema.ts +34 -0
  253. package/src/repository/schemas/log.schema.ts +49 -0
  254. package/src/repository/schemas/notifications.schema.ts +56 -0
  255. package/src/repository/schemas/organisation.schema.ts +177 -0
  256. package/src/repository/schemas/profile.schema.ts +65 -0
  257. package/src/repository/schemas/role.schema.ts +45 -0
  258. package/src/repository/schemas/tokens.schema.ts +24 -0
  259. package/src/repository/schemas/userrole.schema.ts +92 -0
  260. package/src/repository/schemas/workflow.schema.ts +42 -0
  261. package/src/repository/user.repository.ts +495 -0
  262. package/src/repository/user_tokens.repository.ts +98 -0
  263. package/src/repository/userrole.repository.ts +257 -0
  264. package/src/repository/workflow.repository.ts +355 -0
  265. package/src/repository/workflowSetting.schema.ts +40 -0
  266. package/src/routes/accountdetails.route.ts +8 -0
  267. package/src/routes/auth.route.ts +24 -0
  268. package/src/routes/document.route.ts +26 -0
  269. package/src/routes/fileSystem.route.ts +17 -0
  270. package/src/routes/form.route.ts +14 -0
  271. package/src/routes/index.ts +11 -0
  272. package/src/routes/log.route.ts +15 -0
  273. package/src/routes/notifications.route.ts +14 -0
  274. package/src/routes/org.route.ts +15 -0
  275. package/src/routes/profile.route.ts +9 -0
  276. package/src/routes/role.route.ts +14 -0
  277. package/src/routes/user.route.ts +49 -0
  278. package/src/routes/userrole.route.ts +11 -0
  279. package/src/routes/workflow.route.ts +28 -0
  280. package/src/server.ts +17 -0
  281. package/src/services/authentication/change-password.service.ts +127 -0
  282. package/src/services/authentication/forgot-password.service.ts +47 -0
  283. package/src/services/authentication/getuser.service.ts +162 -0
  284. package/src/services/authentication/index.ts +8 -0
  285. package/src/services/authentication/login.service.ts +153 -0
  286. package/src/services/authentication/register.admin.service.ts +76 -0
  287. package/src/services/authentication/register.service.ts +101 -0
  288. package/src/services/authentication/resend-email.service.ts +72 -0
  289. package/src/services/authentication/reset-password.service.ts +52 -0
  290. package/src/services/authentication/verify-email.service.ts +54 -0
  291. package/src/services/document/document.services.ts +1227 -0
  292. package/src/services/fileSystem/fileSystem.service.ts +186 -0
  293. package/src/services/form/form.service.ts +121 -0
  294. package/src/services/logs/log.service.ts +79 -0
  295. package/src/services/logs/logs.json +142 -0
  296. package/src/services/logs/vendorLog.service.ts +79 -0
  297. package/src/services/notifications/notifications.service.ts +166 -0
  298. package/src/services/organisation/organisation.service.ts +190 -0
  299. package/src/services/profile/profile.services.ts +49 -0
  300. package/src/services/roles/role.services.ts +142 -0
  301. package/src/services/statement/accountdetails.service.ts +28 -0
  302. package/src/services/userroles/userrole.service.ts +125 -0
  303. package/src/services/workflow/workSettings.service.ts +94 -0
  304. package/src/services/workflow/workflow.service.ts +837 -0
  305. package/src/setupModal.ts +17 -0
  306. package/src/utils/axios-instance.ts +8 -0
  307. package/src/utils/common.ts +128 -0
  308. package/src/utils/commonfile.ts +28 -0
  309. package/src/utils/cookie.ts +13 -0
  310. package/src/utils/env.ts +97 -0
  311. package/src/utils/folder-path.ts +9 -0
  312. package/src/utils/format-date-db.ts +9 -0
  313. package/src/utils/log.service.ts +11 -0
  314. package/src/utils/logger.ts +33 -0
  315. package/src/validations/authenticate.validation.test.ts +45 -0
  316. package/src/validations/authenticate.validation.ts +51 -0
  317. package/tsconfig.json +19 -0
package/.env ADDED
@@ -0,0 +1,42 @@
1
+ DEPLOYMENT=cloud # cloud or local
2
+ PORT=5020
3
+
4
+ # for local use
5
+ HOSTNAME=localhost
6
+
7
+ # For Cloud
8
+ # HOSTNAME=10.1.0.4
9
+
10
+ # MONGODB_URI=mongodb+srv://rahulkushwah:n4PW2H9TgFHIK00w@sequelstring.bdqf1pe.mongodb.net/WORKFLOW?retryWrites=true&w=majority
11
+ MONGODB_URI=mongodb+srv://amitsharma:3i0fBaIbIccJ5ihI@dev3.9pvuesg.mongodb.net/WORKFLOW_JSON_PREPROD
12
+ PRY_ENGINE=https://sequeldocapi.azurewebsites.net/api/
13
+ AUTOMATION_ENGINE=https://e5fb-20-235-107-112.ngrok-free.app/
14
+ #PRY_ENGINE=http://localhost:7071/api/sequelDoc
15
+ #PRY_CODE=""
16
+ PRY_CODE=9tc5W98t9XGFuvC-6O1OThCdjx6ji035RJr0vfKjvDkbAzFu7_C4dQ==
17
+ PRY_AI_CODE=94wT9VZ9KgTJbFJDC1SKBHqdET4CGVLromQS02ZH6zToAzFuGksFqA==
18
+ # MONGODB_URI=mongodb://localhost:27017/avionics
19
+ COOKIE_SECRET = jhdshhds884hfhhs-ew6dhjd
20
+ JWT_SECRET = jdhdhd-kjfjdhrhrerj-uurhr-jjge
21
+ JWT_ISSUER=SEQUELSTRING
22
+ JWT_SUBJECT=SEQUELSTRING
23
+ JWT_AUDIENCE=https://www.sequelstring.com/
24
+ JWT_EXPIRESIN=12h
25
+ JWT_ALGORITHM=HS256
26
+ REFRESH_TOKEN_SECRET = fgkjddshfdjh773bdjsj84-jdjd774
27
+ SESSION_EXPIRY = 60 * 15
28
+ REFRESH_TOKEN_EXPIRY = 60 * 60 * 24 * 30
29
+ SMTP_HOST=smtp.office365.com
30
+ SMTP_PORT=587
31
+ SMTP_USER=no-reply@sequelstring.com
32
+ SMTP_PASS=Sequelstring@123
33
+ SMTP_DEFAULT_TO_EMAIL=no-reply@sequelstring.com
34
+
35
+ # FRONTEND_URL=http://192.168.29.102:3003
36
+ # For cloud
37
+ FRONTEND_URL=https://sequelflow-sales.sequelstring.com
38
+
39
+ REDIS_HOST=redis-15554.c212.ap-south-1-1.ec2.cloud.redislabs.com
40
+ REDIS_PORT=15554
41
+ REDIS_PW=vIblUB7QBSRN9maSGTMCWAAoT86Vu6ON
42
+ VERIFY_EMAIL=true
package/.eslintignore ADDED
File without changes
@@ -0,0 +1,5 @@
1
+ {
2
+ "recommendations": [
3
+ "jscearcy.rust-doc-viewer"
4
+ ]
5
+ }
package/README.md ADDED
@@ -0,0 +1,9 @@
1
+ Backend will be used to build the API and to interact with various engines.
2
+
3
+ ### `npm install`
4
+
5
+ Install all the packages from the package.json file.
6
+
7
+ ### `npm run dev`
8
+
9
+ Run the backend server using nodemon during development environment.
@@ -0,0 +1,6 @@
1
+ module.exports = {
2
+ presets: [
3
+ ['@babel/preset-env', {targets: {node: 'current'}}],
4
+ '@babel/preset-typescript',
5
+ ],
6
+ };
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=memcache.cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memcache.cache.js","sourceRoot":"","sources":["../../src/caches/memcache.cache.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=redis.cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redis.cache.js","sourceRoot":"","sources":["../../src/caches/redis.cache.ts"],"names":[],"mappings":""}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const passport_1 = __importDefault(require("passport"));
7
+ const passport_local_1 = __importDefault(require("passport-local"));
8
+ // import passportApiKey from "passport-headerapikey";
9
+ const passport_jwt_1 = __importDefault(require("passport-jwt"));
10
+ const accounts_schema_1 = __importDefault(require("../../repository/schemas/accounts.schema"));
11
+ const env_1 = require("../../utils/env");
12
+ const LocalStrategy = passport_local_1.default.Strategy;
13
+ const JwtStrategy = passport_jwt_1.default.Strategy;
14
+ const ExtractJwt = passport_jwt_1.default.ExtractJwt;
15
+ passport_1.default.use(new LocalStrategy({ usernameField: "username" }, (username, password, done) => {
16
+ accounts_schema_1.default.findOne({ username: username.toLowerCase() }, (err, user) => {
17
+ if (err) {
18
+ return done(err);
19
+ }
20
+ if (!user) {
21
+ return done(undefined, false, { message: `username ${username} not found.` });
22
+ }
23
+ user.comparePassword(password, (err, isMatch) => {
24
+ if (err) {
25
+ return done(err);
26
+ }
27
+ if (isMatch) {
28
+ return done(undefined, user);
29
+ }
30
+ return done(undefined, false, { message: "Invalid username or password." });
31
+ });
32
+ });
33
+ }));
34
+ passport_1.default.use(new JwtStrategy({
35
+ jwtFromRequest: ExtractJwt.fromAuthHeaderAsBearerToken(),
36
+ secretOrKey: env_1.JWT_SECRET
37
+ }, function (jwtToken, done) {
38
+ accounts_schema_1.default.findOne({ username: jwtToken.username }, function (err, user) {
39
+ if (err) {
40
+ return done(err, false);
41
+ }
42
+ if (user) {
43
+ return done(undefined, user, jwtToken);
44
+ }
45
+ else {
46
+ return done(undefined, false);
47
+ }
48
+ });
49
+ }));
50
+ //# sourceMappingURL=passportConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"passportConfig.js","sourceRoot":"","sources":["../../../src/config/auth/passportConfig.ts"],"names":[],"mappings":";;;;;AAAA,wDAAgC;AAChC,oEAA2C;AAC3C,sDAAsD;AACtD,gEAAuC;AACvC,+FAA8D;AAC9D,yCAA6C;AAE7C,MAAM,aAAa,GAAG,wBAAa,CAAC,QAAQ,CAAC;AAC7C,MAAM,WAAW,GAAG,sBAAW,CAAC,QAAQ,CAAC;AACzC,MAAM,UAAU,GAAG,sBAAW,CAAC,UAAU,CAAC;AAE1C,kBAAQ,CAAC,GAAG,CAAC,IAAI,aAAa,CAAC,EAAE,aAAa,EAAE,UAAU,EAAE,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;IACzF,yBAAO,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,WAAW,EAAE,EAAE,EAAE,CAAC,GAAU,EAAE,IAAS,EAAE,EAAE;QAC9E,IAAI,GAAG,EAAE;YAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;SAAE;QAC9B,IAAI,CAAC,IAAI,EAAE;YACT,OAAO,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,YAAY,QAAQ,aAAa,EAAE,CAAC,CAAC;SAC/E;QACD,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,GAAU,EAAE,OAAgB,EAAE,EAAE;YAC9D,IAAI,GAAG,EAAE;gBAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;aAAE;YAC9B,IAAI,OAAO,EAAE;gBACX,OAAO,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;aAC9B;YACD,OAAO,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,+BAA+B,EAAE,CAAC,CAAC;QAC9E,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CAAC;AAEJ,kBAAQ,CAAC,GAAG,CAAC,IAAI,WAAW,CAC1B;IACE,cAAc,EAAE,UAAU,CAAC,2BAA2B,EAAE;IACxD,WAAW,EAAE,gBAAU;CACxB,EAAE,UAAU,QAAQ,EAAE,IAAI;IACzB,yBAAO,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,EAAE,UAAU,GAAU,EAAE,IAAS;QAC9E,IAAI,GAAG,EAAE;YAAE,OAAO,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;SAAE;QACrC,IAAI,IAAI,EAAE;YACR,OAAO,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;SACxC;aAAM;YACL,OAAO,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;SAC/B;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CACF,CAAC,CAAC"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PERMISSION_PLAN = void 0;
4
+ exports.PERMISSION_PLAN = {
5
+ starter: ['can_invite_user', 'can_remove_user', 'can_set_admin_user'],
6
+ professional: [
7
+ 'can_invite_user',
8
+ 'can_remove_user',
9
+ 'can_set_admin_user',
10
+ 'can_create_group',
11
+ ],
12
+ };
13
+ //# sourceMappingURL=billing.constant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"billing.constant.js","sourceRoot":"","sources":["../../src/constants/billing.constant.ts"],"names":[],"mappings":";;;AAAa,QAAA,eAAe,GAAG;IAC7B,OAAO,EAAE,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,oBAAoB,CAAC;IACrE,YAAY,EAAE;QACZ,iBAAiB;QACjB,iBAAiB;QACjB,oBAAoB;QACpB,kBAAkB;KACnB;CACF,CAAC"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SEND_MAIL_TYPE = void 0;
4
+ exports.SEND_MAIL_TYPE = {
5
+ VERIFY_EMAIL: 'verify_email',
6
+ FORGOT_PASSWORD: 'forgot_password',
7
+ TEAM_INVITATION_EMAIL: 'team_invitation_email',
8
+ SIGNUP_VENDOR: 'signup_vendor'
9
+ };
10
+ //# sourceMappingURL=send-mail-type.constant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"send-mail-type.constant.js","sourceRoot":"","sources":["../../src/constants/send-mail-type.constant.ts"],"names":[],"mappings":";;;AAOa,QAAA,cAAc,GAAc;IACvC,YAAY,EAAE,cAAc;IAC5B,eAAe,EAAE,iBAAiB;IAClC,qBAAqB,EAAE,uBAAuB;IAC9C,aAAa,EAAE,eAAe;CAC/B,CAAC"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateLevels = exports.getLevelForNotifcation = void 0;
4
+ const getLevelForNotifcation = (numberOfLevels, currentLevel) => {
5
+ const levels = Array.from({ length: numberOfLevels }, (_, index) => `level-${index + 1}`);
6
+ if (currentLevel === levels[levels.length - 1]) {
7
+ return "admin";
8
+ }
9
+ const currentIndex = levels.findIndex(level => level === currentLevel);
10
+ if (currentIndex === -1) {
11
+ return levels[0];
12
+ }
13
+ return levels[currentIndex + 1];
14
+ };
15
+ exports.getLevelForNotifcation = getLevelForNotifcation;
16
+ function generateLevels(numLevels) {
17
+ const levels = [];
18
+ for (let i = 1; i <= numLevels; i++) {
19
+ levels.push(`level-${i}`);
20
+ }
21
+ levels.unshift('admin');
22
+ return levels;
23
+ }
24
+ exports.generateLevels = generateLevels;
25
+ //# sourceMappingURL=status.constant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.constant.js","sourceRoot":"","sources":["../../src/constants/status.constant.ts"],"names":[],"mappings":";;;AAAA,MAAM,sBAAsB,GAAG,CAAC,cAAsB,EAAE,YAAoB,EAAU,EAAE;IACtF,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,SAAS,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;IAC1F,IAAI,YAAY,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE;QAC9C,OAAO,OAAO,CAAC;KAChB;IACD,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,KAAK,YAAY,CAAC,CAAC;IACvE,IAAI,YAAY,KAAK,CAAC,CAAC,EAAE;QACvB,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;KAClB;IACD,OAAO,MAAM,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC;AAWM,wDAAsB;AAT9B,SAAS,cAAc,CAAC,SAAiB;IACvC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC,EAAE,EAAE;QACjC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;KAC7B;IACD,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACxB,OAAO,MAAM,CAAC;AAChB,CAAC;AAE+B,wCAAc"}
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.authorizeJWT = exports.authenticateJWT = void 0;
16
+ const passport_1 = __importDefault(require("passport"));
17
+ require("../config/auth/passportConfig");
18
+ function authenticateJWT(req, res, next) {
19
+ return __awaiter(this, void 0, void 0, function* () {
20
+ passport_1.default.authenticate("jwt", function (err, user, info) {
21
+ return __awaiter(this, void 0, void 0, function* () {
22
+ if (err) {
23
+ return res
24
+ .status(401)
25
+ .json({ status: "error", message: "unauthorized access" });
26
+ }
27
+ if (!user) {
28
+ return res.status(401).json({
29
+ status: "error",
30
+ message: "unauthorized access user not found",
31
+ });
32
+ }
33
+ else {
34
+ if (!user.is_active) {
35
+ return res.status(300).json({
36
+ status: "error",
37
+ message: "User is not yet verified, please verify",
38
+ });
39
+ }
40
+ else if (user.deletedAt) {
41
+ return res.status(300).json({
42
+ status: "error",
43
+ message: "User has been disabled by admin, please contact your company administrator",
44
+ });
45
+ }
46
+ try {
47
+ req.user = user;
48
+ return next();
49
+ }
50
+ catch (error) {
51
+ return res
52
+ .status(500)
53
+ .json({ status: "error", message: "Internal server error" });
54
+ }
55
+ }
56
+ });
57
+ })(req, res, next);
58
+ });
59
+ }
60
+ exports.authenticateJWT = authenticateJWT;
61
+ //updated user code
62
+ function authorizeJWT(req, res, next) {
63
+ return __awaiter(this, void 0, void 0, function* () {
64
+ passport_1.default.authenticate("jwt", function (err, user, jwtToken) {
65
+ if (err) {
66
+ return res.status(401).json({ status: "error", message: "unauthorized" });
67
+ }
68
+ if (!user) {
69
+ return res.status(401).json({ status: "error", message: "unauthorized" });
70
+ }
71
+ else {
72
+ const scope = req.baseUrl.split("/").slice(-1)[0];
73
+ const authScope = jwtToken.scope;
74
+ if (authScope && authScope.indexOf(scope) > -1) {
75
+ return next();
76
+ }
77
+ else {
78
+ return res
79
+ .status(401)
80
+ .json({ status: "error", message: "unauthorized" });
81
+ }
82
+ }
83
+ })(req, res, next);
84
+ });
85
+ }
86
+ exports.authorizeJWT = authorizeJWT;
87
+ //# sourceMappingURL=auth.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.controller.js","sourceRoot":"","sources":["../../src/controllers/auth.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,wDAAgC;AAChC,yCAAuC;AAEvC,SAAsB,eAAe,CACnC,GAAQ,EACR,GAAa,EACb,IAAkB;;QAElB,kBAAQ,CAAC,YAAY,CACnB,KAAK,EACL,UAAgB,GAAU,EAAE,IAAS,EAAE,IAAS;;gBAC9C,IAAI,GAAG,EAAE;oBACP,OAAO,GAAG;yBACP,MAAM,CAAC,GAAG,CAAC;yBACX,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,qBAAqB,EAAE,CAAC,CAAC;iBAC9D;gBACD,IAAI,CAAC,IAAI,EAAE;oBACT,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;wBAC1B,MAAM,EAAE,OAAO;wBACf,OAAO,EAAE,oCAAoC;qBAC9C,CAAC,CAAC;iBACJ;qBAAM;oBACL,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;wBACnB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;4BAC1B,MAAM,EAAE,OAAO;4BACf,OAAO,EAAE,yCAAyC;yBACnD,CAAC,CAAC;qBACJ;yBAAM,IAAI,IAAI,CAAC,SAAS,EAAE;wBACzB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;4BAC1B,MAAM,EAAE,OAAO;4BACf,OAAO,EACL,4EAA4E;yBAC/E,CAAC,CAAC;qBACJ;oBACD,IAAI;wBACF,GAAG,CAAC,IAAI,GAAG,IAAI,CAAA;wBACf,OAAO,IAAI,EAAE,CAAC;qBACf;oBAAC,OAAO,KAAK,EAAE;wBACd,OAAO,GAAG;6BACP,MAAM,CAAC,GAAG,CAAC;6BACX,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,uBAAuB,EAAE,CAAC,CAAC;qBAChE;iBACF;YACH,CAAC;SAAA,CACF,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACpB,CAAC;CAAA;AA1CD,0CA0CC;AAED,mBAAmB;AAEnB,SAAsB,YAAY,CAChC,GAAQ,EACR,GAAa,EACb,IAAkB;;QAElB,kBAAQ,CAAC,YAAY,CAAC,KAAK,EAAE,UAAU,GAAQ,EAAE,IAAS,EAAE,QAAa;YACvE,IAAI,GAAG,EAAE;gBACP,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,CAAC;aAC3E;YACD,IAAI,CAAC,IAAI,EAAE;gBACT,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,CAAC;aAC3E;iBAAM;gBACL,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAClD,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC;gBACjC,IAAI,SAAS,IAAI,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE;oBAC9C,OAAO,IAAI,EAAE,CAAC;iBACf;qBAAM;oBACL,OAAO,GAAG;yBACP,MAAM,CAAC,GAAG,CAAC;yBACX,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,CAAC;iBACvD;aACF;QACH,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACrB,CAAC;CAAA;AAvBD,oCAuBC"}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ // import { Request, Response, NextFunction } from 'express';
3
+ // import Organization from '~/repository/schemas/organisation.schema'
4
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
5
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
6
+ return new (P || (P = Promise))(function (resolve, reject) {
7
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
8
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
9
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
10
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
11
+ });
12
+ };
13
+ var __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.getLicense = void 0;
18
+ const organisation_schema_1 = __importDefault(require("~/repository/schemas/organisation.schema"));
19
+ function checkLicensePermission(action) {
20
+ return (req, res, next) => __awaiter(this, void 0, void 0, function* () {
21
+ const { user } = req;
22
+ const { permission } = user;
23
+ if (!permission.includes(`license:${action}`)) {
24
+ return res.status(403).json({ message: 'You do not have permission to perform this action' });
25
+ }
26
+ return next();
27
+ });
28
+ }
29
+ const getLicense = (req, res, next) => __awaiter(void 0, void 0, void 0, function* () {
30
+ try {
31
+ const { user } = req;
32
+ const { company } = user;
33
+ const organization = yield organisation_schema_1.default.findOne({ _id: company });
34
+ if (!organization) {
35
+ return res.status(404).json({ message: 'Organization not found' });
36
+ }
37
+ const { license } = organization;
38
+ if (!license) {
39
+ return res.status(404).json({ message: 'License not found' });
40
+ }
41
+ // Check permissions for required actions
42
+ yield checkLicensePermission('view')(req, res, next);
43
+ // Add more actions here as required
44
+ // If everything is fine, return the license details
45
+ return res.json({ license });
46
+ }
47
+ catch (error) {
48
+ return next(error);
49
+ }
50
+ });
51
+ exports.getLicense = getLicense;
52
+ //# sourceMappingURL=license.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"license.controller.js","sourceRoot":"","sources":["../../../src/controllers/license/license.controller.ts"],"names":[],"mappings":";AAAA,6DAA6D;AAC7D,sEAAsE;;;;;;;;;;;;;;;AAuCtE,mGAAmE;AAWnE,SAAS,sBAAsB,CAAC,MAAc;IAC1C,OAAO,CAAO,GAAgB,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;QACjE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;QACrB,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;QAE5B,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,MAAM,EAAE,CAAC,EAAE;YAC3C,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,mDAAmD,EAAE,CAAC,CAAC;SACjG;QAED,OAAO,IAAI,EAAE,CAAC;IAClB,CAAC,CAAA,CAAC;AACN,CAAC;AAEM,MAAM,UAAU,GAAG,CAAO,GAAgB,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;IACpF,IAAI;QACA,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;QACrB,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QAEzB,MAAM,YAAY,GAAG,MAAM,6BAAY,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;QAClE,IAAI,CAAC,YAAY,EAAE;YACf,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,wBAAwB,EAAE,CAAC,CAAC;SACtE;QAED,MAAM,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,OAAO,EAAE;YACV,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC,CAAC;SACjE;QAED,yCAAyC;QACzC,MAAM,sBAAsB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QACrD,oCAAoC;QAEpC,oDAAoD;QACpD,OAAO,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;KAChC;IAAC,OAAO,KAAK,EAAE;QACZ,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;KACtB;AACL,CAAC,CAAA,CAAC;AAxBW,QAAA,UAAU,cAwBrB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=express.def.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"express.def.js","sourceRoot":"","sources":["../../../src/controllers/rbac/express.def.ts"],"names":[],"mappings":""}
@@ -0,0 +1,72 @@
1
+ {
2
+ "jobs": {
3
+ "get": "canGetJob",
4
+ "delete": "canDeleteJob",
5
+ "create": "canCreateJob",
6
+ "update": "canUpdateJob"
7
+ },
8
+ "template": {
9
+ "get": "canGetTemplate",
10
+ "delete": "canDeleteTemplate",
11
+ "create": "canCreateTemplate",
12
+ "update": "canUpdateTemplate"
13
+ },
14
+ "project": {
15
+ "get": "canGetProject",
16
+ "delete": "canDeleteProject",
17
+ "create": "canCreateProject",
18
+ "update": "canUpdateProject"
19
+ },
20
+ "roles": {
21
+ "get": "canGetRole",
22
+ "delete": "canDeleteRole",
23
+ "create": "canCreateRole",
24
+ "update": "canUpdateRole"
25
+ },
26
+ "ekyc": {
27
+ "get": "canGetEkyc",
28
+ "delete": "canDeleteEkyc",
29
+ "create": "canCreateEkyc",
30
+ "update": "canUpdateEkyc"
31
+ },
32
+ "domain": {
33
+ "get": "canGetDomain",
34
+ "delete": "canDeleteDomain",
35
+ "create": "canCreateDomain",
36
+ "update": "canUpdateDomain"
37
+ },
38
+ "log": {
39
+ "get": "canGetLog",
40
+ "delete": "canDeleteLog",
41
+ "create": "canCreateLog",
42
+ "update": "canUpdateLog"
43
+ },
44
+ "processdocument": {
45
+ "get": "canProcessDocument",
46
+ "delete": "canDeleteDocument",
47
+ "create": "canCreateDocument",
48
+ "update": "canUpdateDocument"
49
+ },
50
+ "user": {
51
+ "get": "canGetUser",
52
+ "delete": "canDeleteUser",
53
+ "create": "canCreateUser",
54
+ "update": "canUpdateUser"
55
+ },
56
+ "ekycWorkflow": {
57
+ "create": "canCreateEkycWorkflow",
58
+ "update": "canUpdateEkycWorkflow",
59
+ "delete": "canDeleteEkycWorkflow",
60
+ "get": "canGetEkycWorkflow"
61
+ },
62
+ "payments": {
63
+ "get": "canGetPayment",
64
+ "delete": "canDeletePayment",
65
+ "create": "canCreatePayment",
66
+ "update": "canUpdatePayment"
67
+ },
68
+ "pendingapprovals": {
69
+ "Manager": "ApproveLevel1",
70
+ "HDA": "ApproveLevel2"
71
+ }
72
+ }
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.grantAccess = void 0;
16
+ const grantaccess_json_1 = __importDefault(require("./grantaccess.json"));
17
+ const grant = grantaccess_json_1.default;
18
+ function grantAccess(action, object) {
19
+ return (req, res, next) => __awaiter(this, void 0, void 0, function* () {
20
+ // const grantaccess = JSON.parse(fs.readFileSync('grantaccess.json', 'utf-8'))
21
+ const { user } = req;
22
+ if (!user) {
23
+ return res.status(401).send('Unauthorized');
24
+ }
25
+ let access = grant[object][action];
26
+ if (!access) {
27
+ return res.status(401).json({ status: "error", message: "route not found" });
28
+ }
29
+ const { role, permission } = user;
30
+ let allowed;
31
+ try {
32
+ allowed = (permission.filter((value) => value.includes(access)).length > 0);
33
+ if (allowed === true) {
34
+ return next();
35
+ }
36
+ else {
37
+ if (!user) {
38
+ return res.status(401).json({ status: "error", message: "unauthorized access user not found" });
39
+ }
40
+ else {
41
+ return res.status(401).json({ status: "error", message: "unauthorized access for roles & permission" });
42
+ }
43
+ }
44
+ ;
45
+ }
46
+ catch (error) {
47
+ }
48
+ });
49
+ }
50
+ exports.grantAccess = grantAccess;
51
+ //# sourceMappingURL=rbac.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rbac.controller.js","sourceRoot":"","sources":["../../../src/controllers/rbac/rbac.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,0EAA6C;AAO7C,MAAM,KAAK,GAAgB,0BAAW,CAAA;AAQtC,SAAgB,WAAW,CAAC,MAAc,EAAE,MAAc;IACtD,OAAO,CAAO,GAAgB,EAAE,GAAQ,EAAE,IAAkB,EAAG,EAAE;QAC7D,+EAA+E;QAC/E,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;QAErB,IAAI,CAAC,IAAI,EAAE;YACP,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;SAC/C;QACD,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,CAAC,MAAM,EAAE;YACT,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC,CAAC;SAChF;QACD,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;QAClC,IAAI,OAAgB,CAAC;QACrB,IAAI;YACA,OAAO,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;YACnF,IAAI,OAAO,KAAK,IAAI,EAAE;gBAClB,OAAO,IAAI,EAAE,CAAC;aACjB;iBACI;gBACD,IAAI,CAAC,IAAI,EAAE;oBACP,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,oCAAoC,EAAE,CAAC,CAAC;iBACnG;qBAAM;oBACH,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,4CAA4C,EAAE,CAAC,CAAC;iBAC3G;aACJ;YAAA,CAAC;SACL;QAAC,OAAO,KAAK,EAAE;SAEf;IAEL,CAAC,CAAA,CAAA;AAEL,CAAC;AAhCD,kCAgCC"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const casbin_1 = require("casbin");
16
+ const path_1 = __importDefault(require("path"));
17
+ const modelPath = path_1.default.join(__dirname, './rbac_model.conf');
18
+ const policyPath = path_1.default.join(__dirname, './rbac_policy.csv');
19
+ function createEnforcer() {
20
+ return __awaiter(this, void 0, void 0, function* () {
21
+ const enforcer = yield (0, casbin_1.newEnforcer)(modelPath, policyPath);
22
+ return enforcer;
23
+ });
24
+ }
25
+ const roles = createEnforcer();
26
+ exports.default = roles;
27
+ //# sourceMappingURL=roles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"roles.js","sourceRoot":"","sources":["../../../src/controllers/rbac/roles.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,mCAAqC;AACrC,gDAAwB;AAExB,MAAM,SAAS,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;AAC5D,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;AAE7D,SAAe,cAAc;;QAC3B,MAAM,QAAQ,GAAE,MAAM,IAAA,oBAAW,EAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QACzD,OAAO,QAAQ,CAAC;IAClB,CAAC;CAAA;AAED,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;AAE/B,kBAAe,KAAK,CAAA"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const handlebars_1 = __importDefault(require("handlebars"));
16
+ const mjml_1 = __importDefault(require("mjml"));
17
+ const fs_1 = __importDefault(require("fs"));
18
+ const path_1 = __importDefault(require("path"));
19
+ function compileEmailTemplate({ fileName, data }) {
20
+ return __awaiter(this, void 0, void 0, function* () {
21
+ const mjMail = yield fs_1.default.promises.readFile(path_1.default.join('src/email-templates', fileName), 'utf8');
22
+ const template = handlebars_1.default.compile(mjMail)(data);
23
+ return (0, mjml_1.default)(template).html.toString();
24
+ });
25
+ }
26
+ exports.default = compileEmailTemplate;
27
+ //# sourceMappingURL=compile-email-template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compile-email-template.js","sourceRoot":"","sources":["../../src/helpers/compile-email-template.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,4DAAoC;AACpC,gDAA6B;AAC7B,4CAAoB;AACpB,gDAAwB;AAoBxB,SAA8B,oBAAoB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAS;;QAC1E,MAAM,MAAM,GAAG,MAAM,YAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;QAC9F,MAAM,QAAQ,GAAG,oBAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;QAClD,OAAO,IAAA,cAAS,EAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC7C,CAAC;CAAA;AAJD,uCAIC"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const crypto_1 = require("crypto");
4
+ const generateRandomKey = () => new Promise((resolve, reject) => {
5
+ (0, crypto_1.randomBytes)(32, (error, buf) => {
6
+ if (error) {
7
+ return reject(error);
8
+ }
9
+ const token = buf.toString('hex');
10
+ return resolve(token);
11
+ });
12
+ });
13
+ exports.default = generateRandomKey;
14
+ //# sourceMappingURL=genarateRandomkey.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"genarateRandomkey.js","sourceRoot":"","sources":["../../src/helpers/genarateRandomkey.ts"],"names":[],"mappings":";;AAAA,mCAAqC;AAErC,MAAM,iBAAiB,GAAG,GAAoB,EAAE,CAC9C,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;IAC9B,IAAA,oBAAW,EAAC,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QAC7B,IAAI,KAAK,EAAE;YACT,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;SACtB;QACD,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAClC,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,kBAAe,iBAAiB,CAAC"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.comparePassword = exports.generatePassword = void 0;
16
+ const bcryptjs_1 = __importDefault(require("bcryptjs"));
17
+ const { compare, genSalt, hash } = bcryptjs_1.default;
18
+ function generatePassword(passwordString) {
19
+ return __awaiter(this, void 0, void 0, function* () {
20
+ const salt = yield genSalt(10);
21
+ return hash(passwordString, salt);
22
+ });
23
+ }
24
+ exports.generatePassword = generatePassword;
25
+ function comparePassword(password, hashString) {
26
+ return compare(password, hashString);
27
+ }
28
+ exports.comparePassword = comparePassword;
29
+ //# sourceMappingURL=hashing.helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hashing.helper.js","sourceRoot":"","sources":["../../src/helpers/hashing.helper.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,wDAA2B;AAE3B,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,kBAAG,CAAC;AAEvC,SAAsB,gBAAgB,CAAC,cAAsB;;QAC3D,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,EAAE,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IACpC,CAAC;CAAA;AAHD,4CAGC;AAED,SAAgB,eAAe,CAAC,QAAgB,EAAE,UAAkB;IAClE,OAAO,OAAO,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AACvC,CAAC;AAFD,0CAEC"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.verify = exports.sign = void 0;
7
+ const jsonwebtoken_1 = __importDefault(require("jsonwebtoken"));
8
+ const env_1 = require("../utils/env");
9
+ const { sign: jwtSign, verify: jwtVerify } = jsonwebtoken_1.default;
10
+ const signOptions = {
11
+ issuer: env_1.JWT_ISSUER,
12
+ subject: env_1.JWT_SUBJECT,
13
+ audience: env_1.JWT_AUDIENCE,
14
+ expiresIn: env_1.JWT_EXPIRESIN,
15
+ algorithm: env_1.JWT_ALGORITHM,
16
+ };
17
+ function sign(payload) {
18
+ return jwtSign({ user: payload }, env_1.JWT_SECRET, signOptions);
19
+ }
20
+ exports.sign = sign;
21
+ function verify(token) {
22
+ return jwtVerify(token, env_1.JWT_SECRET, signOptions);
23
+ }
24
+ exports.verify = verify;
25
+ //# sourceMappingURL=jwt.helper.js.map