@intlayer/backend 8.7.12 → 8.7.13

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 (142) hide show
  1. package/README.md +27 -1
  2. package/dist/assets/utils/AI/askDocQuestion/embeddings/docs/en/benchmark/solid.json +4990 -0
  3. package/dist/assets/utils/AI/askDocQuestion/embeddings/docs/en/benchmark/svelte.json +4987 -0
  4. package/dist/assets/utils/AI/askDocQuestion/embeddings/docs/en/benchmark/vue.json +4975 -0
  5. package/dist/assets/utils/AI/askDocQuestion/embeddings/docs/en/intlayer_with_astro_lit.json +9936 -8930
  6. package/dist/assets/utils/AI/askDocQuestion/embeddings/docs/en/intlayer_with_astro_vanilla.json +7963 -6949
  7. package/dist/assets/utils/AI/askDocQuestion/embeddings/docs/en/readme.json +12908 -12288
  8. package/dist/esm/controllers/oAuth2.controller.mjs +21 -1
  9. package/dist/esm/controllers/oAuth2.controller.mjs.map +1 -1
  10. package/dist/esm/controllers/stripe.controller.mjs +86 -2
  11. package/dist/esm/controllers/stripe.controller.mjs.map +1 -1
  12. package/dist/esm/controllers/translation.controller.mjs +2 -0
  13. package/dist/esm/controllers/translation.controller.mjs.map +1 -1
  14. package/dist/esm/emails/InviteUserEmail.mjs +1541 -1
  15. package/dist/esm/emails/InviteUserEmail.mjs.map +1 -1
  16. package/dist/esm/emails/MagicLinkEmail.mjs +1128 -1
  17. package/dist/esm/emails/MagicLinkEmail.mjs.map +1 -1
  18. package/dist/esm/emails/OAuthTokenCreatedEmail.mjs +1389 -1
  19. package/dist/esm/emails/OAuthTokenCreatedEmail.mjs.map +1 -1
  20. package/dist/esm/emails/PasswordChangeConfirmation.mjs +814 -1
  21. package/dist/esm/emails/PasswordChangeConfirmation.mjs.map +1 -1
  22. package/dist/esm/emails/ResetUserPassword.mjs +1132 -1
  23. package/dist/esm/emails/ResetUserPassword.mjs.map +1 -1
  24. package/dist/esm/emails/SubscriptionPaymentCancellation.mjs +913 -1
  25. package/dist/esm/emails/SubscriptionPaymentCancellation.mjs.map +1 -1
  26. package/dist/esm/emails/SubscriptionPaymentError.mjs +908 -1
  27. package/dist/esm/emails/SubscriptionPaymentError.mjs.map +1 -1
  28. package/dist/esm/emails/SubscriptionPaymentSuccess.mjs +935 -1
  29. package/dist/esm/emails/SubscriptionPaymentSuccess.mjs.map +1 -1
  30. package/dist/esm/emails/ValidateUserEmail.mjs +1111 -1
  31. package/dist/esm/emails/ValidateUserEmail.mjs.map +1 -1
  32. package/dist/esm/emails/Welcome.mjs +1004 -1
  33. package/dist/esm/emails/Welcome.mjs.map +1 -1
  34. package/dist/esm/emails/index.mjs +7 -7
  35. package/dist/esm/index.mjs +8 -2
  36. package/dist/esm/index.mjs.map +1 -1
  37. package/dist/esm/middlewares/oAuth2.middleware.mjs +2 -2
  38. package/dist/esm/middlewares/oAuth2.middleware.mjs.map +1 -1
  39. package/dist/esm/routes/audit.routes.mjs +5 -4
  40. package/dist/esm/routes/audit.routes.mjs.map +1 -1
  41. package/dist/esm/routes/dictionary.routes.mjs +4 -3
  42. package/dist/esm/routes/dictionary.routes.mjs.map +1 -1
  43. package/dist/esm/routes/organization.routes.mjs +3 -2
  44. package/dist/esm/routes/organization.routes.mjs.map +1 -1
  45. package/dist/esm/routes/paramsSchemas.mjs +67 -0
  46. package/dist/esm/routes/paramsSchemas.mjs.map +1 -0
  47. package/dist/esm/routes/project.routes.mjs +2 -1
  48. package/dist/esm/routes/project.routes.mjs.map +1 -1
  49. package/dist/esm/routes/showcaseProject.routes.mjs +5 -4
  50. package/dist/esm/routes/showcaseProject.routes.mjs.map +1 -1
  51. package/dist/esm/routes/stripe.routes.mjs +19 -1
  52. package/dist/esm/routes/stripe.routes.mjs.map +1 -1
  53. package/dist/esm/routes/tags.routes.mjs +3 -2
  54. package/dist/esm/routes/tags.routes.mjs.map +1 -1
  55. package/dist/esm/routes/translate.routes.mjs +6 -5
  56. package/dist/esm/routes/translate.routes.mjs.map +1 -1
  57. package/dist/esm/routes/user.routes.mjs +5 -4
  58. package/dist/esm/routes/user.routes.mjs.map +1 -1
  59. package/dist/esm/schemas/oAuth2.schema.mjs +1 -1
  60. package/dist/esm/schemas/oAuth2.schema.mjs.map +1 -1
  61. package/dist/esm/services/email.service.mjs +338 -38
  62. package/dist/esm/services/email.service.mjs.map +1 -1
  63. package/dist/esm/services/oAuth2.service.mjs +20 -2
  64. package/dist/esm/services/oAuth2.service.mjs.map +1 -1
  65. package/dist/esm/services/subscription.service.mjs +5 -2
  66. package/dist/esm/services/subscription.service.mjs.map +1 -1
  67. package/dist/esm/utils/AI/askDocQuestion/embeddings/docs/en/benchmark/solid.json +4990 -0
  68. package/dist/esm/utils/AI/askDocQuestion/embeddings/docs/en/benchmark/svelte.json +4987 -0
  69. package/dist/esm/utils/AI/askDocQuestion/embeddings/docs/en/benchmark/vue.json +4975 -0
  70. package/dist/esm/utils/AI/askDocQuestion/embeddings/docs/en/intlayer_with_astro_lit.json +9936 -8930
  71. package/dist/esm/utils/AI/askDocQuestion/embeddings/docs/en/intlayer_with_astro_vanilla.json +7963 -6949
  72. package/dist/esm/utils/AI/askDocQuestion/embeddings/docs/en/readme.json +12908 -12288
  73. package/dist/esm/utils/auth/getAuth.mjs +6 -0
  74. package/dist/esm/utils/auth/getAuth.mjs.map +1 -1
  75. package/dist/esm/utils/errors/errorCodes.mjs +3917 -287
  76. package/dist/esm/utils/errors/errorCodes.mjs.map +1 -1
  77. package/dist/esm/utils/mongoDB/connectDB.mjs +5 -0
  78. package/dist/esm/utils/mongoDB/connectDB.mjs.map +1 -1
  79. package/dist/esm/utils/oAuth2.mjs +6 -2
  80. package/dist/esm/utils/oAuth2.mjs.map +1 -1
  81. package/dist/esm/utils/plan.mjs +13 -1
  82. package/dist/esm/utils/plan.mjs.map +1 -1
  83. package/dist/types/controllers/oAuth2.controller.d.ts +11 -1
  84. package/dist/types/controllers/oAuth2.controller.d.ts.map +1 -1
  85. package/dist/types/controllers/stripe.controller.d.ts +22 -2
  86. package/dist/types/controllers/stripe.controller.d.ts.map +1 -1
  87. package/dist/types/controllers/translation.controller.d.ts.map +1 -1
  88. package/dist/types/emails/InviteUserEmail.d.ts +181 -1
  89. package/dist/types/emails/InviteUserEmail.d.ts.map +1 -1
  90. package/dist/types/emails/MagicLinkEmail.d.ts +106 -1
  91. package/dist/types/emails/MagicLinkEmail.d.ts.map +1 -1
  92. package/dist/types/emails/OAuthTokenCreatedEmail.d.ts +166 -1
  93. package/dist/types/emails/OAuthTokenCreatedEmail.d.ts.map +1 -1
  94. package/dist/types/emails/PasswordChangeConfirmation.d.ts +91 -1
  95. package/dist/types/emails/PasswordChangeConfirmation.d.ts.map +1 -1
  96. package/dist/types/emails/ResetUserPassword.d.ts +106 -1
  97. package/dist/types/emails/ResetUserPassword.d.ts.map +1 -1
  98. package/dist/types/emails/SubscriptionPaymentCancellation.d.ts +151 -1
  99. package/dist/types/emails/SubscriptionPaymentCancellation.d.ts.map +1 -1
  100. package/dist/types/emails/SubscriptionPaymentError.d.ts +151 -1
  101. package/dist/types/emails/SubscriptionPaymentError.d.ts.map +1 -1
  102. package/dist/types/emails/SubscriptionPaymentSuccess.d.ts +151 -1
  103. package/dist/types/emails/SubscriptionPaymentSuccess.d.ts.map +1 -1
  104. package/dist/types/emails/ValidateUserEmail.d.ts +106 -1
  105. package/dist/types/emails/ValidateUserEmail.d.ts.map +1 -1
  106. package/dist/types/emails/Welcome.d.ts +106 -1
  107. package/dist/types/emails/Welcome.d.ts.map +1 -1
  108. package/dist/types/emails/index.d.ts +7 -7
  109. package/dist/types/export.d.ts +3 -3
  110. package/dist/types/middlewares/oAuth2.middleware.d.ts.map +1 -1
  111. package/dist/types/routes/audit.routes.d.ts.map +1 -1
  112. package/dist/types/routes/dictionary.routes.d.ts.map +1 -1
  113. package/dist/types/routes/organization.routes.d.ts.map +1 -1
  114. package/dist/types/routes/paramsSchemas.d.ts +102 -0
  115. package/dist/types/routes/paramsSchemas.d.ts.map +1 -0
  116. package/dist/types/routes/project.routes.d.ts.map +1 -1
  117. package/dist/types/routes/showcaseProject.routes.d.ts.map +1 -1
  118. package/dist/types/routes/stripe.routes.d.ts +15 -0
  119. package/dist/types/routes/stripe.routes.d.ts.map +1 -1
  120. package/dist/types/routes/tags.routes.d.ts.map +1 -1
  121. package/dist/types/routes/translate.routes.d.ts.map +1 -1
  122. package/dist/types/routes/user.routes.d.ts.map +1 -1
  123. package/dist/types/schemas/dictionary.schema.d.ts +8 -8
  124. package/dist/types/schemas/discussion.schema.d.ts +8 -8
  125. package/dist/types/schemas/organization.schema.d.ts +5 -5
  126. package/dist/types/schemas/plans.schema.d.ts +7 -7
  127. package/dist/types/schemas/project.schema.d.ts +9 -9
  128. package/dist/types/schemas/session.schema.d.ts +7 -7
  129. package/dist/types/schemas/showcaseProject.schema.d.ts +18 -18
  130. package/dist/types/schemas/tag.schema.d.ts +7 -7
  131. package/dist/types/services/email.service.d.ts.map +1 -1
  132. package/dist/types/services/oAuth2.service.d.ts +6 -1
  133. package/dist/types/services/oAuth2.service.d.ts.map +1 -1
  134. package/dist/types/types/plan.types.d.ts +2 -2
  135. package/dist/types/utils/errors/errorCodes.d.ts +3634 -4
  136. package/dist/types/utils/errors/errorCodes.d.ts.map +1 -1
  137. package/dist/types/utils/mongoDB/connectDB.d.ts.map +1 -1
  138. package/dist/types/utils/oAuth2.d.ts +3 -1
  139. package/dist/types/utils/oAuth2.d.ts.map +1 -1
  140. package/dist/types/utils/plan.d.ts +2 -1
  141. package/dist/types/utils/plan.d.ts.map +1 -1
  142. package/package.json +13 -12
