@intlayer/backend 5.6.0 → 5.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -0
- package/dist/cjs/controllers/ai.controller.cjs +10 -7
- package/dist/cjs/controllers/ai.controller.cjs.map +1 -1
- package/dist/cjs/controllers/dictionary.controller.cjs +50 -58
- package/dist/cjs/controllers/dictionary.controller.cjs.map +1 -1
- package/dist/cjs/controllers/eventListener.controller.cjs +2 -18
- package/dist/cjs/controllers/eventListener.controller.cjs.map +1 -1
- package/dist/cjs/controllers/newsletter.controller.cjs +38 -3
- package/dist/cjs/controllers/newsletter.controller.cjs.map +1 -1
- package/dist/cjs/controllers/oAuth2.controller.cjs +3 -3
- package/dist/cjs/controllers/oAuth2.controller.cjs.map +1 -1
- package/dist/cjs/controllers/organization.controller.cjs +92 -106
- package/dist/cjs/controllers/organization.controller.cjs.map +1 -1
- package/dist/cjs/controllers/project.controller.cjs +81 -83
- package/dist/cjs/controllers/project.controller.cjs.map +1 -1
- package/dist/cjs/controllers/projectAccessKey.controller.cjs +30 -24
- package/dist/cjs/controllers/projectAccessKey.controller.cjs.map +1 -1
- package/dist/cjs/controllers/search.controller.cjs.map +1 -1
- package/dist/cjs/controllers/stripe.controller.cjs +4 -25
- package/dist/cjs/controllers/stripe.controller.cjs.map +1 -1
- package/dist/cjs/controllers/tag.controller.cjs +27 -16
- package/dist/cjs/controllers/tag.controller.cjs.map +1 -1
- package/dist/cjs/controllers/user.controller.cjs +88 -24
- package/dist/cjs/controllers/user.controller.cjs.map +1 -1
- package/dist/cjs/emails/InviteUserEmail.cjs +30 -12
- package/dist/cjs/emails/InviteUserEmail.cjs.map +1 -1
- package/dist/cjs/emails/OAuthTokenCreatedEmail.cjs +266 -0
- package/dist/cjs/emails/OAuthTokenCreatedEmail.cjs.map +1 -0
- package/dist/cjs/emails/ResetUserPassword.cjs +27 -15
- package/dist/cjs/emails/ResetUserPassword.cjs.map +1 -1
- package/dist/cjs/emails/ValidateUserEmail.cjs +27 -36
- package/dist/cjs/emails/ValidateUserEmail.cjs.map +1 -1
- package/dist/cjs/emails/Welcome.cjs +27 -15
- package/dist/cjs/emails/Welcome.cjs.map +1 -1
- package/dist/cjs/emails/index.cjs +7 -5
- package/dist/cjs/emails/index.cjs.map +1 -1
- package/dist/cjs/export.cjs +2 -5
- package/dist/cjs/export.cjs.map +1 -1
- package/dist/cjs/index.cjs +61 -111
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/middlewares/oAuth2.middleware.cjs +26 -38
- package/dist/cjs/middlewares/oAuth2.middleware.cjs.map +1 -1
- package/dist/cjs/middlewares/request.middleware.cjs.map +1 -1
- package/dist/cjs/middlewares/sessionAuth.middleware.cjs +17 -138
- package/dist/cjs/middlewares/sessionAuth.middleware.cjs.map +1 -1
- package/dist/cjs/models/dictionary.model.cjs.map +1 -1
- package/dist/cjs/models/discussion.model.cjs.map +1 -1
- package/dist/cjs/models/oAuth2.model.cjs +4 -1
- package/dist/cjs/models/oAuth2.model.cjs.map +1 -1
- package/dist/cjs/models/organization.model.cjs +1 -4
- package/dist/cjs/models/organization.model.cjs.map +1 -1
- package/dist/cjs/models/project.model.cjs +4 -1
- package/dist/cjs/models/project.model.cjs.map +1 -1
- package/dist/cjs/models/session.model.cjs +34 -0
- package/dist/cjs/models/session.model.cjs.map +1 -0
- package/dist/cjs/models/tag.model.cjs.map +1 -1
- package/dist/cjs/models/user.model.cjs.map +1 -1
- package/dist/cjs/routes/ai.routes.cjs +3 -1
- package/dist/cjs/routes/ai.routes.cjs.map +1 -1
- package/dist/cjs/routes/dictionary.routes.cjs.map +1 -1
- package/dist/cjs/routes/eventListener.routes.cjs +1 -1
- package/dist/cjs/routes/eventListener.routes.cjs.map +1 -1
- package/dist/cjs/routes/newsletter.routes.cjs.map +1 -1
- package/dist/cjs/routes/organization.routes.cjs +8 -8
- package/dist/cjs/routes/organization.routes.cjs.map +1 -1
- package/dist/cjs/routes/project.routes.cjs +23 -14
- package/dist/cjs/routes/project.routes.cjs.map +1 -1
- package/dist/cjs/routes/search.routes.cjs.map +1 -1
- package/dist/cjs/routes/stripe.routes.cjs.map +1 -1
- package/dist/cjs/routes/tags.routes.cjs +4 -4
- package/dist/cjs/routes/tags.routes.cjs.map +1 -1
- package/dist/cjs/routes/user.routes.cjs +12 -12
- package/dist/cjs/routes/user.routes.cjs.map +1 -1
- package/dist/cjs/schemas/dictionary.schema.cjs +18 -1
- package/dist/cjs/schemas/dictionary.schema.cjs.map +1 -1
- package/dist/cjs/schemas/discussion.schema.cjs +18 -1
- package/dist/cjs/schemas/discussion.schema.cjs.map +1 -1
- package/dist/cjs/schemas/oAuth2.schema.cjs +18 -1
- package/dist/cjs/schemas/oAuth2.schema.cjs.map +1 -1
- package/dist/cjs/schemas/organization.schema.cjs +21 -1
- package/dist/cjs/schemas/organization.schema.cjs.map +1 -1
- package/dist/cjs/schemas/plans.schema.cjs +18 -1
- package/dist/cjs/schemas/plans.schema.cjs.map +1 -1
- package/dist/cjs/schemas/project.schema.cjs +19 -14
- package/dist/cjs/schemas/project.schema.cjs.map +1 -1
- package/dist/cjs/schemas/session.schema.cjs +63 -0
- package/dist/cjs/schemas/session.schema.cjs.map +1 -0
- package/dist/cjs/schemas/tag.schema.cjs +18 -1
- package/dist/cjs/schemas/tag.schema.cjs.map +1 -1
- package/dist/cjs/schemas/user.schema.cjs +18 -48
- package/dist/cjs/schemas/user.schema.cjs.map +1 -1
- package/dist/cjs/services/dictionary.service.cjs +6 -5
- package/dist/cjs/services/dictionary.service.cjs.map +1 -1
- package/dist/cjs/services/email.service.cjs +13 -0
- package/dist/cjs/services/email.service.cjs.map +1 -1
- package/dist/cjs/services/oAuth2.service.cjs +49 -10
- package/dist/cjs/services/oAuth2.service.cjs.map +1 -1
- package/dist/cjs/services/organization.service.cjs +16 -15
- package/dist/cjs/services/organization.service.cjs.map +1 -1
- package/dist/cjs/services/project.service.cjs +1 -1
- package/dist/cjs/services/project.service.cjs.map +1 -1
- package/dist/cjs/services/projectAccessKey.service.cjs +17 -33
- package/dist/cjs/services/projectAccessKey.service.cjs.map +1 -1
- package/dist/cjs/services/subscription.service.cjs +10 -10
- package/dist/cjs/services/subscription.service.cjs.map +1 -1
- package/dist/cjs/services/tag.service.cjs.map +1 -1
- package/dist/cjs/services/user.service.cjs +2 -42
- package/dist/cjs/services/user.service.cjs.map +1 -1
- package/dist/cjs/types/dictionary.types.cjs.map +1 -1
- package/dist/cjs/types/discussion.types.cjs.map +1 -1
- package/dist/cjs/types/oAuth2.types.cjs.map +1 -1
- package/dist/cjs/types/organization.types.cjs.map +1 -1
- package/dist/cjs/types/plan.types.cjs.map +1 -1
- package/dist/cjs/types/project.types.cjs.map +1 -1
- package/dist/cjs/types/session.types.cjs.map +1 -1
- package/dist/cjs/types/tag.types.cjs.map +1 -1
- package/dist/cjs/types/user.types.cjs.map +1 -1
- package/dist/cjs/utils/AI/aiSdk.cjs.map +1 -1
- package/dist/cjs/utils/AI/askDocQuestion/askDocQuestion.cjs +14 -9
- package/dist/cjs/utils/AI/askDocQuestion/askDocQuestion.cjs.map +1 -1
- package/dist/cjs/utils/AI/autocomplete/PROMPT.md +18 -2
- package/dist/cjs/utils/AI/autocomplete/index.cjs +8 -5
- package/dist/cjs/utils/AI/autocomplete/index.cjs.map +1 -1
- package/dist/cjs/utils/access.cjs +2 -0
- package/dist/cjs/utils/access.cjs.map +1 -0
- package/dist/cjs/utils/accessControl.cjs +7 -0
- package/dist/cjs/utils/accessControl.cjs.map +1 -1
- package/dist/cjs/utils/auth/getAuth.cjs +248 -0
- package/dist/cjs/utils/auth/getAuth.cjs.map +1 -0
- package/dist/cjs/utils/cors.cjs +55 -0
- package/dist/cjs/utils/cors.cjs.map +1 -0
- package/dist/cjs/utils/ensureMongoDocumentToObject.cjs.map +1 -1
- package/dist/cjs/utils/errors/ErrorHandler.cjs +2 -2
- package/dist/cjs/utils/errors/ErrorHandler.cjs.map +1 -1
- package/dist/cjs/utils/errors/errorCodes.cjs +114 -153
- package/dist/cjs/utils/errors/errorCodes.cjs.map +1 -1
- package/dist/cjs/utils/filtersAndPagination/getOrganizationFiltersAndPagination.cjs.map +1 -1
- package/dist/cjs/utils/filtersAndPagination/getProjectFiltersAndPagination.cjs.map +1 -1
- package/dist/cjs/utils/filtersAndPagination/getTagFiltersAndPagination.cjs.map +1 -1
- package/dist/cjs/utils/filtersAndPagination/getUserFiltersAndPagination.cjs +1 -1
- package/dist/cjs/utils/filtersAndPagination/getUserFiltersAndPagination.cjs.map +1 -1
- package/dist/cjs/utils/mapper/dictionary.cjs.map +1 -1
- package/dist/cjs/utils/mapper/organization.cjs +10 -8
- package/dist/cjs/utils/mapper/organization.cjs.map +1 -1
- package/dist/cjs/utils/mapper/project.cjs +5 -18
- package/dist/cjs/utils/mapper/project.cjs.map +1 -1
- package/dist/cjs/utils/mapper/tag.cjs +4 -2
- package/dist/cjs/utils/mapper/tag.cjs.map +1 -1
- package/dist/cjs/utils/mapper/user.cjs +6 -3
- package/dist/cjs/utils/mapper/user.cjs.map +1 -1
- package/dist/cjs/utils/mergeFunctionTypes.cjs +17 -0
- package/dist/cjs/utils/mergeFunctionTypes.cjs.map +1 -0
- package/dist/cjs/utils/mongoDB/connectDB.cjs +3 -1
- package/dist/cjs/utils/mongoDB/connectDB.cjs.map +1 -1
- package/dist/cjs/utils/mongoDB/types.cjs +17 -0
- package/dist/cjs/utils/mongoDB/types.cjs.map +1 -0
- package/dist/cjs/utils/oAuth2.cjs.map +1 -1
- package/dist/cjs/utils/permissions.cjs +166 -0
- package/dist/cjs/utils/permissions.cjs.map +1 -0
- package/dist/cjs/utils/rateLimiter.cjs +88 -0
- package/dist/cjs/utils/rateLimiter.cjs.map +1 -0
- package/dist/esm/controllers/ai.controller.mjs +10 -7
- package/dist/esm/controllers/ai.controller.mjs.map +1 -1
- package/dist/esm/controllers/dictionary.controller.mjs +50 -58
- package/dist/esm/controllers/dictionary.controller.mjs.map +1 -1
- package/dist/esm/controllers/eventListener.controller.mjs +2 -8
- package/dist/esm/controllers/eventListener.controller.mjs.map +1 -1
- package/dist/esm/controllers/newsletter.controller.mjs +38 -3
- package/dist/esm/controllers/newsletter.controller.mjs.map +1 -1
- package/dist/esm/controllers/oAuth2.controller.mjs +2 -2
- package/dist/esm/controllers/oAuth2.controller.mjs.map +1 -1
- package/dist/esm/controllers/organization.controller.mjs +95 -106
- package/dist/esm/controllers/organization.controller.mjs.map +1 -1
- package/dist/esm/controllers/project.controller.mjs +81 -83
- package/dist/esm/controllers/project.controller.mjs.map +1 -1
- package/dist/esm/controllers/projectAccessKey.controller.mjs +30 -24
- package/dist/esm/controllers/projectAccessKey.controller.mjs.map +1 -1
- package/dist/esm/controllers/search.controller.mjs.map +1 -1
- package/dist/esm/controllers/stripe.controller.mjs +4 -25
- package/dist/esm/controllers/stripe.controller.mjs.map +1 -1
- package/dist/esm/controllers/tag.controller.mjs +27 -16
- package/dist/esm/controllers/tag.controller.mjs.map +1 -1
- package/dist/esm/controllers/user.controller.mjs +85 -22
- package/dist/esm/controllers/user.controller.mjs.map +1 -1
- package/dist/esm/emails/InviteUserEmail.mjs +32 -14
- package/dist/esm/emails/InviteUserEmail.mjs.map +1 -1
- package/dist/esm/emails/OAuthTokenCreatedEmail.mjs +254 -0
- package/dist/esm/emails/OAuthTokenCreatedEmail.mjs.map +1 -0
- package/dist/esm/emails/ResetUserPassword.mjs +29 -17
- package/dist/esm/emails/ResetUserPassword.mjs.map +1 -1
- package/dist/esm/emails/ValidateUserEmail.mjs +29 -38
- package/dist/esm/emails/ValidateUserEmail.mjs.map +1 -1
- package/dist/esm/emails/Welcome.mjs +29 -17
- package/dist/esm/emails/Welcome.mjs.map +1 -1
- package/dist/esm/emails/index.mjs +3 -2
- package/dist/esm/emails/index.mjs.map +1 -1
- package/dist/esm/export.mjs +1 -3
- package/dist/esm/export.mjs.map +1 -1
- package/dist/esm/index.mjs +60 -111
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/middlewares/oAuth2.middleware.mjs +27 -36
- package/dist/esm/middlewares/oAuth2.middleware.mjs.map +1 -1
- package/dist/esm/middlewares/request.middleware.mjs.map +1 -1
- package/dist/esm/middlewares/sessionAuth.middleware.mjs +16 -127
- package/dist/esm/middlewares/sessionAuth.middleware.mjs.map +1 -1
- package/dist/esm/models/dictionary.model.mjs.map +1 -1
- package/dist/esm/models/discussion.model.mjs.map +1 -1
- package/dist/esm/models/oAuth2.model.mjs +4 -1
- package/dist/esm/models/oAuth2.model.mjs.map +1 -1
- package/dist/esm/models/organization.model.mjs +1 -4
- package/dist/esm/models/organization.model.mjs.map +1 -1
- package/dist/esm/models/project.model.mjs +4 -1
- package/dist/esm/models/project.model.mjs.map +1 -1
- package/dist/esm/models/session.model.mjs +10 -0
- package/dist/esm/models/session.model.mjs.map +1 -0
- package/dist/esm/models/tag.model.mjs.map +1 -1
- package/dist/esm/models/user.model.mjs.map +1 -1
- package/dist/esm/routes/ai.routes.mjs +3 -1
- package/dist/esm/routes/ai.routes.mjs.map +1 -1
- package/dist/esm/routes/dictionary.routes.mjs.map +1 -1
- package/dist/esm/routes/eventListener.routes.mjs +1 -1
- package/dist/esm/routes/eventListener.routes.mjs.map +1 -1
- package/dist/esm/routes/newsletter.routes.mjs.map +1 -1
- package/dist/esm/routes/organization.routes.mjs +8 -8
- package/dist/esm/routes/organization.routes.mjs.map +1 -1
- package/dist/esm/routes/project.routes.mjs +23 -14
- package/dist/esm/routes/project.routes.mjs.map +1 -1
- package/dist/esm/routes/search.routes.mjs.map +1 -1
- package/dist/esm/routes/stripe.routes.mjs.map +1 -1
- package/dist/esm/routes/tags.routes.mjs +4 -4
- package/dist/esm/routes/tags.routes.mjs.map +1 -1
- package/dist/esm/routes/user.routes.mjs +14 -14
- package/dist/esm/routes/user.routes.mjs.map +1 -1
- package/dist/esm/schemas/dictionary.schema.mjs +18 -1
- package/dist/esm/schemas/dictionary.schema.mjs.map +1 -1
- package/dist/esm/schemas/discussion.schema.mjs +18 -1
- package/dist/esm/schemas/discussion.schema.mjs.map +1 -1
- package/dist/esm/schemas/oAuth2.schema.mjs +18 -1
- package/dist/esm/schemas/oAuth2.schema.mjs.map +1 -1
- package/dist/esm/schemas/organization.schema.mjs +21 -1
- package/dist/esm/schemas/organization.schema.mjs.map +1 -1
- package/dist/esm/schemas/plans.schema.mjs +18 -1
- package/dist/esm/schemas/plans.schema.mjs.map +1 -1
- package/dist/esm/schemas/project.schema.mjs +21 -15
- package/dist/esm/schemas/project.schema.mjs.map +1 -1
- package/dist/esm/schemas/session.schema.mjs +39 -0
- package/dist/esm/schemas/session.schema.mjs.map +1 -0
- package/dist/esm/schemas/tag.schema.mjs +21 -4
- package/dist/esm/schemas/tag.schema.mjs.map +1 -1
- package/dist/esm/schemas/user.schema.mjs +18 -48
- package/dist/esm/schemas/user.schema.mjs.map +1 -1
- package/dist/esm/services/dictionary.service.mjs +6 -5
- package/dist/esm/services/dictionary.service.mjs.map +1 -1
- package/dist/esm/services/email.service.mjs +33 -16
- package/dist/esm/services/email.service.mjs.map +1 -1
- package/dist/esm/services/oAuth2.service.mjs +47 -10
- package/dist/esm/services/oAuth2.service.mjs.map +1 -1
- package/dist/esm/services/organization.service.mjs +16 -14
- package/dist/esm/services/organization.service.mjs.map +1 -1
- package/dist/esm/services/project.service.mjs +1 -1
- package/dist/esm/services/project.service.mjs.map +1 -1
- package/dist/esm/services/projectAccessKey.service.mjs +15 -31
- package/dist/esm/services/projectAccessKey.service.mjs.map +1 -1
- package/dist/esm/services/subscription.service.mjs +10 -10
- package/dist/esm/services/subscription.service.mjs.map +1 -1
- package/dist/esm/services/tag.service.mjs.map +1 -1
- package/dist/esm/services/user.service.mjs +2 -40
- package/dist/esm/services/user.service.mjs.map +1 -1
- package/dist/esm/types/user.types.mjs.map +1 -1
- package/dist/esm/utils/AI/aiSdk.mjs.map +1 -1
- package/dist/esm/utils/AI/askDocQuestion/askDocQuestion.mjs +14 -9
- package/dist/esm/utils/AI/askDocQuestion/askDocQuestion.mjs.map +1 -1
- package/dist/esm/utils/AI/autocomplete/PROMPT.md +18 -2
- package/dist/esm/utils/AI/autocomplete/index.mjs +8 -5
- package/dist/esm/utils/AI/autocomplete/index.mjs.map +1 -1
- package/dist/esm/utils/access.mjs +1 -0
- package/dist/esm/utils/access.mjs.map +1 -0
- package/dist/esm/utils/accessControl.mjs +7 -0
- package/dist/esm/utils/accessControl.mjs.map +1 -1
- package/dist/esm/utils/auth/getAuth.mjs +227 -0
- package/dist/esm/utils/auth/getAuth.mjs.map +1 -0
- package/dist/esm/utils/cors.mjs +31 -0
- package/dist/esm/utils/cors.mjs.map +1 -0
- package/dist/esm/utils/ensureMongoDocumentToObject.mjs.map +1 -1
- package/dist/esm/utils/errors/ErrorHandler.mjs +2 -2
- package/dist/esm/utils/errors/ErrorHandler.mjs.map +1 -1
- package/dist/esm/utils/errors/errorCodes.mjs +114 -153
- package/dist/esm/utils/errors/errorCodes.mjs.map +1 -1
- package/dist/esm/utils/filtersAndPagination/getOrganizationFiltersAndPagination.mjs.map +1 -1
- package/dist/esm/utils/filtersAndPagination/getProjectFiltersAndPagination.mjs.map +1 -1
- package/dist/esm/utils/filtersAndPagination/getTagFiltersAndPagination.mjs.map +1 -1
- package/dist/esm/utils/filtersAndPagination/getUserFiltersAndPagination.mjs +1 -1
- package/dist/esm/utils/filtersAndPagination/getUserFiltersAndPagination.mjs.map +1 -1
- package/dist/esm/utils/mapper/dictionary.mjs.map +1 -1
- package/dist/esm/utils/mapper/organization.mjs +8 -7
- package/dist/esm/utils/mapper/organization.mjs.map +1 -1
- package/dist/esm/utils/mapper/project.mjs +5 -18
- package/dist/esm/utils/mapper/project.mjs.map +1 -1
- package/dist/esm/utils/mapper/tag.mjs +4 -2
- package/dist/esm/utils/mapper/tag.mjs.map +1 -1
- package/dist/esm/utils/mapper/user.mjs +6 -3
- package/dist/esm/utils/mapper/user.mjs.map +1 -1
- package/dist/esm/utils/mergeFunctionTypes.mjs +1 -0
- package/dist/esm/utils/mergeFunctionTypes.mjs.map +1 -0
- package/dist/esm/utils/mongoDB/connectDB.mjs +3 -1
- package/dist/esm/utils/mongoDB/connectDB.mjs.map +1 -1
- package/dist/esm/utils/mongoDB/types.mjs +1 -0
- package/dist/esm/utils/mongoDB/types.mjs.map +1 -0
- package/dist/esm/utils/oAuth2.mjs +3 -3
- package/dist/esm/utils/oAuth2.mjs.map +1 -1
- package/dist/esm/utils/permissions.mjs +138 -0
- package/dist/esm/utils/permissions.mjs.map +1 -0
- package/dist/esm/utils/rateLimiter.mjs +53 -0
- package/dist/esm/utils/rateLimiter.mjs.map +1 -0
- package/dist/types/controllers/ai.controller.d.ts +12 -10
- package/dist/types/controllers/ai.controller.d.ts.map +1 -1
- package/dist/types/controllers/dictionary.controller.d.ts +8 -9
- package/dist/types/controllers/dictionary.controller.d.ts.map +1 -1
- package/dist/types/controllers/eventListener.controller.d.ts +2 -3
- package/dist/types/controllers/eventListener.controller.d.ts.map +1 -1
- package/dist/types/controllers/newsletter.controller.d.ts +5 -6
- package/dist/types/controllers/newsletter.controller.d.ts.map +1 -1
- package/dist/types/controllers/oAuth2.controller.d.ts +3 -3
- package/dist/types/controllers/oAuth2.controller.d.ts.map +1 -1
- package/dist/types/controllers/organization.controller.d.ts +22 -23
- package/dist/types/controllers/organization.controller.d.ts.map +1 -1
- package/dist/types/controllers/project.controller.d.ts +13 -14
- package/dist/types/controllers/project.controller.d.ts.map +1 -1
- package/dist/types/controllers/projectAccessKey.controller.d.ts +5 -6
- package/dist/types/controllers/projectAccessKey.controller.d.ts.map +1 -1
- package/dist/types/controllers/search.controller.d.ts +2 -3
- package/dist/types/controllers/search.controller.d.ts.map +1 -1
- package/dist/types/controllers/stripe.controller.d.ts +5 -6
- package/dist/types/controllers/stripe.controller.d.ts.map +1 -1
- package/dist/types/controllers/tag.controller.d.ts +9 -10
- package/dist/types/controllers/tag.controller.d.ts.map +1 -1
- package/dist/types/controllers/user.controller.d.ts +16 -19
- package/dist/types/controllers/user.controller.d.ts.map +1 -1
- package/dist/types/emails/InviteUserEmail.d.ts.map +1 -1
- package/dist/types/emails/OAuthTokenCreatedEmail.d.ts +21 -0
- package/dist/types/emails/OAuthTokenCreatedEmail.d.ts.map +1 -0
- package/dist/types/emails/ResetUserPassword.d.ts.map +1 -1
- package/dist/types/emails/Welcome.d.ts.map +1 -1
- package/dist/types/emails/index.d.ts +3 -2
- package/dist/types/emails/index.d.ts.map +1 -1
- package/dist/types/export.d.ts +2 -3
- package/dist/types/export.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -3
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/middlewares/oAuth2.middleware.d.ts +1 -2
- package/dist/types/middlewares/oAuth2.middleware.d.ts.map +1 -1
- package/dist/types/middlewares/request.middleware.d.ts +3 -3
- package/dist/types/middlewares/request.middleware.d.ts.map +1 -1
- package/dist/types/middlewares/sessionAuth.middleware.d.ts +3 -25
- package/dist/types/middlewares/sessionAuth.middleware.d.ts.map +1 -1
- package/dist/types/models/dictionary.model.d.ts +6 -5
- package/dist/types/models/dictionary.model.d.ts.map +1 -1
- package/dist/types/models/discussion.model.d.ts +7 -2
- package/dist/types/models/discussion.model.d.ts.map +1 -1
- package/dist/types/models/oAuth2.model.d.ts +3 -2
- package/dist/types/models/oAuth2.model.d.ts.map +1 -1
- package/dist/types/models/organization.model.d.ts +2 -12
- package/dist/types/models/organization.model.d.ts.map +1 -1
- package/dist/types/models/project.model.d.ts +2 -11
- package/dist/types/models/project.model.d.ts.map +1 -1
- package/dist/types/models/session.model.d.ts +3 -0
- package/dist/types/models/session.model.d.ts.map +1 -0
- package/dist/types/models/tag.model.d.ts.map +1 -1
- package/dist/types/models/user.model.d.ts.map +1 -1
- package/dist/types/routes/ai.routes.d.ts.map +1 -1
- package/dist/types/routes/organization.routes.d.ts +4 -4
- package/dist/types/routes/project.routes.d.ts +4 -4
- package/dist/types/routes/project.routes.d.ts.map +1 -1
- package/dist/types/routes/tags.routes.d.ts +2 -2
- package/dist/types/routes/user.routes.d.ts +6 -7
- package/dist/types/routes/user.routes.d.ts.map +1 -1
- package/dist/types/schemas/dictionary.schema.d.ts +6 -8
- package/dist/types/schemas/dictionary.schema.d.ts.map +1 -1
- package/dist/types/schemas/discussion.schema.d.ts +7 -5
- package/dist/types/schemas/discussion.schema.d.ts.map +1 -1
- package/dist/types/schemas/oAuth2.schema.d.ts +4 -3
- package/dist/types/schemas/oAuth2.schema.d.ts.map +1 -1
- package/dist/types/schemas/organization.schema.d.ts +6 -10
- package/dist/types/schemas/organization.schema.d.ts.map +1 -1
- package/dist/types/schemas/plans.schema.d.ts +6 -8
- package/dist/types/schemas/plans.schema.d.ts.map +1 -1
- package/dist/types/schemas/project.schema.d.ts +5 -17
- package/dist/types/schemas/project.schema.d.ts.map +1 -1
- package/dist/types/schemas/session.schema.d.ts +14 -0
- package/dist/types/schemas/session.schema.d.ts.map +1 -0
- package/dist/types/schemas/tag.schema.d.ts +6 -8
- package/dist/types/schemas/tag.schema.d.ts.map +1 -1
- package/dist/types/schemas/user.schema.d.ts +7 -5
- package/dist/types/schemas/user.schema.d.ts.map +1 -1
- package/dist/types/services/dictionary.service.d.ts +9 -9
- package/dist/types/services/dictionary.service.d.ts.map +1 -1
- package/dist/types/services/email.service.d.ts +4 -0
- package/dist/types/services/email.service.d.ts.map +1 -1
- package/dist/types/services/oAuth2.service.d.ts +23 -14
- package/dist/types/services/oAuth2.service.d.ts.map +1 -1
- package/dist/types/services/organization.service.d.ts +6 -12
- package/dist/types/services/organization.service.d.ts.map +1 -1
- package/dist/types/services/project.service.d.ts +5 -5
- package/dist/types/services/project.service.d.ts.map +1 -1
- package/dist/types/services/projectAccessKey.service.d.ts +5 -5
- package/dist/types/services/projectAccessKey.service.d.ts.map +1 -1
- package/dist/types/services/subscription.service.d.ts +1 -1
- package/dist/types/services/subscription.service.d.ts.map +1 -1
- package/dist/types/services/tag.service.d.ts +6 -6
- package/dist/types/services/tag.service.d.ts.map +1 -1
- package/dist/types/services/user.service.d.ts +7 -21
- package/dist/types/services/user.service.d.ts.map +1 -1
- package/dist/types/types/dictionary.types.d.ts +11 -9
- package/dist/types/types/dictionary.types.d.ts.map +1 -1
- package/dist/types/types/discussion.types.d.ts +5 -2
- package/dist/types/types/discussion.types.d.ts.map +1 -1
- package/dist/types/types/oAuth2.types.d.ts +5 -2
- package/dist/types/types/oAuth2.types.d.ts.map +1 -1
- package/dist/types/types/organization.types.d.ts +11 -8
- package/dist/types/types/organization.types.d.ts.map +1 -1
- package/dist/types/types/plan.types.d.ts +6 -3
- package/dist/types/types/plan.types.d.ts.map +1 -1
- package/dist/types/types/project.types.d.ts +25 -25
- package/dist/types/types/project.types.d.ts.map +1 -1
- package/dist/types/types/session.types.d.ts +31 -17
- package/dist/types/types/session.types.d.ts.map +1 -1
- package/dist/types/types/tag.types.d.ts +8 -6
- package/dist/types/types/tag.types.d.ts.map +1 -1
- package/dist/types/types/user.types.d.ts +14 -21
- package/dist/types/types/user.types.d.ts.map +1 -1
- package/dist/types/utils/AI/aiSdk.d.ts +2 -2
- package/dist/types/utils/AI/aiSdk.d.ts.map +1 -1
- package/dist/types/utils/AI/askDocQuestion/askDocQuestion.d.ts.map +1 -1
- package/dist/types/utils/AI/autocomplete/index.d.ts +4 -1
- package/dist/types/utils/AI/autocomplete/index.d.ts.map +1 -1
- package/dist/types/utils/access.d.ts +1 -0
- package/dist/types/utils/access.d.ts.map +1 -0
- package/dist/types/utils/accessControl.d.ts +9 -9
- package/dist/types/utils/accessControl.d.ts.map +1 -1
- package/dist/types/utils/auth/getAuth.d.ts +7 -0
- package/dist/types/utils/auth/getAuth.d.ts.map +1 -0
- package/dist/types/utils/cors.d.ts +3 -0
- package/dist/types/utils/cors.d.ts.map +1 -0
- package/dist/types/utils/ensureMongoDocumentToObject.d.ts +2 -2
- package/dist/types/utils/ensureMongoDocumentToObject.d.ts.map +1 -1
- package/dist/types/utils/errors/ErrorHandler.d.ts +1 -1
- package/dist/types/utils/errors/ErrorHandler.d.ts.map +1 -1
- package/dist/types/utils/errors/errorCodes.d.ts +57 -96
- package/dist/types/utils/errors/errorCodes.d.ts.map +1 -1
- package/dist/types/utils/filtersAndPagination/getOrganizationFiltersAndPagination.d.ts +1 -1
- package/dist/types/utils/filtersAndPagination/getOrganizationFiltersAndPagination.d.ts.map +1 -1
- package/dist/types/utils/filtersAndPagination/getProjectFiltersAndPagination.d.ts +1 -1
- package/dist/types/utils/filtersAndPagination/getProjectFiltersAndPagination.d.ts.map +1 -1
- package/dist/types/utils/filtersAndPagination/getTagFiltersAndPagination.d.ts +1 -1
- package/dist/types/utils/filtersAndPagination/getTagFiltersAndPagination.d.ts.map +1 -1
- package/dist/types/utils/filtersAndPagination/getUserFiltersAndPagination.d.ts +1 -1
- package/dist/types/utils/filtersAndPagination/getUserFiltersAndPagination.d.ts.map +1 -1
- package/dist/types/utils/mapper/dictionary.d.ts +1 -1
- package/dist/types/utils/mapper/dictionary.d.ts.map +1 -1
- package/dist/types/utils/mapper/organization.d.ts +3 -2
- package/dist/types/utils/mapper/organization.d.ts.map +1 -1
- package/dist/types/utils/mapper/project.d.ts +4 -5
- package/dist/types/utils/mapper/project.d.ts.map +1 -1
- package/dist/types/utils/mapper/tag.d.ts +1 -1
- package/dist/types/utils/mapper/tag.d.ts.map +1 -1
- package/dist/types/utils/mapper/user.d.ts +2 -2
- package/dist/types/utils/mapper/user.d.ts.map +1 -1
- package/dist/types/utils/mergeFunctionTypes.d.ts +18 -0
- package/dist/types/utils/mergeFunctionTypes.d.ts.map +1 -0
- package/dist/types/utils/mongoDB/connectDB.d.ts +1 -1
- package/dist/types/utils/mongoDB/connectDB.d.ts.map +1 -1
- package/dist/types/utils/mongoDB/types.d.ts +11 -0
- package/dist/types/utils/mongoDB/types.d.ts.map +1 -0
- package/dist/types/utils/permissions.d.ts +115 -0
- package/dist/types/utils/permissions.d.ts.map +1 -0
- package/dist/types/utils/rateLimiter.d.ts +4 -0
- package/dist/types/utils/rateLimiter.d.ts.map +1 -0
- package/package.json +15 -15
- package/dist/cjs/controllers/sessionAuth.controller.cjs +0 -839
- package/dist/cjs/controllers/sessionAuth.controller.cjs.map +0 -1
- package/dist/cjs/routes/sessionAuth.routes.cjs +0 -154
- package/dist/cjs/routes/sessionAuth.routes.cjs.map +0 -1
- package/dist/cjs/services/sessionAuth.service.cjs +0 -385
- package/dist/cjs/services/sessionAuth.service.cjs.map +0 -1
- package/dist/cjs/utils/CSRF.cjs +0 -50
- package/dist/cjs/utils/CSRF.cjs.map +0 -1
- package/dist/cjs/utils/cookies.cjs +0 -59
- package/dist/cjs/utils/cookies.cjs.map +0 -1
- package/dist/esm/controllers/sessionAuth.controller.mjs +0 -790
- package/dist/esm/controllers/sessionAuth.controller.mjs.map +0 -1
- package/dist/esm/routes/sessionAuth.routes.mjs +0 -142
- package/dist/esm/routes/sessionAuth.routes.mjs.map +0 -1
- package/dist/esm/services/sessionAuth.service.mjs +0 -337
- package/dist/esm/services/sessionAuth.service.mjs.map +0 -1
- package/dist/esm/utils/CSRF.mjs +0 -24
- package/dist/esm/utils/CSRF.mjs.map +0 -1
- package/dist/esm/utils/cookies.mjs +0 -32
- package/dist/esm/utils/cookies.mjs.map +0 -1
- package/dist/types/controllers/sessionAuth.controller.d.ts +0 -140
- package/dist/types/controllers/sessionAuth.controller.d.ts.map +0 -1
- package/dist/types/routes/sessionAuth.routes.d.ts +0 -77
- package/dist/types/routes/sessionAuth.routes.d.ts.map +0 -1
- package/dist/types/services/sessionAuth.service.d.ts +0 -141
- package/dist/types/services/sessionAuth.service.d.ts.map +0 -1
- package/dist/types/utils/CSRF.d.ts +0 -3
- package/dist/types/utils/CSRF.d.ts.map +0 -1
- package/dist/types/utils/cookies.d.ts +0 -12
- package/dist/types/utils/cookies.d.ts.map +0 -1
|
@@ -66,18 +66,15 @@ const ValidateUserEmailEN = ({
|
|
|
66
66
|
children: "Validate Email"
|
|
67
67
|
}
|
|
68
68
|
) }),
|
|
69
|
-
/* @__PURE__ */ (0, import_jsx_runtime.
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
}
|
|
79
|
-
)
|
|
80
|
-
] }),
|
|
69
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.Text, { className: "text-[14px] leading-[24px] text-black", children: "or copy and paste this URL into your browser:" }),
|
|
70
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
71
|
+
import_components.Link,
|
|
72
|
+
{
|
|
73
|
+
href: validationLink,
|
|
74
|
+
className: "text-[#8a8a8a] no-underline text-[10px]",
|
|
75
|
+
children: validationLink
|
|
76
|
+
}
|
|
77
|
+
),
|
|
81
78
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.Hr, { className: "mx-0 my-[26px] w-full border border-solid border-[#eaeaea]" }),
|
|
82
79
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_components.Text, { className: "text-[12px] leading-[24px] text-[#666666]", children: [
|
|
83
80
|
"This email was intended for",
|
|
@@ -129,18 +126,15 @@ const ValidateUserEmailFR = ({
|
|
|
129
126
|
children: "Valider l'e-mail"
|
|
130
127
|
}
|
|
131
128
|
) }),
|
|
132
|
-
/* @__PURE__ */ (0, import_jsx_runtime.
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
}
|
|
142
|
-
)
|
|
143
|
-
] }),
|
|
129
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.Text, { className: "text-[14px] leading-[24px] text-black", children: "ou copiez et collez cette URL dans votre navigateur :" }),
|
|
130
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
131
|
+
import_components.Link,
|
|
132
|
+
{
|
|
133
|
+
href: validationLink,
|
|
134
|
+
className: "text-[#8a8a8a] no-underline text-[10px]",
|
|
135
|
+
children: validationLink
|
|
136
|
+
}
|
|
137
|
+
),
|
|
144
138
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.Hr, { className: "mx-0 my-[26px] w-full border border-solid border-[#eaeaea]" }),
|
|
145
139
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_components.Text, { className: "text-[12px] leading-[24px] text-[#666666]", children: [
|
|
146
140
|
"Cet e-mail \xE9tait destin\xE9 \xE0",
|
|
@@ -192,18 +186,15 @@ const ValidateUserEmailES = ({
|
|
|
192
186
|
children: "Validar Email"
|
|
193
187
|
}
|
|
194
188
|
) }),
|
|
195
|
-
/* @__PURE__ */ (0, import_jsx_runtime.
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
}
|
|
205
|
-
)
|
|
206
|
-
] }),
|
|
189
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.Text, { className: "text-[14px] leading-[24px] text-black", children: "o copia y pega esta URL en tu navegador:" }),
|
|
190
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
191
|
+
import_components.Link,
|
|
192
|
+
{
|
|
193
|
+
href: validationLink,
|
|
194
|
+
className: "text-[#8a8a8a] no-underline text-[10px]",
|
|
195
|
+
children: validationLink
|
|
196
|
+
}
|
|
197
|
+
),
|
|
207
198
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.Hr, { className: "mx-0 my-[26px] w-full border border-solid border-[#eaeaea]" }),
|
|
208
199
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_components.Text, { className: "text-[12px] leading-[24px] text-[#666666]", children: [
|
|
209
200
|
"Este correo fue enviado a",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/emails/ValidateUserEmail.tsx"],"sourcesContent":["import {\n Body,\n Button,\n Container,\n Head,\n Heading,\n Hr,\n Html,\n Img,\n Link,\n Preview,\n Section,\n Text,\n Tailwind,\n} from '@react-email/components';\n\nexport type ValidateUserEmailProps = {\n username: string;\n validationLink: string;\n};\n\nexport const ValidateUserEmailEN = ({\n username,\n validationLink,\n}: ValidateUserEmailProps) => {\n const previewText = `Validate your email for Intlayer`;\n\n return (\n <Html>\n <Head />\n <Preview>{previewText}</Preview>\n <Tailwind>\n <Body className=\"m-auto px-2 font-sans\">\n <Container className=\"mx-auto my-[40px] max-w-[465px] rounded-xl border border-solid border-[#eaeaea] bg-white p-[20px]\">\n <Section className=\"mt-[32px]\">\n <Img\n src=\"https://intlayer.org/apple-touch-icon.png\"\n width=\"40\"\n height=\"37\"\n alt=\"Intlayer\"\n className=\"mx-auto my-0\"\n />\n </Section>\n <Heading className=\"mx-0 my-[30px] p-0 text-center text-[24px] font-normal text-black\">\n Validate your email for <strong>Intlayer</strong>\n </Heading>\n <Text className=\"text-[14px] leading-[24px] text-black\">\n Hello {username},\n </Text>\n <Text className=\"text-[14px] leading-[24px] text-black\">\n Please validate your email address to complete your registration\n on <strong>Intlayer</strong>.\n </Text>\n\n <Section className=\"my-[32px] text-center\">\n <Button\n className=\"rounded-md bg-[#000000] px-5 py-3 text-center text-[12px] font-semibold text-white no-underline\"\n href={validationLink}\n >\n Validate Email\n </Button>\n </Section>\n <Text className=\"text-[14px] leading-[24px] text-black\">\n or copy and paste this URL into your browser:{' '}\n <Link\n href={validationLink}\n className=\"text-[#E879BA] no-underline\"\n >\n {validationLink}\n </Link>\n </Text>\n <Hr className=\"mx-0 my-[26px] w-full border border-solid border-[#eaeaea]\" />\n <Text className=\"text-[12px] leading-[24px] text-[#666666]\">\n This email was intended for{' '}\n <span className=\"text-black\">{username}</span>. If you were not\n expecting this email, you can ignore it. If you are concerned\n about your account's safety, please reply to this email to get in\n touch with us.\n </Text>\n </Container>\n </Body>\n </Tailwind>\n </Html>\n );\n};\n\nexport const ValidateUserEmailFR = ({\n username,\n validationLink,\n}: ValidateUserEmailProps) => {\n const previewText = `Validez votre e-mail pour Intlayer`;\n\n return (\n <Html>\n <Head />\n <Preview>{previewText}</Preview>\n <Tailwind>\n <Body className=\"m-auto px-2 font-sans\">\n <Container className=\"mx-auto my-[40px] max-w-[465px] rounded-xl border border-solid border-[#eaeaea] bg-white p-[20px]\">\n <Section className=\"mt-[32px]\">\n <Img\n src=\"https://intlayer.org/apple-touch-icon.png\"\n width=\"40\"\n height=\"37\"\n alt=\"Intlayer\"\n className=\"mx-auto my-0\"\n />\n </Section>\n <Heading className=\"mx-0 my-[30px] p-0 text-center text-[24px] font-normal text-black\">\n Validez votre e-mail pour <strong>Intlayer</strong>\n </Heading>\n <Text className=\"text-[14px] leading-[24px] text-black\">\n Bonjour {username},\n </Text>\n <Text className=\"text-[14px] leading-[24px] text-black\">\n Veuillez valider votre adresse e-mail pour compléter votre\n inscription sur <strong>Intlayer</strong>.\n </Text>\n <Section className=\"my-[32px] text-center\">\n <Button\n className=\"rounded-md bg-[#000000] px-5 py-3 text-center text-[12px] font-semibold text-white no-underline\"\n href={validationLink}\n >\n Valider l'e-mail\n </Button>\n </Section>\n <Text className=\"text-[14px] leading-[24px] text-black\">\n ou copiez et collez cette URL dans votre navigateur :{' '}\n <Link\n href={validationLink}\n className=\"text-[#E879BA] no-underline\"\n >\n {validationLink}\n </Link>\n </Text>\n <Hr className=\"mx-0 my-[26px] w-full border border-solid border-[#eaeaea]\" />\n <Text className=\"text-[12px] leading-[24px] text-[#666666]\">\n Cet e-mail était destiné à{' '}\n <span className=\"text-black\">{username}</span>. Si vous\n n'attendiez pas cet e-mail, vous pouvez l'ignorer. Si vous êtes\n préoccupé par la sécurité de votre compte, veuillez répondre à cet\n e-mail pour nous contacter.\n </Text>\n </Container>\n </Body>\n </Tailwind>\n </Html>\n );\n};\n\nexport const ValidateUserEmailES = ({\n username,\n validationLink,\n}: ValidateUserEmailProps) => {\n const previewText = `Valida tu correo electrónico para Intlayer`;\n\n return (\n <Html>\n <Head />\n <Preview>{previewText}</Preview>\n <Tailwind>\n <Body className=\"m-auto px-2 font-sans\">\n <Container className=\"mx-auto my-[40px] max-w-[465px] rounded-xl border border-solid border-[#eaeaea] bg-white p-[20px]\">\n <Section className=\"mt-[32px]\">\n <Img\n src=\"https://intlayer.org/apple-touch-icon.png\"\n width=\"40\"\n height=\"37\"\n alt=\"Intlayer\"\n className=\"mx-auto my-0\"\n />\n </Section>\n <Heading className=\"mx-0 my-[30px] p-0 text-center text-[24px] font-normal text-black\">\n Valida tu correo electrónico para <strong>Intlayer</strong>\n </Heading>\n <Text className=\"text-[14px] leading-[24px] text-black\">\n Hola {username},\n </Text>\n <Text className=\"text-[14px] leading-[24px] text-black\">\n Por favor valida tu dirección de correo electrónico para completar\n tu registro en <strong>Intlayer</strong>.\n </Text>\n <Section className=\"my-[32px] text-center\">\n <Button\n className=\"rounded-md bg-[#000000] px-5 py-3 text-center text-[12px] font-semibold text-white no-underline\"\n href={validationLink}\n >\n Validar Email\n </Button>\n </Section>\n <Text className=\"text-[14px] leading-[24px] text-black\">\n o copia y pega esta URL en tu navegador:{' '}\n <Link\n href={validationLink}\n className=\"text-[#E879BA] no-underline\"\n >\n {validationLink}\n </Link>\n </Text>\n <Hr className=\"mx-0 my-[26px] w-full border border-solid border-[#eaeaea]\" />\n <Text className=\"text-[12px] leading-[24px] text-[#666666]\">\n Este correo fue enviado a{' '}\n <span className=\"text-black\">{username}</span>. Si no esperabas\n este correo, puedes ignorarlo. Si estás preocupado por la\n seguridad de tu cuenta, por favor responde a este correo para\n contactarte con nosotros.\n </Text>\n </Container>\n </Body>\n </Tailwind>\n </Html>\n );\n};\n\nconst previewProps: ValidateUserEmailProps = {\n username: 'alanturing',\n validationLink: 'https://intlayer.org/validate/foo',\n};\n\nValidateUserEmailEN.PreviewProps = previewProps;\nValidateUserEmailFR.PreviewProps = previewProps;\nValidateUserEmailES.PreviewProps = previewProps;\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../src/emails/ValidateUserEmail.tsx"],"sourcesContent":["import {\n Body,\n Button,\n Container,\n Head,\n Heading,\n Hr,\n Html,\n Img,\n Link,\n Preview,\n Section,\n Tailwind,\n Text,\n} from '@react-email/components';\n\nexport type ValidateUserEmailProps = {\n username: string;\n validationLink: string;\n};\n\nexport const ValidateUserEmailEN = ({\n username,\n validationLink,\n}: ValidateUserEmailProps) => {\n const previewText = `Validate your email for Intlayer`;\n\n return (\n <Html>\n <Head />\n <Preview>{previewText}</Preview>\n <Tailwind>\n <Body className=\"m-auto px-2 font-sans\">\n <Container className=\"mx-auto my-[40px] max-w-[465px] rounded-xl border border-solid border-[#eaeaea] bg-white p-[20px]\">\n <Section className=\"mt-[32px]\">\n <Img\n src=\"https://intlayer.org/apple-touch-icon.png\"\n width=\"40\"\n height=\"37\"\n alt=\"Intlayer\"\n className=\"mx-auto my-0\"\n />\n </Section>\n <Heading className=\"mx-0 my-[30px] p-0 text-center text-[24px] font-normal text-black\">\n Validate your email for <strong>Intlayer</strong>\n </Heading>\n <Text className=\"text-[14px] leading-[24px] text-black\">\n Hello {username},\n </Text>\n <Text className=\"text-[14px] leading-[24px] text-black\">\n Please validate your email address to complete your registration\n on <strong>Intlayer</strong>.\n </Text>\n\n <Section className=\"my-[32px] text-center\">\n <Button\n className=\"rounded-md bg-[#000000] px-5 py-3 text-center text-[12px] font-semibold text-white no-underline\"\n href={validationLink}\n >\n Validate Email\n </Button>\n </Section>\n <Text className=\"text-[14px] leading-[24px] text-black\">\n or copy and paste this URL into your browser:\n </Text>\n <Link\n href={validationLink}\n className=\"text-[#8a8a8a] no-underline text-[10px]\"\n >\n {validationLink}\n </Link>\n <Hr className=\"mx-0 my-[26px] w-full border border-solid border-[#eaeaea]\" />\n <Text className=\"text-[12px] leading-[24px] text-[#666666]\">\n This email was intended for{' '}\n <span className=\"text-black\">{username}</span>. If you were not\n expecting this email, you can ignore it. If you are concerned\n about your account's safety, please reply to this email to get in\n touch with us.\n </Text>\n </Container>\n </Body>\n </Tailwind>\n </Html>\n );\n};\n\nexport const ValidateUserEmailFR = ({\n username,\n validationLink,\n}: ValidateUserEmailProps) => {\n const previewText = `Validez votre e-mail pour Intlayer`;\n\n return (\n <Html>\n <Head />\n <Preview>{previewText}</Preview>\n <Tailwind>\n <Body className=\"m-auto px-2 font-sans\">\n <Container className=\"mx-auto my-[40px] max-w-[465px] rounded-xl border border-solid border-[#eaeaea] bg-white p-[20px]\">\n <Section className=\"mt-[32px]\">\n <Img\n src=\"https://intlayer.org/apple-touch-icon.png\"\n width=\"40\"\n height=\"37\"\n alt=\"Intlayer\"\n className=\"mx-auto my-0\"\n />\n </Section>\n <Heading className=\"mx-0 my-[30px] p-0 text-center text-[24px] font-normal text-black\">\n Validez votre e-mail pour <strong>Intlayer</strong>\n </Heading>\n <Text className=\"text-[14px] leading-[24px] text-black\">\n Bonjour {username},\n </Text>\n <Text className=\"text-[14px] leading-[24px] text-black\">\n Veuillez valider votre adresse e-mail pour compléter votre\n inscription sur <strong>Intlayer</strong>.\n </Text>\n <Section className=\"my-[32px] text-center\">\n <Button\n className=\"rounded-md bg-[#000000] px-5 py-3 text-center text-[12px] font-semibold text-white no-underline\"\n href={validationLink}\n >\n Valider l'e-mail\n </Button>\n </Section>\n <Text className=\"text-[14px] leading-[24px] text-black\">\n ou copiez et collez cette URL dans votre navigateur :\n </Text>\n <Link\n href={validationLink}\n className=\"text-[#8a8a8a] no-underline text-[10px]\"\n >\n {validationLink}\n </Link>\n <Hr className=\"mx-0 my-[26px] w-full border border-solid border-[#eaeaea]\" />\n <Text className=\"text-[12px] leading-[24px] text-[#666666]\">\n Cet e-mail était destiné à{' '}\n <span className=\"text-black\">{username}</span>. Si vous\n n'attendiez pas cet e-mail, vous pouvez l'ignorer. Si vous êtes\n préoccupé par la sécurité de votre compte, veuillez répondre à cet\n e-mail pour nous contacter.\n </Text>\n </Container>\n </Body>\n </Tailwind>\n </Html>\n );\n};\n\nexport const ValidateUserEmailES = ({\n username,\n validationLink,\n}: ValidateUserEmailProps) => {\n const previewText = `Valida tu correo electrónico para Intlayer`;\n\n return (\n <Html>\n <Head />\n <Preview>{previewText}</Preview>\n <Tailwind>\n <Body className=\"m-auto px-2 font-sans\">\n <Container className=\"mx-auto my-[40px] max-w-[465px] rounded-xl border border-solid border-[#eaeaea] bg-white p-[20px]\">\n <Section className=\"mt-[32px]\">\n <Img\n src=\"https://intlayer.org/apple-touch-icon.png\"\n width=\"40\"\n height=\"37\"\n alt=\"Intlayer\"\n className=\"mx-auto my-0\"\n />\n </Section>\n <Heading className=\"mx-0 my-[30px] p-0 text-center text-[24px] font-normal text-black\">\n Valida tu correo electrónico para <strong>Intlayer</strong>\n </Heading>\n <Text className=\"text-[14px] leading-[24px] text-black\">\n Hola {username},\n </Text>\n <Text className=\"text-[14px] leading-[24px] text-black\">\n Por favor valida tu dirección de correo electrónico para completar\n tu registro en <strong>Intlayer</strong>.\n </Text>\n <Section className=\"my-[32px] text-center\">\n <Button\n className=\"rounded-md bg-[#000000] px-5 py-3 text-center text-[12px] font-semibold text-white no-underline\"\n href={validationLink}\n >\n Validar Email\n </Button>\n </Section>\n <Text className=\"text-[14px] leading-[24px] text-black\">\n o copia y pega esta URL en tu navegador:\n </Text>\n <Link\n href={validationLink}\n className=\"text-[#8a8a8a] no-underline text-[10px]\"\n >\n {validationLink}\n </Link>\n <Hr className=\"mx-0 my-[26px] w-full border border-solid border-[#eaeaea]\" />\n <Text className=\"text-[12px] leading-[24px] text-[#666666]\">\n Este correo fue enviado a{' '}\n <span className=\"text-black\">{username}</span>. Si no esperabas\n este correo, puedes ignorarlo. Si estás preocupado por la\n seguridad de tu cuenta, por favor responde a este correo para\n contactarte con nosotros.\n </Text>\n </Container>\n </Body>\n </Tailwind>\n </Html>\n );\n};\n\nconst previewProps: ValidateUserEmailProps = {\n username: 'alanturing',\n validationLink: 'https://intlayer.org/validate/foo',\n};\n\nValidateUserEmailEN.PreviewProps = previewProps;\nValidateUserEmailFR.PreviewProps = previewProps;\nValidateUserEmailES.PreviewProps = previewProps;\n"],"mappings":"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","names":[]}
|
|
@@ -63,11 +63,15 @@ const WelcomeEmailEN = ({ username, loginLink }) => {
|
|
|
63
63
|
children: "Log In to Your Account"
|
|
64
64
|
}
|
|
65
65
|
) }),
|
|
66
|
-
/* @__PURE__ */ (0, import_jsx_runtime.
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
66
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.Text, { className: "text-[14px] leading-[24px] text-black", children: "or copy and paste this URL into your browser:" }),
|
|
67
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
68
|
+
import_components.Link,
|
|
69
|
+
{
|
|
70
|
+
href: loginLink,
|
|
71
|
+
className: "text-[#8a8a8a] no-underline text-[10px]",
|
|
72
|
+
children: loginLink
|
|
73
|
+
}
|
|
74
|
+
),
|
|
71
75
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.Hr, { className: "mx-0 my-[26px] w-full border border-solid border-[#eaeaea]" }),
|
|
72
76
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.Text, { className: "text-[12px] leading-[24px] text-[#666666]", children: "If you have any questions or need help getting started, feel free to reply to this email. We're here to help!" })
|
|
73
77
|
] }) }) })
|
|
@@ -111,11 +115,15 @@ const WelcomeEmailFR = ({ username, loginLink }) => {
|
|
|
111
115
|
children: "Connectez-vous \xE0 votre compte"
|
|
112
116
|
}
|
|
113
117
|
) }),
|
|
114
|
-
/* @__PURE__ */ (0, import_jsx_runtime.
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
118
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.Text, { className: "text-[14px] leading-[24px] text-black", children: "ou copiez et collez cette URL dans votre navigateur :" }),
|
|
119
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
120
|
+
import_components.Link,
|
|
121
|
+
{
|
|
122
|
+
href: loginLink,
|
|
123
|
+
className: "text-[#8a8a8a] no-underline text-[10px]",
|
|
124
|
+
children: loginLink
|
|
125
|
+
}
|
|
126
|
+
),
|
|
119
127
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.Hr, { className: "mx-0 my-[26px] w-full border border-solid border-[#eaeaea]" }),
|
|
120
128
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.Text, { className: "text-[12px] leading-[24px] text-[#666666]", children: "Si vous avez des questions ou besoin d'aide pour commencer, n'h\xE9sitez pas \xE0 r\xE9pondre \xE0 cet e-mail. Nous sommes l\xE0 pour vous aider !" })
|
|
121
129
|
] }) }) })
|
|
@@ -159,11 +167,15 @@ const WelcomeEmailES = ({ username, loginLink }) => {
|
|
|
159
167
|
children: "Inicia sesi\xF3n en tu cuenta"
|
|
160
168
|
}
|
|
161
169
|
) }),
|
|
162
|
-
/* @__PURE__ */ (0, import_jsx_runtime.
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
170
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.Text, { className: "text-[14px] leading-[24px] text-black", children: "o copia y pega esta URL en tu navegador:" }),
|
|
171
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
172
|
+
import_components.Link,
|
|
173
|
+
{
|
|
174
|
+
href: loginLink,
|
|
175
|
+
className: "text-[#8a8a8a] no-underline text-[10px]",
|
|
176
|
+
children: loginLink
|
|
177
|
+
}
|
|
178
|
+
),
|
|
167
179
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.Hr, { className: "mx-0 my-[26px] w-full border border-solid border-[#eaeaea]" }),
|
|
168
180
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.Text, { className: "text-[12px] leading-[24px] text-[#666666]", children: "Si tienes preguntas o necesitas ayuda para comenzar, no dudes en responder a este correo electr\xF3nico. \xA1Estamos aqu\xED para ayudarte!" })
|
|
169
181
|
] }) }) })
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/emails/Welcome.tsx"],"sourcesContent":["import {\n Body,\n Button,\n Container,\n Head,\n Heading,\n Hr,\n Html,\n Img,\n Preview,\n Section,\n Text,\n Tailwind,\n Link,\n} from '@react-email/components';\n\nexport type WelcomeEmailProps = {\n username: string;\n loginLink: string;\n};\n\nexport const WelcomeEmailEN = ({ username, loginLink }: WelcomeEmailProps) => {\n const previewText = `Welcome to Intlayer!`;\n\n return (\n <Html>\n <Head />\n <Preview>{previewText}</Preview>\n <Tailwind>\n <Body className=\"m-auto px-2 font-sans\">\n <Container className=\"mx-auto my-[40px] max-w-[465px] rounded-xl border border-solid border-[#eaeaea] bg-white p-[20px]\">\n <Section className=\"mt-[32px]\">\n <Img\n src=\"https://intlayer.org/apple-touch-icon.png\"\n width=\"40\"\n height=\"37\"\n alt=\"Intlayer\"\n className=\"mx-auto my-0\"\n />\n </Section>\n <Heading className=\"mx-0 my-[30px] p-0 text-center text-[24px] font-normal text-black\">\n Welcome to <strong>Intlayer</strong>\n </Heading>\n <Text className=\"text-[14px] leading-[24px] text-black\">\n Hello {username},\n </Text>\n <Text className=\"text-[14px] leading-[24px] text-black\">\n We're excited to have you on board! Get started by logging in to\n your <strong>Intlayer</strong> account.\n </Text>\n\n <Section className=\"my-[32px] text-center\">\n <Button\n className=\"rounded-md bg-[#000000] px-5 py-3 text-center text-[12px] font-semibold text-white no-underline\"\n href={loginLink}\n >\n Log In to Your Account\n </Button>\n </Section>\n <Text className=\"text-[14px] leading-[24px] text-black\">\n or copy and paste this URL into your browser:{' '}\n <Link href={loginLink} className=\"text-[#E879BA] no-underline\">\n {loginLink}\n </Link>\n </Text>\n <Hr className=\"mx-0 my-[26px] w-full border border-solid border-[#eaeaea]\" />\n <Text className=\"text-[12px] leading-[24px] text-[#666666]\">\n If you have any questions or need help getting started, feel free\n to reply to this email. We're here to help!\n </Text>\n </Container>\n </Body>\n </Tailwind>\n </Html>\n );\n};\n\nexport const WelcomeEmailFR = ({ username, loginLink }: WelcomeEmailProps) => {\n const previewText = `Bienvenue chez Intlayer !`;\n\n return (\n <Html>\n <Head />\n <Preview>{previewText}</Preview>\n <Tailwind>\n <Body className=\"m-auto px-2 font-sans\">\n <Container className=\"mx-auto my-[40px] max-w-[465px] rounded-xl border border-solid border-[#eaeaea] bg-white p-[20px]\">\n <Section className=\"mt-[32px]\">\n <Img\n src=\"https://intlayer.org/apple-touch-icon.png\"\n width=\"40\"\n height=\"37\"\n alt=\"Intlayer\"\n className=\"mx-auto my-0\"\n />\n </Section>\n <Heading className=\"mx-0 my-[30px] p-0 text-center text-[24px] font-normal text-black\">\n Bienvenue chez <strong>Intlayer</strong>\n </Heading>\n <Text className=\"text-[14px] leading-[24px] text-black\">\n Bonjour {username},\n </Text>\n <Text className=\"text-[14px] leading-[24px] text-black\">\n Nous sommes ravis de vous avoir parmi nous ! Commencez par vous\n connecter à votre compte <strong>Intlayer</strong>.\n </Text>\n <Section className=\"my-[32px] text-center\">\n <Button\n className=\"rounded-md bg-[#000000] px-5 py-3 text-center text-[12px] font-semibold text-white no-underline\"\n href={loginLink}\n >\n Connectez-vous à votre compte\n </Button>\n </Section>\n <Text className=\"text-[14px] leading-[24px] text-black\">\n ou copiez et collez cette URL dans votre navigateur :{' '}\n <Link href={loginLink} className=\"text-[#E879BA] no-underline\">\n {loginLink}\n </Link>\n </Text>\n <Hr className=\"mx-0 my-[26px] w-full border border-solid border-[#eaeaea]\" />\n <Text className=\"text-[12px] leading-[24px] text-[#666666]\">\n Si vous avez des questions ou besoin d'aide pour commencer,\n n'hésitez pas à répondre à cet e-mail. Nous sommes là pour vous\n aider !\n </Text>\n </Container>\n </Body>\n </Tailwind>\n </Html>\n );\n};\n\nexport const WelcomeEmailES = ({ username, loginLink }: WelcomeEmailProps) => {\n const previewText = `¡Bienvenido a Intlayer!`;\n\n return (\n <Html>\n <Head />\n <Preview>{previewText}</Preview>\n <Tailwind>\n <Body className=\"m-auto px-2 font-sans\">\n <Container className=\"mx-auto my-[40px] max-w-[465px] rounded-xl border border-solid border-[#eaeaea] bg-white p-[20px]\">\n <Section className=\"mt-[32px]\">\n <Img\n src=\"https://intlayer.org/apple-touch-icon.png\"\n width=\"40\"\n height=\"37\"\n alt=\"Intlayer\"\n className=\"mx-auto my-0\"\n />\n </Section>\n <Heading className=\"mx-0 my-[30px] p-0 text-center text-[24px] font-normal text-black\">\n Bienvenido a <strong>Intlayer</strong>\n </Heading>\n <Text className=\"text-[14px] leading-[24px] text-black\">\n Hola {username},\n </Text>\n <Text className=\"text-[14px] leading-[24px] text-black\">\n ¡Estamos emocionados de tenerte a bordo! Comienza iniciando sesión\n en tu cuenta de <strong>Intlayer</strong>.\n </Text>\n <Section className=\"my-[32px] text-center\">\n <Button\n className=\"rounded-md bg-[#000000] px-5 py-3 text-center text-[12px] font-semibold text-white no-underline\"\n href={loginLink}\n >\n Inicia sesión en tu cuenta\n </Button>\n </Section>\n <Text className=\"text-[14px] leading-[24px] text-black\">\n o copia y pega esta URL en tu navegador:{' '}\n <Link href={loginLink} className=\"text-[#E879BA] no-underline\">\n {loginLink}\n </Link>\n </Text>\n <Hr className=\"mx-0 my-[26px] w-full border border-solid border-[#eaeaea]\" />\n <Text className=\"text-[12px] leading-[24px] text-[#666666]\">\n Si tienes preguntas o necesitas ayuda para comenzar, no dudes en\n responder a este correo electrónico. ¡Estamos aquí para ayudarte!\n </Text>\n </Container>\n </Body>\n </Tailwind>\n </Html>\n );\n};\n\nconst PreviewProps: WelcomeEmailProps = {\n username: 'alanturing',\n loginLink: 'https://intlayer.org/login',\n};\n\nWelcomeEmailEN.PreviewProps = PreviewProps;\nWelcomeEmailFR.PreviewProps = PreviewProps;\nWelcomeEmailES.PreviewProps = PreviewProps;\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../src/emails/Welcome.tsx"],"sourcesContent":["import {\n Body,\n Button,\n Container,\n Head,\n Heading,\n Hr,\n Html,\n Img,\n Link,\n Preview,\n Section,\n Tailwind,\n Text,\n} from '@react-email/components';\n\nexport type WelcomeEmailProps = {\n username: string;\n loginLink: string;\n};\n\nexport const WelcomeEmailEN = ({ username, loginLink }: WelcomeEmailProps) => {\n const previewText = `Welcome to Intlayer!`;\n\n return (\n <Html>\n <Head />\n <Preview>{previewText}</Preview>\n <Tailwind>\n <Body className=\"m-auto px-2 font-sans\">\n <Container className=\"mx-auto my-[40px] max-w-[465px] rounded-xl border border-solid border-[#eaeaea] bg-white p-[20px]\">\n <Section className=\"mt-[32px]\">\n <Img\n src=\"https://intlayer.org/apple-touch-icon.png\"\n width=\"40\"\n height=\"37\"\n alt=\"Intlayer\"\n className=\"mx-auto my-0\"\n />\n </Section>\n <Heading className=\"mx-0 my-[30px] p-0 text-center text-[24px] font-normal text-black\">\n Welcome to <strong>Intlayer</strong>\n </Heading>\n <Text className=\"text-[14px] leading-[24px] text-black\">\n Hello {username},\n </Text>\n <Text className=\"text-[14px] leading-[24px] text-black\">\n We're excited to have you on board! Get started by logging in to\n your <strong>Intlayer</strong> account.\n </Text>\n\n <Section className=\"my-[32px] text-center\">\n <Button\n className=\"rounded-md bg-[#000000] px-5 py-3 text-center text-[12px] font-semibold text-white no-underline\"\n href={loginLink}\n >\n Log In to Your Account\n </Button>\n </Section>\n <Text className=\"text-[14px] leading-[24px] text-black\">\n or copy and paste this URL into your browser:\n </Text>\n <Link\n href={loginLink}\n className=\"text-[#8a8a8a] no-underline text-[10px]\"\n >\n {loginLink}\n </Link>\n <Hr className=\"mx-0 my-[26px] w-full border border-solid border-[#eaeaea]\" />\n <Text className=\"text-[12px] leading-[24px] text-[#666666]\">\n If you have any questions or need help getting started, feel free\n to reply to this email. We're here to help!\n </Text>\n </Container>\n </Body>\n </Tailwind>\n </Html>\n );\n};\n\nexport const WelcomeEmailFR = ({ username, loginLink }: WelcomeEmailProps) => {\n const previewText = `Bienvenue chez Intlayer !`;\n\n return (\n <Html>\n <Head />\n <Preview>{previewText}</Preview>\n <Tailwind>\n <Body className=\"m-auto px-2 font-sans\">\n <Container className=\"mx-auto my-[40px] max-w-[465px] rounded-xl border border-solid border-[#eaeaea] bg-white p-[20px]\">\n <Section className=\"mt-[32px]\">\n <Img\n src=\"https://intlayer.org/apple-touch-icon.png\"\n width=\"40\"\n height=\"37\"\n alt=\"Intlayer\"\n className=\"mx-auto my-0\"\n />\n </Section>\n <Heading className=\"mx-0 my-[30px] p-0 text-center text-[24px] font-normal text-black\">\n Bienvenue chez <strong>Intlayer</strong>\n </Heading>\n <Text className=\"text-[14px] leading-[24px] text-black\">\n Bonjour {username},\n </Text>\n <Text className=\"text-[14px] leading-[24px] text-black\">\n Nous sommes ravis de vous avoir parmi nous ! Commencez par vous\n connecter à votre compte <strong>Intlayer</strong>.\n </Text>\n <Section className=\"my-[32px] text-center\">\n <Button\n className=\"rounded-md bg-[#000000] px-5 py-3 text-center text-[12px] font-semibold text-white no-underline\"\n href={loginLink}\n >\n Connectez-vous à votre compte\n </Button>\n </Section>\n <Text className=\"text-[14px] leading-[24px] text-black\">\n ou copiez et collez cette URL dans votre navigateur :\n </Text>\n <Link\n href={loginLink}\n className=\"text-[#8a8a8a] no-underline text-[10px]\"\n >\n {loginLink}\n </Link>\n <Hr className=\"mx-0 my-[26px] w-full border border-solid border-[#eaeaea]\" />\n <Text className=\"text-[12px] leading-[24px] text-[#666666]\">\n Si vous avez des questions ou besoin d'aide pour commencer,\n n'hésitez pas à répondre à cet e-mail. Nous sommes là pour vous\n aider !\n </Text>\n </Container>\n </Body>\n </Tailwind>\n </Html>\n );\n};\n\nexport const WelcomeEmailES = ({ username, loginLink }: WelcomeEmailProps) => {\n const previewText = `¡Bienvenido a Intlayer!`;\n\n return (\n <Html>\n <Head />\n <Preview>{previewText}</Preview>\n <Tailwind>\n <Body className=\"m-auto px-2 font-sans\">\n <Container className=\"mx-auto my-[40px] max-w-[465px] rounded-xl border border-solid border-[#eaeaea] bg-white p-[20px]\">\n <Section className=\"mt-[32px]\">\n <Img\n src=\"https://intlayer.org/apple-touch-icon.png\"\n width=\"40\"\n height=\"37\"\n alt=\"Intlayer\"\n className=\"mx-auto my-0\"\n />\n </Section>\n <Heading className=\"mx-0 my-[30px] p-0 text-center text-[24px] font-normal text-black\">\n Bienvenido a <strong>Intlayer</strong>\n </Heading>\n <Text className=\"text-[14px] leading-[24px] text-black\">\n Hola {username},\n </Text>\n <Text className=\"text-[14px] leading-[24px] text-black\">\n ¡Estamos emocionados de tenerte a bordo! Comienza iniciando sesión\n en tu cuenta de <strong>Intlayer</strong>.\n </Text>\n <Section className=\"my-[32px] text-center\">\n <Button\n className=\"rounded-md bg-[#000000] px-5 py-3 text-center text-[12px] font-semibold text-white no-underline\"\n href={loginLink}\n >\n Inicia sesión en tu cuenta\n </Button>\n </Section>\n <Text className=\"text-[14px] leading-[24px] text-black\">\n o copia y pega esta URL en tu navegador:\n </Text>\n <Link\n href={loginLink}\n className=\"text-[#8a8a8a] no-underline text-[10px]\"\n >\n {loginLink}\n </Link>\n <Hr className=\"mx-0 my-[26px] w-full border border-solid border-[#eaeaea]\" />\n <Text className=\"text-[12px] leading-[24px] text-[#666666]\">\n Si tienes preguntas o necesitas ayuda para comenzar, no dudes en\n responder a este correo electrónico. ¡Estamos aquí para ayudarte!\n </Text>\n </Container>\n </Body>\n </Tailwind>\n </Html>\n );\n};\n\nconst PreviewProps: WelcomeEmailProps = {\n username: 'alanturing',\n loginLink: 'https://intlayer.org/login',\n};\n\nWelcomeEmailEN.PreviewProps = PreviewProps;\nWelcomeEmailFR.PreviewProps = PreviewProps;\nWelcomeEmailES.PreviewProps = PreviewProps;\n"],"mappings":"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","names":[]}
|
|
@@ -16,16 +16,18 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
16
16
|
var emails_exports = {};
|
|
17
17
|
module.exports = __toCommonJS(emails_exports);
|
|
18
18
|
__reExport(emails_exports, require('./InviteUserEmail.cjs'), module.exports);
|
|
19
|
-
__reExport(emails_exports, require('./
|
|
20
|
-
__reExport(emails_exports, require('./Welcome.cjs'), module.exports);
|
|
19
|
+
__reExport(emails_exports, require('./OAuthTokenCreatedEmail.cjs'), module.exports);
|
|
21
20
|
__reExport(emails_exports, require('./PasswordChangeConfirmation.cjs'), module.exports);
|
|
22
21
|
__reExport(emails_exports, require('./ResetUserPassword.cjs'), module.exports);
|
|
22
|
+
__reExport(emails_exports, require('./ValidateUserEmail.cjs'), module.exports);
|
|
23
|
+
__reExport(emails_exports, require('./Welcome.cjs'), module.exports);
|
|
23
24
|
// Annotate the CommonJS export names for ESM import in node:
|
|
24
25
|
0 && (module.exports = {
|
|
25
26
|
...require('./InviteUserEmail.cjs'),
|
|
26
|
-
...require('./
|
|
27
|
-
...require('./Welcome.cjs'),
|
|
27
|
+
...require('./OAuthTokenCreatedEmail.cjs'),
|
|
28
28
|
...require('./PasswordChangeConfirmation.cjs'),
|
|
29
|
-
...require('./ResetUserPassword.cjs')
|
|
29
|
+
...require('./ResetUserPassword.cjs'),
|
|
30
|
+
...require('./ValidateUserEmail.cjs'),
|
|
31
|
+
...require('./Welcome.cjs')
|
|
30
32
|
});
|
|
31
33
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/emails/index.ts"],"sourcesContent":["export * from './InviteUserEmail';\nexport * from './
|
|
1
|
+
{"version":3,"sources":["../../../src/emails/index.ts"],"sourcesContent":["export * from './InviteUserEmail';\nexport * from './OAuthTokenCreatedEmail';\nexport * from './PasswordChangeConfirmation';\nexport * from './ResetUserPassword';\nexport * from './ValidateUserEmail';\nexport * from './Welcome';\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AAAA;AAAA,2BAAc,8BAAd;AACA,2BAAc,qCADd;AAEA,2BAAc,yCAFd;AAGA,2BAAc,gCAHd;AAIA,2BAAc,gCAJd;AAKA,2BAAc,sBALd;","names":[]}
|
package/dist/cjs/export.cjs
CHANGED
|
@@ -23,7 +23,6 @@ __export(export_exports, {
|
|
|
23
23
|
getNewsletterRoutes: () => import_newsletter.getNewsletterRoutes,
|
|
24
24
|
getOrganizationRoutes: () => import_organization.getOrganizationRoutes,
|
|
25
25
|
getProjectRoutes: () => import_project.getProjectRoutes,
|
|
26
|
-
getSessionAuthRoutes: () => import_sessionAuth.getSessionAuthRoutes,
|
|
27
26
|
getUserRoutes: () => import_user.getUserRoutes
|
|
28
27
|
});
|
|
29
28
|
module.exports = __toCommonJS(export_exports);
|
|
@@ -31,10 +30,9 @@ var import_dictionary = require('./routes/dictionary.routes.cjs');
|
|
|
31
30
|
var import_newsletter = require('./routes/newsletter.routes.cjs');
|
|
32
31
|
var import_organization = require('./routes/organization.routes.cjs');
|
|
33
32
|
var import_project = require('./routes/project.routes.cjs');
|
|
34
|
-
var import_sessionAuth = require('./routes/sessionAuth.routes.cjs');
|
|
35
33
|
var import_user = require('./routes/user.routes.cjs');
|
|
36
34
|
__reExport(export_exports, require('./utils/AI/aiSdk.cjs'), module.exports);
|
|
37
|
-
__reExport(export_exports, require('./utils/
|
|
35
|
+
__reExport(export_exports, require('./utils/auth/getAuth.cjs'), module.exports);
|
|
38
36
|
__reExport(export_exports, require('./utils/httpStatusCodes.cjs'), module.exports);
|
|
39
37
|
__reExport(export_exports, require('./utils/responseData.cjs'), module.exports);
|
|
40
38
|
// Annotate the CommonJS export names for ESM import in node:
|
|
@@ -43,10 +41,9 @@ __reExport(export_exports, require('./utils/responseData.cjs'), module.exports);
|
|
|
43
41
|
getNewsletterRoutes,
|
|
44
42
|
getOrganizationRoutes,
|
|
45
43
|
getProjectRoutes,
|
|
46
|
-
getSessionAuthRoutes,
|
|
47
44
|
getUserRoutes,
|
|
48
45
|
...require('./utils/AI/aiSdk.cjs'),
|
|
49
|
-
...require('./utils/
|
|
46
|
+
...require('./utils/auth/getAuth.cjs'),
|
|
50
47
|
...require('./utils/httpStatusCodes.cjs'),
|
|
51
48
|
...require('./utils/responseData.cjs')
|
|
52
49
|
});
|
package/dist/cjs/export.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/export.ts"],"sourcesContent":["// Routes\nexport { getDictionaryRoutes } from '@routes/dictionary.routes';\nexport { getNewsletterRoutes } from '@routes/newsletter.routes';\nexport { getOrganizationRoutes } from '@routes/organization.routes';\nexport { getProjectRoutes } from '@routes/project.routes';\nexport {
|
|
1
|
+
{"version":3,"sources":["../../src/export.ts"],"sourcesContent":["// Routes\nexport { getDictionaryRoutes } from '@routes/dictionary.routes';\nexport { getNewsletterRoutes } from '@routes/newsletter.routes';\nexport { getOrganizationRoutes } from '@routes/organization.routes';\nexport { getProjectRoutes } from '@routes/project.routes';\nexport { getUserRoutes } from '@routes/user.routes';\n\n// Controllers types\nexport type * from '@controllers/ai.controller';\nexport type * from '@controllers/dictionary.controller';\nexport type * from '@controllers/eventListener.controller';\nexport type * from '@controllers/newsletter.controller';\nexport type * from '@controllers/oAuth2.controller';\nexport type * from '@controllers/organization.controller';\nexport type * from '@controllers/project.controller';\nexport type * from '@controllers/projectAccessKey.controller';\nexport type * from '@controllers/search.controller';\nexport type * from '@controllers/stripe.controller';\nexport type * from '@controllers/tag.controller';\nexport type * from '@controllers/user.controller';\n\n// Objects types\nexport type * from '@/types/dictionary.types';\nexport type * from '@/types/oAuth2.types';\nexport type * from '@/types/organization.types';\nexport type * from '@/types/plan.types';\nexport type * from '@/types/project.types';\nexport type * from '@/types/session.types';\nexport type * from '@/types/tag.types';\nexport type * from '@/types/user.types';\n\n// Utils\nexport * from '@utils/AI/aiSdk';\nexport * from '@utils/auth/getAuth';\nexport * from '@utils/httpStatusCodes';\nexport * from '@utils/responseData';\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,wBAAoC;AACpC,wBAAoC;AACpC,0BAAsC;AACtC,qBAAiC;AACjC,kBAA8B;AA2B9B,2BAAc,4BAhCd;AAiCA,2BAAc,gCAjCd;AAkCA,2BAAc,mCAlCd;AAmCA,2BAAc,gCAnCd;","names":[]}
|
package/dist/cjs/index.cjs
CHANGED
|
@@ -5,10 +5,6 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
|
5
5
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
6
|
var __getProtoOf = Object.getPrototypeOf;
|
|
7
7
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
-
var __export = (target, all) => {
|
|
9
|
-
for (var name in all)
|
|
10
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
-
};
|
|
12
8
|
var __copyProps = (to, from, except, desc) => {
|
|
13
9
|
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
10
|
for (let key of __getOwnPropNames(from))
|
|
@@ -25,12 +21,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
25
21
|
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
22
|
mod
|
|
27
23
|
));
|
|
28
|
-
var
|
|
29
|
-
var index_exports = {};
|
|
30
|
-
__export(index_exports, {
|
|
31
|
-
default: () => index_default
|
|
32
|
-
});
|
|
33
|
-
module.exports = __toCommonJS(index_exports);
|
|
24
|
+
var import_node = require("better-auth/node");
|
|
34
25
|
var import_compression = __toESM(require("compression"), 1);
|
|
35
26
|
var import_cookie_parser = __toESM(require("cookie-parser"), 1);
|
|
36
27
|
var import_cors = __toESM(require("cors"), 1);
|
|
@@ -38,9 +29,9 @@ var import_dotenv = __toESM(require("dotenv"), 1);
|
|
|
38
29
|
var import_express = __toESM(require("express"), 1);
|
|
39
30
|
var import_express_intlayer = require("express-intlayer");
|
|
40
31
|
var import_helmet = __toESM(require("helmet"), 1);
|
|
41
|
-
var import_oAuth2 = require('./
|
|
32
|
+
var import_oAuth2 = require('./controllers/oAuth2.controller.cjs');
|
|
33
|
+
var import_oAuth22 = require('./middlewares/oAuth2.middleware.cjs');
|
|
42
34
|
var import_request = require('./middlewares/request.middleware.cjs');
|
|
43
|
-
var import_sessionAuth = require('./middlewares/sessionAuth.middleware.cjs');
|
|
44
35
|
var import_ai = require('./routes/ai.routes.cjs');
|
|
45
36
|
var import_dictionary = require('./routes/dictionary.routes.cjs');
|
|
46
37
|
var import_eventListener = require('./routes/eventListener.routes.cjs');
|
|
@@ -48,112 +39,71 @@ var import_newsletter = require('./routes/newsletter.routes.cjs');
|
|
|
48
39
|
var import_organization = require('./routes/organization.routes.cjs');
|
|
49
40
|
var import_project = require('./routes/project.routes.cjs');
|
|
50
41
|
var import_search = require('./routes/search.routes.cjs');
|
|
51
|
-
var import_sessionAuth2 = require('./routes/sessionAuth.routes.cjs');
|
|
52
42
|
var import_stripe = require('./routes/stripe.routes.cjs');
|
|
53
43
|
var import_tags = require('./routes/tags.routes.cjs');
|
|
54
44
|
var import_user = require('./routes/user.routes.cjs');
|
|
55
45
|
var import_stripe2 = require('./webhooks/stripe.webhook.cjs');
|
|
56
|
-
var
|
|
57
|
-
var import_sessionAuth3 = require('./controllers/sessionAuth.controller.cjs');
|
|
58
|
-
var import_CSRF = require('./utils/CSRF.cjs');
|
|
46
|
+
var import_getAuth = require('./utils/auth/getAuth.cjs');
|
|
59
47
|
var import_connectDB = require('./utils/mongoDB/connectDB.cjs');
|
|
48
|
+
var import_rateLimiter = require('./utils/rateLimiter.cjs');
|
|
49
|
+
var import_sessionAuth = require('./middlewares/sessionAuth.middleware.cjs');
|
|
50
|
+
var import_cors2 = require('./utils/cors.cjs');
|
|
60
51
|
var import_logger = require('./logger/index.cjs');
|
|
61
|
-
const
|
|
62
|
-
app.
|
|
63
|
-
app.
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
(0,
|
|
73
|
-
app.
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
)
|
|
78
|
-
|
|
79
|
-
app.use(import_express.default.json({ limit: "50mb" }));
|
|
80
|
-
app.use(import_express.default.urlencoded({ extended: true }));
|
|
81
|
-
const whitelist = [process.env.CLIENT_URL];
|
|
82
|
-
const corsOptions = {
|
|
83
|
-
origin: (origin, callback) => {
|
|
84
|
-
if (!origin) return callback(null, true);
|
|
85
|
-
if (whitelist.includes(origin)) {
|
|
86
|
-
import_logger.logger.info("whitelisted origin", origin);
|
|
87
|
-
return callback(null, true);
|
|
88
|
-
}
|
|
89
|
-
import_logger.logger.info("non whitelisted origin", origin);
|
|
90
|
-
callback(null, origin);
|
|
91
|
-
},
|
|
92
|
-
allowedHeaders: [
|
|
93
|
-
"authorization",
|
|
94
|
-
"Content-Type",
|
|
95
|
-
"credentials",
|
|
96
|
-
"cache-control",
|
|
97
|
-
"Access-Control-Allow-Origin",
|
|
98
|
-
"private-state-token-redemption",
|
|
99
|
-
"private-state-token-issuance",
|
|
100
|
-
"browsing-topics"
|
|
101
|
-
],
|
|
102
|
-
exposedHeaders: [""],
|
|
103
|
-
preflightContinue: false,
|
|
104
|
-
methods: "GET,HEAD,PUT,PATCH,POST,DELETE",
|
|
105
|
-
credentials: true
|
|
106
|
-
};
|
|
107
|
-
app.use((0, import_cors.default)(corsOptions));
|
|
108
|
-
app.get("/", (_req, res) => {
|
|
109
|
-
res.send(
|
|
110
|
-
(0, import_express_intlayer.t)({
|
|
111
|
-
en: "Ok - locale: en",
|
|
112
|
-
fr: "Ok - locale: fr",
|
|
113
|
-
es: "Ok - locale: es"
|
|
114
|
-
})
|
|
52
|
+
const startServer = async () => {
|
|
53
|
+
const app = (0, import_express.default)();
|
|
54
|
+
app.disable("x-powered-by");
|
|
55
|
+
app.use((0, import_helmet.default)());
|
|
56
|
+
app.set("trust proxy", 1);
|
|
57
|
+
const env = app.get("env");
|
|
58
|
+
import_logger.logger.info(`run as ${env}`);
|
|
59
|
+
import_dotenv.default.config({
|
|
60
|
+
path: [`.env.${env}.local`, `.env.${env}`, ".env.local", ".env"]
|
|
61
|
+
});
|
|
62
|
+
app.use((0, import_cookie_parser.default)());
|
|
63
|
+
app.use((0, import_express_intlayer.intlayer)());
|
|
64
|
+
app.use(/(.*)/, import_rateLimiter.ipLimiter);
|
|
65
|
+
const dbClient = await (0, import_connectDB.connectDB)();
|
|
66
|
+
app.post(
|
|
67
|
+
"/webhook/stripe",
|
|
68
|
+
import_express.default.raw({ type: "application/json" }),
|
|
69
|
+
import_stripe2.stripeWebhook
|
|
115
70
|
);
|
|
116
|
-
|
|
117
|
-
app.use(
|
|
118
|
-
app.use(
|
|
119
|
-
app.
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
app.get("/csrf-token", import_sessionAuth3.setCSRFToken);
|
|
127
|
-
app.use(/(.*)/, import_oAuth2.attachOAuthInstance);
|
|
128
|
-
app.post("/oauth2/token", import_oAuth22.getOAuth2Token);
|
|
129
|
-
app.use(/(.*)/, (req, res, next) => {
|
|
130
|
-
if (!res.locals.authType) {
|
|
131
|
-
return (0, import_oAuth2.authenticateOAuth2)(
|
|
132
|
-
req,
|
|
133
|
-
res,
|
|
134
|
-
next
|
|
71
|
+
app.use((0, import_compression.default)());
|
|
72
|
+
app.use(import_express.default.urlencoded({ extended: true }));
|
|
73
|
+
app.use((0, import_cors.default)(import_cors2.corsOptions));
|
|
74
|
+
app.get("/", (_req, res) => {
|
|
75
|
+
res.send(
|
|
76
|
+
(0, import_express_intlayer.t)({
|
|
77
|
+
en: "Ok - locale: en",
|
|
78
|
+
fr: "Ok - locale: fr",
|
|
79
|
+
es: "Ok - locale: es"
|
|
80
|
+
})
|
|
135
81
|
);
|
|
82
|
+
});
|
|
83
|
+
const auth = (0, import_getAuth.getAuth)(dbClient);
|
|
84
|
+
app.all("/api/auth/{*any}", (0, import_node.toNodeHandler)(auth));
|
|
85
|
+
app.use(/(.*)/, (0, import_sessionAuth.authMiddleware)(auth));
|
|
86
|
+
app.use(/(.*)/, import_oAuth22.attachOAuthInstance);
|
|
87
|
+
app.post("/oauth2/token", import_oAuth2.getOAuth2AccessToken);
|
|
88
|
+
app.use(/(.*)/, import_oAuth22.oAuth2Middleware);
|
|
89
|
+
app.use(import_express.default.json());
|
|
90
|
+
const isDev = env === "development";
|
|
91
|
+
if (isDev) {
|
|
92
|
+
app.use(import_request.logAPIRequestURL);
|
|
136
93
|
}
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
app.use(
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
app.use(
|
|
146
|
-
app.use(
|
|
147
|
-
app.
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
app.use(import_eventListener.eventListenerRoute, import_eventListener.eventListenerRouter);
|
|
153
|
-
app.use(import_search.searchRoute, import_search.searchRouter);
|
|
154
|
-
app.use(import_newsletter.newsletterRoute, import_newsletter.newsletterRouter);
|
|
155
|
-
app.listen(process.env.PORT, () => {
|
|
156
|
-
import_logger.logger.info(`Listening on port ${process.env.PORT}`);
|
|
157
|
-
});
|
|
158
|
-
var index_default = app;
|
|
94
|
+
app.use(import_user.userRoute, import_user.userRouter);
|
|
95
|
+
app.use(import_organization.organizationRoute, import_organization.organizationRouter);
|
|
96
|
+
app.use(import_project.projectRoute, import_project.projectRouter);
|
|
97
|
+
app.use(import_tags.tagRoute, import_tags.tagRouter);
|
|
98
|
+
app.use(import_dictionary.dictionaryRoute, import_dictionary.dictionaryRouter);
|
|
99
|
+
app.use(import_stripe.stripeRoute, import_stripe.stripeRouter);
|
|
100
|
+
app.use(import_ai.aiRoute, import_ai.aiRouter);
|
|
101
|
+
app.use(import_eventListener.eventListenerRoute, import_eventListener.eventListenerRouter);
|
|
102
|
+
app.use(import_search.searchRoute, import_search.searchRouter);
|
|
103
|
+
app.use(import_newsletter.newsletterRoute, import_newsletter.newsletterRouter);
|
|
104
|
+
app.listen(process.env.PORT, () => {
|
|
105
|
+
import_logger.logger.info(`Listening on port ${process.env.PORT}`);
|
|
106
|
+
});
|
|
107
|
+
};
|
|
108
|
+
startServer();
|
|
159
109
|
//# sourceMappingURL=index.cjs.map
|
package/dist/cjs/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts"],"sourcesContent":["// Libraries\nimport compression from 'compression';\nimport cookieParser from 'cookie-parser';\nimport cors
|
|
1
|
+
{"version":3,"sources":["../../src/index.ts"],"sourcesContent":["// Libraries\nimport { toNodeHandler } from 'better-auth/node';\nimport compression from 'compression';\nimport cookieParser from 'cookie-parser';\nimport cors from 'cors';\nimport dotenv from 'dotenv';\nimport express, { type Express } from 'express';\nimport { intlayer, t } from 'express-intlayer';\nimport helmet from 'helmet';\n\n// Middlewares\nimport { getOAuth2AccessToken } from '@controllers/oAuth2.controller';\nimport {\n attachOAuthInstance,\n oAuth2Middleware,\n} from '@middlewares/oAuth2.middleware';\nimport { logAPIRequestURL } from '@middlewares/request.middleware';\n\n// Services\n\n// Routes\nimport { aiRoute, aiRouter } from '@routes/ai.routes';\nimport { dictionaryRoute, dictionaryRouter } from '@routes/dictionary.routes';\nimport {\n eventListenerRoute,\n eventListenerRouter,\n} from '@routes/eventListener.routes';\nimport { newsletterRoute, newsletterRouter } from '@routes/newsletter.routes';\nimport {\n organizationRoute,\n organizationRouter,\n} from '@routes/organization.routes';\nimport { projectRoute, projectRouter } from '@routes/project.routes';\nimport { searchRoute, searchRouter } from '@routes/search.routes';\nimport { stripeRoute, stripeRouter } from '@routes/stripe.routes';\nimport { tagRoute, tagRouter } from '@routes/tags.routes';\nimport { userRoute, userRouter } from '@routes/user.routes';\n\n// Webhooks\nimport { stripeWebhook } from '@webhooks/stripe.webhook';\n\n// Utils\nimport { getAuth } from '@utils/auth/getAuth';\nimport { connectDB } from '@utils/mongoDB/connectDB';\nimport { ipLimiter } from '@utils/rateLimiter';\n\n// Logger\nimport { authMiddleware } from '@middlewares/sessionAuth.middleware';\nimport { corsOptions } from '@utils/cors';\nimport { logger } from './logger/index';\n\nconst startServer = async () => {\n const app: Express = express();\n\n // Headers security\n app.disable('x-powered-by'); // Disabled to prevent attackers from knowing that the app is running Express\n app.use(helmet());\n app.set('trust proxy', 1);\n\n // Environment variables\n const env = app.get('env');\n\n logger.info(`run as ${env}`);\n\n dotenv.config({\n path: [`.env.${env}.local`, `.env.${env}`, '.env.local', '.env'],\n });\n\n // Parse incoming requests with cookies\n app.use(cookieParser());\n\n // Load internationalization request handler\n app.use(intlayer());\n\n // Rate limiter\n app.use(/(.*)/, ipLimiter);\n\n // Connect to MongoDB\n const dbClient = await connectDB();\n\n // Stripe\n app.post(\n '/webhook/stripe',\n express.raw({ type: 'application/json' }),\n stripeWebhook\n );\n\n // Compress all HTTP responses\n app.use(compression());\n\n // Parse incoming requests with urlencoded payloads\n app.use(express.urlencoded({ extended: true }));\n\n // CORS\n app.use(cors(corsOptions));\n\n // Liveness check\n app.get('/', (_req, res) => {\n res.send(\n t({\n en: 'Ok - locale: en',\n fr: 'Ok - locale: fr',\n es: 'Ok - locale: es',\n })\n );\n });\n\n // Session Auth\n const auth = getAuth(dbClient);\n app.all('/api/auth/{*any}', toNodeHandler(auth));\n app.use(/(.*)/, authMiddleware(auth));\n\n // oAuth2 Auth\n app.use(/(.*)/, attachOAuthInstance);\n app.post('/oauth2/token', getOAuth2AccessToken); // Route to get the token\n app.use(/(.*)/, oAuth2Middleware);\n\n // Body parser\n app.use(express.json()); // Should be placed after auth. Attach body to next routes\n\n // debug\n const isDev = env === 'development';\n if (isDev) {\n app.use(logAPIRequestURL);\n }\n\n // Routes\n app.use(userRoute, userRouter);\n app.use(organizationRoute, organizationRouter);\n app.use(projectRoute, projectRouter);\n app.use(tagRoute, tagRouter);\n app.use(dictionaryRoute, dictionaryRouter);\n app.use(stripeRoute, stripeRouter);\n app.use(aiRoute, aiRouter);\n app.use(eventListenerRoute, eventListenerRouter);\n app.use(searchRoute, searchRouter);\n app.use(newsletterRoute, newsletterRouter);\n\n // Server\n app.listen(process.env.PORT, () => {\n logger.info(`Listening on port ${process.env.PORT}`);\n });\n};\n\nstartServer();\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AACA,kBAA8B;AAC9B,yBAAwB;AACxB,2BAAyB;AACzB,kBAAiB;AACjB,oBAAmB;AACnB,qBAAsC;AACtC,8BAA4B;AAC5B,oBAAmB;AAGnB,oBAAqC;AACrC,IAAAA,iBAGO;AACP,qBAAiC;AAKjC,gBAAkC;AAClC,wBAAkD;AAClD,2BAGO;AACP,wBAAkD;AAClD,0BAGO;AACP,qBAA4C;AAC5C,oBAA0C;AAC1C,oBAA0C;AAC1C,kBAAoC;AACpC,kBAAsC;AAGtC,IAAAC,iBAA8B;AAG9B,qBAAwB;AACxB,uBAA0B;AAC1B,yBAA0B;AAG1B,yBAA+B;AAC/B,IAAAC,eAA4B;AAC5B,oBAAuB;AAEvB,MAAM,cAAc,YAAY;AAC9B,QAAM,UAAe,eAAAC,SAAQ;AAG7B,MAAI,QAAQ,cAAc;AAC1B,MAAI,QAAI,cAAAC,SAAO,CAAC;AAChB,MAAI,IAAI,eAAe,CAAC;AAGxB,QAAM,MAAM,IAAI,IAAI,KAAK;AAEzB,uBAAO,KAAK,UAAU,GAAG,EAAE;AAE3B,gBAAAC,QAAO,OAAO;AAAA,IACZ,MAAM,CAAC,QAAQ,GAAG,UAAU,QAAQ,GAAG,IAAI,cAAc,MAAM;AAAA,EACjE,CAAC;AAGD,MAAI,QAAI,qBAAAC,SAAa,CAAC;AAGtB,MAAI,QAAI,kCAAS,CAAC;AAGlB,MAAI,IAAI,QAAQ,4BAAS;AAGzB,QAAM,WAAW,UAAM,4BAAU;AAGjC,MAAI;AAAA,IACF;AAAA,IACA,eAAAH,QAAQ,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAAA,IACxC;AAAA,EACF;AAGA,MAAI,QAAI,mBAAAI,SAAY,CAAC;AAGrB,MAAI,IAAI,eAAAJ,QAAQ,WAAW,EAAE,UAAU,KAAK,CAAC,CAAC;AAG9C,MAAI,QAAI,YAAAK,SAAK,wBAAW,CAAC;AAGzB,MAAI,IAAI,KAAK,CAAC,MAAM,QAAQ;AAC1B,QAAI;AAAA,UACF,2BAAE;AAAA,QACA,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,MACN,CAAC;AAAA,IACH;AAAA,EACF,CAAC;AAGD,QAAM,WAAO,wBAAQ,QAAQ;AAC7B,MAAI,IAAI,wBAAoB,2BAAc,IAAI,CAAC;AAC/C,MAAI,IAAI,YAAQ,mCAAe,IAAI,CAAC;AAGpC,MAAI,IAAI,QAAQ,kCAAmB;AACnC,MAAI,KAAK,iBAAiB,kCAAoB;AAC9C,MAAI,IAAI,QAAQ,+BAAgB;AAGhC,MAAI,IAAI,eAAAL,QAAQ,KAAK,CAAC;AAGtB,QAAM,QAAQ,QAAQ;AACtB,MAAI,OAAO;AACT,QAAI,IAAI,+BAAgB;AAAA,EAC1B;AAGA,MAAI,IAAI,uBAAW,sBAAU;AAC7B,MAAI,IAAI,uCAAmB,sCAAkB;AAC7C,MAAI,IAAI,6BAAc,4BAAa;AACnC,MAAI,IAAI,sBAAU,qBAAS;AAC3B,MAAI,IAAI,mCAAiB,kCAAgB;AACzC,MAAI,IAAI,2BAAa,0BAAY;AACjC,MAAI,IAAI,mBAAS,kBAAQ;AACzB,MAAI,IAAI,yCAAoB,wCAAmB;AAC/C,MAAI,IAAI,2BAAa,0BAAY;AACjC,MAAI,IAAI,mCAAiB,kCAAgB;AAGzC,MAAI,OAAO,QAAQ,IAAI,MAAM,MAAM;AACjC,yBAAO,KAAK,qBAAqB,QAAQ,IAAI,IAAI,EAAE;AAAA,EACrD,CAAC;AACH;AAEA,YAAY;","names":["import_oAuth2","import_stripe","import_cors","express","helmet","dotenv","cookieParser","compression","cors"]}
|