@intlayer/backend 3.1.0 → 3.2.1

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 (216) hide show
  1. package/dist/cjs/controllers/dictionary.controller.cjs +41 -0
  2. package/dist/cjs/controllers/dictionary.controller.cjs.map +1 -1
  3. package/dist/cjs/controllers/organization.controller.cjs +73 -4
  4. package/dist/cjs/controllers/organization.controller.cjs.map +1 -1
  5. package/dist/cjs/controllers/project.controller.cjs +71 -7
  6. package/dist/cjs/controllers/project.controller.cjs.map +1 -1
  7. package/dist/cjs/controllers/projectAccessKey.controller.cjs +31 -0
  8. package/dist/cjs/controllers/projectAccessKey.controller.cjs.map +1 -1
  9. package/dist/cjs/controllers/sessionAuth.controller.cjs +277 -57
  10. package/dist/cjs/controllers/sessionAuth.controller.cjs.map +1 -1
  11. package/dist/cjs/controllers/stripe.controller.cjs +84 -0
  12. package/dist/cjs/controllers/stripe.controller.cjs.map +1 -0
  13. package/dist/cjs/controllers/user.controller.cjs +40 -3
  14. package/dist/cjs/controllers/user.controller.cjs.map +1 -1
  15. package/dist/cjs/emails/SubscriptionPaymentCancellation.cjs +182 -0
  16. package/dist/cjs/emails/SubscriptionPaymentCancellation.cjs.map +1 -0
  17. package/dist/cjs/emails/SubscriptionPaymentError.cjs +182 -0
  18. package/dist/cjs/emails/SubscriptionPaymentError.cjs.map +1 -0
  19. package/dist/cjs/emails/SubscriptionPaymentSuccess.cjs +188 -0
  20. package/dist/cjs/emails/SubscriptionPaymentSuccess.cjs.map +1 -0
  21. package/dist/cjs/export.cjs.map +1 -1
  22. package/dist/cjs/index.cjs +15 -5
  23. package/dist/cjs/index.cjs.map +1 -1
  24. package/dist/cjs/middlewares/sessionAuth.middleware.cjs +4 -6
  25. package/dist/cjs/middlewares/sessionAuth.middleware.cjs.map +1 -1
  26. package/dist/cjs/routes/dictionary.routes.cjs +2 -62
  27. package/dist/cjs/routes/dictionary.routes.cjs.map +1 -1
  28. package/dist/cjs/routes/organization.routes.cjs +1 -25
  29. package/dist/cjs/routes/organization.routes.cjs.map +1 -1
  30. package/dist/cjs/routes/project.routes.cjs +10 -85
  31. package/dist/cjs/routes/project.routes.cjs.map +1 -1
  32. package/dist/cjs/routes/sessionAuth.routes.cjs +26 -25
  33. package/dist/cjs/routes/sessionAuth.routes.cjs.map +1 -1
  34. package/dist/cjs/{models/plan.moddel.cjs → routes/stripe.routes.cjs} +20 -9
  35. package/dist/cjs/routes/stripe.routes.cjs.map +1 -0
  36. package/dist/cjs/routes/user.routes.cjs +6 -27
  37. package/dist/cjs/routes/user.routes.cjs.map +1 -1
  38. package/dist/cjs/schemas/organization.schema.cjs +5 -0
  39. package/dist/cjs/schemas/organization.schema.cjs.map +1 -1
  40. package/dist/cjs/schemas/plans.schema.cjs +2 -8
  41. package/dist/cjs/schemas/plans.schema.cjs.map +1 -1
  42. package/dist/cjs/schemas/user.schema.cjs +1 -1
  43. package/dist/cjs/schemas/user.schema.cjs.map +1 -1
  44. package/dist/cjs/services/email.service.cjs +113 -43
  45. package/dist/cjs/services/email.service.cjs.map +1 -1
  46. package/dist/cjs/services/organization.service.cjs +55 -8
  47. package/dist/cjs/services/organization.service.cjs.map +1 -1
  48. package/dist/cjs/services/project.service.cjs +1 -3
  49. package/dist/cjs/services/project.service.cjs.map +1 -1
  50. package/dist/cjs/services/sessionAuth.service.cjs +9 -11
  51. package/dist/cjs/services/sessionAuth.service.cjs.map +1 -1
  52. package/dist/cjs/services/subscription.service.cjs +134 -51
  53. package/dist/cjs/services/subscription.service.cjs.map +1 -1
  54. package/dist/cjs/services/user.service.cjs +1 -3
  55. package/dist/cjs/services/user.service.cjs.map +1 -1
  56. package/dist/cjs/types/organization.types.cjs.map +1 -1
  57. package/dist/cjs/types/plan.types.cjs.map +1 -1
  58. package/dist/cjs/types/session.types.cjs.map +1 -1
  59. package/dist/cjs/utils/errors/ErrorHandler.cjs +29 -9
  60. package/dist/cjs/utils/errors/ErrorHandler.cjs.map +1 -1
  61. package/dist/cjs/utils/errors/ErrorsClass.cjs +17 -3
  62. package/dist/cjs/utils/errors/ErrorsClass.cjs.map +1 -1
  63. package/dist/cjs/utils/errors/errorCodes.cjs +99 -8
  64. package/dist/cjs/utils/errors/errorCodes.cjs.map +1 -1
  65. package/dist/cjs/utils/mapper/project.cjs +1 -1
  66. package/dist/cjs/utils/mapper/project.cjs.map +1 -1
  67. package/dist/cjs/utils/plan.cjs +7 -2
  68. package/dist/cjs/utils/plan.cjs.map +1 -1
  69. package/dist/cjs/utils/responseData.cjs +8 -0
  70. package/dist/cjs/utils/responseData.cjs.map +1 -1
  71. package/dist/cjs/webhooks/stripe.webhook.cjs +133 -0
  72. package/dist/cjs/webhooks/stripe.webhook.cjs.map +1 -0
  73. package/dist/esm/controllers/dictionary.controller.mjs +41 -0
  74. package/dist/esm/controllers/dictionary.controller.mjs.map +1 -1
  75. package/dist/esm/controllers/organization.controller.mjs +73 -4
  76. package/dist/esm/controllers/organization.controller.mjs.map +1 -1
  77. package/dist/esm/controllers/project.controller.mjs +71 -7
  78. package/dist/esm/controllers/project.controller.mjs.map +1 -1
  79. package/dist/esm/controllers/projectAccessKey.controller.mjs +31 -0
  80. package/dist/esm/controllers/projectAccessKey.controller.mjs.map +1 -1
  81. package/dist/esm/controllers/sessionAuth.controller.mjs +273 -56
  82. package/dist/esm/controllers/sessionAuth.controller.mjs.map +1 -1
  83. package/dist/esm/controllers/stripe.controller.mjs +60 -0
  84. package/dist/esm/controllers/stripe.controller.mjs.map +1 -0
  85. package/dist/esm/controllers/user.controller.mjs +40 -3
  86. package/dist/esm/controllers/user.controller.mjs.map +1 -1
  87. package/dist/esm/emails/SubscriptionPaymentCancellation.mjs +168 -0
  88. package/dist/esm/emails/SubscriptionPaymentCancellation.mjs.map +1 -0
  89. package/dist/esm/emails/SubscriptionPaymentError.mjs +168 -0
  90. package/dist/esm/emails/SubscriptionPaymentError.mjs.map +1 -0
  91. package/dist/esm/emails/SubscriptionPaymentSuccess.mjs +174 -0
  92. package/dist/esm/emails/SubscriptionPaymentSuccess.mjs.map +1 -0
  93. package/dist/esm/export.mjs.map +1 -1
  94. package/dist/esm/index.mjs +15 -5
  95. package/dist/esm/index.mjs.map +1 -1
  96. package/dist/esm/middlewares/sessionAuth.middleware.mjs +4 -6
  97. package/dist/esm/middlewares/sessionAuth.middleware.mjs.map +1 -1
  98. package/dist/esm/routes/dictionary.routes.mjs +2 -62
  99. package/dist/esm/routes/dictionary.routes.mjs.map +1 -1
  100. package/dist/esm/routes/organization.routes.mjs +1 -25
  101. package/dist/esm/routes/organization.routes.mjs.map +1 -1
  102. package/dist/esm/routes/project.routes.mjs +10 -85
  103. package/dist/esm/routes/project.routes.mjs.map +1 -1
  104. package/dist/esm/routes/sessionAuth.routes.mjs +29 -26
  105. package/dist/esm/routes/sessionAuth.routes.mjs.map +1 -1
  106. package/dist/esm/routes/stripe.routes.mjs +17 -0
  107. package/dist/esm/routes/stripe.routes.mjs.map +1 -0
  108. package/dist/esm/routes/user.routes.mjs +6 -27
  109. package/dist/esm/routes/user.routes.mjs.map +1 -1
  110. package/dist/esm/schemas/organization.schema.mjs +5 -0
  111. package/dist/esm/schemas/organization.schema.mjs.map +1 -1
  112. package/dist/esm/schemas/plans.schema.mjs +2 -8
  113. package/dist/esm/schemas/plans.schema.mjs.map +1 -1
  114. package/dist/esm/schemas/user.schema.mjs +1 -1
  115. package/dist/esm/schemas/user.schema.mjs.map +1 -1
  116. package/dist/esm/services/email.service.mjs +125 -43
  117. package/dist/esm/services/email.service.mjs.map +1 -1
  118. package/dist/esm/services/organization.service.mjs +51 -7
  119. package/dist/esm/services/organization.service.mjs.map +1 -1
  120. package/dist/esm/services/project.service.mjs +1 -3
  121. package/dist/esm/services/project.service.mjs.map +1 -1
  122. package/dist/esm/services/sessionAuth.service.mjs +9 -10
  123. package/dist/esm/services/sessionAuth.service.mjs.map +1 -1
  124. package/dist/esm/services/subscription.service.mjs +136 -53
  125. package/dist/esm/services/subscription.service.mjs.map +1 -1
  126. package/dist/esm/services/user.service.mjs +1 -3
  127. package/dist/esm/services/user.service.mjs.map +1 -1
  128. package/dist/esm/utils/errors/ErrorHandler.mjs +29 -9
  129. package/dist/esm/utils/errors/ErrorHandler.mjs.map +1 -1
  130. package/dist/esm/utils/errors/ErrorsClass.mjs +17 -3
  131. package/dist/esm/utils/errors/ErrorsClass.mjs.map +1 -1
  132. package/dist/esm/utils/errors/errorCodes.mjs +99 -8
  133. package/dist/esm/utils/errors/errorCodes.mjs.map +1 -1
  134. package/dist/esm/utils/mapper/project.mjs +1 -1
  135. package/dist/esm/utils/mapper/project.mjs.map +1 -1
  136. package/dist/esm/utils/plan.mjs +7 -2
  137. package/dist/esm/utils/plan.mjs.map +1 -1
  138. package/dist/esm/utils/responseData.mjs +8 -0
  139. package/dist/esm/utils/responseData.mjs.map +1 -1
  140. package/dist/esm/webhooks/stripe.webhook.mjs +113 -0
  141. package/dist/esm/webhooks/stripe.webhook.mjs.map +1 -0
  142. package/dist/types/controllers/dictionary.controller.d.ts.map +1 -1
  143. package/dist/types/controllers/organization.controller.d.ts.map +1 -1
  144. package/dist/types/controllers/project.controller.d.ts.map +1 -1
  145. package/dist/types/controllers/projectAccessKey.controller.d.ts.map +1 -1
  146. package/dist/types/controllers/sessionAuth.controller.d.ts +24 -5
  147. package/dist/types/controllers/sessionAuth.controller.d.ts.map +1 -1
  148. package/dist/types/controllers/stripe.controller.d.ts +17 -0
  149. package/dist/types/controllers/stripe.controller.d.ts.map +1 -0
  150. package/dist/types/controllers/user.controller.d.ts.map +1 -1
  151. package/dist/types/emails/SubscriptionPaymentCancellation.d.ts +20 -0
  152. package/dist/types/emails/SubscriptionPaymentCancellation.d.ts.map +1 -0
  153. package/dist/types/emails/SubscriptionPaymentError.d.ts +20 -0
  154. package/dist/types/emails/SubscriptionPaymentError.d.ts.map +1 -0
  155. package/dist/types/emails/SubscriptionPaymentSuccess.d.ts +20 -0
  156. package/dist/types/emails/SubscriptionPaymentSuccess.d.ts.map +1 -0
  157. package/dist/types/export.d.ts +1 -0
  158. package/dist/types/export.d.ts.map +1 -1
  159. package/dist/types/index.d.ts.map +1 -1
  160. package/dist/types/middlewares/sessionAuth.middleware.d.ts.map +1 -1
  161. package/dist/types/models/organization.model.d.ts +1 -0
  162. package/dist/types/models/organization.model.d.ts.map +1 -1
  163. package/dist/types/routes/dictionary.routes.d.ts.map +1 -1
  164. package/dist/types/routes/organization.routes.d.ts.map +1 -1
  165. package/dist/types/routes/project.routes.d.ts.map +1 -1
  166. package/dist/types/routes/sessionAuth.routes.d.ts +15 -2
  167. package/dist/types/routes/sessionAuth.routes.d.ts.map +1 -1
  168. package/dist/types/routes/stripe.routes.d.ts +10 -0
  169. package/dist/types/routes/stripe.routes.d.ts.map +1 -0
  170. package/dist/types/routes/user.routes.d.ts.map +1 -1
  171. package/dist/types/schemas/organization.schema.d.ts +1 -0
  172. package/dist/types/schemas/organization.schema.d.ts.map +1 -1
  173. package/dist/types/schemas/plans.schema.d.ts.map +1 -1
  174. package/dist/types/services/email.service.d.ts +33 -4
  175. package/dist/types/services/email.service.d.ts.map +1 -1
  176. package/dist/types/services/organization.service.d.ts +15 -0
  177. package/dist/types/services/organization.service.d.ts.map +1 -1
  178. package/dist/types/services/project.service.d.ts.map +1 -1
  179. package/dist/types/services/sessionAuth.service.d.ts +1 -8
  180. package/dist/types/services/sessionAuth.service.d.ts.map +1 -1
  181. package/dist/types/services/subscription.service.d.ts +20 -5
  182. package/dist/types/services/subscription.service.d.ts.map +1 -1
  183. package/dist/types/services/user.service.d.ts.map +1 -1
  184. package/dist/types/types/organization.types.d.ts +2 -0
  185. package/dist/types/types/organization.types.d.ts.map +1 -1
  186. package/dist/types/types/plan.types.d.ts +2 -3
  187. package/dist/types/types/plan.types.d.ts.map +1 -1
  188. package/dist/types/types/session.types.d.ts +6 -6
  189. package/dist/types/types/session.types.d.ts.map +1 -1
  190. package/dist/types/utils/errors/ErrorHandler.d.ts +5 -3
  191. package/dist/types/utils/errors/ErrorHandler.d.ts.map +1 -1
  192. package/dist/types/utils/errors/ErrorsClass.d.ts +4 -1
  193. package/dist/types/utils/errors/ErrorsClass.d.ts.map +1 -1
  194. package/dist/types/utils/errors/errorCodes.d.ts +92 -1
  195. package/dist/types/utils/errors/errorCodes.d.ts.map +1 -1
  196. package/dist/types/utils/mapper/project.d.ts +1 -1
  197. package/dist/types/utils/mapper/project.d.ts.map +1 -1
  198. package/dist/types/utils/plan.d.ts +1 -1
  199. package/dist/types/utils/plan.d.ts.map +1 -1
  200. package/dist/types/utils/responseData.d.ts +13 -2
  201. package/dist/types/utils/responseData.d.ts.map +1 -1
  202. package/dist/types/webhooks/stripe.d.ts.map +1 -1
  203. package/dist/types/webhooks/stripe.webhook.d.ts +3 -0
  204. package/dist/types/webhooks/stripe.webhook.d.ts.map +1 -0
  205. package/package.json +6 -5
  206. package/dist/cjs/models/plan.moddel.cjs.map +0 -1
  207. package/dist/cjs/services/plans.service.cjs +0 -72
  208. package/dist/cjs/services/plans.service.cjs.map +0 -1
  209. package/dist/cjs/webhooks/stripe.cjs +0 -94
  210. package/dist/cjs/webhooks/stripe.cjs.map +0 -1
  211. package/dist/esm/models/plan.moddel.mjs +0 -7
  212. package/dist/esm/models/plan.moddel.mjs.map +0 -1
  213. package/dist/esm/services/plans.service.mjs +0 -44
  214. package/dist/esm/services/plans.service.mjs.map +0 -1
  215. package/dist/esm/webhooks/stripe.mjs +0 -70
  216. package/dist/esm/webhooks/stripe.mjs.map +0 -1