@@ -1 +1 @@
1
- {"version":3,"file":"project.routes.mjs","names":[],"sources":["../../../src/routes/project.routes.ts"],"sourcesContent":["import {\n addProject,\n deleteProject,\n getCIConfiguration,\n getProjects,\n pushCIConfiguration,\n pushProjectConfiguration,\n selectProject,\n triggerBuild,\n triggerWebhook,\n unselectProject,\n updateProject,\n updateProjectMembers,\n} from '@controllers/project.controller';\nimport {\n addNewAccessKey,\n deleteAccessKey,\n refreshAccessKey,\n} from '@controllers/projectAccessKey.controller';\nimport type { FastifyInstance } from 'fastify';\nimport type { Routes } from '@/types/Routes';\n\nexport const projectRoute = '/api/project';\n\nconst baseURL = () => `${process.env.BACKEND_URL}${projectRoute}`;\n\nexport const getProjectRoutes = () =>\n ({\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: `${baseURL()}/members`,\n method: 'PUT',\n },\n pushProjectConfiguration: {\n urlModel: '/configuration',\n url: `${baseURL()}/configuration`,\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 }) =>\n `${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 triggerBuild: {\n urlModel: '/build',\n url: `${baseURL()}/build`,\n method: 'POST',\n },\n triggerWebhook: {\n urlModel: '/webhook',\n url: `${baseURL()}/webhook`,\n method: 'POST',\n },\n getCIConfiguration: {\n urlModel: '/ci',\n url: `${baseURL()}/ci`,\n method: 'GET',\n },\n pushCIConfiguration: {\n urlModel: '/ci',\n url: `${baseURL()}/ci`,\n method: 'POST',\n },\n }) satisfies Routes;\n\nexport const projectRouter = async (fastify: FastifyInstance) => {\n fastify.get(getProjectRoutes().getProjects.urlModel, getProjects);\n fastify.post(getProjectRoutes().addProject.urlModel, addProject);\n fastify.put(getProjectRoutes().updateProject.urlModel, updateProject);\n fastify.put(\n getProjectRoutes().updateProjectMembers.urlModel,\n updateProjectMembers\n );\n fastify.put(\n getProjectRoutes().pushProjectConfiguration.urlModel,\n pushProjectConfiguration\n );\n fastify.delete(getProjectRoutes().deleteProject.urlModel, deleteProject);\n fastify.post(getProjectRoutes().addNewAccessKey.urlModel, addNewAccessKey);\n fastify.patch(getProjectRoutes().refreshAccessKey.urlModel, refreshAccessKey);\n fastify.delete(getProjectRoutes().deleteAccessKey.urlModel, deleteAccessKey);\n fastify.post(getProjectRoutes().unselectProject.urlModel, unselectProject);\n fastify.put(getProjectRoutes().selectProject.urlModel, selectProject);\n fastify.post(getProjectRoutes().triggerBuild.urlModel, triggerBuild);\n fastify.post(getProjectRoutes().triggerWebhook.urlModel, triggerWebhook);\n fastify.get(\n getProjectRoutes().getCIConfiguration.urlModel,\n getCIConfiguration\n );\n fastify.post(\n getProjectRoutes().pushCIConfiguration.urlModel,\n pushCIConfiguration\n );\n};\n"],"mappings":";;;;AAsBA,MAAa,eAAe;AAE5B,MAAM,gBAAgB,GAAG,QAAQ,IAAI,cAAc;AAEnD,MAAa,0BACV;CACC,aAAa;EACX,UAAU;EACV,KAAK,SAAS;EACd,QAAQ;EACT;CACD,YAAY;EACV,UAAU;EACV,KAAK,SAAS;EACd,QAAQ;EACT;CACD,eAAe;EACb,UAAU;EACV,KAAK,SAAS;EACd,QAAQ;EACT;CACD,sBAAsB;EACpB,UAAU;EACV,KAAK,GAAG,SAAS,CAAC;EAClB,QAAQ;EACT;CACD,0BAA0B;EACxB,UAAU;EACV,KAAK,GAAG,SAAS,CAAC;EAClB,QAAQ;EACT;CACD,eAAe;EACb,UAAU;EACV,KAAK,SAAS;EACd,QAAQ;EACT;CACD,eAAe;EACb,UAAU;EACV,MAAM,EAAE,gBACN,GAAG,SAAS,CAAC,GAAG;EAClB,QAAQ;EACT;CACD,iBAAiB;EACf,UAAU;EACV,KAAK,GAAG,SAAS,CAAC;EAClB,QAAQ;EACT;CACD,iBAAiB;EACf,UAAU;EACV,KAAK,GAAG,SAAS,CAAC;EAClB,QAAQ;EACT;CACD,kBAAkB;EAChB,UAAU;EACV,KAAK,GAAG,SAAS,CAAC;EAClB,QAAQ;EACT;CACD,iBAAiB;EACf,UAAU;EACV,KAAK,GAAG,SAAS,CAAC;EAClB,QAAQ;EACT;CACD,cAAc;EACZ,UAAU;EACV,KAAK,GAAG,SAAS,CAAC;EAClB,QAAQ;EACT;CACD,gBAAgB;EACd,UAAU;EACV,KAAK,GAAG,SAAS,CAAC;EAClB,QAAQ;EACT;CACD,oBAAoB;EAClB,UAAU;EACV,KAAK,GAAG,SAAS,CAAC;EAClB,QAAQ;EACT;CACD,qBAAqB;EACnB,UAAU;EACV,KAAK,GAAG,SAAS,CAAC;EAClB,QAAQ;EACT;CACF;AAEH,MAAa,gBAAgB,OAAO,YAA6B;AAC/D,SAAQ,IAAI,kBAAkB,CAAC,YAAY,UAAU,YAAY;AACjE,SAAQ,KAAK,kBAAkB,CAAC,WAAW,UAAU,WAAW;AAChE,SAAQ,IAAI,kBAAkB,CAAC,cAAc,UAAU,cAAc;AACrE,SAAQ,IACN,kBAAkB,CAAC,qBAAqB,UACxC,qBACD;AACD,SAAQ,IACN,kBAAkB,CAAC,yBAAyB,UAC5C,yBACD;AACD,SAAQ,OAAO,kBAAkB,CAAC,cAAc,UAAU,cAAc;AACxE,SAAQ,KAAK,kBAAkB,CAAC,gBAAgB,UAAU,gBAAgB;AAC1E,SAAQ,MAAM,kBAAkB,CAAC,iBAAiB,UAAU,iBAAiB;AAC7E,SAAQ,OAAO,kBAAkB,CAAC,gBAAgB,UAAU,gBAAgB;AAC5E,SAAQ,KAAK,kBAAkB,CAAC,gBAAgB,UAAU,gBAAgB;AAC1E,SAAQ,IAAI,kBAAkB,CAAC,cAAc,UAAU,cAAc;AACrE,SAAQ,KAAK,kBAAkB,CAAC,aAAa,UAAU,aAAa;AACpE,SAAQ,KAAK,kBAAkB,CAAC,eAAe,UAAU,eAAe;AACxE,SAAQ,IACN,kBAAkB,CAAC,mBAAmB,UACtC,mBACD;AACD,SAAQ,KACN,kBAAkB,CAAC,oBAAoB,UACvC,oBACD"}
1
+ {"version":3,"file":"project.routes.mjs","names":[],"sources":["../../../src/routes/project.routes.ts"],"sourcesContent":["import {\n addProject,\n deleteProject,\n getCIConfiguration,\n getProjects,\n pushCIConfiguration,\n pushProjectConfiguration,\n selectProject,\n triggerBuild,\n triggerWebhook,\n unselectProject,\n updateProject,\n updateProjectMembers,\n} from '@controllers/project.controller';\nimport {\n addNewAccessKey,\n deleteAccessKey,\n refreshAccessKey,\n} from '@controllers/projectAccessKey.controller';\nimport type { FastifyInstance } from 'fastify';\nimport type { Routes } from '@/types/Routes';\nimport { projectIdParamsSchema } from './paramsSchemas';\n\nexport const projectRoute = '/api/project';\n\nconst baseURL = () => `${process.env.BACKEND_URL}${projectRoute}`;\n\nexport const getProjectRoutes = () =>\n ({\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: `${baseURL()}/members`,\n method: 'PUT',\n },\n pushProjectConfiguration: {\n urlModel: '/configuration',\n url: `${baseURL()}/configuration`,\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 }) =>\n `${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 triggerBuild: {\n urlModel: '/build',\n url: `${baseURL()}/build`,\n method: 'POST',\n },\n triggerWebhook: {\n urlModel: '/webhook',\n url: `${baseURL()}/webhook`,\n method: 'POST',\n },\n getCIConfiguration: {\n urlModel: '/ci',\n url: `${baseURL()}/ci`,\n method: 'GET',\n },\n pushCIConfiguration: {\n urlModel: '/ci',\n url: `${baseURL()}/ci`,\n method: 'POST',\n },\n }) satisfies Routes;\n\nexport const projectRouter = async (fastify: FastifyInstance) => {\n fastify.get(getProjectRoutes().getProjects.urlModel, getProjects);\n fastify.post(getProjectRoutes().addProject.urlModel, addProject);\n fastify.put(getProjectRoutes().updateProject.urlModel, updateProject);\n fastify.put(\n getProjectRoutes().updateProjectMembers.urlModel,\n updateProjectMembers\n );\n fastify.put(\n getProjectRoutes().pushProjectConfiguration.urlModel,\n pushProjectConfiguration\n );\n fastify.delete(getProjectRoutes().deleteProject.urlModel, deleteProject);\n fastify.post(getProjectRoutes().addNewAccessKey.urlModel, addNewAccessKey);\n fastify.patch(getProjectRoutes().refreshAccessKey.urlModel, refreshAccessKey);\n fastify.delete(getProjectRoutes().deleteAccessKey.urlModel, deleteAccessKey);\n fastify.post(getProjectRoutes().unselectProject.urlModel, unselectProject);\n fastify.put(\n getProjectRoutes().selectProject.urlModel,\n { schema: { params: projectIdParamsSchema } },\n selectProject\n );\n fastify.post(getProjectRoutes().triggerBuild.urlModel, triggerBuild);\n fastify.post(getProjectRoutes().triggerWebhook.urlModel, triggerWebhook);\n fastify.get(\n getProjectRoutes().getCIConfiguration.urlModel,\n getCIConfiguration\n );\n fastify.post(\n getProjectRoutes().pushCIConfiguration.urlModel,\n pushCIConfiguration\n );\n};\n"],"mappings":";;;;;AAuBA,MAAa,eAAe;AAE5B,MAAM,gBAAgB,GAAG,QAAQ,IAAI,cAAc;AAEnD,MAAa,0BACV;CACC,aAAa;EACX,UAAU;EACV,KAAK,SAAS;EACd,QAAQ;EACT;CACD,YAAY;EACV,UAAU;EACV,KAAK,SAAS;EACd,QAAQ;EACT;CACD,eAAe;EACb,UAAU;EACV,KAAK,SAAS;EACd,QAAQ;EACT;CACD,sBAAsB;EACpB,UAAU;EACV,KAAK,GAAG,SAAS,CAAC;EAClB,QAAQ;EACT;CACD,0BAA0B;EACxB,UAAU;EACV,KAAK,GAAG,SAAS,CAAC;EAClB,QAAQ;EACT;CACD,eAAe;EACb,UAAU;EACV,KAAK,SAAS;EACd,QAAQ;EACT;CACD,eAAe;EACb,UAAU;EACV,MAAM,EAAE,gBACN,GAAG,SAAS,CAAC,GAAG;EAClB,QAAQ;EACT;CACD,iBAAiB;EACf,UAAU;EACV,KAAK,GAAG,SAAS,CAAC;EAClB,QAAQ;EACT;CACD,iBAAiB;EACf,UAAU;EACV,KAAK,GAAG,SAAS,CAAC;EAClB,QAAQ;EACT;CACD,kBAAkB;EAChB,UAAU;EACV,KAAK,GAAG,SAAS,CAAC;EAClB,QAAQ;EACT;CACD,iBAAiB;EACf,UAAU;EACV,KAAK,GAAG,SAAS,CAAC;EAClB,QAAQ;EACT;CACD,cAAc;EACZ,UAAU;EACV,KAAK,GAAG,SAAS,CAAC;EAClB,QAAQ;EACT;CACD,gBAAgB;EACd,UAAU;EACV,KAAK,GAAG,SAAS,CAAC;EAClB,QAAQ;EACT;CACD,oBAAoB;EAClB,UAAU;EACV,KAAK,GAAG,SAAS,CAAC;EAClB,QAAQ;EACT;CACD,qBAAqB;EACnB,UAAU;EACV,KAAK,GAAG,SAAS,CAAC;EAClB,QAAQ;EACT;CACF;AAEH,MAAa,gBAAgB,OAAO,YAA6B;AAC/D,SAAQ,IAAI,kBAAkB,CAAC,YAAY,UAAU,YAAY;AACjE,SAAQ,KAAK,kBAAkB,CAAC,WAAW,UAAU,WAAW;AAChE,SAAQ,IAAI,kBAAkB,CAAC,cAAc,UAAU,cAAc;AACrE,SAAQ,IACN,kBAAkB,CAAC,qBAAqB,UACxC,qBACD;AACD,SAAQ,IACN,kBAAkB,CAAC,yBAAyB,UAC5C,yBACD;AACD,SAAQ,OAAO,kBAAkB,CAAC,cAAc,UAAU,cAAc;AACxE,SAAQ,KAAK,kBAAkB,CAAC,gBAAgB,UAAU,gBAAgB;AAC1E,SAAQ,MAAM,kBAAkB,CAAC,iBAAiB,UAAU,iBAAiB;AAC7E,SAAQ,OAAO,kBAAkB,CAAC,gBAAgB,UAAU,gBAAgB;AAC5E,SAAQ,KAAK,kBAAkB,CAAC,gBAAgB,UAAU,gBAAgB;AAC1E,SAAQ,IACN,kBAAkB,CAAC,cAAc,UACjC,EAAE,QAAQ,EAAE,QAAQ,uBAAuB,EAAE,EAC7C,cACD;AACD,SAAQ,KAAK,kBAAkB,CAAC,aAAa,UAAU,aAAa;AACpE,SAAQ,KAAK,kBAAkB,CAAC,eAAe,UAAU,eAAe;AACxE,SAAQ,IACN,kBAAkB,CAAC,mBAAmB,UACtC,mBACD;AACD,SAAQ,KACN,kBAAkB,CAAC,oBAAoB,UACvC,oBACD"}
@@ -1,3 +1,4 @@
1
+ import { projectIdParamsSchema } from "./paramsSchemas.mjs";
1
2
  import { deleteShowcaseProjectHandler, getOtherShowcaseProjects, getShowcaseProjectById, getShowcaseProjects, scanShowcaseProject, submitShowcaseProject, toggleShowcaseDownvote, toggleShowcaseUpvote, updateShowcaseProjectHandler } from "../controllers/showcaseProject.controller.mjs";
