@intlayer/backend 5.6.0 → 5.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +14 -14
- 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
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { logger } from "./../logger/index.mjs";
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
import {
|
|
3
|
+
getOAuth2AccessTokenContext,
|
|
4
|
+
validateOAuth2AccessToken
|
|
5
|
+
} from "./../services/oAuth2.service.mjs";
|
|
6
|
+
import { formatSession } from "./../utils/auth/getAuth.mjs";
|
|
7
|
+
import { ErrorHandler } from "./../utils/errors/index.mjs";
|
|
8
|
+
import { authenticateOptions, getAuthModel } from "./../utils/oAuth2.mjs";
|
|
6
9
|
import OAuth2Server, {
|
|
7
10
|
Request as OAuthRequest,
|
|
8
11
|
Response as OAuthResponse
|
|
@@ -17,7 +20,10 @@ const attachOAuthInstance = async (req, _res, next) => {
|
|
|
17
20
|
req.oauth = oauth;
|
|
18
21
|
next();
|
|
19
22
|
};
|
|
20
|
-
const
|
|
23
|
+
const oAuth2Middleware = async (req, res, next) => {
|
|
24
|
+
if (typeof res.locals.authType !== "undefined") {
|
|
25
|
+
return next();
|
|
26
|
+
}
|
|
21
27
|
try {
|
|
22
28
|
const hasToken = !!req.headers.authorization;
|
|
23
29
|
if (!hasToken) {
|
|
@@ -25,43 +31,28 @@ const authenticateOAuth2 = async (req, res, next) => {
|
|
|
25
31
|
}
|
|
26
32
|
const oauthRequest = new OAuthRequest(req);
|
|
27
33
|
const oauthResponse = new OAuthResponse(res);
|
|
28
|
-
const oAuthToken = await req.oauth.authenticate(
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
authenticateOptions
|
|
34
|
+
const oAuthToken = await req.oauth.authenticate(oauthRequest, oauthResponse, authenticateOptions);
|
|
35
|
+
const validatedToken = await validateOAuth2AccessToken(
|
|
36
|
+
oAuthToken.accessToken
|
|
32
37
|
);
|
|
33
|
-
const
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
res.locals.dictionaryRights = dictionaryRights;
|
|
43
|
-
const user = await UserModel.findById(oAuthToken.user._id);
|
|
44
|
-
if (user) {
|
|
45
|
-
res.locals.user = user;
|
|
46
|
-
res.locals.authType = "oauth2";
|
|
47
|
-
}
|
|
48
|
-
const organization = await OrganizationModel.findById(
|
|
49
|
-
oAuthToken.organization._id
|
|
38
|
+
const result = await getOAuth2AccessTokenContext(validatedToken);
|
|
39
|
+
const formattedSession = formatSession(result);
|
|
40
|
+
res.locals.authType = "session";
|
|
41
|
+
Object.entries(formattedSession).forEach(([key, value]) => {
|
|
42
|
+
res.locals[key] = value;
|
|
43
|
+
});
|
|
44
|
+
logger.info(
|
|
45
|
+
"OAuth2 bearer token authenticated",
|
|
46
|
+
formattedSession.user.email
|
|
50
47
|
);
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
const project = await ProjectModel.findById(oAuthToken.project._id);
|
|
55
|
-
if (project) {
|
|
56
|
-
res.locals.project = project;
|
|
57
|
-
}
|
|
58
|
-
} catch (err) {
|
|
59
|
-
logger.info(err);
|
|
48
|
+
} catch (error) {
|
|
49
|
+
ErrorHandler.handleAppErrorResponse(res, error);
|
|
50
|
+
return;
|
|
60
51
|
}
|
|
61
52
|
next();
|
|
62
53
|
};
|
|
63
54
|
export {
|
|
64
55
|
attachOAuthInstance,
|
|
65
|
-
|
|
56
|
+
oAuth2Middleware
|
|
66
57
|
};
|
|
67
58
|
//# sourceMappingURL=oAuth2.middleware.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/middlewares/oAuth2.middleware.ts"],"sourcesContent":["import { logger } from '@logger';\nimport {
|
|
1
|
+
{"version":3,"sources":["../../../src/middlewares/oAuth2.middleware.ts"],"sourcesContent":["import { logger } from '@logger';\nimport {\n getOAuth2AccessTokenContext,\n validateOAuth2AccessToken,\n} from '@services/oAuth2.service';\nimport { formatSession } from '@utils/auth/getAuth';\nimport { AppError, ErrorHandler } from '@utils/errors';\nimport { authenticateOptions, getAuthModel } from '@utils/oAuth2';\nimport type { NextFunction, Request, Response } from 'express';\nimport OAuth2Server, {\n Request as OAuthRequest,\n Response as OAuthResponse,\n} from 'oauth2-server';\n\n// Configuration of the OAuth server\nconst oauth = new OAuth2Server({\n model: getAuthModel(),\n accessTokenLifetime: 60 * 60, // 1 hour\n allowBearerTokensInQueryString: true,\n});\n\nexport type RequestWithOAuth2Information<\n P = any,\n ResBody = any,\n ReqBody = any,\n ReqQuery = qs.ParsedQs,\n> = Request<P, ResBody, ReqBody, ReqQuery> & {\n oauth: OAuth2Server;\n};\n\nexport const attachOAuthInstance = async (\n req: Request,\n _res: Response,\n next: NextFunction\n) => {\n // Attach the instance OAuth to the requests\n (req as RequestWithOAuth2Information).oauth = oauth;\n\n next();\n};\n\n// Middleware to authenticate requests\nexport const oAuth2Middleware = async (\n req: Request,\n res: Response,\n next: NextFunction\n): Promise<void> => {\n if (typeof res.locals.authType !== 'undefined') {\n // Skip if user is already authenticated (ex: session)\n return next();\n }\n\n try {\n const hasToken = !!req.headers.authorization;\n\n if (!hasToken) {\n // If the request does not have a token, skip the oAuth2 authentication\n // Necessary because the oAuth2 library will throw an error if the token is not present\n return next();\n }\n\n // Authenticate the request using OAuth2\n const oauthRequest = new OAuthRequest(req);\n\n const oauthResponse = new OAuthResponse(res);\n\n const oAuthToken = await (\n req as RequestWithOAuth2Information\n ).oauth.authenticate(oauthRequest, oauthResponse, authenticateOptions);\n\n const validatedToken = await validateOAuth2AccessToken(\n oAuthToken.accessToken\n );\n\n const result = await getOAuth2AccessTokenContext(validatedToken);\n\n const formattedSession = formatSession(result);\n res.locals.authType = 'session';\n\n // Attach the session to the response locals\n Object.entries(formattedSession).forEach(([key, value]) => {\n (res.locals as any)[key] = value;\n });\n\n logger.info(\n 'OAuth2 bearer token authenticated',\n formattedSession.user.email\n );\n } catch (error) {\n ErrorHandler.handleAppErrorResponse(res, error as AppError);\n\n return;\n }\n\n next();\n};\n"],"mappings":"AAAA,SAAS,cAAc;AACvB;AAAA,EACE;AAAA,EACA;AAAA,OACK;AACP,SAAS,qBAAqB;AAC9B,SAAmB,oBAAoB;AACvC,SAAS,qBAAqB,oBAAoB;AAElD,OAAO;AAAA,EACL,WAAW;AAAA,EACX,YAAY;AAAA,OACP;AAGP,MAAM,QAAQ,IAAI,aAAa;AAAA,EAC7B,OAAO,aAAa;AAAA,EACpB,qBAAqB,KAAK;AAAA;AAAA,EAC1B,gCAAgC;AAClC,CAAC;AAWM,MAAM,sBAAsB,OACjC,KACA,MACA,SACG;AAEH,EAAC,IAAqC,QAAQ;AAE9C,OAAK;AACP;AAGO,MAAM,mBAAmB,OAC9B,KACA,KACA,SACkB;AAClB,MAAI,OAAO,IAAI,OAAO,aAAa,aAAa;AAE9C,WAAO,KAAK;AAAA,EACd;AAEA,MAAI;AACF,UAAM,WAAW,CAAC,CAAC,IAAI,QAAQ;AAE/B,QAAI,CAAC,UAAU;AAGb,aAAO,KAAK;AAAA,IACd;AAGA,UAAM,eAAe,IAAI,aAAa,GAAG;AAEzC,UAAM,gBAAgB,IAAI,cAAc,GAAG;AAE3C,UAAM,aAAa,MACjB,IACA,MAAM,aAAa,cAAc,eAAe,mBAAmB;AAErE,UAAM,iBAAiB,MAAM;AAAA,MAC3B,WAAW;AAAA,IACb;AAEA,UAAM,SAAS,MAAM,4BAA4B,cAAc;AAE/D,UAAM,mBAAmB,cAAc,MAAM;AAC7C,QAAI,OAAO,WAAW;AAGtB,WAAO,QAAQ,gBAAgB,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AACzD,MAAC,IAAI,OAAe,GAAG,IAAI;AAAA,IAC7B,CAAC;AAED,WAAO;AAAA,MACL;AAAA,MACA,iBAAiB,KAAK;AAAA,IACxB;AAAA,EACF,SAAS,OAAO;AACd,iBAAa,uBAAuB,KAAK,KAAiB;AAE1D;AAAA,EACF;AAEA,OAAK;AACP;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/middlewares/request.middleware.ts"],"sourcesContent":["import { logger } from '@logger';\nimport type {
|
|
1
|
+
{"version":3,"sources":["../../../src/middlewares/request.middleware.ts"],"sourcesContent":["import { logger } from '@logger';\nimport type { NextFunction, Request } from 'express';\nimport { Response } from 'express';\n\nexport const logAPIRequestURL = (\n req: Request,\n res: Response,\n next: NextFunction\n): void => {\n const queryDetails = {\n params: req.params,\n query: req.query,\n body: req.body,\n locals: res.locals,\n };\n\n logger.info(\n `API Request - ${req.method} - ${req.originalUrl} - ${JSON.stringify(queryDetails, null, 2)}`\n );\n\n next();\n};\n"],"mappings":"AAAA,SAAS,cAAc;AAIhB,MAAM,mBAAmB,CAC9B,KACA,KACA,SACS;AACT,QAAM,eAAe;AAAA,IACnB,QAAQ,IAAI;AAAA,IACZ,OAAO,IAAI;AAAA,IACX,MAAM,IAAI;AAAA,IACV,QAAQ,IAAI;AAAA,EACd;AAEA,SAAO;AAAA,IACL,iBAAiB,IAAI,MAAM,MAAM,IAAI,WAAW,MAAM,KAAK,UAAU,cAAc,MAAM,CAAC,CAAC;AAAA,EAC7F;AAEA,OAAK;AACP;","names":[]}
|
|
@@ -1,134 +1,23 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
clearProjectAuth
|
|
6
|
-
} from "./../services/sessionAuth.service.mjs";
|
|
7
|
-
import { getUserBySession as getUserBySessionService } from "./../services/user.service.mjs";
|
|
8
|
-
import { Cookies } from "./../utils/cookies.mjs";
|
|
9
|
-
import jwt from "jsonwebtoken";
|
|
10
|
-
const checkUser = async (req, res, next) => {
|
|
11
|
-
const { [Cookies.JWT_AUTH]: sessionToken } = req.cookies;
|
|
12
|
-
res.locals.user = null;
|
|
13
|
-
res.locals.authType = null;
|
|
14
|
-
try {
|
|
15
|
-
if (sessionToken) {
|
|
16
|
-
const user = await getUserBySessionService(sessionToken);
|
|
17
|
-
if (user) {
|
|
18
|
-
res.locals.user = user.toObject();
|
|
19
|
-
res.locals.authType = "session";
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
} catch (error) {
|
|
23
|
-
console.error("Error fetching session:", error);
|
|
24
|
-
}
|
|
25
|
-
return next();
|
|
26
|
-
};
|
|
27
|
-
const checkOrganization = async (req, res, next) => {
|
|
28
|
-
const jwtTokenOrganization = req.cookies[Cookies.JWT_ORGANIZATION];
|
|
29
|
-
res.locals.organization = null;
|
|
30
|
-
try {
|
|
31
|
-
if (!jwtTokenOrganization || jwtTokenOrganization === "undefined") {
|
|
32
|
-
return next();
|
|
33
|
-
}
|
|
34
|
-
const organizationData = jwt.verify(
|
|
35
|
-
jwtTokenOrganization,
|
|
36
|
-
process.env.JWT_TOKEN_SECRET
|
|
37
|
-
);
|
|
38
|
-
if (!organizationData) {
|
|
39
|
-
clearOrganizationAuth(res);
|
|
40
|
-
return next();
|
|
41
|
-
}
|
|
42
|
-
const organization = await OrganizationModel.findById(organizationData._id);
|
|
43
|
-
if (!organization) {
|
|
44
|
-
clearOrganizationAuth(res);
|
|
45
|
-
return next();
|
|
46
|
-
}
|
|
47
|
-
res.locals.organization = organization.toObject();
|
|
48
|
-
} catch (error) {
|
|
49
|
-
console.error("Error fetching organization:", error);
|
|
50
|
-
}
|
|
51
|
-
return next();
|
|
52
|
-
};
|
|
53
|
-
const checkProject = async (req, res, next) => {
|
|
54
|
-
const jwtTokenProject = req.cookies[Cookies.JWT_PROJECT];
|
|
55
|
-
res.locals.project = null;
|
|
56
|
-
try {
|
|
57
|
-
if (!jwtTokenProject || jwtTokenProject === "undefined") {
|
|
58
|
-
return next();
|
|
59
|
-
}
|
|
60
|
-
const decodedTokenProject = jwt.verify(
|
|
61
|
-
jwtTokenProject,
|
|
62
|
-
process.env.JWT_TOKEN_SECRET
|
|
63
|
-
);
|
|
64
|
-
if (!decodedTokenProject) {
|
|
65
|
-
clearProjectAuth(res);
|
|
66
|
-
return next();
|
|
67
|
-
}
|
|
68
|
-
const project = await ProjectModel.findById(
|
|
69
|
-
decodedTokenProject._id
|
|
70
|
-
);
|
|
71
|
-
if (!project || !res.locals.organization || String(project.organizationId) !== String(res.locals.organization._id)) {
|
|
72
|
-
clearProjectAuth(res);
|
|
73
|
-
return next();
|
|
74
|
-
}
|
|
75
|
-
res.locals.project = project.toObject();
|
|
76
|
-
} catch (error) {
|
|
77
|
-
console.error("Error fetching project:", error);
|
|
78
|
-
}
|
|
79
|
-
return next();
|
|
80
|
-
};
|
|
81
|
-
const checkAdmin = async (_req, res, next) => {
|
|
82
|
-
const { organization, project, user, authType } = res.locals;
|
|
83
|
-
if (authType !== "session") {
|
|
1
|
+
import { formatSession } from "./../utils/auth/getAuth.mjs";
|
|
2
|
+
import { fromNodeHeaders } from "better-auth/node";
|
|
3
|
+
const authMiddleware = (auth) => async (req, res, next) => {
|
|
4
|
+
if (typeof res.locals.authType !== "undefined") {
|
|
84
5
|
return next();
|
|
85
6
|
}
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
res.locals.projectRights = {
|
|
97
|
-
read: true,
|
|
98
|
-
write: false,
|
|
99
|
-
admin: false
|
|
100
|
-
};
|
|
101
|
-
if (user) {
|
|
102
|
-
if (organization) {
|
|
103
|
-
const isOrganizationAdmin = organization.adminsIds.map((id) => String(id)).includes(String(user._id)) ?? false;
|
|
104
|
-
res.locals.isOrganizationAdmin = isOrganizationAdmin;
|
|
105
|
-
res.locals.organizationRights = {
|
|
106
|
-
read: true,
|
|
107
|
-
write: isOrganizationAdmin,
|
|
108
|
-
admin: isOrganizationAdmin
|
|
109
|
-
};
|
|
110
|
-
}
|
|
111
|
-
if (project) {
|
|
112
|
-
const isProjectAdmin = project.adminsIds.map((id) => String(id)).includes(String(user._id)) ?? false;
|
|
113
|
-
res.locals.isProjectAdmin = isProjectAdmin;
|
|
114
|
-
res.locals.projectRights = {
|
|
115
|
-
read: true,
|
|
116
|
-
write: isProjectAdmin,
|
|
117
|
-
admin: isProjectAdmin
|
|
118
|
-
};
|
|
119
|
-
res.locals.dictionaryRights = {
|
|
120
|
-
read: true,
|
|
121
|
-
write: true,
|
|
122
|
-
admin: true
|
|
123
|
-
};
|
|
124
|
-
}
|
|
7
|
+
const session = await auth.api.getSession({
|
|
8
|
+
headers: fromNodeHeaders(req.headers)
|
|
9
|
+
});
|
|
10
|
+
if (session) {
|
|
11
|
+
const formattedSession = formatSession(session);
|
|
12
|
+
res.locals.authType = "session";
|
|
13
|
+
Object.entries(formattedSession).forEach(([key, value]) => {
|
|
14
|
+
res.locals[key] = value;
|
|
15
|
+
});
|
|
16
|
+
return next();
|
|
125
17
|
}
|
|
126
|
-
|
|
18
|
+
next();
|
|
127
19
|
};
|
|
128
20
|
export {
|
|
129
|
-
|
|
130
|
-
checkOrganization,
|
|
131
|
-
checkProject,
|
|
132
|
-
checkUser
|
|
21
|
+
authMiddleware
|
|
133
22
|
};
|
|
134
23
|
//# sourceMappingURL=sessionAuth.middleware.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/middlewares/sessionAuth.middleware.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"sources":["../../../src/middlewares/sessionAuth.middleware.ts"],"sourcesContent":["import { formatSession, type Auth } from '@utils/auth/getAuth';\nimport { fromNodeHeaders } from 'better-auth/node';\nimport type { NextFunction, Request, Response } from 'express';\n\nexport const authMiddleware =\n (auth: Auth) => async (req: Request, res: Response, next: NextFunction) => {\n if (typeof res.locals.authType !== 'undefined') {\n // Skip if user is already authenticated (ex: oAuth2)\n return next();\n }\n\n const session = await auth.api.getSession({\n headers: fromNodeHeaders(req.headers),\n });\n\n if (session) {\n const formattedSession = formatSession(session);\n res.locals.authType = 'session';\n\n // Attach the session to the response locals\n Object.entries(formattedSession).forEach(([key, value]) => {\n (res.locals as any)[key] = value;\n });\n\n return next();\n }\n\n next();\n };\n"],"mappings":"AAAA,SAAS,qBAAgC;AACzC,SAAS,uBAAuB;AAGzB,MAAM,iBACX,CAAC,SAAe,OAAO,KAAc,KAAe,SAAuB;AACzE,MAAI,OAAO,IAAI,OAAO,aAAa,aAAa;AAE9C,WAAO,KAAK;AAAA,EACd;AAEA,QAAM,UAAU,MAAM,KAAK,IAAI,WAAW;AAAA,IACxC,SAAS,gBAAgB,IAAI,OAAO;AAAA,EACtC,CAAC;AAED,MAAI,SAAS;AACX,UAAM,mBAAmB,cAAc,OAAO;AAC9C,QAAI,OAAO,WAAW;AAGtB,WAAO,QAAQ,gBAAgB,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AACzD,MAAC,IAAI,OAAe,GAAG,IAAI;AAAA,IAC7B,CAAC;AAED,WAAO,KAAK;AAAA,EACd;AAEA,OAAK;AACP;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/models/dictionary.model.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"sources":["../../../src/models/dictionary.model.ts"],"sourcesContent":["import type { Dictionary } from '@/types/dictionary.types';\nimport { dictionarySchema } from '@schemas/dictionary.schema';\nimport type { RenameId } from '@utils/mongoDB/types';\nimport { Model, model } from 'mongoose';\n\nexport const DictionaryModel = model<RenameId<Dictionary>, Model<Dictionary>>(\n 'dictionary',\n dictionarySchema\n);\n"],"mappings":"AACA,SAAS,wBAAwB;AAEjC,SAAgB,aAAa;AAEtB,MAAM,kBAAkB;AAAA,EAC7B;AAAA,EACA;AACF;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/models/discussion.model.ts"],"sourcesContent":["import type { Discussion
|
|
1
|
+
{"version":3,"sources":["../../../src/models/discussion.model.ts"],"sourcesContent":["import type { Discussion } from '@/types/discussion.types';\nimport { discussionSchema } from '@schemas/discussion.schema';\nimport type { RenameId } from '@utils/mongoDB/types';\nimport { Model, model } from 'mongoose';\n\nexport const DiscussionModel = model<RenameId<Discussion>, Model<Discussion>>(\n 'discussion',\n discussionSchema\n);\n"],"mappings":"AACA,SAAS,wBAAwB;AAEjC,SAAgB,aAAa;AAEtB,MAAM,kBAAkB;AAAA,EAC7B;AAAA,EACA;AACF;","names":[]}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { model } from "mongoose";
|
|
2
2
|
import { accessTokenSchema } from "../schemas/oAuth2.schema.mjs";
|
|
3
|
-
const OAuth2AccessTokenModel = model(
|
|
3
|
+
const OAuth2AccessTokenModel = model(
|
|
4
|
+
"oAuth2",
|
|
5
|
+
accessTokenSchema
|
|
6
|
+
);
|
|
4
7
|
export {
|
|
5
8
|
OAuth2AccessTokenModel
|
|
6
9
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/models/oAuth2.model.ts"],"sourcesContent":["import { model } from 'mongoose';\nimport { type Token, accessTokenSchema } from '../schemas/oAuth2.schema';\n\nexport const OAuth2AccessTokenModel = model<Token
|
|
1
|
+
{"version":3,"sources":["../../../src/models/oAuth2.model.ts"],"sourcesContent":["import { Model, model } from 'mongoose';\nimport { type Token, accessTokenSchema } from '../schemas/oAuth2.schema';\n\nexport const OAuth2AccessTokenModel = model<Token, Model<Token>>(\n 'oAuth2',\n accessTokenSchema\n);\n"],"mappings":"AAAA,SAAgB,aAAa;AAC7B,SAAqB,yBAAyB;AAEvC,MAAM,yBAAyB;AAAA,EACpC;AAAA,EACA;AACF;","names":[]}
|
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
import { organizationSchema } from "./../schemas/organization.schema.mjs";
|
|
2
2
|
import { model } from "mongoose";
|
|
3
|
-
const OrganizationModel = model(
|
|
4
|
-
"organization",
|
|
5
|
-
organizationSchema
|
|
6
|
-
);
|
|
3
|
+
const OrganizationModel = model("organization", organizationSchema);
|
|
7
4
|
export {
|
|
8
5
|
OrganizationModel
|
|
9
6
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/models/organization.model.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"sources":["../../../src/models/organization.model.ts"],"sourcesContent":["import type {\n OrganizationModelType,\n OrganizationSchema,\n} from '@/types/organization.types';\nimport { organizationSchema } from '@schemas/organization.schema';\nimport { model } from 'mongoose';\n\nexport const OrganizationModel = model<\n OrganizationSchema,\n OrganizationModelType\n>('organization', organizationSchema);\n"],"mappings":"AAIA,SAAS,0BAA0B;AACnC,SAAS,aAAa;AAEf,MAAM,oBAAoB,MAG/B,gBAAgB,kBAAkB;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/models/project.model.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"sources":["../../../src/models/project.model.ts"],"sourcesContent":["import type { ProjectModelType, ProjectSchema } from '@/types/project.types';\nimport { projectSchema } from '@schemas/project.schema';\nimport { model } from 'mongoose';\n\nexport const ProjectModel = model<ProjectSchema, ProjectModelType>(\n 'project',\n projectSchema\n);\n"],"mappings":"AACA,SAAS,qBAAqB;AAC9B,SAAS,aAAa;AAEf,MAAM,eAAe;AAAA,EAC1B;AAAA,EACA;AACF;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/models/session.model.ts"],"sourcesContent":["import type { SessionModelType, SessionSchema } from '@/types/session.types';\nimport { sessionSchema } from '@schemas/session.schema';\nimport { model } from 'mongoose';\n\nexport const SessionModel = model<SessionSchema, SessionModelType>(\n 'session',\n sessionSchema\n);\n"],"mappings":"AACA,SAAS,qBAAqB;AAC9B,SAAS,aAAa;AAEf,MAAM,eAAe;AAAA,EAC1B;AAAA,EACA;AACF;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/models/tag.model.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"sources":["../../../src/models/tag.model.ts"],"sourcesContent":["import type { TagModelType, TagSchema } from '@/types/tag.types';\nimport { tagSchema } from '@schemas/tag.schema';\nimport { model } from 'mongoose';\n\nexport const TagModel = model<TagSchema, TagModelType>('tag', tagSchema);\n"],"mappings":"AACA,SAAS,iBAAiB;AAC1B,SAAS,aAAa;AAEf,MAAM,WAAW,MAA+B,OAAO,SAAS;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/models/user.model.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"sources":["../../../src/models/user.model.ts"],"sourcesContent":["import type { UserModelType, UserSchema } from '@/types/user.types';\nimport { userSchema } from '@schemas/user.schema';\nimport { model } from 'mongoose';\n\nexport const UserModel = model<UserSchema, UserModelType>('user', userSchema);\n"],"mappings":"AACA,SAAS,kBAAkB;AAC3B,SAAS,aAAa;AAEf,MAAM,YAAY,MAAiC,QAAQ,UAAU;","names":[]}
|
|
@@ -8,6 +8,7 @@ import {
|
|
|
8
8
|
customQuery,
|
|
9
9
|
translateJSON
|
|
10
10
|
} from "./../controllers/ai.controller.mjs";
|
|
11
|
+
import { unauthenticatedChatBotLimiter } from "./../utils/rateLimiter.mjs";
|
|
11
12
|
import { Router } from "express";
|
|
12
13
|
const aiRouter = Router();
|
|
13
14
|
const aiRoute = "/api/ai";
|
|
@@ -68,9 +69,10 @@ aiRouter.post(
|
|
|
68
69
|
getAiRoutes().auditContentDeclarationMetadata.urlModel,
|
|
69
70
|
auditContentDeclarationMetadata
|
|
70
71
|
);
|
|
71
|
-
aiRouter.post(getAiRoutes().ask.urlModel, askDocQuestion);
|
|
72
72
|
aiRouter.post(getAiRoutes().auditTag.urlModel, auditTag);
|
|
73
73
|
aiRouter.post(getAiRoutes().autocomplete.urlModel, autocomplete);
|
|
74
|
+
aiRouter.use(/(.*)/, unauthenticatedChatBotLimiter);
|
|
75
|
+
aiRouter.post(getAiRoutes().ask.urlModel, askDocQuestion);
|
|
74
76
|
export {
|
|
75
77
|
aiRoute,
|
|
76
78
|
aiRouter,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/routes/ai.routes.ts"],"sourcesContent":["import type { Routes } from '@/types/Routes';\nimport {\n askDocQuestion,\n auditContentDeclaration,\n auditContentDeclarationField,\n auditContentDeclarationMetadata,\n auditTag,\n autocomplete,\n customQuery,\n translateJSON,\n} from '@controllers/ai.controller';\nimport { Router } from 'express';\n\nexport const aiRouter: Router = Router();\n\nexport const aiRoute = '/api/ai';\n\nconst baseURL = () => `${process.env.BACKEND_URL}${aiRoute}`;\n\nexport const getAiRoutes = () =>\n ({\n customQuery: {\n urlModel: '/',\n url: `${baseURL()}/`,\n method: 'POST',\n },\n translateJSON: {\n urlModel: '/translate/json',\n url: `${baseURL()}/translate/json`,\n method: 'POST',\n },\n auditContentDeclaration: {\n urlModel: '/audit/dictionary',\n url: `${baseURL()}/audit/dictionary`,\n method: 'POST',\n },\n auditContentDeclarationField: {\n urlModel: '/audit/dictionary/field',\n url: `${baseURL()}/audit/dictionary/field`,\n method: 'POST',\n },\n auditContentDeclarationMetadata: {\n urlModel: '/audit/dictionary/metadata',\n url: `${baseURL()}/audit/dictionary/metadata`,\n method: 'POST',\n },\n auditTag: {\n urlModel: '/audit/tag',\n url: `${baseURL()}/audit/tag`,\n method: 'POST',\n },\n ask: {\n urlModel: '/ask',\n url: `${baseURL()}/ask`,\n method: 'POST',\n },\n autocomplete: {\n urlModel: '/autocomplete',\n url: `${baseURL()}/autocomplete`,\n method: 'POST',\n },\n }) satisfies Routes;\n\naiRouter.post(getAiRoutes().customQuery.urlModel, customQuery);\n\naiRouter.post(getAiRoutes().translateJSON.urlModel, translateJSON);\n\naiRouter.post(\n getAiRoutes().auditContentDeclaration.urlModel,\n auditContentDeclaration\n);\naiRouter.post(\n getAiRoutes().auditContentDeclarationField.urlModel,\n auditContentDeclarationField\n);\naiRouter.post(\n getAiRoutes().auditContentDeclarationMetadata.urlModel,\n auditContentDeclarationMetadata\n);\naiRouter.post(getAiRoutes().
|
|
1
|
+
{"version":3,"sources":["../../../src/routes/ai.routes.ts"],"sourcesContent":["import type { Routes } from '@/types/Routes';\nimport {\n askDocQuestion,\n auditContentDeclaration,\n auditContentDeclarationField,\n auditContentDeclarationMetadata,\n auditTag,\n autocomplete,\n customQuery,\n translateJSON,\n} from '@controllers/ai.controller';\nimport { unauthenticatedChatBotLimiter } from '@utils/rateLimiter';\nimport { Router } from 'express';\n\nexport const aiRouter: Router = Router();\n\nexport const aiRoute = '/api/ai';\n\nconst baseURL = () => `${process.env.BACKEND_URL}${aiRoute}`;\n\nexport const getAiRoutes = () =>\n ({\n customQuery: {\n urlModel: '/',\n url: `${baseURL()}/`,\n method: 'POST',\n },\n translateJSON: {\n urlModel: '/translate/json',\n url: `${baseURL()}/translate/json`,\n method: 'POST',\n },\n auditContentDeclaration: {\n urlModel: '/audit/dictionary',\n url: `${baseURL()}/audit/dictionary`,\n method: 'POST',\n },\n auditContentDeclarationField: {\n urlModel: '/audit/dictionary/field',\n url: `${baseURL()}/audit/dictionary/field`,\n method: 'POST',\n },\n auditContentDeclarationMetadata: {\n urlModel: '/audit/dictionary/metadata',\n url: `${baseURL()}/audit/dictionary/metadata`,\n method: 'POST',\n },\n auditTag: {\n urlModel: '/audit/tag',\n url: `${baseURL()}/audit/tag`,\n method: 'POST',\n },\n ask: {\n urlModel: '/ask',\n url: `${baseURL()}/ask`,\n method: 'POST',\n },\n autocomplete: {\n urlModel: '/autocomplete',\n url: `${baseURL()}/autocomplete`,\n method: 'POST',\n },\n }) satisfies Routes;\n\naiRouter.post(getAiRoutes().customQuery.urlModel, customQuery as any);\n\naiRouter.post(getAiRoutes().translateJSON.urlModel, translateJSON as any);\n\naiRouter.post(\n getAiRoutes().auditContentDeclaration.urlModel,\n auditContentDeclaration as any\n);\naiRouter.post(\n getAiRoutes().auditContentDeclarationField.urlModel,\n auditContentDeclarationField as any\n);\naiRouter.post(\n getAiRoutes().auditContentDeclarationMetadata.urlModel,\n auditContentDeclarationMetadata as any\n);\n\naiRouter.post(getAiRoutes().auditTag.urlModel, auditTag as any);\n\naiRouter.post(getAiRoutes().autocomplete.urlModel, autocomplete as any);\n\n/**\n * This route number of requests is limited for unauthenticated users\n */\naiRouter.use(/(.*)/, unauthenticatedChatBotLimiter as any);\naiRouter.post(getAiRoutes().ask.urlModel, askDocQuestion as any);\n"],"mappings":"AACA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,qCAAqC;AAC9C,SAAS,cAAc;AAEhB,MAAM,WAAmB,OAAO;AAEhC,MAAM,UAAU;AAEvB,MAAM,UAAU,MAAM,GAAG,QAAQ,IAAI,WAAW,GAAG,OAAO;AAEnD,MAAM,cAAc,OACxB;AAAA,EACC,aAAa;AAAA,IACX,UAAU;AAAA,IACV,KAAK,GAAG,QAAQ,CAAC;AAAA,IACjB,QAAQ;AAAA,EACV;AAAA,EACA,eAAe;AAAA,IACb,UAAU;AAAA,IACV,KAAK,GAAG,QAAQ,CAAC;AAAA,IACjB,QAAQ;AAAA,EACV;AAAA,EACA,yBAAyB;AAAA,IACvB,UAAU;AAAA,IACV,KAAK,GAAG,QAAQ,CAAC;AAAA,IACjB,QAAQ;AAAA,EACV;AAAA,EACA,8BAA8B;AAAA,IAC5B,UAAU;AAAA,IACV,KAAK,GAAG,QAAQ,CAAC;AAAA,IACjB,QAAQ;AAAA,EACV;AAAA,EACA,iCAAiC;AAAA,IAC/B,UAAU;AAAA,IACV,KAAK,GAAG,QAAQ,CAAC;AAAA,IACjB,QAAQ;AAAA,EACV;AAAA,EACA,UAAU;AAAA,IACR,UAAU;AAAA,IACV,KAAK,GAAG,QAAQ,CAAC;AAAA,IACjB,QAAQ;AAAA,EACV;AAAA,EACA,KAAK;AAAA,IACH,UAAU;AAAA,IACV,KAAK,GAAG,QAAQ,CAAC;AAAA,IACjB,QAAQ;AAAA,EACV;AAAA,EACA,cAAc;AAAA,IACZ,UAAU;AAAA,IACV,KAAK,GAAG,QAAQ,CAAC;AAAA,IACjB,QAAQ;AAAA,EACV;AACF;AAEF,SAAS,KAAK,YAAY,EAAE,YAAY,UAAU,WAAkB;AAEpE,SAAS,KAAK,YAAY,EAAE,cAAc,UAAU,aAAoB;AAExE,SAAS;AAAA,EACP,YAAY,EAAE,wBAAwB;AAAA,EACtC;AACF;AACA,SAAS;AAAA,EACP,YAAY,EAAE,6BAA6B;AAAA,EAC3C;AACF;AACA,SAAS;AAAA,EACP,YAAY,EAAE,gCAAgC;AAAA,EAC9C;AACF;AAEA,SAAS,KAAK,YAAY,EAAE,SAAS,UAAU,QAAe;AAE9D,SAAS,KAAK,YAAY,EAAE,aAAa,UAAU,YAAmB;AAKtE,SAAS,IAAI,QAAQ,6BAAoC;AACzD,SAAS,KAAK,YAAY,EAAE,IAAI,UAAU,cAAqB;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/routes/dictionary.routes.ts"],"sourcesContent":["import type { Routes } from '@/types/Routes';\nimport {\n addDictionary,\n deleteDictionary,\n getDictionaries,\n getDictionariesKeys,\n getDictionaryByKey,\n pushDictionaries,\n updateDictionary,\n} from '@controllers/dictionary.controller';\nimport { Router } from 'express';\n\nexport const dictionaryRouter: Router = Router();\n\nexport const dictionaryRoute = '/api/dictionary';\n\nconst baseURL = () => `${process.env.BACKEND_URL}${dictionaryRoute}`;\n\nexport const getDictionaryRoutes = () =>\n ({\n getDictionaries: {\n urlModel: '/',\n url: baseURL,\n method: 'GET',\n },\n getDictionariesKeys: {\n urlModel: '/keys',\n url: `${baseURL}/keys`,\n method: 'GET',\n },\n getDictionary: {\n urlModel: '/:dictionaryKey',\n url: ({ dictionaryKey }: { dictionaryKey: string }) =>\n `${baseURL}/${dictionaryKey}`,\n method: 'GET',\n },\n addDictionary: {\n urlModel: '/',\n url: baseURL,\n method: 'POST',\n },\n pushDictionaries: {\n urlModel: '/',\n url: baseURL,\n method: 'PATCH',\n },\n updateDictionary: {\n urlModel: '/:dictionaryId',\n url: ({ dictionaryId }: { dictionaryId: string }) =>\n `${baseURL}/${dictionaryId}`,\n method: 'PUT',\n },\n deleteDictionary: {\n urlModel: '/:dictionaryId',\n url: ({ dictionaryId }: { dictionaryId: string }) =>\n `${baseURL}/${dictionaryId}`,\n method: 'DELETE',\n },\n }) satisfies Routes;\n\ndictionaryRouter.get(\n getDictionaryRoutes().getDictionaries.urlModel,\n getDictionaries\n);\n\ndictionaryRouter.get(\n getDictionaryRoutes().getDictionariesKeys.urlModel,\n getDictionariesKeys\n);\n\ndictionaryRouter.get(\n getDictionaryRoutes().getDictionary.urlModel,\n getDictionaryByKey\n);\n\ndictionaryRouter.post(\n getDictionaryRoutes().addDictionary.urlModel,\n addDictionary\n);\ndictionaryRouter.patch(\n getDictionaryRoutes().pushDictionaries.urlModel,\n pushDictionaries\n);\ndictionaryRouter.put(\n getDictionaryRoutes().updateDictionary.urlModel,\n updateDictionary\n);\ndictionaryRouter.delete(\n getDictionaryRoutes().deleteDictionary.urlModel,\n deleteDictionary\n);\n"],"mappings":"AACA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,cAAc;AAEhB,MAAM,mBAA2B,OAAO;AAExC,MAAM,kBAAkB;AAE/B,MAAM,UAAU,MAAM,GAAG,QAAQ,IAAI,WAAW,GAAG,eAAe;AAE3D,MAAM,sBAAsB,OAChC;AAAA,EACC,iBAAiB;AAAA,IACf,UAAU;AAAA,IACV,KAAK;AAAA,IACL,QAAQ;AAAA,EACV;AAAA,EACA,qBAAqB;AAAA,IACnB,UAAU;AAAA,IACV,KAAK,GAAG,OAAO;AAAA,IACf,QAAQ;AAAA,EACV;AAAA,EACA,eAAe;AAAA,IACb,UAAU;AAAA,IACV,KAAK,CAAC,EAAE,cAAc,MACpB,GAAG,OAAO,IAAI,aAAa;AAAA,IAC7B,QAAQ;AAAA,EACV;AAAA,EACA,eAAe;AAAA,IACb,UAAU;AAAA,IACV,KAAK;AAAA,IACL,QAAQ;AAAA,EACV;AAAA,EACA,kBAAkB;AAAA,IAChB,UAAU;AAAA,IACV,KAAK;AAAA,IACL,QAAQ;AAAA,EACV;AAAA,EACA,kBAAkB;AAAA,IAChB,UAAU;AAAA,IACV,KAAK,CAAC,EAAE,aAAa,MACnB,GAAG,OAAO,IAAI,YAAY;AAAA,IAC5B,QAAQ;AAAA,EACV;AAAA,EACA,kBAAkB;AAAA,IAChB,UAAU;AAAA,IACV,KAAK,CAAC,EAAE,aAAa,MACnB,GAAG,OAAO,IAAI,YAAY;AAAA,IAC5B,QAAQ;AAAA,EACV;AACF;AAEF,iBAAiB;AAAA,EACf,oBAAoB,EAAE,gBAAgB;AAAA,EACtC;AACF;AAEA,iBAAiB;AAAA,EACf,oBAAoB,EAAE,oBAAoB;AAAA,EAC1C;AACF;AAEA,iBAAiB;AAAA,EACf,oBAAoB,EAAE,cAAc;AAAA,EACpC;AACF;AAEA,iBAAiB;AAAA,EACf,oBAAoB,EAAE,cAAc;AAAA,EACpC;AACF;AACA,iBAAiB;AAAA,EACf,oBAAoB,EAAE,iBAAiB;AAAA,EACvC;AACF;AACA,iBAAiB;AAAA,EACf,oBAAoB,EAAE,iBAAiB;AAAA,EACvC;AACF;AACA,iBAAiB;AAAA,EACf,oBAAoB,EAAE,iBAAiB;AAAA,EACvC;AACF;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../src/routes/dictionary.routes.ts"],"sourcesContent":["import type { Routes } from '@/types/Routes';\nimport {\n addDictionary,\n deleteDictionary,\n getDictionaries,\n getDictionariesKeys,\n getDictionaryByKey,\n pushDictionaries,\n updateDictionary,\n} from '@controllers/dictionary.controller';\nimport { Router } from 'express';\n\nexport const dictionaryRouter: Router = Router();\n\nexport const dictionaryRoute = '/api/dictionary';\n\nconst baseURL = () => `${process.env.BACKEND_URL}${dictionaryRoute}`;\n\nexport const getDictionaryRoutes = () =>\n ({\n getDictionaries: {\n urlModel: '/',\n url: baseURL,\n method: 'GET',\n },\n getDictionariesKeys: {\n urlModel: '/keys',\n url: `${baseURL}/keys`,\n method: 'GET',\n },\n getDictionary: {\n urlModel: '/:dictionaryKey',\n url: ({ dictionaryKey }: { dictionaryKey: string }) =>\n `${baseURL}/${dictionaryKey}`,\n method: 'GET',\n },\n addDictionary: {\n urlModel: '/',\n url: baseURL,\n method: 'POST',\n },\n pushDictionaries: {\n urlModel: '/',\n url: baseURL,\n method: 'PATCH',\n },\n updateDictionary: {\n urlModel: '/:dictionaryId',\n url: ({ dictionaryId }: { dictionaryId: string }) =>\n `${baseURL}/${dictionaryId}`,\n method: 'PUT',\n },\n deleteDictionary: {\n urlModel: '/:dictionaryId',\n url: ({ dictionaryId }: { dictionaryId: string }) =>\n `${baseURL}/${dictionaryId}`,\n method: 'DELETE',\n },\n }) satisfies Routes;\n\ndictionaryRouter.get(\n getDictionaryRoutes().getDictionaries.urlModel,\n getDictionaries as any\n);\n\ndictionaryRouter.get(\n getDictionaryRoutes().getDictionariesKeys.urlModel,\n getDictionariesKeys as any\n);\n\ndictionaryRouter.get(\n getDictionaryRoutes().getDictionary.urlModel,\n getDictionaryByKey as any\n);\n\ndictionaryRouter.post(\n getDictionaryRoutes().addDictionary.urlModel,\n addDictionary as any\n);\ndictionaryRouter.patch(\n getDictionaryRoutes().pushDictionaries.urlModel,\n pushDictionaries as any\n);\ndictionaryRouter.put(\n getDictionaryRoutes().updateDictionary.urlModel,\n updateDictionary as any\n);\ndictionaryRouter.delete(\n getDictionaryRoutes().deleteDictionary.urlModel,\n deleteDictionary as any\n);\n"],"mappings":"AACA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,cAAc;AAEhB,MAAM,mBAA2B,OAAO;AAExC,MAAM,kBAAkB;AAE/B,MAAM,UAAU,MAAM,GAAG,QAAQ,IAAI,WAAW,GAAG,eAAe;AAE3D,MAAM,sBAAsB,OAChC;AAAA,EACC,iBAAiB;AAAA,IACf,UAAU;AAAA,IACV,KAAK;AAAA,IACL,QAAQ;AAAA,EACV;AAAA,EACA,qBAAqB;AAAA,IACnB,UAAU;AAAA,IACV,KAAK,GAAG,OAAO;AAAA,IACf,QAAQ;AAAA,EACV;AAAA,EACA,eAAe;AAAA,IACb,UAAU;AAAA,IACV,KAAK,CAAC,EAAE,cAAc,MACpB,GAAG,OAAO,IAAI,aAAa;AAAA,IAC7B,QAAQ;AAAA,EACV;AAAA,EACA,eAAe;AAAA,IACb,UAAU;AAAA,IACV,KAAK;AAAA,IACL,QAAQ;AAAA,EACV;AAAA,EACA,kBAAkB;AAAA,IAChB,UAAU;AAAA,IACV,KAAK;AAAA,IACL,QAAQ;AAAA,EACV;AAAA,EACA,kBAAkB;AAAA,IAChB,UAAU;AAAA,IACV,KAAK,CAAC,EAAE,aAAa,MACnB,GAAG,OAAO,IAAI,YAAY;AAAA,IAC5B,QAAQ;AAAA,EACV;AAAA,EACA,kBAAkB;AAAA,IAChB,UAAU;AAAA,IACV,KAAK,CAAC,EAAE,aAAa,MACnB,GAAG,OAAO,IAAI,YAAY;AAAA,IAC5B,QAAQ;AAAA,EACV;AACF;AAEF,iBAAiB;AAAA,EACf,oBAAoB,EAAE,gBAAgB;AAAA,EACtC;AACF;AAEA,iBAAiB;AAAA,EACf,oBAAoB,EAAE,oBAAoB;AAAA,EAC1C;AACF;AAEA,iBAAiB;AAAA,EACf,oBAAoB,EAAE,cAAc;AAAA,EACpC;AACF;AAEA,iBAAiB;AAAA,EACf,oBAAoB,EAAE,cAAc;AAAA,EACpC;AACF;AACA,iBAAiB;AAAA,EACf,oBAAoB,EAAE,iBAAiB;AAAA,EACvC;AACF;AACA,iBAAiB;AAAA,EACf,oBAAoB,EAAE,iBAAiB;AAAA,EACvC;AACF;AACA,iBAAiB;AAAA,EACf,oBAAoB,EAAE,iBAAiB;AAAA,EACvC;AACF;","names":[]}
|
|
@@ -6,7 +6,7 @@ const baseURL = () => `${process.env.BACKEND_URL}${eventListenerRoute}`;
|
|
|
6
6
|
const eventListenerRoutes = () => ({
|
|
7
7
|
checkDictionaryChangeSSE: {
|
|
8
8
|
urlModel: "/:accessToken",
|
|
9
|
-
url: ({ accessToken }) => `${baseURL}/${accessToken}`,
|
|
9
|
+
url: ({ accessToken }) => `${baseURL()}/${accessToken}`,
|
|
10
10
|
method: "GET"
|
|
11
11
|
}
|
|
12
12
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/routes/eventListener.routes.ts"],"sourcesContent":["import type { Routes } from '@/types/Routes';\nimport { listenChangeSSE } from '@controllers/eventListener.controller';\nimport { Router } from 'express';\n\nexport const eventListenerRouter: Router = Router();\n\nexport const eventListenerRoute = '/api/event-listener';\n\nconst baseURL = () => `${process.env.BACKEND_URL}${eventListenerRoute}`;\n\nexport const eventListenerRoutes = () =>\n ({\n checkDictionaryChangeSSE: {\n urlModel: '/:accessToken',\n url: ({ accessToken }: { accessToken: string }) =>\n `${baseURL}/${accessToken}`,\n method: 'GET',\n },\n }) satisfies Routes;\n\neventListenerRouter.get(\n eventListenerRoutes().checkDictionaryChangeSSE.urlModel,\n listenChangeSSE\n);\n"],"mappings":"AACA,SAAS,uBAAuB;AAChC,SAAS,cAAc;AAEhB,MAAM,sBAA8B,OAAO;AAE3C,MAAM,qBAAqB;AAElC,MAAM,UAAU,MAAM,GAAG,QAAQ,IAAI,WAAW,GAAG,kBAAkB;AAE9D,MAAM,sBAAsB,OAChC;AAAA,EACC,0BAA0B;AAAA,IACxB,UAAU;AAAA,IACV,KAAK,CAAC,EAAE,YAAY,MAClB,GAAG,
|
|
1
|
+
{"version":3,"sources":["../../../src/routes/eventListener.routes.ts"],"sourcesContent":["import type { Routes } from '@/types/Routes';\nimport { listenChangeSSE } from '@controllers/eventListener.controller';\nimport { Router } from 'express';\n\nexport const eventListenerRouter: Router = Router();\n\nexport const eventListenerRoute = '/api/event-listener';\n\nconst baseURL = () => `${process.env.BACKEND_URL}${eventListenerRoute}`;\n\nexport const eventListenerRoutes = () =>\n ({\n checkDictionaryChangeSSE: {\n urlModel: '/:accessToken',\n url: ({ accessToken }: { accessToken: string }) =>\n `${baseURL()}/${accessToken}`,\n method: 'GET',\n },\n }) satisfies Routes;\n\neventListenerRouter.get(\n eventListenerRoutes().checkDictionaryChangeSSE.urlModel,\n listenChangeSSE as any\n);\n"],"mappings":"AACA,SAAS,uBAAuB;AAChC,SAAS,cAAc;AAEhB,MAAM,sBAA8B,OAAO;AAE3C,MAAM,qBAAqB;AAElC,MAAM,UAAU,MAAM,GAAG,QAAQ,IAAI,WAAW,GAAG,kBAAkB;AAE9D,MAAM,sBAAsB,OAChC;AAAA,EACC,0BAA0B;AAAA,IACxB,UAAU;AAAA,IACV,KAAK,CAAC,EAAE,YAAY,MAClB,GAAG,QAAQ,CAAC,IAAI,WAAW;AAAA,IAC7B,QAAQ;AAAA,EACV;AACF;AAEF,oBAAoB;AAAA,EAClB,oBAAoB,EAAE,yBAAyB;AAAA,EAC/C;AACF;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/routes/newsletter.routes.ts"],"sourcesContent":["import type { Routes } from '@/types/Routes';\nimport {\n getNewsletterStatus,\n subscribeToNewsletter,\n unsubscribeFromNewsletter,\n} from '@controllers/newsletter.controller';\nimport { Router } from 'express';\n\nexport const newsletterRouter: Router = Router();\n\nexport const newsletterRoute = '/api/newsletter';\n\nconst baseURL = () => `${process.env.BACKEND_URL}${newsletterRoute}`;\n\nexport const getNewsletterRoutes = () =>\n ({\n subscribeToNewsletter: {\n urlModel: '/subscribe',\n url: `${baseURL()}/subscribe`,\n method: 'POST',\n },\n unsubscribeFromNewsletter: {\n urlModel: '/unsubscribe',\n url: `${baseURL()}/unsubscribe`,\n method: 'POST',\n },\n getNewsletterStatus: {\n urlModel: '/status',\n url: `${baseURL()}/status`,\n method: 'GET',\n },\n }) satisfies Routes;\n\nnewsletterRouter.post(\n getNewsletterRoutes().subscribeToNewsletter.urlModel,\n subscribeToNewsletter\n);\nnewsletterRouter.post(\n getNewsletterRoutes().unsubscribeFromNewsletter.urlModel,\n unsubscribeFromNewsletter\n);\nnewsletterRouter.get(\n getNewsletterRoutes().getNewsletterStatus.urlModel,\n getNewsletterStatus\n);\n"],"mappings":"AACA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,cAAc;AAEhB,MAAM,mBAA2B,OAAO;AAExC,MAAM,kBAAkB;AAE/B,MAAM,UAAU,MAAM,GAAG,QAAQ,IAAI,WAAW,GAAG,eAAe;AAE3D,MAAM,sBAAsB,OAChC;AAAA,EACC,uBAAuB;AAAA,IACrB,UAAU;AAAA,IACV,KAAK,GAAG,QAAQ,CAAC;AAAA,IACjB,QAAQ;AAAA,EACV;AAAA,EACA,2BAA2B;AAAA,IACzB,UAAU;AAAA,IACV,KAAK,GAAG,QAAQ,CAAC;AAAA,IACjB,QAAQ;AAAA,EACV;AAAA,EACA,qBAAqB;AAAA,IACnB,UAAU;AAAA,IACV,KAAK,GAAG,QAAQ,CAAC;AAAA,IACjB,QAAQ;AAAA,EACV;AACF;AAEF,iBAAiB;AAAA,EACf,oBAAoB,EAAE,sBAAsB;AAAA,EAC5C;AACF;AACA,iBAAiB;AAAA,EACf,oBAAoB,EAAE,0BAA0B;AAAA,EAChD;AACF;AACA,iBAAiB;AAAA,EACf,oBAAoB,EAAE,oBAAoB;AAAA,EAC1C;AACF;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../src/routes/newsletter.routes.ts"],"sourcesContent":["import type { Routes } from '@/types/Routes';\nimport {\n getNewsletterStatus,\n subscribeToNewsletter,\n unsubscribeFromNewsletter,\n} from '@controllers/newsletter.controller';\nimport { Router } from 'express';\n\nexport const newsletterRouter: Router = Router();\n\nexport const newsletterRoute = '/api/newsletter';\n\nconst baseURL = () => `${process.env.BACKEND_URL}${newsletterRoute}`;\n\nexport const getNewsletterRoutes = () =>\n ({\n subscribeToNewsletter: {\n urlModel: '/subscribe',\n url: `${baseURL()}/subscribe`,\n method: 'POST',\n },\n unsubscribeFromNewsletter: {\n urlModel: '/unsubscribe',\n url: `${baseURL()}/unsubscribe`,\n method: 'POST',\n },\n getNewsletterStatus: {\n urlModel: '/status',\n url: `${baseURL()}/status`,\n method: 'GET',\n },\n }) satisfies Routes;\n\nnewsletterRouter.post(\n getNewsletterRoutes().subscribeToNewsletter.urlModel,\n subscribeToNewsletter as any\n);\nnewsletterRouter.post(\n getNewsletterRoutes().unsubscribeFromNewsletter.urlModel,\n unsubscribeFromNewsletter as any\n);\nnewsletterRouter.get(\n getNewsletterRoutes().getNewsletterStatus.urlModel,\n getNewsletterStatus as any\n);\n"],"mappings":"AACA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,cAAc;AAEhB,MAAM,mBAA2B,OAAO;AAExC,MAAM,kBAAkB;AAE/B,MAAM,UAAU,MAAM,GAAG,QAAQ,IAAI,WAAW,GAAG,eAAe;AAE3D,MAAM,sBAAsB,OAChC;AAAA,EACC,uBAAuB;AAAA,IACrB,UAAU;AAAA,IACV,KAAK,GAAG,QAAQ,CAAC;AAAA,IACjB,QAAQ;AAAA,EACV;AAAA,EACA,2BAA2B;AAAA,IACzB,UAAU;AAAA,IACV,KAAK,GAAG,QAAQ,CAAC;AAAA,IACjB,QAAQ;AAAA,EACV;AAAA,EACA,qBAAqB;AAAA,IACnB,UAAU;AAAA,IACV,KAAK,GAAG,QAAQ,CAAC;AAAA,IACjB,QAAQ;AAAA,EACV;AACF;AAEF,iBAAiB;AAAA,EACf,oBAAoB,EAAE,sBAAsB;AAAA,EAC5C;AACF;AACA,iBAAiB;AAAA,EACf,oBAAoB,EAAE,0BAA0B;AAAA,EAChD;AACF;AACA,iBAAiB;AAAA,EACf,oBAAoB,EAAE,oBAAoB;AAAA,EAC1C;AACF;","names":[]}
|
|
@@ -15,42 +15,42 @@ const baseURL = () => `${process.env.BACKEND_URL}${organizationRoute}`;
|
|
|
15
15
|
const getOrganizationRoutes = () => ({
|
|
16
16
|
getOrganizations: {
|
|
17
17
|
urlModel: "/",
|
|
18
|
-
url: baseURL,
|
|
18
|
+
url: baseURL(),
|
|
19
19
|
method: "GET"
|
|
20
20
|
},
|
|
21
21
|
addOrganization: {
|
|
22
22
|
urlModel: "/",
|
|
23
|
-
url: baseURL,
|
|
23
|
+
url: baseURL(),
|
|
24
24
|
method: "POST"
|
|
25
25
|
},
|
|
26
26
|
updateOrganization: {
|
|
27
27
|
urlModel: "/",
|
|
28
|
-
url: baseURL,
|
|
28
|
+
url: baseURL(),
|
|
29
29
|
method: "PUT"
|
|
30
30
|
},
|
|
31
31
|
updateOrganizationMembers: {
|
|
32
32
|
urlModel: "/members",
|
|
33
|
-
url: `${baseURL}/members`,
|
|
33
|
+
url: `${baseURL()}/members`,
|
|
34
34
|
method: "PUT"
|
|
35
35
|
},
|
|
36
36
|
addOrganizationMember: {
|
|
37
37
|
urlModel: "/member",
|
|
38
|
-
url: `${baseURL}/member`,
|
|
38
|
+
url: `${baseURL()}/member`,
|
|
39
39
|
method: "POST"
|
|
40
40
|
},
|
|
41
41
|
deleteOrganization: {
|
|
42
42
|
urlModel: "/",
|
|
43
|
-
url: baseURL,
|
|
43
|
+
url: baseURL(),
|
|
44
44
|
method: "DELETE"
|
|
45
45
|
},
|
|
46
46
|
selectOrganization: {
|
|
47
47
|
urlModel: "/:organizationId",
|
|
48
|
-
url: ({ organizationId }) => `${baseURL}/${organizationId}`,
|
|
48
|
+
url: ({ organizationId }) => `${baseURL()}/${organizationId}`,
|
|
49
49
|
method: "PUT"
|
|
50
50
|
},
|
|
51
51
|
unselectOrganization: {
|
|
52
52
|
urlModel: "/logout",
|
|
53
|
-
url: `${baseURL}/logout`,
|
|
53
|
+
url: `${baseURL()}/logout`,
|
|
54
54
|
method: "POST"
|
|
55
55
|
}
|
|
56
56
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/routes/organization.routes.ts"],"sourcesContent":["import type { Routes } from '@/types/Routes';\nimport {\n addOrganization,\n addOrganizationMember,\n deleteOrganization,\n getOrganizations,\n selectOrganization,\n unselectOrganization,\n updateOrganization,\n updateOrganizationMembers,\n} from '@controllers/organization.controller';\nimport { Router } from 'express';\n\nexport const organizationRouter: Router = Router();\n\nexport const organizationRoute = '/api/organization';\n\nconst baseURL = () => `${process.env.BACKEND_URL}${organizationRoute}`;\n\nexport const getOrganizationRoutes = () =>\n ({\n getOrganizations: {\n urlModel: '/',\n url: baseURL,\n method: 'GET',\n },\n addOrganization: {\n urlModel: '/',\n url: baseURL,\n method: 'POST',\n },\n updateOrganization: {\n urlModel: '/',\n url: baseURL,\n\n method: 'PUT',\n },\n updateOrganizationMembers: {\n urlModel: '/members',\n url: `${baseURL}/members`,\n method: 'PUT',\n },\n addOrganizationMember: {\n urlModel: '/member',\n url: `${baseURL}/member`,\n method: 'POST',\n },\n deleteOrganization: {\n urlModel: '/',\n url: baseURL,\n method: 'DELETE',\n },\n selectOrganization: {\n urlModel: '/:organizationId',\n url: ({ organizationId }: { organizationId: string }) =>\n `${baseURL}/${organizationId}`,\n method: 'PUT',\n },\n unselectOrganization: {\n urlModel: '/logout',\n url: `${baseURL}/logout`,\n method: 'POST',\n },\n }) satisfies Routes;\n\norganizationRouter.get(\n getOrganizationRoutes().getOrganizations.urlModel,\n getOrganizations\n);\n\norganizationRouter.post(\n getOrganizationRoutes().addOrganization.urlModel,\n addOrganization\n);\norganizationRouter.put(\n getOrganizationRoutes().updateOrganization.urlModel,\n updateOrganization\n);\norganizationRouter.put(\n getOrganizationRoutes().updateOrganizationMembers.urlModel,\n updateOrganizationMembers\n);\norganizationRouter.post(\n getOrganizationRoutes().addOrganizationMember.urlModel,\n addOrganizationMember\n);\norganizationRouter.delete(\n getOrganizationRoutes().deleteOrganization.urlModel,\n deleteOrganization\n);\norganizationRouter.put(\n getOrganizationRoutes().selectOrganization.urlModel,\n selectOrganization\n);\n\norganizationRouter.post(\n getOrganizationRoutes().unselectOrganization.urlModel,\n unselectOrganization\n);\n"],"mappings":"AACA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,cAAc;AAEhB,MAAM,qBAA6B,OAAO;AAE1C,MAAM,oBAAoB;AAEjC,MAAM,UAAU,MAAM,GAAG,QAAQ,IAAI,WAAW,GAAG,iBAAiB;AAE7D,MAAM,wBAAwB,OAClC;AAAA,EACC,kBAAkB;AAAA,IAChB,UAAU;AAAA,IACV,KAAK;AAAA,
|
|
1
|
+
{"version":3,"sources":["../../../src/routes/organization.routes.ts"],"sourcesContent":["import type { Routes } from '@/types/Routes';\nimport {\n addOrganization,\n addOrganizationMember,\n deleteOrganization,\n getOrganizations,\n selectOrganization,\n unselectOrganization,\n updateOrganization,\n updateOrganizationMembers,\n} from '@controllers/organization.controller';\nimport { Router } from 'express';\n\nexport const organizationRouter: Router = Router();\n\nexport const organizationRoute = '/api/organization';\n\nconst baseURL = () => `${process.env.BACKEND_URL}${organizationRoute}`;\n\nexport const getOrganizationRoutes = () =>\n ({\n getOrganizations: {\n urlModel: '/',\n url: baseURL(),\n method: 'GET',\n },\n addOrganization: {\n urlModel: '/',\n url: baseURL(),\n method: 'POST',\n },\n updateOrganization: {\n urlModel: '/',\n url: baseURL(),\n\n method: 'PUT',\n },\n updateOrganizationMembers: {\n urlModel: '/members',\n url: `${baseURL()}/members`,\n method: 'PUT',\n },\n addOrganizationMember: {\n urlModel: '/member',\n url: `${baseURL()}/member`,\n method: 'POST',\n },\n deleteOrganization: {\n urlModel: '/',\n url: baseURL(),\n method: 'DELETE',\n },\n selectOrganization: {\n urlModel: '/:organizationId',\n url: ({ organizationId }: { organizationId: string }) =>\n `${baseURL()}/${organizationId}`,\n method: 'PUT',\n },\n unselectOrganization: {\n urlModel: '/logout',\n url: `${baseURL()}/logout`,\n method: 'POST',\n },\n }) satisfies Routes;\n\norganizationRouter.get(\n getOrganizationRoutes().getOrganizations.urlModel,\n getOrganizations as any\n);\n\norganizationRouter.post(\n getOrganizationRoutes().addOrganization.urlModel,\n addOrganization as any\n);\norganizationRouter.put(\n getOrganizationRoutes().updateOrganization.urlModel,\n updateOrganization as any\n);\norganizationRouter.put(\n getOrganizationRoutes().updateOrganizationMembers.urlModel,\n updateOrganizationMembers as any\n);\norganizationRouter.post(\n getOrganizationRoutes().addOrganizationMember.urlModel,\n addOrganizationMember as any\n);\norganizationRouter.delete(\n getOrganizationRoutes().deleteOrganization.urlModel,\n deleteOrganization as any\n);\norganizationRouter.put(\n getOrganizationRoutes().selectOrganization.urlModel,\n selectOrganization as any\n);\n\norganizationRouter.post(\n getOrganizationRoutes().unselectOrganization.urlModel,\n unselectOrganization as any\n);\n"],"mappings":"AACA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,cAAc;AAEhB,MAAM,qBAA6B,OAAO;AAE1C,MAAM,oBAAoB;AAEjC,MAAM,UAAU,MAAM,GAAG,QAAQ,IAAI,WAAW,GAAG,iBAAiB;AAE7D,MAAM,wBAAwB,OAClC;AAAA,EACC,kBAAkB;AAAA,IAChB,UAAU;AAAA,IACV,KAAK,QAAQ;AAAA,IACb,QAAQ;AAAA,EACV;AAAA,EACA,iBAAiB;AAAA,IACf,UAAU;AAAA,IACV,KAAK,QAAQ;AAAA,IACb,QAAQ;AAAA,EACV;AAAA,EACA,oBAAoB;AAAA,IAClB,UAAU;AAAA,IACV,KAAK,QAAQ;AAAA,IAEb,QAAQ;AAAA,EACV;AAAA,EACA,2BAA2B;AAAA,IACzB,UAAU;AAAA,IACV,KAAK,GAAG,QAAQ,CAAC;AAAA,IACjB,QAAQ;AAAA,EACV;AAAA,EACA,uBAAuB;AAAA,IACrB,UAAU;AAAA,IACV,KAAK,GAAG,QAAQ,CAAC;AAAA,IACjB,QAAQ;AAAA,EACV;AAAA,EACA,oBAAoB;AAAA,IAClB,UAAU;AAAA,IACV,KAAK,QAAQ;AAAA,IACb,QAAQ;AAAA,EACV;AAAA,EACA,oBAAoB;AAAA,IAClB,UAAU;AAAA,IACV,KAAK,CAAC,EAAE,eAAe,MACrB,GAAG,QAAQ,CAAC,IAAI,cAAc;AAAA,IAChC,QAAQ;AAAA,EACV;AAAA,EACA,sBAAsB;AAAA,IACpB,UAAU;AAAA,IACV,KAAK,GAAG,QAAQ,CAAC;AAAA,IACjB,QAAQ;AAAA,EACV;AACF;AAEF,mBAAmB;AAAA,EACjB,sBAAsB,EAAE,iBAAiB;AAAA,EACzC;AACF;AAEA,mBAAmB;AAAA,EACjB,sBAAsB,EAAE,gBAAgB;AAAA,EACxC;AACF;AACA,mBAAmB;AAAA,EACjB,sBAAsB,EAAE,mBAAmB;AAAA,EAC3C;AACF;AACA,mBAAmB;AAAA,EACjB,sBAAsB,EAAE,0BAA0B;AAAA,EAClD;AACF;AACA,mBAAmB;AAAA,EACjB,sBAAsB,EAAE,sBAAsB;AAAA,EAC9C;AACF;AACA,mBAAmB;AAAA,EACjB,sBAAsB,EAAE,mBAAmB;AAAA,EAC3C;AACF;AACA,mBAAmB;AAAA,EACjB,sBAAsB,EAAE,mBAAmB;AAAA,EAC3C;AACF;AAEA,mBAAmB;AAAA,EACjB,sBAAsB,EAAE,qBAAqB;AAAA,EAC7C;AACF;","names":[]}
|