@@ -7,10 +7,9 @@ import {
7
7
  getDictionaryByKey,
8
8
  getDictionariesKeys
9
9
  } from './../controllers/dictionary.controller.mjs';
10
- import { accessControlMiddleWare, AccessRule } from './../utils/accessControl.mjs';
11
10
  import { Router } from "express";
12
11
  const dictionaryRouter = Router();
13
- const baseURL = `${process.env.CLIENT_URL}/api/dictionary`;
12
+ const baseURL = `${process.env.BACKEND_URL}/api/dictionary`;
14
13
  const dictionaryRoutes = {
15
14
  getDictionaries: {
16
15
  urlModel: "/",
@@ -50,86 +49,27 @@ const dictionaryRoutes = {
50
49
  };
51
50
  dictionaryRouter.get(
52
51
  dictionaryRoutes.getDictionaries.urlModel,
53
- accessControlMiddleWare(
54
- [
55
- AccessRule.authenticated,
56
- AccessRule.hasOrganization,
57
- AccessRule.hasProject
58
- ],
59
- AccessRule.admin
60
- ),
61
52
  getDictionaries
62
53
  );
63
54
  dictionaryRouter.get(
64
55
  dictionaryRoutes.getDictionariesKeys.urlModel,
65
- accessControlMiddleWare(
66
- [
67
- AccessRule.authenticated,
68
- AccessRule.hasOrganization,
69
- AccessRule.hasProject
70
- ],
71
- AccessRule.admin
72
- ),
73
56
  getDictionariesKeys
74
57
  );
75
58
  dictionaryRouter.get(
76
59
  dictionaryRoutes.getDictionary.urlModel,
77
- accessControlMiddleWare(
78
- [
79
- AccessRule.authenticated,
80
- AccessRule.hasOrganization,
81
- AccessRule.hasProject
82
- ],
83
- AccessRule.admin
84
- ),
85
60
  getDictionaryByKey
86
61
  );
87
- dictionaryRouter.post(
88
- dictionaryRoutes.addDictionary.urlModel,
89
- accessControlMiddleWare(
90
- [
91
- AccessRule.authenticated,
92
- AccessRule.hasOrganization,
93
- AccessRule.hasProject
94
- ],
95
- AccessRule.admin
96
- ),
97
- addDictionary
98
- );
62
+ dictionaryRouter.post(dictionaryRoutes.addDictionary.urlModel, addDictionary);
99
63
  dictionaryRouter.patch(
100
64
  dictionaryRoutes.pushDictionaries.urlModel,
101
- accessControlMiddleWare(
102
- [
103
- AccessRule.authenticated,
104
- AccessRule.hasOrganization,
105
- AccessRule.hasProject
106
- ],
107
- AccessRule.admin
108
- ),
109
65
  pushDictionaries
110
66
  );
111
67
  dictionaryRouter.put(
112
68
  dictionaryRoutes.updateDictionary.urlModel,
113
- accessControlMiddleWare(
114
- [
115
- AccessRule.authenticated,
116
- AccessRule.hasOrganization,
117
- AccessRule.hasProject
118
- ],
119
- AccessRule.admin
120
- ),
121
69
  updateDictionary
122
70
  );
123
71
  dictionaryRouter.delete(
124
72
  dictionaryRoutes.deleteDictionary.urlModel,
125
- accessControlMiddleWare(
126
- [
127
- AccessRule.authenticated,
128
- AccessRule.hasOrganization,
129
- AccessRule.hasProject
130
- ],
131
- AccessRule.admin
132
- ),
133
73
  deleteDictionary
134
74
  );
135
75
  export {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/routes/dictionary.routes.ts"],"sourcesContent":["import {\n pushDictionaries,\n addDictionary,\n deleteDictionary,\n getDictionaries,\n updateDictionary,\n getDictionaryByKey,\n getDictionariesKeys,\n} from '@controllers/dictionary.controller';\nimport { accessControlMiddleWare, AccessRule } from '@utils/accessControl';\nimport { Router } from 'express';\nimport { Routes } from '@/types/Routes';\n\nexport const dictionaryRouter: Router = Router();\n\nconst baseURL = `${process.env.CLIENT_URL}/api/dictionary`;\n\nexport const dictionaryRoutes = {\n getDictionaries: {\n urlModel: '/',\n url: baseURL,\n method: 'GET',\n },\n getDictionariesKeys: {\n urlModel: '/keys',\n url: `${baseURL}/keys`,\n method: 'GET',\n },\n getDictionary: {\n urlModel: '/:dictionaryKey',\n url: ({ dictionaryKey }: { dictionaryKey: string }) =>\n `${baseURL}/${dictionaryKey}`,\n method: 'GET',\n },\n addDictionary: {\n urlModel: '/',\n url: baseURL,\n method: 'POST',\n },\n pushDictionaries: {\n urlModel: '/',\n url: baseURL,\n method: 'PATCH',\n },\n updateDictionary: {\n urlModel: '/',\n url: baseURL,\n method: 'PUT',\n },\n deleteDictionary: {\n urlModel: '/',\n url: baseURL,\n method: 'DELETE',\n },\n} satisfies Routes;\n\ndictionaryRouter.get(\n dictionaryRoutes.getDictionaries.urlModel,\n accessControlMiddleWare(\n [\n AccessRule.authenticated,\n AccessRule.hasOrganization,\n AccessRule.hasProject,\n ],\n AccessRule.admin\n ),\n getDictionaries\n);\n\ndictionaryRouter.get(\n dictionaryRoutes.getDictionariesKeys.urlModel,\n accessControlMiddleWare(\n [\n AccessRule.authenticated,\n AccessRule.hasOrganization,\n AccessRule.hasProject,\n ],\n AccessRule.admin\n ),\n getDictionariesKeys\n);\n\ndictionaryRouter.get(\n dictionaryRoutes.getDictionary.urlModel,\n accessControlMiddleWare(\n [\n AccessRule.authenticated,\n AccessRule.hasOrganization,\n AccessRule.hasProject,\n ],\n AccessRule.admin\n ),\n getDictionaryByKey\n);\n\ndictionaryRouter.post(\n dictionaryRoutes.addDictionary.urlModel,\n accessControlMiddleWare(\n [\n AccessRule.authenticated,\n AccessRule.hasOrganization,\n AccessRule.hasProject,\n ],\n AccessRule.admin\n ),\n addDictionary\n);\ndictionaryRouter.patch(\n dictionaryRoutes.pushDictionaries.urlModel,\n accessControlMiddleWare(\n [\n AccessRule.authenticated,\n AccessRule.hasOrganization,\n AccessRule.hasProject,\n ],\n AccessRule.admin\n ),\n pushDictionaries\n);\ndictionaryRouter.put(\n dictionaryRoutes.updateDictionary.urlModel,\n accessControlMiddleWare(\n [\n AccessRule.authenticated,\n AccessRule.hasOrganization,\n AccessRule.hasProject,\n ],\n AccessRule.admin\n ),\n updateDictionary\n);\ndictionaryRouter.delete(\n dictionaryRoutes.deleteDictionary.urlModel,\n accessControlMiddleWare(\n [\n AccessRule.authenticated,\n AccessRule.hasOrganization,\n AccessRule.hasProject,\n ],\n AccessRule.admin\n ),\n deleteDictionary\n);\n"],"mappings":"AAAA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,yBAAyB,kBAAkB;AACpD,SAAS,cAAc;AAGhB,MAAM,mBAA2B,OAAO;AAE/C,MAAM,UAAU,GAAG,QAAQ,IAAI,UAAU;AAElC,MAAM,mBAAmB;AAAA,EAC9B,iBAAiB;AAAA,IACf,UAAU;AAAA,IACV,KAAK;AAAA,IACL,QAAQ;AAAA,EACV;AAAA,EACA,qBAAqB;AAAA,IACnB,UAAU;AAAA,IACV,KAAK,GAAG,OAAO;AAAA,IACf,QAAQ;AAAA,EACV;AAAA,EACA,eAAe;AAAA,IACb,UAAU;AAAA,IACV,KAAK,CAAC,EAAE,cAAc,MACpB,GAAG,OAAO,IAAI,aAAa;AAAA,IAC7B,QAAQ;AAAA,EACV;AAAA,EACA,eAAe;AAAA,IACb,UAAU;AAAA,IACV,KAAK;AAAA,IACL,QAAQ;AAAA,EACV;AAAA,EACA,kBAAkB;AAAA,IAChB,UAAU;AAAA,IACV,KAAK;AAAA,IACL,QAAQ;AAAA,EACV;AAAA,EACA,kBAAkB;AAAA,IAChB,UAAU;AAAA,IACV,KAAK;AAAA,IACL,QAAQ;AAAA,EACV;AAAA,EACA,kBAAkB;AAAA,IAChB,UAAU;AAAA,IACV,KAAK;AAAA,IACL,QAAQ;AAAA,EACV;AACF;AAEA,iBAAiB;AAAA,EACf,iBAAiB,gBAAgB;AAAA,EACjC;AAAA,IACE;AAAA,MACE,WAAW;AAAA,MACX,WAAW;AAAA,MACX,WAAW;AAAA,IACb;AAAA,IACA,WAAW;AAAA,EACb;AAAA,EACA;AACF;AAEA,iBAAiB;AAAA,EACf,iBAAiB,oBAAoB;AAAA,EACrC;AAAA,IACE;AAAA,MACE,WAAW;AAAA,MACX,WAAW;AAAA,MACX,WAAW;AAAA,IACb;AAAA,IACA,WAAW;AAAA,EACb;AAAA,EACA;AACF;AAEA,iBAAiB;AAAA,EACf,iBAAiB,cAAc;AAAA,EAC/B;AAAA,IACE;AAAA,MACE,WAAW;AAAA,MACX,WAAW;AAAA,MACX,WAAW;AAAA,IACb;AAAA,IACA,WAAW;AAAA,EACb;AAAA,EACA;AACF;AAEA,iBAAiB;AAAA,EACf,iBAAiB,cAAc;AAAA,EAC/B;AAAA,IACE;AAAA,MACE,WAAW;AAAA,MACX,WAAW;AAAA,MACX,WAAW;AAAA,IACb;AAAA,IACA,WAAW;AAAA,EACb;AAAA,EACA;AACF;AACA,iBAAiB;AAAA,EACf,iBAAiB,iBAAiB;AAAA,EAClC;AAAA,IACE;AAAA,MACE,WAAW;AAAA,MACX,WAAW;AAAA,MACX,WAAW;AAAA,IACb;AAAA,IACA,WAAW;AAAA,EACb;AAAA,EACA;AACF;AACA,iBAAiB;AAAA,EACf,iBAAiB,iBAAiB;AAAA,EAClC;AAAA,IACE;AAAA,MACE,WAAW;AAAA,MACX,WAAW;AAAA,MACX,WAAW;AAAA,IACb;AAAA,IACA,WAAW;AAAA,EACb;AAAA,EACA;AACF;AACA,iBAAiB;AAAA,EACf,iBAAiB,iBAAiB;AAAA,EAClC;AAAA,IACE;AAAA,MACE,WAAW;AAAA,MACX,WAAW;AAAA,MACX,WAAW;AAAA,IACb;AAAA,IACA,WAAW;AAAA,EACb;AAAA,EACA;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../src/routes/dictionary.routes.ts"],"sourcesContent":["import {\n pushDictionaries,\n addDictionary,\n deleteDictionary,\n getDictionaries,\n updateDictionary,\n getDictionaryByKey,\n getDictionariesKeys,\n} from '@controllers/dictionary.controller';\nimport { Router } from 'express';\nimport { Routes } from '@/types/Routes';\n\nexport const dictionaryRouter: Router = Router();\n\nconst baseURL = `${process.env.BACKEND_URL}/api/dictionary`;\n\nexport const dictionaryRoutes = {\n getDictionaries: {\n urlModel: '/',\n url: baseURL,\n method: 'GET',\n },\n getDictionariesKeys: {\n urlModel: '/keys',\n url: `${baseURL}/keys`,\n method: 'GET',\n },\n getDictionary: {\n urlModel: '/:dictionaryKey',\n url: ({ dictionaryKey }: { dictionaryKey: string }) =>\n `${baseURL}/${dictionaryKey}`,\n method: 'GET',\n },\n addDictionary: {\n urlModel: '/',\n url: baseURL,\n method: 'POST',\n },\n pushDictionaries: {\n urlModel: '/',\n url: baseURL,\n method: 'PATCH',\n },\n updateDictionary: {\n urlModel: '/',\n url: baseURL,\n method: 'PUT',\n },\n deleteDictionary: {\n urlModel: '/',\n url: baseURL,\n method: 'DELETE',\n },\n} satisfies Routes;\n\ndictionaryRouter.get(\n dictionaryRoutes.getDictionaries.urlModel,\n getDictionaries\n);\n\ndictionaryRouter.get(\n dictionaryRoutes.getDictionariesKeys.urlModel,\n getDictionariesKeys\n);\n\ndictionaryRouter.get(\n dictionaryRoutes.getDictionary.urlModel,\n getDictionaryByKey\n);\n\ndictionaryRouter.post(dictionaryRoutes.addDictionary.urlModel, addDictionary);\ndictionaryRouter.patch(\n dictionaryRoutes.pushDictionaries.urlModel,\n pushDictionaries\n);\ndictionaryRouter.put(\n dictionaryRoutes.updateDictionary.urlModel,\n updateDictionary\n);\ndictionaryRouter.delete(\n dictionaryRoutes.deleteDictionary.urlModel,\n deleteDictionary\n);\n"],"mappings":"AAAA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,cAAc;AAGhB,MAAM,mBAA2B,OAAO;AAE/C,MAAM,UAAU,GAAG,QAAQ,IAAI,WAAW;AAEnC,MAAM,mBAAmB;AAAA,EAC9B,iBAAiB;AAAA,IACf,UAAU;AAAA,IACV,KAAK;AAAA,IACL,QAAQ;AAAA,EACV;AAAA,EACA,qBAAqB;AAAA,IACnB,UAAU;AAAA,IACV,KAAK,GAAG,OAAO;AAAA,IACf,QAAQ;AAAA,EACV;AAAA,EACA,eAAe;AAAA,IACb,UAAU;AAAA,IACV,KAAK,CAAC,EAAE,cAAc,MACpB,GAAG,OAAO,IAAI,aAAa;AAAA,IAC7B,QAAQ;AAAA,EACV;AAAA,EACA,eAAe;AAAA,IACb,UAAU;AAAA,IACV,KAAK;AAAA,IACL,QAAQ;AAAA,EACV;AAAA,EACA,kBAAkB;AAAA,IAChB,UAAU;AAAA,IACV,KAAK;AAAA,IACL,QAAQ;AAAA,EACV;AAAA,EACA,kBAAkB;AAAA,IAChB,UAAU;AAAA,IACV,KAAK;AAAA,IACL,QAAQ;AAAA,EACV;AAAA,EACA,kBAAkB;AAAA,IAChB,UAAU;AAAA,IACV,KAAK;AAAA,IACL,QAAQ;AAAA,EACV;AACF;AAEA,iBAAiB;AAAA,EACf,iBAAiB,gBAAgB;AAAA,EACjC;AACF;AAEA,iBAAiB;AAAA,EACf,iBAAiB,oBAAoB;AAAA,EACrC;AACF;AAEA,iBAAiB;AAAA,EACf,iBAAiB,cAAc;AAAA,EAC/B;AACF;AAEA,iBAAiB,KAAK,iBAAiB,cAAc,UAAU,aAAa;AAC5E,iBAAiB;AAAA,EACf,iBAAiB,iBAAiB;AAAA,EAClC;AACF;AACA,iBAAiB;AAAA,EACf,iBAAiB,iBAAiB;AAAA,EAClC;AACF;AACA,iBAAiB;AAAA,EACf,iBAAiB,iBAAiB;AAAA,EAClC;AACF;","names":[]}
@@ -8,10 +8,9 @@ import {
8
8
  unselectOrganization,
9
9
  addOrganizationMember
10
10
  } from './../controllers/organization.controller.mjs';
11
- import { accessControlMiddleWare, AccessRule } from './../utils/accessControl.mjs';
12
11
  import { Router } from "express";
13
12
  const organizationRouter = Router();
14
- const baseURL = `${process.env.CLIENT_URL}/api/organization`;
13
+ const baseURL = `${process.env.BACKEND_URL}/api/organization`;
15
14
  const organizationRoutes = {
16
15
  getOrganizations: {
17
16
  urlModel: "/",
@@ -56,57 +55,34 @@ const organizationRoutes = {
56
55
  };
57
56
  organizationRouter.get(
58
57
  organizationRoutes.getOrganizations.urlModel,
59
- accessControlMiddleWare(AccessRule.authenticated),
60
58
  getOrganizations
61
59
  );
62
60
  organizationRouter.post(
63
61
  organizationRoutes.addOrganization.urlModel,
64
- accessControlMiddleWare(AccessRule.authenticated),
65
62
  addOrganization
66
63
  );
67
64
  organizationRouter.put(
68
65
  organizationRoutes.updateOrganization.urlModel,
69
- accessControlMiddleWare([
70
- AccessRule.authenticated,
71
- AccessRule.hasOrganization
72
- ]),
73
66
  updateOrganization
74
67
  );
75
68
  organizationRouter.put(
76
69
  organizationRoutes.updateOrganizationMembers.urlModel,
77
- accessControlMiddleWare([
78
- AccessRule.authenticated,
79
- AccessRule.hasOrganization
80
- ]),
81
70
  updateOrganizationMembers
82
71
  );
83
72
  organizationRouter.post(
84
73
  organizationRoutes.addOrganizationMember.urlModel,
85
- accessControlMiddleWare([
86
- AccessRule.authenticated,
87
- AccessRule.hasOrganization
88
- ]),
89
74
  addOrganizationMember
90
75
  );
91
76
  organizationRouter.delete(
92
77
  organizationRoutes.deleteOrganization.urlModel,
93
- accessControlMiddleWare([
94
- AccessRule.authenticated,
95
- AccessRule.hasOrganization
96
- ]),
97
78
  deleteOrganization
98
79
  );
99
80
  organizationRouter.put(
100
81
  organizationRoutes.selectOrganization.urlModel,
101
- accessControlMiddleWare([AccessRule.authenticated]),
102
82
  selectOrganization
103
83
  );
104
84
  organizationRouter.post(
105
85
  organizationRoutes.unselectOrganization.urlModel,
106
- accessControlMiddleWare([
107
- AccessRule.authenticated,
108
- AccessRule.hasOrganization
109
- ]),
110
86
  unselectOrganization
111
87
  );
112
88
  export {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/routes/organization.routes.ts"],"sourcesContent":["import {\n addOrganization,\n deleteOrganization,\n selectOrganization,\n getOrganizations,\n updateOrganization,\n updateOrganizationMembers,\n unselectOrganization,\n addOrganizationMember,\n} from '@controllers/organization.controller';\nimport { accessControlMiddleWare, AccessRule } from '@utils/accessControl';\nimport { Router } from 'express';\nimport { Routes } from '@/types/Routes';\n\nexport const organizationRouter: Router = Router();\n\nconst baseURL = `${process.env.CLIENT_URL}/api/organization`;\n\nexport const organizationRoutes = {\n getOrganizations: {\n urlModel: '/',\n url: baseURL,\n method: 'GET',\n },\n addOrganization: {\n urlModel: '/',\n url: baseURL,\n method: 'POST',\n },\n updateOrganization: {\n urlModel: '/',\n url: baseURL,\n\n method: 'PUT',\n },\n updateOrganizationMembers: {\n urlModel: '/members',\n url: `${baseURL}/members`,\n method: 'PUT',\n },\n addOrganizationMember: {\n urlModel: '/member',\n url: `${baseURL}/member`,\n method: 'POST',\n },\n deleteOrganization: {\n urlModel: '/',\n url: baseURL,\n method: 'DELETE',\n },\n selectOrganization: {\n urlModel: '/:organizationId',\n url: ({ organizationId }: { organizationId: string }) =>\n `${baseURL}/${organizationId}`,\n method: 'PUT',\n },\n unselectOrganization: {\n urlModel: '/logout',\n url: `${baseURL}/logout`,\n method: 'POST',\n },\n} satisfies Routes;\n\norganizationRouter.get(\n organizationRoutes.getOrganizations.urlModel,\n accessControlMiddleWare(AccessRule.authenticated),\n getOrganizations\n);\n\norganizationRouter.post(\n organizationRoutes.addOrganization.urlModel,\n accessControlMiddleWare(AccessRule.authenticated),\n addOrganization\n);\norganizationRouter.put(\n organizationRoutes.updateOrganization.urlModel,\n accessControlMiddleWare([\n AccessRule.authenticated,\n AccessRule.hasOrganization,\n ]),\n updateOrganization\n);\norganizationRouter.put(\n organizationRoutes.updateOrganizationMembers.urlModel,\n accessControlMiddleWare([\n AccessRule.authenticated,\n AccessRule.hasOrganization,\n ]),\n updateOrganizationMembers\n);\norganizationRouter.post(\n organizationRoutes.addOrganizationMember.urlModel,\n accessControlMiddleWare([\n AccessRule.authenticated,\n AccessRule.hasOrganization,\n ]),\n addOrganizationMember\n);\norganizationRouter.delete(\n organizationRoutes.deleteOrganization.urlModel,\n accessControlMiddleWare([\n AccessRule.authenticated,\n AccessRule.hasOrganization,\n ]),\n deleteOrganization\n);\norganizationRouter.put(\n organizationRoutes.selectOrganization.urlModel,\n accessControlMiddleWare([AccessRule.authenticated]),\n selectOrganization\n);\n\norganizationRouter.post(\n organizationRoutes.unselectOrganization.urlModel,\n accessControlMiddleWare([\n AccessRule.authenticated,\n AccessRule.hasOrganization,\n ]),\n unselectOrganization\n);\n"],"mappings":"AAAA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,yBAAyB,kBAAkB;AACpD,SAAS,cAAc;AAGhB,MAAM,qBAA6B,OAAO;AAEjD,MAAM,UAAU,GAAG,QAAQ,IAAI,UAAU;AAElC,MAAM,qBAAqB;AAAA,EAChC,kBAAkB;AAAA,IAChB,UAAU;AAAA,IACV,KAAK;AAAA,IACL,QAAQ;AAAA,EACV;AAAA,EACA,iBAAiB;AAAA,IACf,UAAU;AAAA,IACV,KAAK;AAAA,IACL,QAAQ;AAAA,EACV;AAAA,EACA,oBAAoB;AAAA,IAClB,UAAU;AAAA,IACV,KAAK;AAAA,IAEL,QAAQ;AAAA,EACV;AAAA,EACA,2BAA2B;AAAA,IACzB,UAAU;AAAA,IACV,KAAK,GAAG,OAAO;AAAA,IACf,QAAQ;AAAA,EACV;AAAA,EACA,uBAAuB;AAAA,IACrB,UAAU;AAAA,IACV,KAAK,GAAG,OAAO;AAAA,IACf,QAAQ;AAAA,EACV;AAAA,EACA,oBAAoB;AAAA,IAClB,UAAU;AAAA,IACV,KAAK;AAAA,IACL,QAAQ;AAAA,EACV;AAAA,EACA,oBAAoB;AAAA,IAClB,UAAU;AAAA,IACV,KAAK,CAAC,EAAE,eAAe,MACrB,GAAG,OAAO,IAAI,cAAc;AAAA,IAC9B,QAAQ;AAAA,EACV;AAAA,EACA,sBAAsB;AAAA,IACpB,UAAU;AAAA,IACV,KAAK,GAAG,OAAO;AAAA,IACf,QAAQ;AAAA,EACV;AACF;AAEA,mBAAmB;AAAA,EACjB,mBAAmB,iBAAiB;AAAA,EACpC,wBAAwB,WAAW,aAAa;AAAA,EAChD;AACF;AAEA,mBAAmB;AAAA,EACjB,mBAAmB,gBAAgB;AAAA,EACnC,wBAAwB,WAAW,aAAa;AAAA,EAChD;AACF;AACA,mBAAmB;AAAA,EACjB,mBAAmB,mBAAmB;AAAA,EACtC,wBAAwB;AAAA,IACtB,WAAW;AAAA,IACX,WAAW;AAAA,EACb,CAAC;AAAA,EACD;AACF;AACA,mBAAmB;AAAA,EACjB,mBAAmB,0BAA0B;AAAA,EAC7C,wBAAwB;AAAA,IACtB,WAAW;AAAA,IACX,WAAW;AAAA,EACb,CAAC;AAAA,EACD;AACF;AACA,mBAAmB;AAAA,EACjB,mBAAmB,sBAAsB;AAAA,EACzC,wBAAwB;AAAA,IACtB,WAAW;AAAA,IACX,WAAW;AAAA,EACb,CAAC;AAAA,EACD;AACF;AACA,mBAAmB;AAAA,EACjB,mBAAmB,mBAAmB;AAAA,EACtC,wBAAwB;AAAA,IACtB,WAAW;AAAA,IACX,WAAW;AAAA,EACb,CAAC;AAAA,EACD;AACF;AACA,mBAAmB;AAAA,EACjB,mBAAmB,mBAAmB;AAAA,EACtC,wBAAwB,CAAC,WAAW,aAAa,CAAC;AAAA,EAClD;AACF;AAEA,mBAAmB;AAAA,EACjB,mBAAmB,qBAAqB;AAAA,EACxC,wBAAwB;AAAA,IACtB,WAAW;AAAA,IACX,WAAW;AAAA,EACb,CAAC;AAAA,EACD;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../src/routes/organization.routes.ts"],"sourcesContent":["import {\n addOrganization,\n deleteOrganization,\n selectOrganization,\n getOrganizations,\n updateOrganization,\n updateOrganizationMembers,\n unselectOrganization,\n addOrganizationMember,\n} from '@controllers/organization.controller';\nimport { Router } from 'express';\nimport { Routes } from '@/types/Routes';\n\nexport const organizationRouter: Router = Router();\n\nconst baseURL = `${process.env.BACKEND_URL}/api/organization`;\n\nexport const organizationRoutes = {\n getOrganizations: {\n urlModel: '/',\n url: baseURL,\n method: 'GET',\n },\n addOrganization: {\n urlModel: '/',\n url: baseURL,\n method: 'POST',\n },\n updateOrganization: {\n urlModel: '/',\n url: baseURL,\n\n method: 'PUT',\n },\n updateOrganizationMembers: {\n urlModel: '/members',\n url: `${baseURL}/members`,\n method: 'PUT',\n },\n addOrganizationMember: {\n urlModel: '/member',\n url: `${baseURL}/member`,\n method: 'POST',\n },\n deleteOrganization: {\n urlModel: '/',\n url: baseURL,\n method: 'DELETE',\n },\n selectOrganization: {\n urlModel: '/:organizationId',\n url: ({ organizationId }: { organizationId: string }) =>\n `${baseURL}/${organizationId}`,\n method: 'PUT',\n },\n unselectOrganization: {\n urlModel: '/logout',\n url: `${baseURL}/logout`,\n method: 'POST',\n },\n} satisfies Routes;\n\norganizationRouter.get(\n organizationRoutes.getOrganizations.urlModel,\n getOrganizations\n);\n\norganizationRouter.post(\n organizationRoutes.addOrganization.urlModel,\n addOrganization\n);\norganizationRouter.put(\n organizationRoutes.updateOrganization.urlModel,\n updateOrganization\n);\norganizationRouter.put(\n organizationRoutes.updateOrganizationMembers.urlModel,\n updateOrganizationMembers\n);\norganizationRouter.post(\n organizationRoutes.addOrganizationMember.urlModel,\n addOrganizationMember\n);\norganizationRouter.delete(\n organizationRoutes.deleteOrganization.urlModel,\n deleteOrganization\n);\norganizationRouter.put(\n organizationRoutes.selectOrganization.urlModel,\n selectOrganization\n);\n\norganizationRouter.post(\n organizationRoutes.unselectOrganization.urlModel,\n unselectOrganization\n);\n"],"mappings":"AAAA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,cAAc;AAGhB,MAAM,qBAA6B,OAAO;AAEjD,MAAM,UAAU,GAAG,QAAQ,IAAI,WAAW;AAEnC,MAAM,qBAAqB;AAAA,EAChC,kBAAkB;AAAA,IAChB,UAAU;AAAA,IACV,KAAK;AAAA,IACL,QAAQ;AAAA,EACV;AAAA,EACA,iBAAiB;AAAA,IACf,UAAU;AAAA,IACV,KAAK;AAAA,IACL,QAAQ;AAAA,EACV;AAAA,EACA,oBAAoB;AAAA,IAClB,UAAU;AAAA,IACV,KAAK;AAAA,IAEL,QAAQ;AAAA,EACV;AAAA,EACA,2BAA2B;AAAA,IACzB,UAAU;AAAA,IACV,KAAK,GAAG,OAAO;AAAA,IACf,QAAQ;AAAA,EACV;AAAA,EACA,uBAAuB;AAAA,IACrB,UAAU;AAAA,IACV,KAAK,GAAG,OAAO;AAAA,IACf,QAAQ;AAAA,EACV;AAAA,EACA,oBAAoB;AAAA,IAClB,UAAU;AAAA,IACV,KAAK;AAAA,IACL,QAAQ;AAAA,EACV;AAAA,EACA,oBAAoB;AAAA,IAClB,UAAU;AAAA,IACV,KAAK,CAAC,EAAE,eAAe,MACrB,GAAG,OAAO,IAAI,cAAc;AAAA,IAC9B,QAAQ;AAAA,EACV;AAAA,EACA,sBAAsB;AAAA,IACpB,UAAU;AAAA,IACV,KAAK,GAAG,OAAO;AAAA,IACf,QAAQ;AAAA,EACV;AACF;AAEA,mBAAmB;AAAA,EACjB,mBAAmB,iBAAiB;AAAA,EACpC;AACF;AAEA,mBAAmB;AAAA,EACjB,mBAAmB,gBAAgB;AAAA,EACnC;AACF;AACA,mBAAmB;AAAA,EACjB,mBAAmB,mBAAmB;AAAA,EACtC;AACF;AACA,mBAAmB;AAAA,EACjB,mBAAmB,0BAA0B;AAAA,EAC7C;AACF;AACA,mBAAmB;AAAA,EACjB,mBAAmB,sBAAsB;AAAA,EACzC;AACF;AACA,mBAAmB;AAAA,EACjB,mBAAmB,mBAAmB;AAAA,EACtC;AACF;AACA,mBAAmB;AAAA,EACjB,mBAAmB,mBAAmB;AAAA,EACtC;AACF;AAEA,mBAAmB;AAAA,EACjB,mBAAmB,qBAAqB;AAAA,EACxC;AACF;","names":[]}
@@ -12,10 +12,9 @@ import {
12
12
  deleteAccessKey,
13
13
  refreshAccessKey
14
14
  } from './../controllers/projectAccessKey.controller.mjs';
15
- import { accessControlMiddleWare, AccessRule } from './../utils/accessControl.mjs';
16
15
  import { Router } from "express";
17
16
  const projectRouter = Router();
18
- const baseURL = `${process.env.CLIENT_URL}/api/project`;
17
+ const baseURL = `${process.env.BACKEND_URL}/api/project`;
19
18
  const projectRoutes = {
20
19
  getProjects: {
21
20
  urlModel: "/",
@@ -68,93 +67,19 @@ const projectRoutes = {
68
67
  method: "DELETE"
69
68
  }
70
69
  };
71
- projectRouter.get(
72
- projectRoutes.getProjects.urlModel,
73
- accessControlMiddleWare([
74
- AccessRule.authenticated,
75
- AccessRule.hasOrganization
76
- ]),
77
- getProjects
78
- );
79
- projectRouter.post(
80
- projectRoutes.addProject.urlModel,
81
- accessControlMiddleWare([
82
- AccessRule.authenticated,
83
- AccessRule.hasOrganization
84
- ]),
85
- addProject
86
- );
87
- projectRouter.put(
88
- projectRoutes.updateProject.urlModel,
89
- accessControlMiddleWare([
90
- AccessRule.authenticated,
91
- AccessRule.hasOrganization,
92
- AccessRule.hasProject
93
- ]),
94
- updateProject
95
- );
70
+ projectRouter.get(projectRoutes.getProjects.urlModel, getProjects);
71
+ projectRouter.post(projectRoutes.addProject.urlModel, addProject);
72
+ projectRouter.put(projectRoutes.updateProject.urlModel, updateProject);
96
73
  projectRouter.put(
97
74
  projectRoutes.updateProjectMembers.urlModel,
98
- accessControlMiddleWare([
99
- AccessRule.authenticated,
100
- AccessRule.hasOrganization,
101
- AccessRule.hasProject
102
- ]),
103
75
  updateProjectMembers
104
76
  );
105
- projectRouter.delete(
106
- projectRoutes.deleteProject.urlModel,
107
- accessControlMiddleWare([
108
- AccessRule.authenticated,
109
- AccessRule.hasOrganization,
110
- AccessRule.hasProject
111
- ]),
112
- deleteProject
113
- );
114
- projectRouter.post(
115
- projectRoutes.addNewAccessKey.urlModel,
116
- accessControlMiddleWare([
117
- AccessRule.authenticated,
118
- AccessRule.hasOrganization,
119
- AccessRule.hasProject
120
- ]),
121
- addNewAccessKey
122
- );
123
- projectRouter.patch(
124
- projectRoutes.refreshAccessKey.urlModel,
125
- accessControlMiddleWare([
126
- AccessRule.authenticated,
127
- AccessRule.hasOrganization,
128
- AccessRule.hasProject
129
- ]),
130
- refreshAccessKey
131
- );
132
- projectRouter.delete(
133
- projectRoutes.deleteAccessKey.urlModel,
134
- accessControlMiddleWare([
135
- AccessRule.authenticated,
136
- AccessRule.hasOrganization,
137
- AccessRule.hasProject
138
- ]),
139
- deleteAccessKey
140
- );
141
- projectRouter.post(
142
- projectRoutes.unselectProject.urlModel,
143
- accessControlMiddleWare([
144
- AccessRule.authenticated,
145
- AccessRule.hasOrganization,
146
- AccessRule.hasProject
147
- ]),
148
- unselectProject
149
- );
150
- projectRouter.put(
151
- projectRoutes.selectProject.urlModel,
152
- accessControlMiddleWare([
153
- AccessRule.authenticated,
154
- AccessRule.hasOrganization
155
- ]),
156
- selectProject
157
- );
77
+ projectRouter.delete(projectRoutes.deleteProject.urlModel, deleteProject);
78
+ projectRouter.post(projectRoutes.addNewAccessKey.urlModel, addNewAccessKey);
79
+ projectRouter.patch(projectRoutes.refreshAccessKey.urlModel, refreshAccessKey);
80
+ projectRouter.delete(projectRoutes.deleteAccessKey.urlModel, deleteAccessKey);
81
+ projectRouter.post(projectRoutes.unselectProject.urlModel, unselectProject);
82
+ projectRouter.put(projectRoutes.selectProject.urlModel, selectProject);
158
83
  export {
159
84
  projectRouter,
160
85
  projectRoutes
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/routes/project.routes.ts"],"sourcesContent":["import {\n addProject,\n deleteProject,\n getProjects,\n updateProject,\n selectProject,\n unselectProject,\n updateProjectMembers,\n} from '@controllers/project.controller';\nimport {\n addNewAccessKey,\n deleteAccessKey,\n refreshAccessKey,\n} from '@controllers/projectAccessKey.controller';\nimport { accessControlMiddleWare, AccessRule } from '@utils/accessControl';\nimport { Router } from 'express';\nimport { Routes } from '@/types/Routes';\n\nexport const projectRouter: Router = Router();\n\nconst baseURL = `${process.env.CLIENT_URL}/api/project`;\n\nexport const projectRoutes = {\n getProjects: {\n urlModel: '/',\n url: baseURL,\n method: 'GET',\n },\n addProject: {\n urlModel: '/',\n url: baseURL,\n method: 'POST',\n },\n updateProject: {\n urlModel: '/',\n url: baseURL,\n method: 'PUT',\n },\n updateProjectMembers: {\n urlModel: '/members',\n url: `${process.env.CLIENT_URL}/api/members`,\n method: 'PUT',\n },\n deleteProject: {\n urlModel: '/',\n url: baseURL,\n method: 'DELETE',\n },\n selectProject: {\n urlModel: '/:projectId',\n url: ({ projectId }: { projectId: string }) => `${baseURL}/${projectId}`,\n method: 'PUT',\n },\n unselectProject: {\n urlModel: '/logout',\n url: `${baseURL}/logout`,\n method: 'POST',\n },\n addNewAccessKey: {\n urlModel: '/access_key',\n url: `${baseURL}/access_key`,\n method: 'POST',\n },\n refreshAccessKey: {\n urlModel: '/access_key',\n url: `${baseURL}/access_key`,\n method: 'PATCH',\n },\n deleteAccessKey: {\n urlModel: '/access_key',\n url: `${baseURL}/access_key`,\n method: 'DELETE',\n },\n} satisfies Routes;\n\nprojectRouter.get(\n projectRoutes.getProjects.urlModel,\n accessControlMiddleWare([\n AccessRule.authenticated,\n AccessRule.hasOrganization,\n ]),\n getProjects\n);\n\nprojectRouter.post(\n projectRoutes.addProject.urlModel,\n accessControlMiddleWare([\n AccessRule.authenticated,\n AccessRule.hasOrganization,\n ]),\n addProject\n);\nprojectRouter.put(\n projectRoutes.updateProject.urlModel,\n accessControlMiddleWare([\n AccessRule.authenticated,\n AccessRule.hasOrganization,\n AccessRule.hasProject,\n ]),\n updateProject\n);\nprojectRouter.put(\n projectRoutes.updateProjectMembers.urlModel,\n accessControlMiddleWare([\n AccessRule.authenticated,\n AccessRule.hasOrganization,\n AccessRule.hasProject,\n ]),\n updateProjectMembers\n);\nprojectRouter.delete(\n projectRoutes.deleteProject.urlModel,\n accessControlMiddleWare([\n AccessRule.authenticated,\n AccessRule.hasOrganization,\n AccessRule.hasProject,\n ]),\n deleteProject\n);\n\nprojectRouter.post(\n projectRoutes.addNewAccessKey.urlModel,\n accessControlMiddleWare([\n AccessRule.authenticated,\n AccessRule.hasOrganization,\n AccessRule.hasProject,\n ]),\n addNewAccessKey\n);\n\nprojectRouter.patch(\n projectRoutes.refreshAccessKey.urlModel,\n accessControlMiddleWare([\n AccessRule.authenticated,\n AccessRule.hasOrganization,\n AccessRule.hasProject,\n ]),\n refreshAccessKey\n);\n\nprojectRouter.delete(\n projectRoutes.deleteAccessKey.urlModel,\n accessControlMiddleWare([\n AccessRule.authenticated,\n AccessRule.hasOrganization,\n AccessRule.hasProject,\n ]),\n deleteAccessKey\n);\n\nprojectRouter.post(\n projectRoutes.unselectProject.urlModel,\n accessControlMiddleWare([\n AccessRule.authenticated,\n AccessRule.hasOrganization,\n AccessRule.hasProject,\n ]),\n unselectProject\n);\n\nprojectRouter.put(\n projectRoutes.selectProject.urlModel,\n accessControlMiddleWare([\n AccessRule.authenticated,\n AccessRule.hasOrganization,\n ]),\n selectProject\n);\n"],"mappings":"AAAA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,yBAAyB,kBAAkB;AACpD,SAAS,cAAc;AAGhB,MAAM,gBAAwB,OAAO;AAE5C,MAAM,UAAU,GAAG,QAAQ,IAAI,UAAU;AAElC,MAAM,gBAAgB;AAAA,EAC3B,aAAa;AAAA,IACX,UAAU;AAAA,IACV,KAAK;AAAA,IACL,QAAQ;AAAA,EACV;AAAA,EACA,YAAY;AAAA,IACV,UAAU;AAAA,IACV,KAAK;AAAA,IACL,QAAQ;AAAA,EACV;AAAA,EACA,eAAe;AAAA,IACb,UAAU;AAAA,IACV,KAAK;AAAA,IACL,QAAQ;AAAA,EACV;AAAA,EACA,sBAAsB;AAAA,IACpB,UAAU;AAAA,IACV,KAAK,GAAG,QAAQ,IAAI,UAAU;AAAA,IAC9B,QAAQ;AAAA,EACV;AAAA,EACA,eAAe;AAAA,IACb,UAAU;AAAA,IACV,KAAK;AAAA,IACL,QAAQ;AAAA,EACV;AAAA,EACA,eAAe;AAAA,IACb,UAAU;AAAA,IACV,KAAK,CAAC,EAAE,UAAU,MAA6B,GAAG,OAAO,IAAI,SAAS;AAAA,IACtE,QAAQ;AAAA,EACV;AAAA,EACA,iBAAiB;AAAA,IACf,UAAU;AAAA,IACV,KAAK,GAAG,OAAO;AAAA,IACf,QAAQ;AAAA,EACV;AAAA,EACA,iBAAiB;AAAA,IACf,UAAU;AAAA,IACV,KAAK,GAAG,OAAO;AAAA,IACf,QAAQ;AAAA,EACV;AAAA,EACA,kBAAkB;AAAA,IAChB,UAAU;AAAA,IACV,KAAK,GAAG,OAAO;AAAA,IACf,QAAQ;AAAA,EACV;AAAA,EACA,iBAAiB;AAAA,IACf,UAAU;AAAA,IACV,KAAK,GAAG,OAAO;AAAA,IACf,QAAQ;AAAA,EACV;AACF;AAEA,cAAc;AAAA,EACZ,cAAc,YAAY;AAAA,EAC1B,wBAAwB;AAAA,IACtB,WAAW;AAAA,IACX,WAAW;AAAA,EACb,CAAC;AAAA,EACD;AACF;AAEA,cAAc;AAAA,EACZ,cAAc,WAAW;AAAA,EACzB,wBAAwB;AAAA,IACtB,WAAW;AAAA,IACX,WAAW;AAAA,EACb,CAAC;AAAA,EACD;AACF;AACA,cAAc;AAAA,EACZ,cAAc,cAAc;AAAA,EAC5B,wBAAwB;AAAA,IACtB,WAAW;AAAA,IACX,WAAW;AAAA,IACX,WAAW;AAAA,EACb,CAAC;AAAA,EACD;AACF;AACA,cAAc;AAAA,EACZ,cAAc,qBAAqB;AAAA,EACnC,wBAAwB;AAAA,IACtB,WAAW;AAAA,IACX,WAAW;AAAA,IACX,WAAW;AAAA,EACb,CAAC;AAAA,EACD;AACF;AACA,cAAc;AAAA,EACZ,cAAc,cAAc;AAAA,EAC5B,wBAAwB;AAAA,IACtB,WAAW;AAAA,IACX,WAAW;AAAA,IACX,WAAW;AAAA,EACb,CAAC;AAAA,EACD;AACF;AAEA,cAAc;AAAA,EACZ,cAAc,gBAAgB;AAAA,EAC9B,wBAAwB;AAAA,IACtB,WAAW;AAAA,IACX,WAAW;AAAA,IACX,WAAW;AAAA,EACb,CAAC;AAAA,EACD;AACF;AAEA,cAAc;AAAA,EACZ,cAAc,iBAAiB;AAAA,EAC/B,wBAAwB;AAAA,IACtB,WAAW;AAAA,IACX,WAAW;AAAA,IACX,WAAW;AAAA,EACb,CAAC;AAAA,EACD;AACF;AAEA,cAAc;AAAA,EACZ,cAAc,gBAAgB;AAAA,EAC9B,wBAAwB;AAAA,IACtB,WAAW;AAAA,IACX,WAAW;AAAA,IACX,WAAW;AAAA,EACb,CAAC;AAAA,EACD;AACF;AAEA,cAAc;AAAA,EACZ,cAAc,gBAAgB;AAAA,EAC9B,wBAAwB;AAAA,IACtB,WAAW;AAAA,IACX,WAAW;AAAA,IACX,WAAW;AAAA,EACb,CAAC;AAAA,EACD;AACF;AAEA,cAAc;AAAA,EACZ,cAAc,cAAc;AAAA,EAC5B,wBAAwB;AAAA,IACtB,WAAW;AAAA,IACX,WAAW;AAAA,EACb,CAAC;AAAA,EACD;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../src/routes/project.routes.ts"],"sourcesContent":["import {\n addProject,\n deleteProject,\n getProjects,\n updateProject,\n selectProject,\n unselectProject,\n updateProjectMembers,\n} from '@controllers/project.controller';\nimport {\n addNewAccessKey,\n deleteAccessKey,\n refreshAccessKey,\n} from '@controllers/projectAccessKey.controller';\nimport { Router } from 'express';\nimport { Routes } from '@/types/Routes';\n\nexport const projectRouter: Router = Router();\n\nconst baseURL = `${process.env.BACKEND_URL}/api/project`;\n\nexport const projectRoutes = {\n getProjects: {\n urlModel: '/',\n url: baseURL,\n method: 'GET',\n },\n addProject: {\n urlModel: '/',\n url: baseURL,\n method: 'POST',\n },\n updateProject: {\n urlModel: '/',\n url: baseURL,\n method: 'PUT',\n },\n updateProjectMembers: {\n urlModel: '/members',\n url: `${process.env.CLIENT_URL}/api/members`,\n method: 'PUT',\n },\n deleteProject: {\n urlModel: '/',\n url: baseURL,\n method: 'DELETE',\n },\n selectProject: {\n urlModel: '/:projectId',\n url: ({ projectId }: { projectId: string }) => `${baseURL}/${projectId}`,\n method: 'PUT',\n },\n unselectProject: {\n urlModel: '/logout',\n url: `${baseURL}/logout`,\n method: 'POST',\n },\n addNewAccessKey: {\n urlModel: '/access_key',\n url: `${baseURL}/access_key`,\n method: 'POST',\n },\n refreshAccessKey: {\n urlModel: '/access_key',\n url: `${baseURL}/access_key`,\n method: 'PATCH',\n },\n deleteAccessKey: {\n urlModel: '/access_key',\n url: `${baseURL}/access_key`,\n method: 'DELETE',\n },\n} satisfies Routes;\n\nprojectRouter.get(projectRoutes.getProjects.urlModel, getProjects);\n\nprojectRouter.post(projectRoutes.addProject.urlModel, addProject);\nprojectRouter.put(projectRoutes.updateProject.urlModel, updateProject);\nprojectRouter.put(\n projectRoutes.updateProjectMembers.urlModel,\n updateProjectMembers\n);\nprojectRouter.delete(projectRoutes.deleteProject.urlModel, deleteProject);\n\nprojectRouter.post(projectRoutes.addNewAccessKey.urlModel, addNewAccessKey);\n\nprojectRouter.patch(projectRoutes.refreshAccessKey.urlModel, refreshAccessKey);\n\nprojectRouter.delete(projectRoutes.deleteAccessKey.urlModel, deleteAccessKey);\n\nprojectRouter.post(projectRoutes.unselectProject.urlModel, unselectProject);\n\nprojectRouter.put(projectRoutes.selectProject.urlModel, selectProject);\n"],"mappings":"AAAA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,cAAc;AAGhB,MAAM,gBAAwB,OAAO;AAE5C,MAAM,UAAU,GAAG,QAAQ,IAAI,WAAW;AAEnC,MAAM,gBAAgB;AAAA,EAC3B,aAAa;AAAA,IACX,UAAU;AAAA,IACV,KAAK;AAAA,IACL,QAAQ;AAAA,EACV;AAAA,EACA,YAAY;AAAA,IACV,UAAU;AAAA,IACV,KAAK;AAAA,IACL,QAAQ;AAAA,EACV;AAAA,EACA,eAAe;AAAA,IACb,UAAU;AAAA,IACV,KAAK;AAAA,IACL,QAAQ;AAAA,EACV;AAAA,EACA,sBAAsB;AAAA,IACpB,UAAU;AAAA,IACV,KAAK,GAAG,QAAQ,IAAI,UAAU;AAAA,IAC9B,QAAQ;AAAA,EACV;AAAA,EACA,eAAe;AAAA,IACb,UAAU;AAAA,IACV,KAAK;AAAA,IACL,QAAQ;AAAA,EACV;AAAA,EACA,eAAe;AAAA,IACb,UAAU;AAAA,IACV,KAAK,CAAC,EAAE,UAAU,MAA6B,GAAG,OAAO,IAAI,SAAS;AAAA,IACtE,QAAQ;AAAA,EACV;AAAA,EACA,iBAAiB;AAAA,IACf,UAAU;AAAA,IACV,KAAK,GAAG,OAAO;AAAA,IACf,QAAQ;AAAA,EACV;AAAA,EACA,iBAAiB;AAAA,IACf,UAAU;AAAA,IACV,KAAK,GAAG,OAAO;AAAA,IACf,QAAQ;AAAA,EACV;AAAA,EACA,kBAAkB;AAAA,IAChB,UAAU;AAAA,IACV,KAAK,GAAG,OAAO;AAAA,IACf,QAAQ;AAAA,EACV;AAAA,EACA,iBAAiB;AAAA,IACf,UAAU;AAAA,IACV,KAAK,GAAG,OAAO;AAAA,IACf,QAAQ;AAAA,EACV;AACF;AAEA,cAAc,IAAI,cAAc,YAAY,UAAU,WAAW;AAEjE,cAAc,KAAK,cAAc,WAAW,UAAU,UAAU;AAChE,cAAc,IAAI,cAAc,cAAc,UAAU,aAAa;AACrE,cAAc;AAAA,EACZ,cAAc,qBAAqB;AAAA,EACnC;AACF;AACA,cAAc,OAAO,cAAc,cAAc,UAAU,aAAa;AAExE,cAAc,KAAK,cAAc,gBAAgB,UAAU,eAAe;AAE1E,cAAc,MAAM,cAAc,iBAAiB,UAAU,gBAAgB;AAE7E,cAAc,OAAO,cAAc,gBAAgB,UAAU,eAAe;AAE5E,cAAc,KAAK,cAAc,gBAAgB,UAAU,eAAe;AAE1E,cAAc,IAAI,cAAc,cAAc,UAAU,aAAa;","names":[]}
@@ -9,12 +9,13 @@ import {
9
9
  githubCallback,
10
10
  googleCallback,
11
11
  githubLoginQuery,
12
- googleLoginQuery
12
+ googleLoginQuery,
13
+ verifyEmailStatusSSE,
14
+ checkIfUserHasPassword
13
15
  } from './../controllers/sessionAuth.controller.mjs';
14
- import { accessControlMiddleWare, AccessRule } from './../utils/accessControl.mjs';
15
16
  import { Router } from "express";
16
17
  const sessionAuthRouter = Router();
17
- const baseURL = `${process.env.CLIENT_URL}/api/auth`;
18
+ const baseURL = `${process.env.BACKEND_URL}/api/auth`;
18
19
  const sessionAuthRoutes = {
19
20
  registerEmailPassword: {
20
21
  urlModel: "/register",
@@ -46,10 +47,24 @@ const sessionAuthRoutes = {
46
47
  url: ({ userId, secret }) => `${baseURL}/${userId}/password/reset/${secret}`,
47
48
  method: "PUT"
48
49
  },
50
+ checkIfUserHasPassword: {
51
+ urlModel: "/password/has",
52
+ url: `${baseURL}/password/has`,
53
+ method: "GET"
54
+ },
49
55
  validEmail: {
50
56
  urlModel: "/:userId/active/:secret",
51
- url: ({ userId, secret }) => `${baseURL}/${userId}/active/${secret}`,
52
- method: "PUT"
57
+ url: ({
58
+ userId,
59
+ secret,
60
+ callBack_url
61
+ }) => `${baseURL}/${userId}/active/${secret}${callBack_url ? `?callBack_url=${callBack_url}` : ""}`,
62
+ method: "GET"
63
+ },
64
+ verifyEmailStatusSSE: {
65
+ urlModel: "/verify-email-status/:userId",
66
+ url: ({ userId }) => `${baseURL}/verify-email-status/${userId}`,
67
+ method: "GET"
53
68
  },
54
69
  githubLoginQuery: {
55
70
  urlModel: "/login/github",
@@ -74,57 +89,45 @@ const sessionAuthRoutes = {
74
89
  };
75
90
  sessionAuthRouter.post(
76
91
  sessionAuthRoutes.registerEmailPassword.urlModel,
77
- accessControlMiddleWare(AccessRule.noneAuthenticated),
78
92
  registerEmailPassword
79
93
  );
80
94
  sessionAuthRouter.post(
81
95
  sessionAuthRoutes.loginEmailPassword.urlModel,
82
- accessControlMiddleWare(AccessRule.noneAuthenticated),
83
96
  loginEmailPassword
84
97
  );
85
- sessionAuthRouter.post(
86
- sessionAuthRoutes.logOut.urlModel,
87
- accessControlMiddleWare(AccessRule.authenticated),
88
- logOut
89
- );
98
+ sessionAuthRouter.post(sessionAuthRoutes.logOut.urlModel, logOut);
90
99
  sessionAuthRouter.put(
91
100
  sessionAuthRoutes.updatePassword.urlModel,
92
- accessControlMiddleWare(AccessRule.authenticated),
93
101
  updatePassword
94
102
  );
95
103
  sessionAuthRouter.post(
96
104
  sessionAuthRoutes.askResetPassword.urlModel,
97
- accessControlMiddleWare(AccessRule.noneAuthenticated),
98
105
  askResetPassword
99
106
  );
100
- sessionAuthRouter.put(
101
- sessionAuthRoutes.resetPassword.urlModel,
102
- accessControlMiddleWare(AccessRule.noneAuthenticated),
103
- resetPassword
107
+ sessionAuthRouter.put(sessionAuthRoutes.resetPassword.urlModel, resetPassword);
108
+ sessionAuthRouter.get(
109
+ sessionAuthRoutes.checkIfUserHasPassword.urlModel,
110
+ checkIfUserHasPassword
104
111
  );
105
- sessionAuthRouter.put(
106
- sessionAuthRoutes.validEmail.urlModel,
107
- accessControlMiddleWare(AccessRule.noneAuthenticated, AccessRule.admin),
108
- validEmail
112
+ sessionAuthRouter.get(sessionAuthRoutes.validEmail.urlModel, validEmail);
113
+ sessionAuthRouter.get(
114
+ sessionAuthRoutes.verifyEmailStatusSSE.urlModel,
115
+ verifyEmailStatusSSE
109
116
  );
110
117
  sessionAuthRouter.get(
111
118
  sessionAuthRoutes.githubLoginQuery.urlModel,
112
- accessControlMiddleWare(AccessRule.noneAuthenticated),
113
119
  githubLoginQuery
114
120
  );
115
121
  sessionAuthRouter.get(
116
122
  sessionAuthRoutes.githubCallback.urlModel,
117
- accessControlMiddleWare(AccessRule.noneAuthenticated),
118
123
  githubCallback
119
124
  );
120
125
  sessionAuthRouter.get(
121
126
  sessionAuthRoutes.googleLoginQuery.urlModel,
122
- accessControlMiddleWare(AccessRule.noneAuthenticated),
123
127
  googleLoginQuery
124
128
  );
125
129
  sessionAuthRouter.get(
126
130
  sessionAuthRoutes.googleCallback.urlModel,
127
- accessControlMiddleWare(AccessRule.noneAuthenticated),
128
131
  googleCallback
129
132
  );
130
133
  export {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/routes/sessionAuth.routes.ts"],"sourcesContent":["import {\n registerEmailPassword,\n loginEmailPassword,\n logOut,\n updatePassword,\n validEmail,\n askResetPassword,\n resetPassword,\n githubCallback,\n googleCallback,\n githubLoginQuery,\n googleLoginQuery,\n} from '@controllers/sessionAuth.controller';\nimport { accessControlMiddleWare, AccessRule } from '@utils/accessControl';\nimport { Router } from 'express';\nimport { Routes } from '@/types/Routes';\n\nexport const sessionAuthRouter: Router = Router();\n\nconst baseURL = `${process.env.CLIENT_URL}/api/auth`;\n\nexport const sessionAuthRoutes = {\n registerEmailPassword: {\n urlModel: '/register',\n url: `${baseURL}/register`,\n method: 'POST',\n },\n loginEmailPassword: {\n urlModel: '/login',\n url: `${baseURL}/login`,\n method: 'POST',\n },\n logOut: {\n urlModel: '/logout',\n url: `${baseURL}/logout`,\n method: 'POST',\n },\n updatePassword: {\n urlModel: '/password',\n url: `${baseURL}/password`,\n method: 'PUT',\n },\n askResetPassword: {\n urlModel: '/password/reset',\n url: `${baseURL}/password/reset`,\n method: 'POST',\n },\n resetPassword: {\n urlModel: '/:userId/password/reset/:secret',\n url: ({ userId, secret }: { userId: string; secret: string }) =>\n `${baseURL}/${userId}/password/reset/${secret}`,\n method: 'PUT',\n },\n validEmail: {\n urlModel: '/:userId/active/:secret',\n url: ({ userId, secret }: { userId: string; secret: string }) =>\n `${baseURL}/${userId}/active/${secret}`,\n method: 'PUT',\n },\n githubLoginQuery: {\n urlModel: '/login/github',\n url: `${baseURL}/login/github`,\n method: 'GET',\n },\n githubCallback: {\n urlModel: '/callback/github',\n url: `${baseURL}/callback/github`,\n method: 'GET',\n },\n googleLoginQuery: {\n urlModel: '/login/google',\n url: `${baseURL}/login/google`,\n method: 'GET',\n },\n googleCallback: {\n urlModel: '/callback/google',\n url: `${baseURL}/callback/google`,\n method: 'GET',\n },\n} satisfies Routes;\n\n// Authentication\nsessionAuthRouter.post(\n sessionAuthRoutes.registerEmailPassword.urlModel,\n accessControlMiddleWare(AccessRule.noneAuthenticated),\n registerEmailPassword\n);\nsessionAuthRouter.post(\n sessionAuthRoutes.loginEmailPassword.urlModel,\n accessControlMiddleWare(AccessRule.noneAuthenticated),\n loginEmailPassword\n);\nsessionAuthRouter.post(\n sessionAuthRoutes.logOut.urlModel,\n accessControlMiddleWare(AccessRule.authenticated),\n logOut\n);\n\n// Password\nsessionAuthRouter.put(\n sessionAuthRoutes.updatePassword.urlModel,\n accessControlMiddleWare(AccessRule.authenticated),\n updatePassword\n);\nsessionAuthRouter.post(\n sessionAuthRoutes.askResetPassword.urlModel,\n accessControlMiddleWare(AccessRule.noneAuthenticated),\n askResetPassword\n);\nsessionAuthRouter.put(\n sessionAuthRoutes.resetPassword.urlModel,\n accessControlMiddleWare(AccessRule.noneAuthenticated),\n resetPassword\n);\n\n// Email validation\nsessionAuthRouter.put(\n sessionAuthRoutes.validEmail.urlModel,\n accessControlMiddleWare(AccessRule.noneAuthenticated, AccessRule.admin),\n validEmail\n);\n\n// Github auth\nsessionAuthRouter.get(\n sessionAuthRoutes.githubLoginQuery.urlModel,\n accessControlMiddleWare(AccessRule.noneAuthenticated),\n githubLoginQuery\n);\nsessionAuthRouter.get(\n sessionAuthRoutes.githubCallback.urlModel,\n accessControlMiddleWare(AccessRule.noneAuthenticated),\n githubCallback\n);\n\n// Google auth\nsessionAuthRouter.get(\n sessionAuthRoutes.googleLoginQuery.urlModel,\n accessControlMiddleWare(AccessRule.noneAuthenticated),\n googleLoginQuery\n);\nsessionAuthRouter.get(\n sessionAuthRoutes.googleCallback.urlModel,\n accessControlMiddleWare(AccessRule.noneAuthenticated),\n googleCallback\n);\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../src/routes/sessionAuth.routes.ts"],"sourcesContent":["import {\n registerEmailPassword,\n loginEmailPassword,\n logOut,\n updatePassword,\n validEmail,\n askResetPassword,\n resetPassword,\n githubCallback,\n googleCallback,\n githubLoginQuery,\n googleLoginQuery,\n verifyEmailStatusSSE,\n checkIfUserHasPassword,\n} from '@controllers/sessionAuth.controller';\nimport { Router } from 'express';\nimport { Routes } from '@/types/Routes';\n\nexport const sessionAuthRouter: Router = Router();\n\nconst baseURL = `${process.env.BACKEND_URL}/api/auth`;\n\nexport const sessionAuthRoutes = {\n registerEmailPassword: {\n urlModel: '/register',\n url: `${baseURL}/register`,\n method: 'POST',\n },\n loginEmailPassword: {\n urlModel: '/login',\n url: `${baseURL}/login`,\n method: 'POST',\n },\n logOut: {\n urlModel: '/logout',\n url: `${baseURL}/logout`,\n method: 'POST',\n },\n updatePassword: {\n urlModel: '/password',\n url: `${baseURL}/password`,\n method: 'PUT',\n },\n askResetPassword: {\n urlModel: '/password/reset',\n url: `${baseURL}/password/reset`,\n method: 'POST',\n },\n resetPassword: {\n urlModel: '/:userId/password/reset/:secret',\n url: ({ userId, secret }: { userId: string; secret: string }) =>\n `${baseURL}/${userId}/password/reset/${secret}`,\n method: 'PUT',\n },\n checkIfUserHasPassword: {\n urlModel: '/password/has',\n url: `${baseURL}/password/has`,\n method: 'GET',\n },\n validEmail: {\n urlModel: '/:userId/active/:secret',\n url: ({\n userId,\n secret,\n callBack_url,\n }: {\n userId: string;\n secret: string;\n callBack_url?: string;\n }) =>\n `${baseURL}/${userId}/active/${secret}${\n callBack_url ? `?callBack_url=${callBack_url}` : ''\n }`,\n method: 'GET',\n },\n verifyEmailStatusSSE: {\n urlModel: '/verify-email-status/:userId',\n url: ({ userId }: { userId: string }) =>\n `${baseURL}/verify-email-status/${userId}`,\n method: 'GET',\n },\n githubLoginQuery: {\n urlModel: '/login/github',\n url: `${baseURL}/login/github`,\n method: 'GET',\n },\n githubCallback: {\n urlModel: '/callback/github',\n url: `${baseURL}/callback/github`,\n method: 'GET',\n },\n googleLoginQuery: {\n urlModel: '/login/google',\n url: `${baseURL}/login/google`,\n method: 'GET',\n },\n googleCallback: {\n urlModel: '/callback/google',\n url: `${baseURL}/callback/google`,\n method: 'GET',\n },\n} satisfies Routes;\n\n// Authentication\nsessionAuthRouter.post(\n sessionAuthRoutes.registerEmailPassword.urlModel,\n registerEmailPassword\n);\nsessionAuthRouter.post(\n sessionAuthRoutes.loginEmailPassword.urlModel,\n loginEmailPassword\n);\nsessionAuthRouter.post(sessionAuthRoutes.logOut.urlModel, logOut);\n\n// Password\nsessionAuthRouter.put(\n sessionAuthRoutes.updatePassword.urlModel,\n updatePassword\n);\nsessionAuthRouter.post(\n sessionAuthRoutes.askResetPassword.urlModel,\n askResetPassword\n);\nsessionAuthRouter.put(sessionAuthRoutes.resetPassword.urlModel, resetPassword);\n\nsessionAuthRouter.get(\n sessionAuthRoutes.checkIfUserHasPassword.urlModel,\n checkIfUserHasPassword\n);\n\n// Email validation\nsessionAuthRouter.get(sessionAuthRoutes.validEmail.urlModel, validEmail);\n\n// Verify email status\nsessionAuthRouter.get(\n sessionAuthRoutes.verifyEmailStatusSSE.urlModel,\n verifyEmailStatusSSE\n);\n\n// Github auth\nsessionAuthRouter.get(\n sessionAuthRoutes.githubLoginQuery.urlModel,\n githubLoginQuery\n);\nsessionAuthRouter.get(\n sessionAuthRoutes.githubCallback.urlModel,\n githubCallback\n);\n\n// Google auth\nsessionAuthRouter.get(\n sessionAuthRoutes.googleLoginQuery.urlModel,\n googleLoginQuery\n);\nsessionAuthRouter.get(\n sessionAuthRoutes.googleCallback.urlModel,\n googleCallback\n);\n"],"mappings":"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","names":[]}
@@ -0,0 +1,17 @@
1
+ import { getSubscription } from './../controllers/stripe.controller.mjs';
2
+ import { Router } from "express";
3
+ const stripeRouter = Router();
4
+ const baseURL = `${process.env.BACKEND_URL}/api/stipe`;
5
+ const stripeRoutes = {
6
+ getCheckoutSession: {
7
+ urlModel: "/create-subscription",
8
+ url: `${baseURL}/create-subscription`,
9
+ method: "POST"
10
+ }
11
+ };
12
+ stripeRouter.post(stripeRoutes.getCheckoutSession.urlModel, getSubscription);
13
+ export {
14
+ stripeRouter,
15
+ stripeRoutes
16
+ };
17
+ //# sourceMappingURL=stripe.routes.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/routes/stripe.routes.ts"],"sourcesContent":["import { getSubscription } from '@controllers/stripe.controller';\nimport { Router } from 'express';\nimport { Routes } from '@/types/Routes';\n\nexport const stripeRouter: Router = Router();\n\nconst baseURL = `${process.env.BACKEND_URL}/api/stipe`;\n\nexport const stripeRoutes = {\n getCheckoutSession: {\n urlModel: '/create-subscription',\n url: `${baseURL}/create-subscription`,\n method: 'POST',\n },\n} satisfies Routes;\n\n// Authentication\nstripeRouter.post(stripeRoutes.getCheckoutSession.urlModel, getSubscription);\n"],"mappings":"AAAA,SAAS,uBAAuB;AAChC,SAAS,cAAc;AAGhB,MAAM,eAAuB,OAAO;AAE3C,MAAM,UAAU,GAAG,QAAQ,IAAI,WAAW;AAEnC,MAAM,eAAe;AAAA,EAC1B,oBAAoB;AAAA,IAClB,UAAU;AAAA,IACV,KAAK,GAAG,OAAO;AAAA,IACf,QAAQ;AAAA,EACV;AACF;AAGA,aAAa,KAAK,aAAa,mBAAmB,UAAU,eAAe;","names":[]}
@@ -6,10 +6,9 @@ import {
6
6
  createUser,
7
7
  getUserByAccount
8
8
  } from './../controllers/user.controller.mjs';
9
- import { accessControlMiddleWare, AccessRule } from './../utils/accessControl.mjs';
10
9
  import { Router } from "express";
11
10
  const userRouter = Router();
12
- const baseURL = `${process.env.CLIENT_URL}/api/user`;
11
+ const baseURL = `${process.env.BACKEND_URL}/api/user`;
13
12
  const userRoutes = {
14
13
  getUsers: {
15
14
  urlModel: "/",
@@ -45,31 +44,11 @@ const userRoutes = {
45
44
  method: "GET"
46
45
  }
47
46
  };
48
- userRouter.get(
49
- userRoutes.getUsers.urlModel,
50
- accessControlMiddleWare(AccessRule.admin),
51
- getUsers
52
- );
53
- userRouter.put(
54
- userRoutes.updateUser.urlModel,
55
- accessControlMiddleWare(AccessRule.none),
56
- updateUser
57
- );
58
- userRouter.post(
59
- userRoutes.createUser.urlModel,
60
- accessControlMiddleWare(AccessRule.admin),
61
- createUser
62
- );
63
- userRouter.get(
64
- userRoutes.getUserById.urlModel,
65
- accessControlMiddleWare(AccessRule.authenticated),
66
- getUserById
67
- );
68
- userRouter.get(
69
- userRoutes.getUserByEmail.urlModel,
70
- accessControlMiddleWare(AccessRule.authenticated),
71
- getUserByEmail
72
- );
47
+ userRouter.get(userRoutes.getUsers.urlModel, getUsers);
48
+ userRouter.put(userRoutes.updateUser.urlModel, updateUser);
49
+ userRouter.post(userRoutes.createUser.urlModel, createUser);
50
+ userRouter.get(userRoutes.getUserById.urlModel, getUserById);
51
+ userRouter.get(userRoutes.getUserByEmail.urlModel, getUserByEmail);
73
52
  userRouter.get(userRoutes.getUserByAccount.urlModel, getUserByAccount);
74
53
  export {
75
54
  userRouter,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/routes/user.routes.ts"],"sourcesContent":["import {\n getUsers,\n updateUser,\n getUserByEmail,\n getUserById,\n createUser,\n getUserByAccount,\n} from '@controllers/user.controller';\nimport { accessControlMiddleWare, AccessRule } from '@utils/accessControl';\nimport { Router } from 'express';\nimport { Routes } from '@/types/Routes';\n\nexport const userRouter: Router = Router();\n\nconst baseURL = `${process.env.CLIENT_URL}/api/user`;\n\nexport const userRoutes = {\n getUsers: {\n urlModel: '/',\n url: baseURL,\n method: 'GET',\n },\n updateUser: {\n urlModel: '/',\n url: baseURL,\n method: 'PUT',\n },\n createUser: {\n urlModel: '/',\n url: baseURL,\n method: 'POST',\n },\n getUserById: {\n urlModel: '/:userId',\n url: ({ userId }: { userId: string }) => `${baseURL}/${userId}`,\n method: 'GET',\n },\n getUserByEmail: {\n urlModel: '/email/:email',\n url: ({ email }: { email: string }) => `${baseURL}/email/${email}`,\n method: 'GET',\n },\n getUserByAccount: {\n urlModel: '/account/:provider/:providerAccountId',\n url: ({\n provider,\n providerAccountId,\n }: {\n provider: string;\n providerAccountId: string;\n }) => `${baseURL}/account/${provider}/${providerAccountId}`,\n method: 'GET',\n },\n} satisfies Routes;\n\nuserRouter.get(\n userRoutes.getUsers.urlModel,\n accessControlMiddleWare(AccessRule.admin),\n getUsers\n);\nuserRouter.put(\n userRoutes.updateUser.urlModel,\n accessControlMiddleWare(AccessRule.none),\n updateUser\n);\nuserRouter.post(\n userRoutes.createUser.urlModel,\n accessControlMiddleWare(AccessRule.admin),\n createUser\n);\nuserRouter.get(\n userRoutes.getUserById.urlModel,\n accessControlMiddleWare(AccessRule.authenticated),\n getUserById\n);\nuserRouter.get(\n userRoutes.getUserByEmail.urlModel,\n accessControlMiddleWare(AccessRule.authenticated),\n getUserByEmail\n);\nuserRouter.get(userRoutes.getUserByAccount.urlModel, getUserByAccount);\n"],"mappings":"AAAA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,yBAAyB,kBAAkB;AACpD,SAAS,cAAc;AAGhB,MAAM,aAAqB,OAAO;AAEzC,MAAM,UAAU,GAAG,QAAQ,IAAI,UAAU;AAElC,MAAM,aAAa;AAAA,EACxB,UAAU;AAAA,IACR,UAAU;AAAA,IACV,KAAK;AAAA,IACL,QAAQ;AAAA,EACV;AAAA,EACA,YAAY;AAAA,IACV,UAAU;AAAA,IACV,KAAK;AAAA,IACL,QAAQ;AAAA,EACV;AAAA,EACA,YAAY;AAAA,IACV,UAAU;AAAA,IACV,KAAK;AAAA,IACL,QAAQ;AAAA,EACV;AAAA,EACA,aAAa;AAAA,IACX,UAAU;AAAA,IACV,KAAK,CAAC,EAAE,OAAO,MAA0B,GAAG,OAAO,IAAI,MAAM;AAAA,IAC7D,QAAQ;AAAA,EACV;AAAA,EACA,gBAAgB;AAAA,IACd,UAAU;AAAA,IACV,KAAK,CAAC,EAAE,MAAM,MAAyB,GAAG,OAAO,UAAU,KAAK;AAAA,IAChE,QAAQ;AAAA,EACV;AAAA,EACA,kBAAkB;AAAA,IAChB,UAAU;AAAA,IACV,KAAK,CAAC;AAAA,MACJ;AAAA,MACA;AAAA,IACF,MAGM,GAAG,OAAO,YAAY,QAAQ,IAAI,iBAAiB;AAAA,IACzD,QAAQ;AAAA,EACV;AACF;AAEA,WAAW;AAAA,EACT,WAAW,SAAS;AAAA,EACpB,wBAAwB,WAAW,KAAK;AAAA,EACxC;AACF;AACA,WAAW;AAAA,EACT,WAAW,WAAW;AAAA,EACtB,wBAAwB,WAAW,IAAI;AAAA,EACvC;AACF;AACA,WAAW;AAAA,EACT,WAAW,WAAW;AAAA,EACtB,wBAAwB,WAAW,KAAK;AAAA,EACxC;AACF;AACA,WAAW;AAAA,EACT,WAAW,YAAY;AAAA,EACvB,wBAAwB,WAAW,aAAa;AAAA,EAChD;AACF;AACA,WAAW;AAAA,EACT,WAAW,eAAe;AAAA,EAC1B,wBAAwB,WAAW,aAAa;AAAA,EAChD;AACF;AACA,WAAW,IAAI,WAAW,iBAAiB,UAAU,gBAAgB;","names":[]}
1
+ {"version":3,"sources":["../../../src/routes/user.routes.ts"],"sourcesContent":["import {\n getUsers,\n updateUser,\n getUserByEmail,\n getUserById,\n createUser,\n getUserByAccount,\n} from '@controllers/user.controller';\nimport { Router } from 'express';\nimport { Routes } from '@/types/Routes';\n\nexport const userRouter: Router = Router();\n\nconst baseURL = `${process.env.BACKEND_URL}/api/user`;\n\nexport const userRoutes = {\n getUsers: {\n urlModel: '/',\n url: baseURL,\n method: 'GET',\n },\n updateUser: {\n urlModel: '/',\n url: baseURL,\n method: 'PUT',\n },\n createUser: {\n urlModel: '/',\n url: baseURL,\n method: 'POST',\n },\n getUserById: {\n urlModel: '/:userId',\n url: ({ userId }: { userId: string }) => `${baseURL}/${userId}`,\n method: 'GET',\n },\n getUserByEmail: {\n urlModel: '/email/:email',\n url: ({ email }: { email: string }) => `${baseURL}/email/${email}`,\n method: 'GET',\n },\n getUserByAccount: {\n urlModel: '/account/:provider/:providerAccountId',\n url: ({\n provider,\n providerAccountId,\n }: {\n provider: string;\n providerAccountId: string;\n }) => `${baseURL}/account/${provider}/${providerAccountId}`,\n method: 'GET',\n },\n} satisfies Routes;\n\nuserRouter.get(userRoutes.getUsers.urlModel, getUsers);\nuserRouter.put(userRoutes.updateUser.urlModel, updateUser);\nuserRouter.post(userRoutes.createUser.urlModel, createUser);\nuserRouter.get(userRoutes.getUserById.urlModel, getUserById);\nuserRouter.get(userRoutes.getUserByEmail.urlModel, getUserByEmail);\nuserRouter.get(userRoutes.getUserByAccount.urlModel, getUserByAccount);\n"],"mappings":"AAAA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,cAAc;AAGhB,MAAM,aAAqB,OAAO;AAEzC,MAAM,UAAU,GAAG,QAAQ,IAAI,WAAW;AAEnC,MAAM,aAAa;AAAA,EACxB,UAAU;AAAA,IACR,UAAU;AAAA,IACV,KAAK;AAAA,IACL,QAAQ;AAAA,EACV;AAAA,EACA,YAAY;AAAA,IACV,UAAU;AAAA,IACV,KAAK;AAAA,IACL,QAAQ;AAAA,EACV;AAAA,EACA,YAAY;AAAA,IACV,UAAU;AAAA,IACV,KAAK;AAAA,IACL,QAAQ;AAAA,EACV;AAAA,EACA,aAAa;AAAA,IACX,UAAU;AAAA,IACV,KAAK,CAAC,EAAE,OAAO,MAA0B,GAAG,OAAO,IAAI,MAAM;AAAA,IAC7D,QAAQ;AAAA,EACV;AAAA,EACA,gBAAgB;AAAA,IACd,UAAU;AAAA,IACV,KAAK,CAAC,EAAE,MAAM,MAAyB,GAAG,OAAO,UAAU,KAAK;AAAA,IAChE,QAAQ;AAAA,EACV;AAAA,EACA,kBAAkB;AAAA,IAChB,UAAU;AAAA,IACV,KAAK,CAAC;AAAA,MACJ;AAAA,MACA;AAAA,IACF,MAGM,GAAG,OAAO,YAAY,QAAQ,IAAI,iBAAiB;AAAA,IACzD,QAAQ;AAAA,EACV;AACF;AAEA,WAAW,IAAI,WAAW,SAAS,UAAU,QAAQ;AACrD,WAAW,IAAI,WAAW,WAAW,UAAU,UAAU;AACzD,WAAW,KAAK,WAAW,WAAW,UAAU,UAAU;AAC1D,WAAW,IAAI,WAAW,YAAY,UAAU,WAAW;AAC3D,WAAW,IAAI,WAAW,eAAe,UAAU,cAAc;AACjE,WAAW,IAAI,WAAW,iBAAiB,UAAU,gBAAgB;","names":[]}
@@ -4,6 +4,7 @@ import {
4
4
  NAME_MIN_LENGTH
5
5
  } from './../utils/validation/validateOrganization.mjs';
6
6
  import { Schema } from "mongoose";
7
+ import { planSchema } from './plans.schema.mjs';
7
8
  const organizationSchema = new Schema(
8
9
  {
9
10
  name: {
@@ -28,6 +29,10 @@ const organizationSchema = new Schema(
28
29
  type: Schema.Types.ObjectId,
29
30
  ref: "User",
30
31
  required: true
32
+ },
33
+ plan: {
34
+ type: planSchema,
35
+ required: true
31
36
  }
32
37
  },
33
38
  {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/schemas/organization.schema.ts"],"sourcesContent":["import {\n MEMBERS_MIN_LENGTH,\n NAME_MAX_LENGTH,\n NAME_MIN_LENGTH,\n} from '@utils/validation/validateOrganization';\nimport { Schema } from 'mongoose';\nimport type { Organization } from '@/types/organization.types';\n\nexport const organizationSchema = new Schema<Organization>(\n {\n name: {\n type: String,\n required: true,\n minlength: NAME_MIN_LENGTH,\n maxlength: NAME_MAX_LENGTH,\n },\n membersIds: {\n type: [Schema.Types.ObjectId],\n ref: 'User',\n required: true,\n minlength: MEMBERS_MIN_LENGTH,\n },\n adminsIds: {\n type: [Schema.Types.ObjectId],\n ref: 'User',\n required: true,\n minlength: MEMBERS_MIN_LENGTH,\n },\n creatorId: {\n type: Schema.Types.ObjectId,\n ref: 'User',\n required: true,\n },\n },\n {\n timestamps: true,\n }\n);\n"],"mappings":"AAAA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,cAAc;AAGhB,MAAM,qBAAqB,IAAI;AAAA,EACpC;AAAA,IACE,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,UAAU;AAAA,MACV,WAAW;AAAA,MACX,WAAW;AAAA,IACb;AAAA,IACA,YAAY;AAAA,MACV,MAAM,CAAC,OAAO,MAAM,QAAQ;AAAA,MAC5B,KAAK;AAAA,MACL,UAAU;AAAA,MACV,WAAW;AAAA,IACb;AAAA,IACA,WAAW;AAAA,MACT,MAAM,CAAC,OAAO,MAAM,QAAQ;AAAA,MAC5B,KAAK;AAAA,MACL,UAAU;AAAA,MACV,WAAW;AAAA,IACb;AAAA,IACA,WAAW;AAAA,MACT,MAAM,OAAO,MAAM;AAAA,MACnB,KAAK;AAAA,MACL,UAAU;AAAA,IACZ;AAAA,EACF;AAAA,EACA;AAAA,IACE,YAAY;AAAA,EACd;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../src/schemas/organization.schema.ts"],"sourcesContent":["import {\n MEMBERS_MIN_LENGTH,\n NAME_MAX_LENGTH,\n NAME_MIN_LENGTH,\n} from '@utils/validation/validateOrganization';\nimport { Schema } from 'mongoose';\nimport { planSchema } from './plans.schema';\nimport type { Organization } from '@/types/organization.types';\n\nexport const organizationSchema = new Schema<Organization>(\n {\n name: {\n type: String,\n required: true,\n minlength: NAME_MIN_LENGTH,\n maxlength: NAME_MAX_LENGTH,\n },\n membersIds: {\n type: [Schema.Types.ObjectId],\n ref: 'User',\n required: true,\n minlength: MEMBERS_MIN_LENGTH,\n },\n adminsIds: {\n type: [Schema.Types.ObjectId],\n ref: 'User',\n required: true,\n minlength: MEMBERS_MIN_LENGTH,\n },\n creatorId: {\n type: Schema.Types.ObjectId,\n ref: 'User',\n required: true,\n },\n plan: {\n type: planSchema,\n required: true,\n },\n },\n {\n timestamps: true,\n }\n);\n"],"mappings":"AAAA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,cAAc;AACvB,SAAS,kBAAkB;AAGpB,MAAM,qBAAqB,IAAI;AAAA,EACpC;AAAA,IACE,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,UAAU;AAAA,MACV,WAAW;AAAA,MACX,WAAW;AAAA,IACb;AAAA,IACA,YAAY;AAAA,MACV,MAAM,CAAC,OAAO,MAAM,QAAQ;AAAA,MAC5B,KAAK;AAAA,MACL,UAAU;AAAA,MACV,WAAW;AAAA,IACb;AAAA,IACA,WAAW;AAAA,MACT,MAAM,CAAC,OAAO,MAAM,QAAQ;AAAA,MAC5B,KAAK;AAAA,MACL,UAAU;AAAA,MACV,WAAW;AAAA,IACb;AAAA,IACA,WAAW;AAAA,MACT,MAAM,OAAO,MAAM;AAAA,MACnB,KAAK;AAAA,MACL,UAAU;AAAA,IACZ;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,UAAU;AAAA,IACZ;AAAA,EACF;AAAA,EACA;AAAA,IACE,YAAY;AAAA,EACd;AACF;","names":[]}
@@ -7,19 +7,13 @@ const planSchema = new Schema(
7
7
  enum: ["FREE", "PREMIUM", "ENTERPRISE"],
8
8
  default: "FREE"
9
9
  },
10
- userId: {
10
+ creatorId: {
11
11
  type: Schema.Types.ObjectId,
12
12
  ref: "User",
13
13
  required: true
14
14
  },
15
- organizationId: {
16
- type: Schema.Types.ObjectId,
17
- ref: "Organization",
18
- required: true
19
- },
20
15
  priceId: {
21
- type: String,
22
- required: true
16
+ type: String
23
17
  },
24
18
  status: {
25
19
  type: String,