2
3
 
3
4
  //#region src/routes/showcaseProject.routes.ts
@@ -56,10 +57,10 @@ const showcaseProjectRouter = async (fastify) => {
56
57
  fastify.get(getShowcaseProjectRoutes().getOtherShowcaseProjects.urlModel, getOtherShowcaseProjects);
57
58
  fastify.post(getShowcaseProjectRoutes().toggleShowcaseUpvote.urlModel, toggleShowcaseUpvote);
58
59
  fastify.post(getShowcaseProjectRoutes().toggleShowcaseDownvote.urlModel, toggleShowcaseDownvote);
59
- fastify.get(getShowcaseProjectRoutes().getShowcaseProjectById.urlModel, getShowcaseProjectById);
60
- fastify.get(getShowcaseProjectRoutes().scanShowcaseProject.urlModel, scanShowcaseProject);
61
- fastify.delete(getShowcaseProjectRoutes().deleteShowcaseProject.urlModel, deleteShowcaseProjectHandler);
62
- fastify.patch(getShowcaseProjectRoutes().updateShowcaseProject.urlModel, updateShowcaseProjectHandler);
60
+ fastify.get(getShowcaseProjectRoutes().getShowcaseProjectById.urlModel, { schema: { params: projectIdParamsSchema } }, getShowcaseProjectById);
61
+ fastify.get(getShowcaseProjectRoutes().scanShowcaseProject.urlModel, { schema: { params: projectIdParamsSchema } }, scanShowcaseProject);
62
+ fastify.delete(getShowcaseProjectRoutes().deleteShowcaseProject.urlModel, { schema: { params: projectIdParamsSchema } }, deleteShowcaseProjectHandler);
63
+ fastify.patch(getShowcaseProjectRoutes().updateShowcaseProject.urlModel, { schema: { params: projectIdParamsSchema } }, updateShowcaseProjectHandler);
63
64
  };
64
65
 
65
66
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"showcaseProject.routes.mjs","names":[],"sources":["../../../src/routes/showcaseProject.routes.ts"],"sourcesContent":["import {\n deleteShowcaseProjectHandler,\n getOtherShowcaseProjects,\n getShowcaseProjectById,\n getShowcaseProjects,\n scanShowcaseProject,\n submitShowcaseProject,\n toggleShowcaseDownvote,\n toggleShowcaseUpvote,\n updateShowcaseProjectHandler,\n} from '@controllers/showcaseProject.controller';\nimport type { FastifyInstance } from 'fastify';\nimport type { Routes } from '@/types/Routes';\n\nexport const showcaseProjectRoute = '/api/showcase-project';\n\nconst baseURL = () => `${process.env.BACKEND_URL}${showcaseProjectRoute}`;\n\nexport const getShowcaseProjectRoutes = () =>\n ({\n getShowcaseProjects: {\n urlModel: '/',\n url: baseURL(),\n method: 'GET',\n },\n submitShowcaseProject: {\n urlModel: '/submit',\n url: `${baseURL()}/submit`,\n method: 'POST',\n },\n getOtherShowcaseProjects: {\n urlModel: '/others',\n url: `${baseURL()}/others`,\n method: 'GET',\n },\n toggleShowcaseUpvote: {\n urlModel: '/upvote',\n url: `${baseURL()}/upvote`,\n method: 'POST',\n },\n toggleShowcaseDownvote: {\n urlModel: '/downvote',\n url: `${baseURL()}/downvote`,\n method: 'POST',\n },\n getShowcaseProjectById: {\n urlModel: '/:projectId',\n url: ({ projectId }: { projectId: string }) =>\n `${baseURL()}/${projectId}`,\n method: 'GET',\n },\n scanShowcaseProject: {\n urlModel: '/:projectId/scan',\n url: ({ projectId }: { projectId: string }) =>\n `${baseURL()}/${projectId}/scan`,\n method: 'GET',\n },\n deleteShowcaseProject: {\n urlModel: '/:projectId',\n url: ({ projectId }: { projectId: string }) =>\n `${baseURL()}/${projectId}`,\n method: 'DELETE',\n },\n updateShowcaseProject: {\n urlModel: '/:projectId',\n url: ({ projectId }: { projectId: string }) =>\n `${baseURL()}/${projectId}`,\n method: 'PATCH',\n },\n }) satisfies Routes;\n\nexport const showcaseProjectRouter = async (fastify: FastifyInstance) => {\n fastify.get(\n getShowcaseProjectRoutes().getShowcaseProjects.urlModel,\n getShowcaseProjects\n );\n fastify.post(\n getShowcaseProjectRoutes().submitShowcaseProject.urlModel,\n submitShowcaseProject\n );\n fastify.get(\n getShowcaseProjectRoutes().getOtherShowcaseProjects.urlModel,\n getOtherShowcaseProjects\n );\n fastify.post(\n getShowcaseProjectRoutes().toggleShowcaseUpvote.urlModel,\n toggleShowcaseUpvote\n );\n fastify.post(\n getShowcaseProjectRoutes().toggleShowcaseDownvote.urlModel,\n toggleShowcaseDownvote\n );\n fastify.get(\n getShowcaseProjectRoutes().getShowcaseProjectById.urlModel,\n getShowcaseProjectById\n );\n fastify.get(\n getShowcaseProjectRoutes().scanShowcaseProject.urlModel,\n scanShowcaseProject\n );\n fastify.delete(\n getShowcaseProjectRoutes().deleteShowcaseProject.urlModel,\n deleteShowcaseProjectHandler\n );\n fastify.patch(\n getShowcaseProjectRoutes().updateShowcaseProject.urlModel,\n updateShowcaseProjectHandler\n );\n};\n"],"mappings":";;;AAcA,MAAa,uBAAuB;AAEpC,MAAM,gBAAgB,GAAG,QAAQ,IAAI,cAAc;AAEnD,MAAa,kCACV;CACC,qBAAqB;EACnB,UAAU;EACV,KAAK,SAAS;EACd,QAAQ;EACT;CACD,uBAAuB;EACrB,UAAU;EACV,KAAK,GAAG,SAAS,CAAC;EAClB,QAAQ;EACT;CACD,0BAA0B;EACxB,UAAU;EACV,KAAK,GAAG,SAAS,CAAC;EAClB,QAAQ;EACT;CACD,sBAAsB;EACpB,UAAU;EACV,KAAK,GAAG,SAAS,CAAC;EAClB,QAAQ;EACT;CACD,wBAAwB;EACtB,UAAU;EACV,KAAK,GAAG,SAAS,CAAC;EAClB,QAAQ;EACT;CACD,wBAAwB;EACtB,UAAU;EACV,MAAM,EAAE,gBACN,GAAG,SAAS,CAAC,GAAG;EAClB,QAAQ;EACT;CACD,qBAAqB;EACnB,UAAU;EACV,MAAM,EAAE,gBACN,GAAG,SAAS,CAAC,GAAG,UAAU;EAC5B,QAAQ;EACT;CACD,uBAAuB;EACrB,UAAU;EACV,MAAM,EAAE,gBACN,GAAG,SAAS,CAAC,GAAG;EAClB,QAAQ;EACT;CACD,uBAAuB;EACrB,UAAU;EACV,MAAM,EAAE,gBACN,GAAG,SAAS,CAAC,GAAG;EAClB,QAAQ;EACT;CACF;AAEH,MAAa,wBAAwB,OAAO,YAA6B;AACvE,SAAQ,IACN,0BAA0B,CAAC,oBAAoB,UAC/C,oBACD;AACD,SAAQ,KACN,0BAA0B,CAAC,sBAAsB,UACjD,sBACD;AACD,SAAQ,IACN,0BAA0B,CAAC,yBAAyB,UACpD,yBACD;AACD,SAAQ,KACN,0BAA0B,CAAC,qBAAqB,UAChD,qBACD;AACD,SAAQ,KACN,0BAA0B,CAAC,uBAAuB,UAClD,uBACD;AACD,SAAQ,IACN,0BAA0B,CAAC,uBAAuB,UAClD,uBACD;AACD,SAAQ,IACN,0BAA0B,CAAC,oBAAoB,UAC/C,oBACD;AACD,SAAQ,OACN,0BAA0B,CAAC,sBAAsB,UACjD,6BACD;AACD,SAAQ,MACN,0BAA0B,CAAC,sBAAsB,UACjD,6BACD"}
1
+ {"version":3,"file":"showcaseProject.routes.mjs","names":[],"sources":["../../../src/routes/showcaseProject.routes.ts"],"sourcesContent":["import {\n deleteShowcaseProjectHandler,\n getOtherShowcaseProjects,\n getShowcaseProjectById,\n getShowcaseProjects,\n scanShowcaseProject,\n submitShowcaseProject,\n toggleShowcaseDownvote,\n toggleShowcaseUpvote,\n updateShowcaseProjectHandler,\n} from '@controllers/showcaseProject.controller';\nimport type { FastifyInstance } from 'fastify';\nimport type { Routes } from '@/types/Routes';\nimport { projectIdParamsSchema } from './paramsSchemas';\n\nexport const showcaseProjectRoute = '/api/showcase-project';\n\nconst baseURL = () => `${process.env.BACKEND_URL}${showcaseProjectRoute}`;\n\nexport const getShowcaseProjectRoutes = () =>\n ({\n getShowcaseProjects: {\n urlModel: '/',\n url: baseURL(),\n method: 'GET',\n },\n submitShowcaseProject: {\n urlModel: '/submit',\n url: `${baseURL()}/submit`,\n method: 'POST',\n },\n getOtherShowcaseProjects: {\n urlModel: '/others',\n url: `${baseURL()}/others`,\n method: 'GET',\n },\n toggleShowcaseUpvote: {\n urlModel: '/upvote',\n url: `${baseURL()}/upvote`,\n method: 'POST',\n },\n toggleShowcaseDownvote: {\n urlModel: '/downvote',\n url: `${baseURL()}/downvote`,\n method: 'POST',\n },\n getShowcaseProjectById: {\n urlModel: '/:projectId',\n url: ({ projectId }: { projectId: string }) =>\n `${baseURL()}/${projectId}`,\n method: 'GET',\n },\n scanShowcaseProject: {\n urlModel: '/:projectId/scan',\n url: ({ projectId }: { projectId: string }) =>\n `${baseURL()}/${projectId}/scan`,\n method: 'GET',\n },\n deleteShowcaseProject: {\n urlModel: '/:projectId',\n url: ({ projectId }: { projectId: string }) =>\n `${baseURL()}/${projectId}`,\n method: 'DELETE',\n },\n updateShowcaseProject: {\n urlModel: '/:projectId',\n url: ({ projectId }: { projectId: string }) =>\n `${baseURL()}/${projectId}`,\n method: 'PATCH',\n },\n }) satisfies Routes;\n\nexport const showcaseProjectRouter = async (fastify: FastifyInstance) => {\n fastify.get(\n getShowcaseProjectRoutes().getShowcaseProjects.urlModel,\n getShowcaseProjects\n );\n fastify.post(\n getShowcaseProjectRoutes().submitShowcaseProject.urlModel,\n submitShowcaseProject\n );\n fastify.get(\n getShowcaseProjectRoutes().getOtherShowcaseProjects.urlModel,\n getOtherShowcaseProjects\n );\n fastify.post(\n getShowcaseProjectRoutes().toggleShowcaseUpvote.urlModel,\n toggleShowcaseUpvote\n );\n fastify.post(\n getShowcaseProjectRoutes().toggleShowcaseDownvote.urlModel,\n toggleShowcaseDownvote\n );\n fastify.get(\n getShowcaseProjectRoutes().getShowcaseProjectById.urlModel,\n { schema: { params: projectIdParamsSchema } },\n getShowcaseProjectById\n );\n fastify.get(\n getShowcaseProjectRoutes().scanShowcaseProject.urlModel,\n { schema: { params: projectIdParamsSchema } },\n scanShowcaseProject\n );\n fastify.delete(\n getShowcaseProjectRoutes().deleteShowcaseProject.urlModel,\n { schema: { params: projectIdParamsSchema } },\n deleteShowcaseProjectHandler\n );\n fastify.patch(\n getShowcaseProjectRoutes().updateShowcaseProject.urlModel,\n { schema: { params: projectIdParamsSchema } },\n updateShowcaseProjectHandler\n );\n};\n"],"mappings":";;;;AAeA,MAAa,uBAAuB;AAEpC,MAAM,gBAAgB,GAAG,QAAQ,IAAI,cAAc;AAEnD,MAAa,kCACV;CACC,qBAAqB;EACnB,UAAU;EACV,KAAK,SAAS;EACd,QAAQ;EACT;CACD,uBAAuB;EACrB,UAAU;EACV,KAAK,GAAG,SAAS,CAAC;EAClB,QAAQ;EACT;CACD,0BAA0B;EACxB,UAAU;EACV,KAAK,GAAG,SAAS,CAAC;EAClB,QAAQ;EACT;CACD,sBAAsB;EACpB,UAAU;EACV,KAAK,GAAG,SAAS,CAAC;EAClB,QAAQ;EACT;CACD,wBAAwB;EACtB,UAAU;EACV,KAAK,GAAG,SAAS,CAAC;EAClB,QAAQ;EACT;CACD,wBAAwB;EACtB,UAAU;EACV,MAAM,EAAE,gBACN,GAAG,SAAS,CAAC,GAAG;EAClB,QAAQ;EACT;CACD,qBAAqB;EACnB,UAAU;EACV,MAAM,EAAE,gBACN,GAAG,SAAS,CAAC,GAAG,UAAU;EAC5B,QAAQ;EACT;CACD,uBAAuB;EACrB,UAAU;EACV,MAAM,EAAE,gBACN,GAAG,SAAS,CAAC,GAAG;EAClB,QAAQ;EACT;CACD,uBAAuB;EACrB,UAAU;EACV,MAAM,EAAE,gBACN,GAAG,SAAS,CAAC,GAAG;EAClB,QAAQ;EACT;CACF;AAEH,MAAa,wBAAwB,OAAO,YAA6B;AACvE,SAAQ,IACN,0BAA0B,CAAC,oBAAoB,UAC/C,oBACD;AACD,SAAQ,KACN,0BAA0B,CAAC,sBAAsB,UACjD,sBACD;AACD,SAAQ,IACN,0BAA0B,CAAC,yBAAyB,UACpD,yBACD;AACD,SAAQ,KACN,0BAA0B,CAAC,qBAAqB,UAChD,qBACD;AACD,SAAQ,KACN,0BAA0B,CAAC,uBAAuB,UAClD,uBACD;AACD,SAAQ,IACN,0BAA0B,CAAC,uBAAuB,UAClD,EAAE,QAAQ,EAAE,QAAQ,uBAAuB,EAAE,EAC7C,uBACD;AACD,SAAQ,IACN,0BAA0B,CAAC,oBAAoB,UAC/C,EAAE,QAAQ,EAAE,QAAQ,uBAAuB,EAAE,EAC7C,oBACD;AACD,SAAQ,OACN,0BAA0B,CAAC,sBAAsB,UACjD,EAAE,QAAQ,EAAE,QAAQ,uBAAuB,EAAE,EAC7C,6BACD;AACD,SAAQ,MACN,0BAA0B,CAAC,sBAAsB,UACjD,EAAE,QAAQ,EAAE,QAAQ,uBAAuB,EAAE,EAC7C,6BACD"}
@@ -1,4 +1,4 @@
1
- import { cancelSubscription, getPricing, getSubscription } from "../controllers/stripe.controller.mjs";
1
+ import { cancelSubscription, createPortalSession, getInvoices, getPaymentMethod, getPricing, getSubscription } from "../controllers/stripe.controller.mjs";
2
2
 
3
3
  //#region src/routes/stripe.routes.ts
4
4
  const stripeRoute = "/api/stripe";
@@ -18,12 +18,30 @@ const getStripeRoutes = () => ({
18
18
  urlModel: "/cancel-subscription",
19
19
  url: `${baseURL()}/cancel-subscription`,
20
20
  method: "POST"
21
+ },
22
+ getInvoices: {
23
+ urlModel: "/invoices",
24
+ url: `${baseURL()}/invoices`,
25
+ method: "GET"
26
+ },
27
+ getPaymentMethod: {
28
+ urlModel: "/payment-method",
29
+ url: `${baseURL()}/payment-method`,
30
+ method: "GET"
31
+ },
32
+ createPortalSession: {
33
+ urlModel: "/portal-session",
34
+ url: `${baseURL()}/portal-session`,
35
+ method: "POST"
21
36
  }
22
37
  });
23
38
  const stripeRouter = async (fastify) => {
24
39
  fastify.post(getStripeRoutes().getPricing.urlModel, getPricing);
25
40
  fastify.post(getStripeRoutes().createSubscription.urlModel, getSubscription);
26
41
  fastify.post(getStripeRoutes().cancelSubscription.urlModel, cancelSubscription);
42
+ fastify.get(getStripeRoutes().getInvoices.urlModel, getInvoices);
43
+ fastify.get(getStripeRoutes().getPaymentMethod.urlModel, getPaymentMethod);
44
+ fastify.post(getStripeRoutes().createPortalSession.urlModel, createPortalSession);
27
45
  };
28
46
 
29
47
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"stripe.routes.mjs","names":[],"sources":["../../../src/routes/stripe.routes.ts"],"sourcesContent":["import {\n cancelSubscription,\n getPricing,\n getSubscription,\n} from '@controllers/stripe.controller';\nimport type { FastifyInstance } from 'fastify';\nimport type { Routes } from '@/types/Routes';\n\nexport const stripeRoute = '/api/stripe';\n\nconst baseURL = () => `${process.env.BACKEND_URL}${stripeRoute}`;\n\nexport const getStripeRoutes = () =>\n ({\n getPricing: {\n urlModel: '/pricing',\n url: `${baseURL()}/pricing`,\n method: 'POST',\n },\n createSubscription: {\n urlModel: '/create-subscription',\n url: `${baseURL()}/create-subscription`,\n method: 'POST',\n },\n cancelSubscription: {\n urlModel: '/cancel-subscription',\n url: `${baseURL()}/cancel-subscription`,\n method: 'POST',\n },\n }) satisfies Routes;\n\nexport const stripeRouter = async (fastify: FastifyInstance) => {\n fastify.post(getStripeRoutes().getPricing.urlModel, getPricing);\n fastify.post(getStripeRoutes().createSubscription.urlModel, getSubscription);\n fastify.post(\n getStripeRoutes().cancelSubscription.urlModel,\n cancelSubscription\n );\n};\n"],"mappings":";;;AAQA,MAAa,cAAc;AAE3B,MAAM,gBAAgB,GAAG,QAAQ,IAAI,cAAc;AAEnD,MAAa,yBACV;CACC,YAAY;EACV,UAAU;EACV,KAAK,GAAG,SAAS,CAAC;EAClB,QAAQ;EACT;CACD,oBAAoB;EAClB,UAAU;EACV,KAAK,GAAG,SAAS,CAAC;EAClB,QAAQ;EACT;CACD,oBAAoB;EAClB,UAAU;EACV,KAAK,GAAG,SAAS,CAAC;EAClB,QAAQ;EACT;CACF;AAEH,MAAa,eAAe,OAAO,YAA6B;AAC9D,SAAQ,KAAK,iBAAiB,CAAC,WAAW,UAAU,WAAW;AAC/D,SAAQ,KAAK,iBAAiB,CAAC,mBAAmB,UAAU,gBAAgB;AAC5E,SAAQ,KACN,iBAAiB,CAAC,mBAAmB,UACrC,mBACD"}
1
+ {"version":3,"file":"stripe.routes.mjs","names":[],"sources":["../../../src/routes/stripe.routes.ts"],"sourcesContent":["import {\n cancelSubscription,\n createPortalSession,\n getInvoices,\n getPaymentMethod,\n getPricing,\n getSubscription,\n} from '@controllers/stripe.controller';\nimport type { FastifyInstance } from 'fastify';\nimport type { Routes } from '@/types/Routes';\n\nexport const stripeRoute = '/api/stripe';\n\nconst baseURL = () => `${process.env.BACKEND_URL}${stripeRoute}`;\n\nexport const getStripeRoutes = () =>\n ({\n getPricing: {\n urlModel: '/pricing',\n url: `${baseURL()}/pricing`,\n method: 'POST',\n },\n createSubscription: {\n urlModel: '/create-subscription',\n url: `${baseURL()}/create-subscription`,\n method: 'POST',\n },\n cancelSubscription: {\n urlModel: '/cancel-subscription',\n url: `${baseURL()}/cancel-subscription`,\n method: 'POST',\n },\n getInvoices: {\n urlModel: '/invoices',\n url: `${baseURL()}/invoices`,\n method: 'GET',\n },\n getPaymentMethod: {\n urlModel: '/payment-method',\n url: `${baseURL()}/payment-method`,\n method: 'GET',\n },\n createPortalSession: {\n urlModel: '/portal-session',\n url: `${baseURL()}/portal-session`,\n method: 'POST',\n },\n }) satisfies Routes;\n\nexport const stripeRouter = async (fastify: FastifyInstance) => {\n fastify.post(getStripeRoutes().getPricing.urlModel, getPricing);\n fastify.post(getStripeRoutes().createSubscription.urlModel, getSubscription);\n fastify.post(\n getStripeRoutes().cancelSubscription.urlModel,\n cancelSubscription\n );\n fastify.get(getStripeRoutes().getInvoices.urlModel, getInvoices);\n fastify.get(getStripeRoutes().getPaymentMethod.urlModel, getPaymentMethod);\n fastify.post(\n getStripeRoutes().createPortalSession.urlModel,\n createPortalSession\n );\n};\n"],"mappings":";;;AAWA,MAAa,cAAc;AAE3B,MAAM,gBAAgB,GAAG,QAAQ,IAAI,cAAc;AAEnD,MAAa,yBACV;CACC,YAAY;EACV,UAAU;EACV,KAAK,GAAG,SAAS,CAAC;EAClB,QAAQ;EACT;CACD,oBAAoB;EAClB,UAAU;EACV,KAAK,GAAG,SAAS,CAAC;EAClB,QAAQ;EACT;CACD,oBAAoB;EAClB,UAAU;EACV,KAAK,GAAG,SAAS,CAAC;EAClB,QAAQ;EACT;CACD,aAAa;EACX,UAAU;EACV,KAAK,GAAG,SAAS,CAAC;EAClB,QAAQ;EACT;CACD,kBAAkB;EAChB,UAAU;EACV,KAAK,GAAG,SAAS,CAAC;EAClB,QAAQ;EACT;CACD,qBAAqB;EACnB,UAAU;EACV,KAAK,GAAG,SAAS,CAAC;EAClB,QAAQ;EACT;CACF;AAEH,MAAa,eAAe,OAAO,YAA6B;AAC9D,SAAQ,KAAK,iBAAiB,CAAC,WAAW,UAAU,WAAW;AAC/D,SAAQ,KAAK,iBAAiB,CAAC,mBAAmB,UAAU,gBAAgB;AAC5E,SAAQ,KACN,iBAAiB,CAAC,mBAAmB,UACrC,mBACD;AACD,SAAQ,IAAI,iBAAiB,CAAC,YAAY,UAAU,YAAY;AAChE,SAAQ,IAAI,iBAAiB,CAAC,iBAAiB,UAAU,iBAAiB;AAC1E,SAAQ,KACN,iBAAiB,CAAC,oBAAoB,UACtC,oBACD"}
@@ -1,3 +1,4 @@
1
+ import { tagIdParamsSchema } from "./paramsSchemas.mjs";
1
2
  import { addTag, deleteTag, getTags, updateTag } from "../controllers/tag.controller.mjs";
2
3
 
3
4
  //#region src/routes/tags.routes.ts
@@ -28,8 +29,8 @@ const getTagRoutes = () => ({
28
29
  const tagRouter = async (fastify) => {
29
30
  fastify.get(getTagRoutes().getTags.urlModel, getTags);
30
31
  fastify.post(getTagRoutes().addTag.urlModel, addTag);
31
- fastify.put(getTagRoutes().updateTag.urlModel, updateTag);
32
- fastify.delete(getTagRoutes().deleteTag.urlModel, deleteTag);
32
+ fastify.put(getTagRoutes().updateTag.urlModel, { schema: { params: tagIdParamsSchema } }, updateTag);
33
+ fastify.delete(getTagRoutes().deleteTag.urlModel, { schema: { params: tagIdParamsSchema } }, deleteTag);
33
34
  };
34
35
 
35
36
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"tags.routes.mjs","names":[],"sources":["../../../src/routes/tags.routes.ts"],"sourcesContent":["import {\n addTag,\n deleteTag,\n getTags,\n updateTag,\n} from '@controllers/tag.controller';\nimport type { FastifyInstance } from 'fastify';\nimport type { Routes } from '@/types/Routes';\n\nexport const tagRoute = '/api/tag';\n\nconst baseURL = () => `${process.env.BACKEND_URL}${tagRoute}`;\n\nexport const getTagRoutes = () =>\n ({\n getTags: {\n urlModel: '/',\n url: baseURL(),\n method: 'GET',\n },\n addTag: {\n urlModel: '/',\n url: baseURL(),\n method: 'POST',\n },\n updateTag: {\n urlModel: '/:tagId',\n url: ({ tagId }: { tagId: string }) => `${baseURL()}/${tagId}`,\n method: 'PUT',\n },\n deleteTag: {\n urlModel: '/:tagId',\n url: ({ tagId }: { tagId: string }) => `${baseURL()}/${tagId}`,\n method: 'DELETE',\n },\n }) satisfies Routes;\n\nexport const tagRouter = async (fastify: FastifyInstance) => {\n fastify.get(getTagRoutes().getTags.urlModel, getTags);\n fastify.post(getTagRoutes().addTag.urlModel, addTag);\n fastify.put(getTagRoutes().updateTag.urlModel, updateTag);\n fastify.delete(getTagRoutes().deleteTag.urlModel, deleteTag);\n};\n"],"mappings":";;;AASA,MAAa,WAAW;AAExB,MAAM,gBAAgB,GAAG,QAAQ,IAAI,cAAc;AAEnD,MAAa,sBACV;CACC,SAAS;EACP,UAAU;EACV,KAAK,SAAS;EACd,QAAQ;EACT;CACD,QAAQ;EACN,UAAU;EACV,KAAK,SAAS;EACd,QAAQ;EACT;CACD,WAAW;EACT,UAAU;EACV,MAAM,EAAE,YAA+B,GAAG,SAAS,CAAC,GAAG;EACvD,QAAQ;EACT;CACD,WAAW;EACT,UAAU;EACV,MAAM,EAAE,YAA+B,GAAG,SAAS,CAAC,GAAG;EACvD,QAAQ;EACT;CACF;AAEH,MAAa,YAAY,OAAO,YAA6B;AAC3D,SAAQ,IAAI,cAAc,CAAC,QAAQ,UAAU,QAAQ;AACrD,SAAQ,KAAK,cAAc,CAAC,OAAO,UAAU,OAAO;AACpD,SAAQ,IAAI,cAAc,CAAC,UAAU,UAAU,UAAU;AACzD,SAAQ,OAAO,cAAc,CAAC,UAAU,UAAU,UAAU"}
1
+ {"version":3,"file":"tags.routes.mjs","names":[],"sources":["../../../src/routes/tags.routes.ts"],"sourcesContent":["import {\n addTag,\n deleteTag,\n getTags,\n updateTag,\n} from '@controllers/tag.controller';\nimport type { FastifyInstance } from 'fastify';\nimport type { Routes } from '@/types/Routes';\nimport { tagIdParamsSchema } from './paramsSchemas';\n\nexport const tagRoute = '/api/tag';\n\nconst baseURL = () => `${process.env.BACKEND_URL}${tagRoute}`;\n\nexport const getTagRoutes = () =>\n ({\n getTags: {\n urlModel: '/',\n url: baseURL(),\n method: 'GET',\n },\n addTag: {\n urlModel: '/',\n url: baseURL(),\n method: 'POST',\n },\n updateTag: {\n urlModel: '/:tagId',\n url: ({ tagId }: { tagId: string }) => `${baseURL()}/${tagId}`,\n method: 'PUT',\n },\n deleteTag: {\n urlModel: '/:tagId',\n url: ({ tagId }: { tagId: string }) => `${baseURL()}/${tagId}`,\n method: 'DELETE',\n },\n }) satisfies Routes;\n\nexport const tagRouter = async (fastify: FastifyInstance) => {\n fastify.get(getTagRoutes().getTags.urlModel, getTags);\n fastify.post(getTagRoutes().addTag.urlModel, addTag);\n fastify.put(\n getTagRoutes().updateTag.urlModel,\n { schema: { params: tagIdParamsSchema } },\n updateTag\n );\n fastify.delete(\n getTagRoutes().deleteTag.urlModel,\n { schema: { params: tagIdParamsSchema } },\n deleteTag\n );\n};\n"],"mappings":";;;;AAUA,MAAa,WAAW;AAExB,MAAM,gBAAgB,GAAG,QAAQ,IAAI,cAAc;AAEnD,MAAa,sBACV;CACC,SAAS;EACP,UAAU;EACV,KAAK,SAAS;EACd,QAAQ;EACT;CACD,QAAQ;EACN,UAAU;EACV,KAAK,SAAS;EACd,QAAQ;EACT;CACD,WAAW;EACT,UAAU;EACV,MAAM,EAAE,YAA+B,GAAG,SAAS,CAAC,GAAG;EACvD,QAAQ;EACT;CACD,WAAW;EACT,UAAU;EACV,MAAM,EAAE,YAA+B,GAAG,SAAS,CAAC,GAAG;EACvD,QAAQ;EACT;CACF;AAEH,MAAa,YAAY,OAAO,YAA6B;AAC3D,SAAQ,IAAI,cAAc,CAAC,QAAQ,UAAU,QAAQ;AACrD,SAAQ,KAAK,cAAc,CAAC,OAAO,UAAU,OAAO;AACpD,SAAQ,IACN,cAAc,CAAC,UAAU,UACzB,EAAE,QAAQ,EAAE,QAAQ,mBAAmB,EAAE,EACzC,UACD;AACD,SAAQ,OACN,cAAc,CAAC,UAAU,UACzB,EAAE,QAAQ,EAAE,QAAQ,mBAAmB,EAAE,EACzC,UACD"}
@@ -1,3 +1,4 @@
1
+ import { jobIdParamsSchema } from "./paramsSchemas.mjs";
1
2
  import { getTranslationStatus, pauseTranslationJob, restartTranslationJob, resumeTranslationJob, retryTranslationJob, stopTranslationJob, translateDictionaries } from "../controllers/translation.controller.mjs";
2
3
 
3
4
  //#region src/routes/translate.routes.ts
@@ -43,11 +44,11 @@ const getTranslationsRoutes = () => ({
43
44
  const translationRouter = async (fastify) => {
44
45
  fastify.post(getTranslationsRoutes().translateDictionaries.urlModel, translateDictionaries);
45
46
  fastify.get(getTranslationsRoutes().getTranslationStatus.urlModel, getTranslationStatus);
46
- fastify.post(getTranslationsRoutes().pauseTranslationJob.urlModel, pauseTranslationJob);
47
- fastify.post(getTranslationsRoutes().resumeTranslationJob.urlModel, resumeTranslationJob);
48
- fastify.post(getTranslationsRoutes().stopTranslationJob.urlModel, stopTranslationJob);
49
- fastify.post(getTranslationsRoutes().retryTranslationJob.urlModel, retryTranslationJob);
50
- fastify.post(getTranslationsRoutes().restartTranslationJob.urlModel, restartTranslationJob);
47
+ fastify.post(getTranslationsRoutes().pauseTranslationJob.urlModel, { schema: { params: jobIdParamsSchema } }, pauseTranslationJob);
48
+ fastify.post(getTranslationsRoutes().resumeTranslationJob.urlModel, { schema: { params: jobIdParamsSchema } }, resumeTranslationJob);
49
+ fastify.post(getTranslationsRoutes().stopTranslationJob.urlModel, { schema: { params: jobIdParamsSchema } }, stopTranslationJob);
50
+ fastify.post(getTranslationsRoutes().retryTranslationJob.urlModel, { schema: { params: jobIdParamsSchema } }, retryTranslationJob);
51
+ fastify.post(getTranslationsRoutes().restartTranslationJob.urlModel, { schema: { params: jobIdParamsSchema } }, restartTranslationJob);
51
52
  };
52
53
 
53
54
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"translate.routes.mjs","names":[],"sources":["../../../src/routes/translate.routes.ts"],"sourcesContent":["import {\n getTranslationStatus,\n pauseTranslationJob,\n restartTranslationJob,\n resumeTranslationJob,\n retryTranslationJob,\n stopTranslationJob,\n translateDictionaries,\n} from '@controllers/translation.controller';\nimport type { FastifyInstance } from 'fastify';\nimport type { Routes } from '@/types/Routes';\n\nexport const translateRoute = '/api/translate';\n\nconst baseURL = () => `${process.env.BACKEND_URL}${translateRoute}`;\n\nexport const getTranslationsRoutes = () =>\n ({\n translateDictionaries: {\n urlModel: '/dictionaries',\n url: `${baseURL()}/dictionaries`,\n method: 'POST',\n },\n getTranslationStatus: {\n urlModel: '/status',\n url: `${baseURL()}/status`,\n method: 'GET',\n },\n pauseTranslationJob: {\n urlModel: '/:jobId/pause',\n url: ({ jobId }: { jobId: string }) => `${baseURL()}/${jobId}/pause`,\n method: 'POST',\n },\n resumeTranslationJob: {\n urlModel: '/:jobId/resume',\n url: ({ jobId }: { jobId: string }) => `${baseURL()}/${jobId}/resume`,\n method: 'POST',\n },\n stopTranslationJob: {\n urlModel: '/:jobId/stop',\n url: ({ jobId }: { jobId: string }) => `${baseURL()}/${jobId}/stop`,\n method: 'POST',\n },\n retryTranslationJob: {\n urlModel: '/:jobId/retry',\n url: ({ jobId }: { jobId: string }) => `${baseURL()}/${jobId}/retry`,\n method: 'POST',\n },\n restartTranslationJob: {\n urlModel: '/:jobId/restart',\n url: ({ jobId }: { jobId: string }) => `${baseURL()}/${jobId}/restart`,\n method: 'POST',\n },\n }) satisfies Routes;\n\nexport const translationRouter = async (fastify: FastifyInstance) => {\n fastify.post(\n getTranslationsRoutes().translateDictionaries.urlModel,\n translateDictionaries\n );\n fastify.get(\n getTranslationsRoutes().getTranslationStatus.urlModel,\n getTranslationStatus\n );\n fastify.post(\n getTranslationsRoutes().pauseTranslationJob.urlModel,\n pauseTranslationJob\n );\n fastify.post(\n getTranslationsRoutes().resumeTranslationJob.urlModel,\n resumeTranslationJob\n );\n fastify.post(\n getTranslationsRoutes().stopTranslationJob.urlModel,\n stopTranslationJob\n );\n fastify.post(\n getTranslationsRoutes().retryTranslationJob.urlModel,\n retryTranslationJob\n );\n fastify.post(\n getTranslationsRoutes().restartTranslationJob.urlModel,\n restartTranslationJob\n );\n};\n"],"mappings":";;;AAYA,MAAa,iBAAiB;AAE9B,MAAM,gBAAgB,GAAG,QAAQ,IAAI,cAAc;AAEnD,MAAa,+BACV;CACC,uBAAuB;EACrB,UAAU;EACV,KAAK,GAAG,SAAS,CAAC;EAClB,QAAQ;EACT;CACD,sBAAsB;EACpB,UAAU;EACV,KAAK,GAAG,SAAS,CAAC;EAClB,QAAQ;EACT;CACD,qBAAqB;EACnB,UAAU;EACV,MAAM,EAAE,YAA+B,GAAG,SAAS,CAAC,GAAG,MAAM;EAC7D,QAAQ;EACT;CACD,sBAAsB;EACpB,UAAU;EACV,MAAM,EAAE,YAA+B,GAAG,SAAS,CAAC,GAAG,MAAM;EAC7D,QAAQ;EACT;CACD,oBAAoB;EAClB,UAAU;EACV,MAAM,EAAE,YAA+B,GAAG,SAAS,CAAC,GAAG,MAAM;EAC7D,QAAQ;EACT;CACD,qBAAqB;EACnB,UAAU;EACV,MAAM,EAAE,YAA+B,GAAG,SAAS,CAAC,GAAG,MAAM;EAC7D,QAAQ;EACT;CACD,uBAAuB;EACrB,UAAU;EACV,MAAM,EAAE,YAA+B,GAAG,SAAS,CAAC,GAAG,MAAM;EAC7D,QAAQ;EACT;CACF;AAEH,MAAa,oBAAoB,OAAO,YAA6B;AACnE,SAAQ,KACN,uBAAuB,CAAC,sBAAsB,UAC9C,sBACD;AACD,SAAQ,IACN,uBAAuB,CAAC,qBAAqB,UAC7C,qBACD;AACD,SAAQ,KACN,uBAAuB,CAAC,oBAAoB,UAC5C,oBACD;AACD,SAAQ,KACN,uBAAuB,CAAC,qBAAqB,UAC7C,qBACD;AACD,SAAQ,KACN,uBAAuB,CAAC,mBAAmB,UAC3C,mBACD;AACD,SAAQ,KACN,uBAAuB,CAAC,oBAAoB,UAC5C,oBACD;AACD,SAAQ,KACN,uBAAuB,CAAC,sBAAsB,UAC9C,sBACD"}
1
+ {"version":3,"file":"translate.routes.mjs","names":[],"sources":["../../../src/routes/translate.routes.ts"],"sourcesContent":["import {\n getTranslationStatus,\n pauseTranslationJob,\n restartTranslationJob,\n resumeTranslationJob,\n retryTranslationJob,\n stopTranslationJob,\n translateDictionaries,\n} from '@controllers/translation.controller';\nimport type { FastifyInstance } from 'fastify';\nimport type { Routes } from '@/types/Routes';\nimport { jobIdParamsSchema } from './paramsSchemas';\n\nexport const translateRoute = '/api/translate';\n\nconst baseURL = () => `${process.env.BACKEND_URL}${translateRoute}`;\n\nexport const getTranslationsRoutes = () =>\n ({\n translateDictionaries: {\n urlModel: '/dictionaries',\n url: `${baseURL()}/dictionaries`,\n method: 'POST',\n },\n getTranslationStatus: {\n urlModel: '/status',\n url: `${baseURL()}/status`,\n method: 'GET',\n },\n pauseTranslationJob: {\n urlModel: '/:jobId/pause',\n url: ({ jobId }: { jobId: string }) => `${baseURL()}/${jobId}/pause`,\n method: 'POST',\n },\n resumeTranslationJob: {\n urlModel: '/:jobId/resume',\n url: ({ jobId }: { jobId: string }) => `${baseURL()}/${jobId}/resume`,\n method: 'POST',\n },\n stopTranslationJob: {\n urlModel: '/:jobId/stop',\n url: ({ jobId }: { jobId: string }) => `${baseURL()}/${jobId}/stop`,\n method: 'POST',\n },\n retryTranslationJob: {\n urlModel: '/:jobId/retry',\n url: ({ jobId }: { jobId: string }) => `${baseURL()}/${jobId}/retry`,\n method: 'POST',\n },\n restartTranslationJob: {\n urlModel: '/:jobId/restart',\n url: ({ jobId }: { jobId: string }) => `${baseURL()}/${jobId}/restart`,\n method: 'POST',\n },\n }) satisfies Routes;\n\nexport const translationRouter = async (fastify: FastifyInstance) => {\n fastify.post(\n getTranslationsRoutes().translateDictionaries.urlModel,\n translateDictionaries\n );\n fastify.get(\n getTranslationsRoutes().getTranslationStatus.urlModel,\n getTranslationStatus\n );\n fastify.post(\n getTranslationsRoutes().pauseTranslationJob.urlModel,\n { schema: { params: jobIdParamsSchema } },\n pauseTranslationJob\n );\n fastify.post(\n getTranslationsRoutes().resumeTranslationJob.urlModel,\n { schema: { params: jobIdParamsSchema } },\n resumeTranslationJob\n );\n fastify.post(\n getTranslationsRoutes().stopTranslationJob.urlModel,\n { schema: { params: jobIdParamsSchema } },\n stopTranslationJob\n );\n fastify.post(\n getTranslationsRoutes().retryTranslationJob.urlModel,\n { schema: { params: jobIdParamsSchema } },\n retryTranslationJob\n );\n fastify.post(\n getTranslationsRoutes().restartTranslationJob.urlModel,\n { schema: { params: jobIdParamsSchema } },\n restartTranslationJob\n );\n};\n"],"mappings":";;;;AAaA,MAAa,iBAAiB;AAE9B,MAAM,gBAAgB,GAAG,QAAQ,IAAI,cAAc;AAEnD,MAAa,+BACV;CACC,uBAAuB;EACrB,UAAU;EACV,KAAK,GAAG,SAAS,CAAC;EAClB,QAAQ;EACT;CACD,sBAAsB;EACpB,UAAU;EACV,KAAK,GAAG,SAAS,CAAC;EAClB,QAAQ;EACT;CACD,qBAAqB;EACnB,UAAU;EACV,MAAM,EAAE,YAA+B,GAAG,SAAS,CAAC,GAAG,MAAM;EAC7D,QAAQ;EACT;CACD,sBAAsB;EACpB,UAAU;EACV,MAAM,EAAE,YAA+B,GAAG,SAAS,CAAC,GAAG,MAAM;EAC7D,QAAQ;EACT;CACD,oBAAoB;EAClB,UAAU;EACV,MAAM,EAAE,YAA+B,GAAG,SAAS,CAAC,GAAG,MAAM;EAC7D,QAAQ;EACT;CACD,qBAAqB;EACnB,UAAU;EACV,MAAM,EAAE,YAA+B,GAAG,SAAS,CAAC,GAAG,MAAM;EAC7D,QAAQ;EACT;CACD,uBAAuB;EACrB,UAAU;EACV,MAAM,EAAE,YAA+B,GAAG,SAAS,CAAC,GAAG,MAAM;EAC7D,QAAQ;EACT;CACF;AAEH,MAAa,oBAAoB,OAAO,YAA6B;AACnE,SAAQ,KACN,uBAAuB,CAAC,sBAAsB,UAC9C,sBACD;AACD,SAAQ,IACN,uBAAuB,CAAC,qBAAqB,UAC7C,qBACD;AACD,SAAQ,KACN,uBAAuB,CAAC,oBAAoB,UAC5C,EAAE,QAAQ,EAAE,QAAQ,mBAAmB,EAAE,EACzC,oBACD;AACD,SAAQ,KACN,uBAAuB,CAAC,qBAAqB,UAC7C,EAAE,QAAQ,EAAE,QAAQ,mBAAmB,EAAE,EACzC,qBACD;AACD,SAAQ,KACN,uBAAuB,CAAC,mBAAmB,UAC3C,EAAE,QAAQ,EAAE,QAAQ,mBAAmB,EAAE,EACzC,mBACD;AACD,SAAQ,KACN,uBAAuB,CAAC,oBAAoB,UAC5C,EAAE,QAAQ,EAAE,QAAQ,mBAAmB,EAAE,EACzC,oBACD;AACD,SAAQ,KACN,uBAAuB,CAAC,sBAAsB,UAC9C,EAAE,QAAQ,EAAE,QAAQ,mBAAmB,EAAE,EACzC,sBACD"}
@@ -1,3 +1,4 @@
1
+ import { emailParamsSchema, userIdParamsSchema } from "./paramsSchemas.mjs";
1
2
  import { createUser, deleteUser, getUserByEmail, getUserById, getUsers, updateUser, verifyEmailStatusSSE } from "../controllers/user.controller.mjs";
2
3
 
3
4
  //#region src/routes/user.routes.ts
@@ -44,10 +45,10 @@ const userRouter = async (fastify) => {
44
45
  fastify.get(getUserRoutes().getUsers.urlModel, getUsers);
45
46
  fastify.put(getUserRoutes().updateUser.urlModel, updateUser);
46
47
  fastify.post(getUserRoutes().createUser.urlModel, createUser);
47
- fastify.get(getUserRoutes().getUserById.urlModel, getUserById);
48
- fastify.get(getUserRoutes().getUserByEmail.urlModel, getUserByEmail);
49
- fastify.delete(getUserRoutes().deleteUser.urlModel, deleteUser);
50
- fastify.get(getUserRoutes().verifyEmailStatusSSE.urlModel, verifyEmailStatusSSE);
48
+ fastify.get(getUserRoutes().getUserById.urlModel, { schema: { params: userIdParamsSchema } }, getUserById);
49
+ fastify.get(getUserRoutes().getUserByEmail.urlModel, { schema: { params: emailParamsSchema } }, getUserByEmail);
50
+ fastify.delete(getUserRoutes().deleteUser.urlModel, { schema: { params: userIdParamsSchema } }, deleteUser);
51
+ fastify.get(getUserRoutes().verifyEmailStatusSSE.urlModel, { schema: { params: userIdParamsSchema } }, verifyEmailStatusSSE);
51
52
  };
52
53
 
53
54
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"user.routes.mjs","names":[],"sources":["../../../src/routes/user.routes.ts"],"sourcesContent":["import {\n createUser,\n deleteUser,\n getUserByEmail,\n getUserById,\n getUsers,\n updateUser,\n verifyEmailStatusSSE,\n} from '@controllers/user.controller';\nimport type { FastifyInstance } from 'fastify';\nimport type { Routes } from '@/types/Routes';\n\nexport const userRoute = '/api/user';\n\nconst baseURL = () => `${process.env.BACKEND_URL}${userRoute}`;\n\nexport const getUserRoutes = () =>\n ({\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 deleteUser: {\n urlModel: '/:userId',\n url: ({ userId }: { userId: string }) => `${baseURL()}/${userId}`,\n method: 'DELETE',\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 }) satisfies Routes;\n\nexport const userRouter = async (fastify: FastifyInstance) => {\n fastify.get(getUserRoutes().getUsers.urlModel, getUsers);\n fastify.put(getUserRoutes().updateUser.urlModel, updateUser);\n fastify.post(getUserRoutes().createUser.urlModel, createUser);\n fastify.get(getUserRoutes().getUserById.urlModel, getUserById);\n fastify.get(getUserRoutes().getUserByEmail.urlModel, getUserByEmail);\n fastify.delete(getUserRoutes().deleteUser.urlModel, deleteUser);\n fastify.get(\n getUserRoutes().verifyEmailStatusSSE.urlModel,\n verifyEmailStatusSSE\n );\n};\n"],"mappings":";;;AAYA,MAAa,YAAY;AAEzB,MAAM,gBAAgB,GAAG,QAAQ,IAAI,cAAc;AAEnD,MAAa,uBACV;CACC,UAAU;EACR,UAAU;EACV,KAAK,SAAS;EACd,QAAQ;EACT;CACD,YAAY;EACV,UAAU;EACV,KAAK,SAAS;EACd,QAAQ;EACT;CACD,YAAY;EACV,UAAU;EACV,KAAK,SAAS;EACd,QAAQ;EACT;CACD,aAAa;EACX,UAAU;EACV,MAAM,EAAE,aAAiC,GAAG,SAAS,CAAC,GAAG;EACzD,QAAQ;EACT;CACD,gBAAgB;EACd,UAAU;EACV,MAAM,EAAE,YAA+B,GAAG,SAAS,CAAC,SAAS;EAC7D,QAAQ;EACT;CACD,YAAY;EACV,UAAU;EACV,MAAM,EAAE,aAAiC,GAAG,SAAS,CAAC,GAAG;EACzD,QAAQ;EACT;CACD,sBAAsB;EACpB,UAAU;EACV,MAAM,EAAE,aACN,GAAG,SAAS,CAAC,uBAAuB;EACtC,QAAQ;EACT;CACF;AAEH,MAAa,aAAa,OAAO,YAA6B;AAC5D,SAAQ,IAAI,eAAe,CAAC,SAAS,UAAU,SAAS;AACxD,SAAQ,IAAI,eAAe,CAAC,WAAW,UAAU,WAAW;AAC5D,SAAQ,KAAK,eAAe,CAAC,WAAW,UAAU,WAAW;AAC7D,SAAQ,IAAI,eAAe,CAAC,YAAY,UAAU,YAAY;AAC9D,SAAQ,IAAI,eAAe,CAAC,eAAe,UAAU,eAAe;AACpE,SAAQ,OAAO,eAAe,CAAC,WAAW,UAAU,WAAW;AAC/D,SAAQ,IACN,eAAe,CAAC,qBAAqB,UACrC,qBACD"}
1
+ {"version":3,"file":"user.routes.mjs","names":[],"sources":["../../../src/routes/user.routes.ts"],"sourcesContent":["import {\n createUser,\n deleteUser,\n getUserByEmail,\n getUserById,\n getUsers,\n updateUser,\n verifyEmailStatusSSE,\n} from '@controllers/user.controller';\nimport type { FastifyInstance } from 'fastify';\nimport type { Routes } from '@/types/Routes';\nimport { emailParamsSchema, userIdParamsSchema } from './paramsSchemas';\n\nexport const userRoute = '/api/user';\n\nconst baseURL = () => `${process.env.BACKEND_URL}${userRoute}`;\n\nexport const getUserRoutes = () =>\n ({\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 deleteUser: {\n urlModel: '/:userId',\n url: ({ userId }: { userId: string }) => `${baseURL()}/${userId}`,\n method: 'DELETE',\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 }) satisfies Routes;\n\nexport const userRouter = async (fastify: FastifyInstance) => {\n fastify.get(getUserRoutes().getUsers.urlModel, getUsers);\n fastify.put(getUserRoutes().updateUser.urlModel, updateUser);\n fastify.post(getUserRoutes().createUser.urlModel, createUser);\n fastify.get(\n getUserRoutes().getUserById.urlModel,\n { schema: { params: userIdParamsSchema } },\n getUserById\n );\n fastify.get(\n getUserRoutes().getUserByEmail.urlModel,\n { schema: { params: emailParamsSchema } },\n getUserByEmail\n );\n fastify.delete(\n getUserRoutes().deleteUser.urlModel,\n { schema: { params: userIdParamsSchema } },\n deleteUser\n );\n fastify.get(\n getUserRoutes().verifyEmailStatusSSE.urlModel,\n { schema: { params: userIdParamsSchema } },\n verifyEmailStatusSSE\n );\n};\n"],"mappings":";;;;AAaA,MAAa,YAAY;AAEzB,MAAM,gBAAgB,GAAG,QAAQ,IAAI,cAAc;AAEnD,MAAa,uBACV;CACC,UAAU;EACR,UAAU;EACV,KAAK,SAAS;EACd,QAAQ;EACT;CACD,YAAY;EACV,UAAU;EACV,KAAK,SAAS;EACd,QAAQ;EACT;CACD,YAAY;EACV,UAAU;EACV,KAAK,SAAS;EACd,QAAQ;EACT;CACD,aAAa;EACX,UAAU;EACV,MAAM,EAAE,aAAiC,GAAG,SAAS,CAAC,GAAG;EACzD,QAAQ;EACT;CACD,gBAAgB;EACd,UAAU;EACV,MAAM,EAAE,YAA+B,GAAG,SAAS,CAAC,SAAS;EAC7D,QAAQ;EACT;CACD,YAAY;EACV,UAAU;EACV,MAAM,EAAE,aAAiC,GAAG,SAAS,CAAC,GAAG;EACzD,QAAQ;EACT;CACD,sBAAsB;EACpB,UAAU;EACV,MAAM,EAAE,aACN,GAAG,SAAS,CAAC,uBAAuB;EACtC,QAAQ;EACT;CACF;AAEH,MAAa,aAAa,OAAO,YAA6B;AAC5D,SAAQ,IAAI,eAAe,CAAC,SAAS,UAAU,SAAS;AACxD,SAAQ,IAAI,eAAe,CAAC,WAAW,UAAU,WAAW;AAC5D,SAAQ,KAAK,eAAe,CAAC,WAAW,UAAU,WAAW;AAC7D,SAAQ,IACN,eAAe,CAAC,YAAY,UAC5B,EAAE,QAAQ,EAAE,QAAQ,oBAAoB,EAAE,EAC1C,YACD;AACD,SAAQ,IACN,eAAe,CAAC,eAAe,UAC/B,EAAE,QAAQ,EAAE,QAAQ,mBAAmB,EAAE,EACzC,eACD;AACD,SAAQ,OACN,eAAe,CAAC,WAAW,UAC3B,EAAE,QAAQ,EAAE,QAAQ,oBAAoB,EAAE,EAC1C,WACD;AACD,SAAQ,IACN,eAAe,CAAC,qBAAqB,UACrC,EAAE,QAAQ,EAAE,QAAQ,oBAAoB,EAAE,EAC1C,qBACD"}
@@ -41,7 +41,7 @@ const accessTokenSchema = new Schema({
41
41
  }
42
42
  }
43
43
  });
44
- accessTokenSchema.index({ createdAt: 1 }, { expireAfterSeconds: 3600 * 24 * 10 });
44
+ accessTokenSchema.index({ createdAt: 1 }, { expireAfterSeconds: 3600 * 24 * 90 });
45
45
 
46
46
  //#endregion
47
47
  export { accessTokenSchema };
@@ -1 +1 @@
1
- {"version":3,"file":"oAuth2.schema.mjs","names":[],"sources":["../../../src/schemas/oAuth2.schema.ts"],"sourcesContent":["import { Schema } from 'mongoose';\nimport type { Client, Token as TokenType } from 'oauth2-server';\nimport type { User } from '@/types/user.types';\n\nexport type Token = Omit<TokenType, 'client' | 'user'> & {\n clientId: Client['id'];\n userId: User['id'];\n};\n\nexport const accessTokenSchema = new Schema<Token>(\n {\n accessToken: {\n type: String,\n required: true,\n },\n accessTokenExpiresAt: {\n type: Date,\n },\n clientId: {\n type: String,\n ref: 'Project',\n required: true,\n },\n userId: {\n type: Schema.Types.ObjectId,\n ref: 'User',\n required: true,\n },\n },\n {\n timestamps: true,\n\n toJSON: {\n virtuals: true, // keep the automatic `id` getter\n versionKey: false, // drop __v\n transform(_doc, ret: any) {\n const { _id, ...rest } = ret;\n return {\n ...rest,\n id: _id.toString(),\n };\n },\n },\n toObject: {\n virtuals: true,\n transform(_doc, ret: any) {\n const { _id, ...rest } = ret;\n return {\n ...rest,\n id: _id,\n };\n },\n },\n }\n);\n\naccessTokenSchema.index(\n { createdAt: 1 },\n {\n expireAfterSeconds: 60 * 60 * 24 * 10, // 10 Days\n }\n);\n"],"mappings":";;;AASA,MAAa,oBAAoB,IAAI,OACnC;CACE,aAAa;EACX,MAAM;EACN,UAAU;EACX;CACD,sBAAsB,EACpB,MAAM,MACP;CACD,UAAU;EACR,MAAM;EACN,KAAK;EACL,UAAU;EACX;CACD,QAAQ;EACN,MAAM,OAAO,MAAM;EACnB,KAAK;EACL,UAAU;EACX;CACF,EACD;CACE,YAAY;CAEZ,QAAQ;EACN,UAAU;EACV,YAAY;EACZ,UAAU,MAAM,KAAU;GACxB,MAAM,EAAE,KAAK,GAAG,SAAS;AACzB,UAAO;IACL,GAAG;IACH,IAAI,IAAI,UAAU;IACnB;;EAEJ;CACD,UAAU;EACR,UAAU;EACV,UAAU,MAAM,KAAU;GACxB,MAAM,EAAE,KAAK,GAAG,SAAS;AACzB,UAAO;IACL,GAAG;IACH,IAAI;IACL;;EAEJ;CACF,CACF;AAED,kBAAkB,MAChB,EAAE,WAAW,GAAG,EAChB,EACE,oBAAoB,OAAU,KAAK,IACpC,CACF"}
1
+ {"version":3,"file":"oAuth2.schema.mjs","names":[],"sources":["../../../src/schemas/oAuth2.schema.ts"],"sourcesContent":["import { Schema } from 'mongoose';\nimport type { Client, Token as TokenType } from 'oauth2-server';\nimport type { User } from '@/types/user.types';\n\nexport type Token = Omit<TokenType, 'client' | 'user'> & {\n clientId: Client['id'];\n userId: User['id'];\n};\n\nexport const accessTokenSchema = new Schema<Token>(\n {\n accessToken: {\n type: String,\n required: true,\n },\n accessTokenExpiresAt: {\n type: Date,\n },\n clientId: {\n type: String,\n ref: 'Project',\n required: true,\n },\n userId: {\n type: Schema.Types.ObjectId,\n ref: 'User',\n required: true,\n },\n },\n {\n timestamps: true,\n\n toJSON: {\n virtuals: true, // keep the automatic `id` getter\n versionKey: false, // drop __v\n transform(_doc, ret: any) {\n const { _id, ...rest } = ret;\n return {\n ...rest,\n id: _id.toString(),\n };\n },\n },\n toObject: {\n virtuals: true,\n transform(_doc, ret: any) {\n const { _id, ...rest } = ret;\n return {\n ...rest,\n id: _id,\n };\n },\n },\n }\n);\n\n// MongoDB TTL fallback: tokens are normally garbage collected by their\n// accessTokenExpiresAt, but if the sliding-refresh keeps a token alive for a\n// long time we still want a hard upper bound from creation.\naccessTokenSchema.index(\n { createdAt: 1 },\n {\n expireAfterSeconds: 60 * 60 * 24 * 90, // 90 Days\n }\n);\n"],"mappings":";;;AASA,MAAa,oBAAoB,IAAI,OACnC;CACE,aAAa;EACX,MAAM;EACN,UAAU;EACX;CACD,sBAAsB,EACpB,MAAM,MACP;CACD,UAAU;EACR,MAAM;EACN,KAAK;EACL,UAAU;EACX;CACD,QAAQ;EACN,MAAM,OAAO,MAAM;EACnB,KAAK;EACL,UAAU;EACX;CACF,EACD;CACE,YAAY;CAEZ,QAAQ;EACN,UAAU;EACV,YAAY;EACZ,UAAU,MAAM,KAAU;GACxB,MAAM,EAAE,KAAK,GAAG,SAAS;AACzB,UAAO;IACL,GAAG;IACH,IAAI,IAAI,UAAU;IACnB;;EAEJ;CACD,UAAU;EACR,UAAU;EACV,UAAU,MAAM,KAAU;GACxB,MAAM,EAAE,KAAK,GAAG,SAAS;AACzB,UAAO;IACL,GAAG;IACH,IAAI;IACL;;EAEJ;CACF,CACF;AAKD,kBAAkB,MAChB,EAAE,WAAW,GAAG,EAChB,EACE,oBAAoB,OAAU,KAAK,IACpC,CACF"}