@intlayer/backend 7.5.8 → 7.5.10
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 +9 -2
- package/dist/assets/utils/AI/askDocQuestion/PROMPT.md +1 -1
- package/dist/assets/utils/AI/askDocQuestion/embeddings/docs/en/cli/init.json +2054 -0
- package/dist/assets/utils/AI/askDocQuestion/embeddings/docs/en/intlayer_with_fastify.json +9 -0
- package/dist/esm/controllers/ai.controller.mjs +95 -128
- package/dist/esm/controllers/ai.controller.mjs.map +1 -1
- package/dist/esm/controllers/dictionary.controller.mjs +86 -198
- package/dist/esm/controllers/dictionary.controller.mjs.map +1 -1
- package/dist/esm/controllers/eventListener.controller.mjs +13 -19
- package/dist/esm/controllers/eventListener.controller.mjs.map +1 -1
- package/dist/esm/controllers/github.controller.mjs +77 -0
- package/dist/esm/controllers/github.controller.mjs.map +1 -0
- package/dist/esm/controllers/newsletter.controller.mjs +30 -60
- package/dist/esm/controllers/newsletter.controller.mjs.map +1 -1
- package/dist/esm/controllers/oAuth2.controller.mjs +11 -8
- package/dist/esm/controllers/oAuth2.controller.mjs.map +1 -1
- package/dist/esm/controllers/organization.controller.mjs +100 -225
- package/dist/esm/controllers/organization.controller.mjs.map +1 -1
- package/dist/esm/controllers/project.controller.mjs +87 -204
- package/dist/esm/controllers/project.controller.mjs.map +1 -1
- package/dist/esm/controllers/projectAccessKey.controller.mjs +38 -71
- package/dist/esm/controllers/projectAccessKey.controller.mjs.map +1 -1
- package/dist/esm/controllers/search.controller.mjs +3 -3
- package/dist/esm/controllers/search.controller.mjs.map +1 -1
- package/dist/esm/controllers/stripe.controller.mjs +34 -67
- package/dist/esm/controllers/stripe.controller.mjs.map +1 -1
- package/dist/esm/controllers/tag.controller.mjs +51 -113
- package/dist/esm/controllers/tag.controller.mjs.map +1 -1
- package/dist/esm/controllers/user.controller.mjs +64 -113
- package/dist/esm/controllers/user.controller.mjs.map +1 -1
- package/dist/esm/export.mjs +2 -1
- package/dist/esm/index.mjs +101 -41
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/middlewares/oAuth2.middleware.mjs +19 -14
- package/dist/esm/middlewares/oAuth2.middleware.mjs.map +1 -1
- package/dist/esm/middlewares/sessionAuth.middleware.mjs +6 -7
- package/dist/esm/middlewares/sessionAuth.middleware.mjs.map +1 -1
- package/dist/esm/routes/ai.routes.mjs +19 -15
- package/dist/esm/routes/ai.routes.mjs.map +1 -1
- package/dist/esm/routes/dictionary.routes.mjs +10 -10
- package/dist/esm/routes/dictionary.routes.mjs.map +1 -1
- package/dist/esm/routes/eventListener.routes.mjs +3 -3
- package/dist/esm/routes/eventListener.routes.mjs.map +1 -1
- package/dist/esm/routes/github.routes.mjs +43 -0
- package/dist/esm/routes/github.routes.mjs.map +1 -0
- package/dist/esm/routes/newsletter.routes.mjs +5 -5
- package/dist/esm/routes/newsletter.routes.mjs.map +1 -1
- package/dist/esm/routes/organization.routes.mjs +11 -11
- package/dist/esm/routes/organization.routes.mjs.map +1 -1
- package/dist/esm/routes/project.routes.mjs +13 -13
- package/dist/esm/routes/project.routes.mjs.map +1 -1
- package/dist/esm/routes/search.routes.mjs +3 -3
- package/dist/esm/routes/search.routes.mjs.map +1 -1
- package/dist/esm/routes/stripe.routes.mjs +5 -5
- package/dist/esm/routes/stripe.routes.mjs.map +1 -1
- package/dist/esm/routes/tags.routes.mjs +6 -6
- package/dist/esm/routes/tags.routes.mjs.map +1 -1
- package/dist/esm/routes/user.routes.mjs +9 -9
- package/dist/esm/routes/user.routes.mjs.map +1 -1
- package/dist/esm/schemas/project.schema.mjs +35 -1
- package/dist/esm/schemas/project.schema.mjs.map +1 -1
- package/dist/esm/services/email.service.mjs +1 -1
- package/dist/esm/services/email.service.mjs.map +1 -1
- package/dist/esm/services/github.service.mjs +130 -0
- package/dist/esm/services/github.service.mjs.map +1 -0
- package/dist/esm/services/oAuth2.service.mjs +1 -1
- package/dist/esm/services/subscription.service.mjs +1 -1
- package/dist/esm/services/subscription.service.mjs.map +1 -1
- package/dist/esm/utils/auth/getAuth.mjs +14 -8
- package/dist/esm/utils/auth/getAuth.mjs.map +1 -1
- package/dist/esm/utils/cors.mjs +15 -5
- package/dist/esm/utils/cors.mjs.map +1 -1
- package/dist/esm/utils/errors/ErrorHandler.mjs +32 -4
- package/dist/esm/utils/errors/ErrorHandler.mjs.map +1 -1
- package/dist/esm/utils/errors/ErrorsClass.mjs +1 -1
- package/dist/esm/utils/errors/ErrorsClass.mjs.map +1 -1
- package/dist/esm/utils/errors/errorCodes.mjs +78 -0
- package/dist/esm/utils/errors/errorCodes.mjs.map +1 -1
- package/dist/esm/utils/filtersAndPagination/getDictionaryFiltersAndPagination.mjs +3 -2
- package/dist/esm/utils/filtersAndPagination/getDictionaryFiltersAndPagination.mjs.map +1 -1
- package/dist/esm/utils/filtersAndPagination/getDiscussionFiltersAndPagination.mjs +1 -1
- package/dist/esm/utils/filtersAndPagination/getDiscussionFiltersAndPagination.mjs.map +1 -1
- package/dist/esm/utils/filtersAndPagination/getFiltersAndPaginationFromBody.mjs +1 -1
- package/dist/esm/utils/filtersAndPagination/getFiltersAndPaginationFromBody.mjs.map +1 -1
- package/dist/esm/utils/filtersAndPagination/getOrganizationFiltersAndPagination.mjs +3 -2
- package/dist/esm/utils/filtersAndPagination/getOrganizationFiltersAndPagination.mjs.map +1 -1
- package/dist/esm/utils/filtersAndPagination/getProjectFiltersAndPagination.mjs +3 -2
- package/dist/esm/utils/filtersAndPagination/getProjectFiltersAndPagination.mjs.map +1 -1
- package/dist/esm/utils/filtersAndPagination/getTagFiltersAndPagination.mjs +3 -2
- package/dist/esm/utils/filtersAndPagination/getTagFiltersAndPagination.mjs.map +1 -1
- package/dist/esm/utils/filtersAndPagination/getUserFiltersAndPagination.mjs +3 -2
- package/dist/esm/utils/filtersAndPagination/getUserFiltersAndPagination.mjs.map +1 -1
- package/dist/esm/utils/mapper/project.mjs +28 -1
- package/dist/esm/utils/mapper/project.mjs.map +1 -1
- package/dist/esm/utils/mongoDB/connectDB.mjs +1 -1
- package/dist/esm/utils/rateLimiter.mjs +40 -30
- package/dist/esm/utils/rateLimiter.mjs.map +1 -1
- package/dist/esm/webhooks/stripe.webhook.mjs +2 -2
- package/dist/esm/webhooks/stripe.webhook.mjs.map +1 -1
- package/dist/types/controllers/ai.controller.d.ts +29 -12
- package/dist/types/controllers/ai.controller.d.ts.map +1 -1
- package/dist/types/controllers/dictionary.controller.d.ts +23 -13
- package/dist/types/controllers/dictionary.controller.d.ts.map +1 -1
- package/dist/types/controllers/eventListener.controller.d.ts +4 -2
- package/dist/types/controllers/eventListener.controller.d.ts.map +1 -1
- package/dist/types/controllers/github.controller.d.ts +63 -0
- package/dist/types/controllers/github.controller.d.ts.map +1 -0
- package/dist/types/controllers/newsletter.controller.d.ts +8 -7
- package/dist/types/controllers/newsletter.controller.d.ts.map +1 -1
- package/dist/types/controllers/oAuth2.controller.d.ts +4 -2
- package/dist/types/controllers/oAuth2.controller.d.ts.map +1 -1
- package/dist/types/controllers/organization.controller.d.ts +28 -12
- package/dist/types/controllers/organization.controller.d.ts.map +1 -1
- package/dist/types/controllers/project.controller.d.ts +21 -16
- package/dist/types/controllers/project.controller.d.ts.map +1 -1
- package/dist/types/controllers/projectAccessKey.controller.d.ts +10 -5
- package/dist/types/controllers/projectAccessKey.controller.d.ts.map +1 -1
- package/dist/types/controllers/search.controller.d.ts +4 -2
- package/dist/types/controllers/search.controller.d.ts.map +1 -1
- package/dist/types/controllers/stripe.controller.d.ts +11 -12
- package/dist/types/controllers/stripe.controller.d.ts.map +1 -1
- package/dist/types/controllers/tag.controller.d.ts +14 -9
- package/dist/types/controllers/tag.controller.d.ts.map +1 -1
- package/dist/types/controllers/user.controller.d.ts +22 -9
- package/dist/types/controllers/user.controller.d.ts.map +1 -1
- package/dist/types/emails/InviteUserEmail.d.ts +4 -4
- package/dist/types/emails/InviteUserEmail.d.ts.map +1 -1
- package/dist/types/emails/MagicLinkEmail.d.ts +4 -4
- package/dist/types/emails/OAuthTokenCreatedEmail.d.ts +4 -4
- package/dist/types/emails/ResetUserPassword.d.ts +4 -4
- package/dist/types/emails/ResetUserPassword.d.ts.map +1 -1
- package/dist/types/emails/SubscriptionPaymentCancellation.d.ts +4 -4
- package/dist/types/emails/SubscriptionPaymentCancellation.d.ts.map +1 -1
- package/dist/types/emails/SubscriptionPaymentError.d.ts +4 -4
- package/dist/types/emails/SubscriptionPaymentSuccess.d.ts +4 -4
- package/dist/types/emails/ValidateUserEmail.d.ts +4 -4
- package/dist/types/emails/ValidateUserEmail.d.ts.map +1 -1
- package/dist/types/emails/Welcome.d.ts +4 -4
- package/dist/types/emails/Welcome.d.ts.map +1 -1
- package/dist/types/export.d.ts +6 -4
- package/dist/types/middlewares/oAuth2.middleware.d.ts +9 -4
- package/dist/types/middlewares/oAuth2.middleware.d.ts.map +1 -1
- package/dist/types/middlewares/sessionAuth.middleware.d.ts +13 -3
- package/dist/types/middlewares/sessionAuth.middleware.d.ts.map +1 -1
- package/dist/types/models/dictionary.model.d.ts +4 -4
- package/dist/types/models/discussion.model.d.ts +2 -2
- package/dist/types/models/oAuth2.model.d.ts +3 -3
- package/dist/types/routes/ai.routes.d.ts +2 -2
- package/dist/types/routes/ai.routes.d.ts.map +1 -1
- package/dist/types/routes/dictionary.routes.d.ts +2 -2
- package/dist/types/routes/dictionary.routes.d.ts.map +1 -1
- package/dist/types/routes/eventListener.routes.d.ts +2 -2
- package/dist/types/routes/eventListener.routes.d.ts.map +1 -1
- package/dist/types/routes/github.routes.d.ts +35 -0
- package/dist/types/routes/github.routes.d.ts.map +1 -0
- package/dist/types/routes/newsletter.routes.d.ts +2 -2
- package/dist/types/routes/newsletter.routes.d.ts.map +1 -1
- package/dist/types/routes/organization.routes.d.ts +2 -2
- package/dist/types/routes/organization.routes.d.ts.map +1 -1
- package/dist/types/routes/project.routes.d.ts +2 -2
- package/dist/types/routes/project.routes.d.ts.map +1 -1
- package/dist/types/routes/search.routes.d.ts +2 -2
- package/dist/types/routes/search.routes.d.ts.map +1 -1
- package/dist/types/routes/stripe.routes.d.ts +2 -2
- package/dist/types/routes/stripe.routes.d.ts.map +1 -1
- package/dist/types/routes/tags.routes.d.ts +2 -2
- package/dist/types/routes/tags.routes.d.ts.map +1 -1
- package/dist/types/routes/user.routes.d.ts +2 -2
- package/dist/types/routes/user.routes.d.ts.map +1 -1
- package/dist/types/schemas/dictionary.schema.d.ts +6 -6
- package/dist/types/schemas/discussion.schema.d.ts +6 -6
- package/dist/types/schemas/oAuth2.schema.d.ts +5 -5
- package/dist/types/schemas/project.schema.d.ts +6 -6
- package/dist/types/schemas/project.schema.d.ts.map +1 -1
- package/dist/types/schemas/session.schema.d.ts +6 -6
- package/dist/types/schemas/tag.schema.d.ts +6 -6
- package/dist/types/schemas/user.schema.d.ts +6 -6
- package/dist/types/services/email.service.d.ts +11 -11
- package/dist/types/services/github.service.d.ts +21 -0
- package/dist/types/services/github.service.d.ts.map +1 -0
- package/dist/types/types/project.types.d.ts +18 -5
- package/dist/types/types/project.types.d.ts.map +1 -1
- package/dist/types/types/session.types.d.ts +1 -1
- package/dist/types/types/user.types.d.ts +1 -1
- package/dist/types/utils/AI/auditTag/index.d.ts +1 -1
- package/dist/types/utils/auth/getAuth.d.ts.map +1 -1
- package/dist/types/utils/cors.d.ts +2 -2
- package/dist/types/utils/errors/ErrorHandler.d.ts +31 -3
- package/dist/types/utils/errors/ErrorHandler.d.ts.map +1 -1
- package/dist/types/utils/errors/ErrorsClass.d.ts +1 -1
- package/dist/types/utils/errors/errorCodes.d.ts +78 -0
- package/dist/types/utils/errors/errorCodes.d.ts.map +1 -1
- package/dist/types/utils/filtersAndPagination/getDictionaryFiltersAndPagination.d.ts +8 -4
- package/dist/types/utils/filtersAndPagination/getDictionaryFiltersAndPagination.d.ts.map +1 -1
- package/dist/types/utils/filtersAndPagination/getDiscussionFiltersAndPagination.d.ts +6 -3
- package/dist/types/utils/filtersAndPagination/getDiscussionFiltersAndPagination.d.ts.map +1 -1
- package/dist/types/utils/filtersAndPagination/getFiltersAndPaginationFromBody.d.ts +6 -2
- package/dist/types/utils/filtersAndPagination/getFiltersAndPaginationFromBody.d.ts.map +1 -1
- package/dist/types/utils/filtersAndPagination/getOrganizationFiltersAndPagination.d.ts +8 -4
- package/dist/types/utils/filtersAndPagination/getOrganizationFiltersAndPagination.d.ts.map +1 -1
- package/dist/types/utils/filtersAndPagination/getProjectFiltersAndPagination.d.ts +8 -4
- package/dist/types/utils/filtersAndPagination/getProjectFiltersAndPagination.d.ts.map +1 -1
- package/dist/types/utils/filtersAndPagination/getTagFiltersAndPagination.d.ts +8 -4
- package/dist/types/utils/filtersAndPagination/getTagFiltersAndPagination.d.ts.map +1 -1
- package/dist/types/utils/filtersAndPagination/getUserFiltersAndPagination.d.ts +6 -2
- package/dist/types/utils/filtersAndPagination/getUserFiltersAndPagination.d.ts.map +1 -1
- package/dist/types/utils/mapper/project.d.ts.map +1 -1
- package/dist/types/utils/mergeFunctionTypes.d.ts.map +1 -1
- package/dist/types/utils/permissions.d.ts +1 -1
- package/dist/types/utils/rateLimiter.d.ts +4 -2
- package/dist/types/utils/rateLimiter.d.ts.map +1 -1
- package/package.json +23 -27
- package/dist/esm/middlewares/request.middleware.mjs +0 -17
- package/dist/esm/middlewares/request.middleware.mjs.map +0 -1
- package/dist/types/middlewares/request.middleware.d.ts +0 -7
- package/dist/types/middlewares/request.middleware.d.ts.map +0 -1
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { authCallback, checkConfig, getAuthUrl, getConfigFile, listRepos } from "../controllers/github.controller.mjs";
|
|
2
|
+
|
|
3
|
+
//#region src/routes/github.routes.ts
|
|
4
|
+
const githubRoute = "/api/github";
|
|
5
|
+
const baseURL = () => `${process.env.BACKEND_URL}${githubRoute}`;
|
|
6
|
+
const getGithubRoutes = () => ({
|
|
7
|
+
getAuthUrl: {
|
|
8
|
+
urlModel: "/auth-url",
|
|
9
|
+
url: `${baseURL()}/auth-url`,
|
|
10
|
+
method: "GET"
|
|
11
|
+
},
|
|
12
|
+
authCallback: {
|
|
13
|
+
urlModel: "/auth",
|
|
14
|
+
url: `${baseURL()}/auth`,
|
|
15
|
+
method: "POST"
|
|
16
|
+
},
|
|
17
|
+
listRepos: {
|
|
18
|
+
urlModel: "/repos",
|
|
19
|
+
url: `${baseURL()}/repos`,
|
|
20
|
+
method: "GET"
|
|
21
|
+
},
|
|
22
|
+
checkConfig: {
|
|
23
|
+
urlModel: "/check-config",
|
|
24
|
+
url: `${baseURL()}/check-config`,
|
|
25
|
+
method: "POST"
|
|
26
|
+
},
|
|
27
|
+
getConfigFile: {
|
|
28
|
+
urlModel: "/get-config-file",
|
|
29
|
+
url: `${baseURL()}/get-config-file`,
|
|
30
|
+
method: "POST"
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
const githubRouter = async (fastify) => {
|
|
34
|
+
fastify.get(getGithubRoutes().getAuthUrl.urlModel, getAuthUrl);
|
|
35
|
+
fastify.post(getGithubRoutes().authCallback.urlModel, authCallback);
|
|
36
|
+
fastify.get(getGithubRoutes().listRepos.urlModel, listRepos);
|
|
37
|
+
fastify.post(getGithubRoutes().checkConfig.urlModel, checkConfig);
|
|
38
|
+
fastify.post(getGithubRoutes().getConfigFile.urlModel, getConfigFile);
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
//#endregion
|
|
42
|
+
export { getGithubRoutes, githubRoute, githubRouter };
|
|
43
|
+
//# sourceMappingURL=github.routes.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"github.routes.mjs","names":[],"sources":["../../../src/routes/github.routes.ts"],"sourcesContent":["import {\n authCallback,\n checkConfig,\n getAuthUrl,\n getConfigFile,\n listRepos,\n} from '@controllers/github.controller';\nimport type { FastifyInstance } from 'fastify';\nimport type { Routes } from '@/types/Routes';\n\nexport const githubRoute = '/api/github';\n\nconst baseURL = () => `${process.env.BACKEND_URL}${githubRoute}`;\n\nexport const getGithubRoutes = () =>\n ({\n getAuthUrl: {\n urlModel: '/auth-url',\n url: `${baseURL()}/auth-url`,\n method: 'GET',\n },\n authCallback: {\n urlModel: '/auth',\n url: `${baseURL()}/auth`,\n method: 'POST',\n },\n listRepos: {\n urlModel: '/repos',\n url: `${baseURL()}/repos`,\n method: 'GET',\n },\n checkConfig: {\n urlModel: '/check-config',\n url: `${baseURL()}/check-config`,\n method: 'POST',\n },\n getConfigFile: {\n urlModel: '/get-config-file',\n url: `${baseURL()}/get-config-file`,\n method: 'POST',\n },\n }) satisfies Routes;\n\nexport const githubRouter = async (fastify: FastifyInstance) => {\n fastify.get(getGithubRoutes().getAuthUrl.urlModel, getAuthUrl);\n fastify.post(getGithubRoutes().authCallback.urlModel, authCallback);\n fastify.get(getGithubRoutes().listRepos.urlModel, listRepos);\n fastify.post(getGithubRoutes().checkConfig.urlModel, checkConfig);\n fastify.post(getGithubRoutes().getConfigFile.urlModel, getConfigFile);\n};\n"],"mappings":";;;AAUA,MAAa,cAAc;AAE3B,MAAM,gBAAgB,GAAG,QAAQ,IAAI,cAAc;AAEnD,MAAa,yBACV;CACC,YAAY;EACV,UAAU;EACV,KAAK,GAAG,SAAS,CAAC;EAClB,QAAQ;EACT;CACD,cAAc;EACZ,UAAU;EACV,KAAK,GAAG,SAAS,CAAC;EAClB,QAAQ;EACT;CACD,WAAW;EACT,UAAU;EACV,KAAK,GAAG,SAAS,CAAC;EAClB,QAAQ;EACT;CACD,aAAa;EACX,UAAU;EACV,KAAK,GAAG,SAAS,CAAC;EAClB,QAAQ;EACT;CACD,eAAe;EACb,UAAU;EACV,KAAK,GAAG,SAAS,CAAC;EAClB,QAAQ;EACT;CACF;AAEH,MAAa,eAAe,OAAO,YAA6B;AAC9D,SAAQ,IAAI,iBAAiB,CAAC,WAAW,UAAU,WAAW;AAC9D,SAAQ,KAAK,iBAAiB,CAAC,aAAa,UAAU,aAAa;AACnE,SAAQ,IAAI,iBAAiB,CAAC,UAAU,UAAU,UAAU;AAC5D,SAAQ,KAAK,iBAAiB,CAAC,YAAY,UAAU,YAAY;AACjE,SAAQ,KAAK,iBAAiB,CAAC,cAAc,UAAU,cAAc"}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import { getNewsletterStatus, subscribeToNewsletter, unsubscribeFromNewsletter } from "../controllers/newsletter.controller.mjs";
|
|
2
|
-
import { Router } from "express";
|
|
3
2
|
|
|
4
3
|
//#region src/routes/newsletter.routes.ts
|
|
5
|
-
const newsletterRouter = Router();
|
|
6
4
|
const newsletterRoute = "/api/newsletter";
|
|
7
5
|
const baseURL = () => `${process.env.BACKEND_URL}${newsletterRoute}`;
|
|
8
6
|
const getNewsletterRoutes = () => ({
|
|
@@ -22,9 +20,11 @@ const getNewsletterRoutes = () => ({
|
|
|
22
20
|
method: "GET"
|
|
23
21
|
}
|
|
24
22
|
});
|
|
25
|
-
newsletterRouter
|
|
26
|
-
|
|
27
|
-
|
|
23
|
+
const newsletterRouter = async (fastify) => {
|
|
24
|
+
fastify.post(getNewsletterRoutes().subscribeToNewsletter.urlModel, subscribeToNewsletter);
|
|
25
|
+
fastify.post(getNewsletterRoutes().unsubscribeFromNewsletter.urlModel, unsubscribeFromNewsletter);
|
|
26
|
+
fastify.get(getNewsletterRoutes().getNewsletterStatus.urlModel, getNewsletterStatus);
|
|
27
|
+
};
|
|
28
28
|
|
|
29
29
|
//#endregion
|
|
30
30
|
export { getNewsletterRoutes, newsletterRoute, newsletterRouter };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"newsletter.routes.mjs","names":[
|
|
1
|
+
{"version":3,"file":"newsletter.routes.mjs","names":[],"sources":["../../../src/routes/newsletter.routes.ts"],"sourcesContent":["import {\n getNewsletterStatus,\n subscribeToNewsletter,\n unsubscribeFromNewsletter,\n} from '@controllers/newsletter.controller';\nimport type { FastifyInstance } from 'fastify';\nimport type { Routes } from '@/types/Routes';\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\nexport const newsletterRouter = async (fastify: FastifyInstance) => {\n fastify.post(\n getNewsletterRoutes().subscribeToNewsletter.urlModel,\n subscribeToNewsletter\n );\n fastify.post(\n getNewsletterRoutes().unsubscribeFromNewsletter.urlModel,\n unsubscribeFromNewsletter\n );\n fastify.get(\n getNewsletterRoutes().getNewsletterStatus.urlModel,\n getNewsletterStatus\n );\n};\n"],"mappings":";;;AAQA,MAAa,kBAAkB;AAE/B,MAAM,gBAAgB,GAAG,QAAQ,IAAI,cAAc;AAEnD,MAAa,6BACV;CACC,uBAAuB;EACrB,UAAU;EACV,KAAK,GAAG,SAAS,CAAC;EAClB,QAAQ;EACT;CACD,2BAA2B;EACzB,UAAU;EACV,KAAK,GAAG,SAAS,CAAC;EAClB,QAAQ;EACT;CACD,qBAAqB;EACnB,UAAU;EACV,KAAK,GAAG,SAAS,CAAC;EAClB,QAAQ;EACT;CACF;AAEH,MAAa,mBAAmB,OAAO,YAA6B;AAClE,SAAQ,KACN,qBAAqB,CAAC,sBAAsB,UAC5C,sBACD;AACD,SAAQ,KACN,qBAAqB,CAAC,0BAA0B,UAChD,0BACD;AACD,SAAQ,IACN,qBAAqB,CAAC,oBAAoB,UAC1C,oBACD"}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import { addOrganization, addOrganizationMember, deleteOrganization, getOrganizations, selectOrganization, unselectOrganization, updateOrganization, updateOrganizationMembers, updateOrganizationMembersById } from "../controllers/organization.controller.mjs";
|
|
2
|
-
import { Router } from "express";
|
|
3
2
|
|
|
4
3
|
//#region src/routes/organization.routes.ts
|
|
5
|
-
const organizationRouter = Router();
|
|
6
4
|
const organizationRoute = "/api/organization";
|
|
7
5
|
const baseURL = () => `${process.env.BACKEND_URL}${organizationRoute}`;
|
|
8
6
|
const getOrganizationRoutes = () => ({
|
|
@@ -52,15 +50,17 @@ const getOrganizationRoutes = () => ({
|
|
|
52
50
|
method: "POST"
|
|
53
51
|
}
|
|
54
52
|
});
|
|
55
|
-
organizationRouter
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
53
|
+
const organizationRouter = async (fastify) => {
|
|
54
|
+
fastify.get(getOrganizationRoutes().getOrganizations.urlModel, getOrganizations);
|
|
55
|
+
fastify.post(getOrganizationRoutes().addOrganization.urlModel, addOrganization);
|
|
56
|
+
fastify.put(getOrganizationRoutes().updateOrganization.urlModel, updateOrganization);
|
|
57
|
+
fastify.put(getOrganizationRoutes().updateOrganizationMembers.urlModel, updateOrganizationMembers);
|
|
58
|
+
fastify.put(getOrganizationRoutes().updateOrganizationMembersById.urlModel, updateOrganizationMembersById);
|
|
59
|
+
fastify.post(getOrganizationRoutes().addOrganizationMember.urlModel, addOrganizationMember);
|
|
60
|
+
fastify.delete(getOrganizationRoutes().deleteOrganization.urlModel, deleteOrganization);
|
|
61
|
+
fastify.put(getOrganizationRoutes().selectOrganization.urlModel, selectOrganization);
|
|
62
|
+
fastify.post(getOrganizationRoutes().unselectOrganization.urlModel, unselectOrganization);
|
|
63
|
+
};
|
|
64
64
|
|
|
65
65
|
//#endregion
|
|
66
66
|
export { getOrganizationRoutes, organizationRoute, organizationRouter };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"organization.routes.mjs","names":[
|
|
1
|
+
{"version":3,"file":"organization.routes.mjs","names":[],"sources":["../../../src/routes/organization.routes.ts"],"sourcesContent":["import {\n addOrganization,\n addOrganizationMember,\n deleteOrganization,\n getOrganizations,\n selectOrganization,\n unselectOrganization,\n updateOrganization,\n updateOrganizationMembers,\n updateOrganizationMembersById,\n} from '@controllers/organization.controller';\nimport type { FastifyInstance } from 'fastify';\nimport type { Routes } from '@/types/Routes';\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 updateOrganizationMembersById: {\n urlModel: '/:organizationId/members',\n url: ({ organizationId }: { organizationId: string }) =>\n `${baseURL()}/${organizationId}/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\nexport const organizationRouter = async (fastify: FastifyInstance) => {\n fastify.get(\n getOrganizationRoutes().getOrganizations.urlModel,\n getOrganizations\n );\n fastify.post(\n getOrganizationRoutes().addOrganization.urlModel,\n addOrganization\n );\n fastify.put(\n getOrganizationRoutes().updateOrganization.urlModel,\n updateOrganization\n );\n fastify.put(\n getOrganizationRoutes().updateOrganizationMembers.urlModel,\n updateOrganizationMembers\n );\n fastify.put(\n getOrganizationRoutes().updateOrganizationMembersById.urlModel,\n updateOrganizationMembersById\n );\n fastify.post(\n getOrganizationRoutes().addOrganizationMember.urlModel,\n addOrganizationMember\n );\n fastify.delete(\n getOrganizationRoutes().deleteOrganization.urlModel,\n deleteOrganization\n );\n fastify.put(\n getOrganizationRoutes().selectOrganization.urlModel,\n selectOrganization\n );\n fastify.post(\n getOrganizationRoutes().unselectOrganization.urlModel,\n unselectOrganization\n );\n};\n"],"mappings":";;;AAcA,MAAa,oBAAoB;AAEjC,MAAM,gBAAgB,GAAG,QAAQ,IAAI,cAAc;AAEnD,MAAa,+BACV;CACC,kBAAkB;EAChB,UAAU;EACV,KAAK,SAAS;EACd,QAAQ;EACT;CACD,iBAAiB;EACf,UAAU;EACV,KAAK,SAAS;EACd,QAAQ;EACT;CACD,oBAAoB;EAClB,UAAU;EACV,KAAK,SAAS;EAEd,QAAQ;EACT;CACD,2BAA2B;EACzB,UAAU;EACV,KAAK,GAAG,SAAS,CAAC;EAClB,QAAQ;EACT;CACD,+BAA+B;EAC7B,UAAU;EACV,MAAM,EAAE,qBACN,GAAG,SAAS,CAAC,GAAG,eAAe;EACjC,QAAQ;EACT;CACD,uBAAuB;EACrB,UAAU;EACV,KAAK,GAAG,SAAS,CAAC;EAClB,QAAQ;EACT;CACD,oBAAoB;EAClB,UAAU;EACV,KAAK,SAAS;EACd,QAAQ;EACT;CACD,oBAAoB;EAClB,UAAU;EACV,MAAM,EAAE,qBACN,GAAG,SAAS,CAAC,GAAG;EAClB,QAAQ;EACT;CACD,sBAAsB;EACpB,UAAU;EACV,KAAK,GAAG,SAAS,CAAC;EAClB,QAAQ;EACT;CACF;AAEH,MAAa,qBAAqB,OAAO,YAA6B;AACpE,SAAQ,IACN,uBAAuB,CAAC,iBAAiB,UACzC,iBACD;AACD,SAAQ,KACN,uBAAuB,CAAC,gBAAgB,UACxC,gBACD;AACD,SAAQ,IACN,uBAAuB,CAAC,mBAAmB,UAC3C,mBACD;AACD,SAAQ,IACN,uBAAuB,CAAC,0BAA0B,UAClD,0BACD;AACD,SAAQ,IACN,uBAAuB,CAAC,8BAA8B,UACtD,8BACD;AACD,SAAQ,KACN,uBAAuB,CAAC,sBAAsB,UAC9C,sBACD;AACD,SAAQ,OACN,uBAAuB,CAAC,mBAAmB,UAC3C,mBACD;AACD,SAAQ,IACN,uBAAuB,CAAC,mBAAmB,UAC3C,mBACD;AACD,SAAQ,KACN,uBAAuB,CAAC,qBAAqB,UAC7C,qBACD"}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import { addProject, deleteProject, getProjects, pushProjectConfiguration, selectProject, unselectProject, updateProject, updateProjectMembers } from "../controllers/project.controller.mjs";
|
|
2
2
|
import { addNewAccessKey, deleteAccessKey, refreshAccessKey } from "../controllers/projectAccessKey.controller.mjs";
|
|
3
|
-
import { Router } from "express";
|
|
4
3
|
|
|
5
4
|
//#region src/routes/project.routes.ts
|
|
6
|
-
const projectRouter = Router();
|
|
7
5
|
const projectRoute = "/api/project";
|
|
8
6
|
const baseURL = () => `${process.env.BACKEND_URL}${projectRoute}`;
|
|
9
7
|
const getProjectRoutes = () => ({
|
|
@@ -63,17 +61,19 @@ const getProjectRoutes = () => ({
|
|
|
63
61
|
method: "DELETE"
|
|
64
62
|
}
|
|
65
63
|
});
|
|
66
|
-
projectRouter
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
64
|
+
const projectRouter = async (fastify) => {
|
|
65
|
+
fastify.get(getProjectRoutes().getProjects.urlModel, getProjects);
|
|
66
|
+
fastify.post(getProjectRoutes().addProject.urlModel, addProject);
|
|
67
|
+
fastify.put(getProjectRoutes().updateProject.urlModel, updateProject);
|
|
68
|
+
fastify.put(getProjectRoutes().updateProjectMembers.urlModel, updateProjectMembers);
|
|
69
|
+
fastify.put(getProjectRoutes().pushProjectConfiguration.urlModel, pushProjectConfiguration);
|
|
70
|
+
fastify.delete(getProjectRoutes().deleteProject.urlModel, deleteProject);
|
|
71
|
+
fastify.post(getProjectRoutes().addNewAccessKey.urlModel, addNewAccessKey);
|
|
72
|
+
fastify.patch(getProjectRoutes().refreshAccessKey.urlModel, refreshAccessKey);
|
|
73
|
+
fastify.delete(getProjectRoutes().deleteAccessKey.urlModel, deleteAccessKey);
|
|
74
|
+
fastify.post(getProjectRoutes().unselectProject.urlModel, unselectProject);
|
|
75
|
+
fastify.put(getProjectRoutes().selectProject.urlModel, selectProject);
|
|
76
|
+
};
|
|
77
77
|
|
|
78
78
|
//#endregion
|
|
79
79
|
export { getProjectRoutes, projectRoute, projectRouter };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project.routes.mjs","names":[
|
|
1
|
+
{"version":3,"file":"project.routes.mjs","names":[],"sources":["../../../src/routes/project.routes.ts"],"sourcesContent":["import {\n addProject,\n deleteProject,\n getProjects,\n pushProjectConfiguration,\n selectProject,\n unselectProject,\n updateProject,\n updateProjectMembers,\n} from '@controllers/project.controller';\nimport {\n addNewAccessKey,\n deleteAccessKey,\n refreshAccessKey,\n} from '@controllers/projectAccessKey.controller';\nimport type { FastifyInstance } from 'fastify';\nimport type { Routes } from '@/types/Routes';\n\nexport const projectRoute = '/api/project';\n\nconst baseURL = () => `${process.env.BACKEND_URL}${projectRoute}`;\n\nexport const getProjectRoutes = () =>\n ({\n getProjects: {\n urlModel: '/',\n url: baseURL(),\n method: 'GET',\n },\n addProject: {\n urlModel: '/',\n url: baseURL(),\n method: 'POST',\n },\n updateProject: {\n urlModel: '/',\n url: baseURL(),\n method: 'PUT',\n },\n updateProjectMembers: {\n urlModel: '/members',\n url: `${baseURL()}/members`,\n method: 'PUT',\n },\n pushProjectConfiguration: {\n urlModel: '/configuration',\n url: `${baseURL()}/configuration`,\n method: 'PUT',\n },\n deleteProject: {\n urlModel: '/',\n url: baseURL(),\n method: 'DELETE',\n },\n selectProject: {\n urlModel: '/:projectId',\n url: ({ projectId }: { projectId: string }) =>\n `${baseURL()}/${projectId}`,\n method: 'PUT',\n },\n unselectProject: {\n urlModel: '/logout',\n url: `${baseURL()}/logout`,\n method: 'POST',\n },\n addNewAccessKey: {\n urlModel: '/access_key',\n url: `${baseURL()}/access_key`,\n method: 'POST',\n },\n refreshAccessKey: {\n urlModel: '/access_key',\n url: `${baseURL()}/access_key`,\n method: 'PATCH',\n },\n deleteAccessKey: {\n urlModel: '/access_key',\n url: `${baseURL()}/access_key`,\n method: 'DELETE',\n },\n }) satisfies Routes;\n\nexport const projectRouter = async (fastify: FastifyInstance) => {\n fastify.get(getProjectRoutes().getProjects.urlModel, getProjects);\n fastify.post(getProjectRoutes().addProject.urlModel, addProject);\n fastify.put(getProjectRoutes().updateProject.urlModel, updateProject);\n fastify.put(\n getProjectRoutes().updateProjectMembers.urlModel,\n updateProjectMembers\n );\n fastify.put(\n getProjectRoutes().pushProjectConfiguration.urlModel,\n pushProjectConfiguration\n );\n fastify.delete(getProjectRoutes().deleteProject.urlModel, deleteProject);\n fastify.post(getProjectRoutes().addNewAccessKey.urlModel, addNewAccessKey);\n fastify.patch(getProjectRoutes().refreshAccessKey.urlModel, refreshAccessKey);\n fastify.delete(getProjectRoutes().deleteAccessKey.urlModel, deleteAccessKey);\n fastify.post(getProjectRoutes().unselectProject.urlModel, unselectProject);\n fastify.put(getProjectRoutes().selectProject.urlModel, selectProject);\n};\n"],"mappings":";;;;AAkBA,MAAa,eAAe;AAE5B,MAAM,gBAAgB,GAAG,QAAQ,IAAI,cAAc;AAEnD,MAAa,0BACV;CACC,aAAa;EACX,UAAU;EACV,KAAK,SAAS;EACd,QAAQ;EACT;CACD,YAAY;EACV,UAAU;EACV,KAAK,SAAS;EACd,QAAQ;EACT;CACD,eAAe;EACb,UAAU;EACV,KAAK,SAAS;EACd,QAAQ;EACT;CACD,sBAAsB;EACpB,UAAU;EACV,KAAK,GAAG,SAAS,CAAC;EAClB,QAAQ;EACT;CACD,0BAA0B;EACxB,UAAU;EACV,KAAK,GAAG,SAAS,CAAC;EAClB,QAAQ;EACT;CACD,eAAe;EACb,UAAU;EACV,KAAK,SAAS;EACd,QAAQ;EACT;CACD,eAAe;EACb,UAAU;EACV,MAAM,EAAE,gBACN,GAAG,SAAS,CAAC,GAAG;EAClB,QAAQ;EACT;CACD,iBAAiB;EACf,UAAU;EACV,KAAK,GAAG,SAAS,CAAC;EAClB,QAAQ;EACT;CACD,iBAAiB;EACf,UAAU;EACV,KAAK,GAAG,SAAS,CAAC;EAClB,QAAQ;EACT;CACD,kBAAkB;EAChB,UAAU;EACV,KAAK,GAAG,SAAS,CAAC;EAClB,QAAQ;EACT;CACD,iBAAiB;EACf,UAAU;EACV,KAAK,GAAG,SAAS,CAAC;EAClB,QAAQ;EACT;CACF;AAEH,MAAa,gBAAgB,OAAO,YAA6B;AAC/D,SAAQ,IAAI,kBAAkB,CAAC,YAAY,UAAU,YAAY;AACjE,SAAQ,KAAK,kBAAkB,CAAC,WAAW,UAAU,WAAW;AAChE,SAAQ,IAAI,kBAAkB,CAAC,cAAc,UAAU,cAAc;AACrE,SAAQ,IACN,kBAAkB,CAAC,qBAAqB,UACxC,qBACD;AACD,SAAQ,IACN,kBAAkB,CAAC,yBAAyB,UAC5C,yBACD;AACD,SAAQ,OAAO,kBAAkB,CAAC,cAAc,UAAU,cAAc;AACxE,SAAQ,KAAK,kBAAkB,CAAC,gBAAgB,UAAU,gBAAgB;AAC1E,SAAQ,MAAM,kBAAkB,CAAC,iBAAiB,UAAU,iBAAiB;AAC7E,SAAQ,OAAO,kBAAkB,CAAC,gBAAgB,UAAU,gBAAgB;AAC5E,SAAQ,KAAK,kBAAkB,CAAC,gBAAgB,UAAU,gBAAgB;AAC1E,SAAQ,IAAI,kBAAkB,CAAC,cAAc,UAAU,cAAc"}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import { searchDocUtil } from "../controllers/search.controller.mjs";
|
|
2
|
-
import { Router } from "express";
|
|
3
2
|
|
|
4
3
|
//#region src/routes/search.routes.ts
|
|
5
|
-
const searchRouter = Router();
|
|
6
4
|
const searchRoute = "/api/search";
|
|
7
5
|
const baseURL = () => `${process.env.BACKEND_URL}${searchRoute}`;
|
|
8
6
|
const getSearchRoutes = () => ({ doc: {
|
|
@@ -10,7 +8,9 @@ const getSearchRoutes = () => ({ doc: {
|
|
|
10
8
|
url: `${baseURL()}/doc`,
|
|
11
9
|
method: "GET"
|
|
12
10
|
} });
|
|
13
|
-
searchRouter
|
|
11
|
+
const searchRouter = async (fastify) => {
|
|
12
|
+
fastify.get(getSearchRoutes().doc.urlModel, searchDocUtil);
|
|
13
|
+
};
|
|
14
14
|
|
|
15
15
|
//#endregion
|
|
16
16
|
export { getSearchRoutes, searchRoute, searchRouter };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.routes.mjs","names":[
|
|
1
|
+
{"version":3,"file":"search.routes.mjs","names":[],"sources":["../../../src/routes/search.routes.ts"],"sourcesContent":["import { searchDocUtil } from '@controllers/search.controller';\nimport type { FastifyInstance } from 'fastify';\nimport type { Routes } from '@/types/Routes';\n\nexport const searchRoute = '/api/search';\n\nconst baseURL = () => `${process.env.BACKEND_URL}${searchRoute}`;\n\nexport const getSearchRoutes = () =>\n ({\n doc: {\n urlModel: '/doc',\n url: `${baseURL()}/doc`,\n method: 'GET',\n },\n }) satisfies Routes;\n\nexport const searchRouter = async (fastify: FastifyInstance) => {\n fastify.get(getSearchRoutes().doc.urlModel, searchDocUtil);\n};\n"],"mappings":";;;AAIA,MAAa,cAAc;AAE3B,MAAM,gBAAgB,GAAG,QAAQ,IAAI,cAAc;AAEnD,MAAa,yBACV,EACC,KAAK;CACH,UAAU;CACV,KAAK,GAAG,SAAS,CAAC;CAClB,QAAQ;CACT,EACF;AAEH,MAAa,eAAe,OAAO,YAA6B;AAC9D,SAAQ,IAAI,iBAAiB,CAAC,IAAI,UAAU,cAAc"}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import { cancelSubscription, getPricing, getSubscription } from "../controllers/stripe.controller.mjs";
|
|
2
|
-
import { Router } from "express";
|
|
3
2
|
|
|
4
3
|
//#region src/routes/stripe.routes.ts
|
|
5
|
-
const stripeRouter = Router();
|
|
6
4
|
const stripeRoute = "/api/stripe";
|
|
7
5
|
const baseURL = () => `${process.env.BACKEND_URL}${stripeRoute}`;
|
|
8
6
|
const getStripeRoutes = () => ({
|
|
@@ -22,9 +20,11 @@ const getStripeRoutes = () => ({
|
|
|
22
20
|
method: "POST"
|
|
23
21
|
}
|
|
24
22
|
});
|
|
25
|
-
stripeRouter
|
|
26
|
-
|
|
27
|
-
|
|
23
|
+
const stripeRouter = async (fastify) => {
|
|
24
|
+
fastify.post(getStripeRoutes().getPricing.urlModel, getPricing);
|
|
25
|
+
fastify.post(getStripeRoutes().createSubscription.urlModel, getSubscription);
|
|
26
|
+
fastify.post(getStripeRoutes().cancelSubscription.urlModel, cancelSubscription);
|
|
27
|
+
};
|
|
28
28
|
|
|
29
29
|
//#endregion
|
|
30
30
|
export { getStripeRoutes, stripeRoute, stripeRouter };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stripe.routes.mjs","names":[
|
|
1
|
+
{"version":3,"file":"stripe.routes.mjs","names":[],"sources":["../../../src/routes/stripe.routes.ts"],"sourcesContent":["import {\n cancelSubscription,\n getPricing,\n getSubscription,\n} from '@controllers/stripe.controller';\nimport type { FastifyInstance } from 'fastify';\nimport type { Routes } from '@/types/Routes';\n\nexport const stripeRoute = '/api/stripe';\n\nconst baseURL = () => `${process.env.BACKEND_URL}${stripeRoute}`;\n\nexport const getStripeRoutes = () =>\n ({\n getPricing: {\n urlModel: '/pricing',\n url: `${baseURL()}/pricing`,\n method: 'POST',\n },\n createSubscription: {\n urlModel: '/create-subscription',\n url: `${baseURL()}/create-subscription`,\n method: 'POST',\n },\n cancelSubscription: {\n urlModel: '/cancel-subscription',\n url: `${baseURL()}/cancel-subscription`,\n method: 'POST',\n },\n }) satisfies Routes;\n\nexport const stripeRouter = async (fastify: FastifyInstance) => {\n fastify.post(getStripeRoutes().getPricing.urlModel, getPricing);\n fastify.post(getStripeRoutes().createSubscription.urlModel, getSubscription);\n fastify.post(\n getStripeRoutes().cancelSubscription.urlModel,\n cancelSubscription\n );\n};\n"],"mappings":";;;AAQA,MAAa,cAAc;AAE3B,MAAM,gBAAgB,GAAG,QAAQ,IAAI,cAAc;AAEnD,MAAa,yBACV;CACC,YAAY;EACV,UAAU;EACV,KAAK,GAAG,SAAS,CAAC;EAClB,QAAQ;EACT;CACD,oBAAoB;EAClB,UAAU;EACV,KAAK,GAAG,SAAS,CAAC;EAClB,QAAQ;EACT;CACD,oBAAoB;EAClB,UAAU;EACV,KAAK,GAAG,SAAS,CAAC;EAClB,QAAQ;EACT;CACF;AAEH,MAAa,eAAe,OAAO,YAA6B;AAC9D,SAAQ,KAAK,iBAAiB,CAAC,WAAW,UAAU,WAAW;AAC/D,SAAQ,KAAK,iBAAiB,CAAC,mBAAmB,UAAU,gBAAgB;AAC5E,SAAQ,KACN,iBAAiB,CAAC,mBAAmB,UACrC,mBACD"}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import { addTag, deleteTag, getTags, updateTag } from "../controllers/tag.controller.mjs";
|
|
2
|
-
import { Router } from "express";
|
|
3
2
|
|
|
4
3
|
//#region src/routes/tags.routes.ts
|
|
5
|
-
const tagRouter = Router();
|
|
6
4
|
const tagRoute = "/api/tag";
|
|
7
5
|
const baseURL = () => `${process.env.BACKEND_URL}${tagRoute}`;
|
|
8
6
|
const getTagRoutes = () => ({
|
|
@@ -27,10 +25,12 @@ const getTagRoutes = () => ({
|
|
|
27
25
|
method: "DELETE"
|
|
28
26
|
}
|
|
29
27
|
});
|
|
30
|
-
tagRouter
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
28
|
+
const tagRouter = async (fastify) => {
|
|
29
|
+
fastify.get(getTagRoutes().getTags.urlModel, getTags);
|
|
30
|
+
fastify.post(getTagRoutes().addTag.urlModel, addTag);
|
|
31
|
+
fastify.put(getTagRoutes().updateTag.urlModel, updateTag);
|
|
32
|
+
fastify.delete(getTagRoutes().deleteTag.urlModel, deleteTag);
|
|
33
|
+
};
|
|
34
34
|
|
|
35
35
|
//#endregion
|
|
36
36
|
export { getTagRoutes, tagRoute, tagRouter };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tags.routes.mjs","names":[
|
|
1
|
+
{"version":3,"file":"tags.routes.mjs","names":[],"sources":["../../../src/routes/tags.routes.ts"],"sourcesContent":["import {\n addTag,\n deleteTag,\n getTags,\n updateTag,\n} from '@controllers/tag.controller';\nimport type { FastifyInstance } from 'fastify';\nimport type { Routes } from '@/types/Routes';\n\nexport const tagRoute = '/api/tag';\n\nconst baseURL = () => `${process.env.BACKEND_URL}${tagRoute}`;\n\nexport const getTagRoutes = () =>\n ({\n getTags: {\n urlModel: '/',\n url: baseURL(),\n method: 'GET',\n },\n addTag: {\n urlModel: '/',\n url: baseURL(),\n method: 'POST',\n },\n updateTag: {\n urlModel: '/:tagId',\n url: ({ tagId }: { tagId: string }) => `${baseURL()}/${tagId}`,\n method: 'PUT',\n },\n deleteTag: {\n urlModel: '/:tagId',\n url: ({ tagId }: { tagId: string }) => `${baseURL()}/${tagId}`,\n method: 'DELETE',\n },\n }) satisfies Routes;\n\nexport const tagRouter = async (fastify: FastifyInstance) => {\n fastify.get(getTagRoutes().getTags.urlModel, getTags);\n fastify.post(getTagRoutes().addTag.urlModel, addTag);\n fastify.put(getTagRoutes().updateTag.urlModel, updateTag);\n fastify.delete(getTagRoutes().deleteTag.urlModel, deleteTag);\n};\n"],"mappings":";;;AASA,MAAa,WAAW;AAExB,MAAM,gBAAgB,GAAG,QAAQ,IAAI,cAAc;AAEnD,MAAa,sBACV;CACC,SAAS;EACP,UAAU;EACV,KAAK,SAAS;EACd,QAAQ;EACT;CACD,QAAQ;EACN,UAAU;EACV,KAAK,SAAS;EACd,QAAQ;EACT;CACD,WAAW;EACT,UAAU;EACV,MAAM,EAAE,YAA+B,GAAG,SAAS,CAAC,GAAG;EACvD,QAAQ;EACT;CACD,WAAW;EACT,UAAU;EACV,MAAM,EAAE,YAA+B,GAAG,SAAS,CAAC,GAAG;EACvD,QAAQ;EACT;CACF;AAEH,MAAa,YAAY,OAAO,YAA6B;AAC3D,SAAQ,IAAI,cAAc,CAAC,QAAQ,UAAU,QAAQ;AACrD,SAAQ,KAAK,cAAc,CAAC,OAAO,UAAU,OAAO;AACpD,SAAQ,IAAI,cAAc,CAAC,UAAU,UAAU,UAAU;AACzD,SAAQ,OAAO,cAAc,CAAC,UAAU,UAAU,UAAU"}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import { createUser, deleteUser, getUserByEmail, getUserById, getUsers, updateUser, verifyEmailStatusSSE } from "../controllers/user.controller.mjs";
|
|
2
|
-
import { Router } from "express";
|
|
3
2
|
|
|
4
3
|
//#region src/routes/user.routes.ts
|
|
5
|
-
const userRouter = Router();
|
|
6
4
|
const userRoute = "/api/user";
|
|
7
5
|
const baseURL = () => `${process.env.BACKEND_URL}${userRoute}`;
|
|
8
6
|
const getUserRoutes = () => ({
|
|
@@ -42,13 +40,15 @@ const getUserRoutes = () => ({
|
|
|
42
40
|
method: "GET"
|
|
43
41
|
}
|
|
44
42
|
});
|
|
45
|
-
userRouter
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
43
|
+
const userRouter = async (fastify) => {
|
|
44
|
+
fastify.get(getUserRoutes().getUsers.urlModel, getUsers);
|
|
45
|
+
fastify.put(getUserRoutes().updateUser.urlModel, updateUser);
|
|
46
|
+
fastify.post(getUserRoutes().createUser.urlModel, createUser);
|
|
47
|
+
fastify.get(getUserRoutes().getUserById.urlModel, getUserById);
|
|
48
|
+
fastify.get(getUserRoutes().getUserByEmail.urlModel, getUserByEmail);
|
|
49
|
+
fastify.delete(getUserRoutes().deleteUser.urlModel, deleteUser);
|
|
50
|
+
fastify.get(getUserRoutes().verifyEmailStatusSSE.urlModel, verifyEmailStatusSSE);
|
|
51
|
+
};
|
|
52
52
|
|
|
53
53
|
//#endregion
|
|
54
54
|
export { getUserRoutes, userRoute, userRouter };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user.routes.mjs","names":[
|
|
1
|
+
{"version":3,"file":"user.routes.mjs","names":[],"sources":["../../../src/routes/user.routes.ts"],"sourcesContent":["import {\n createUser,\n deleteUser,\n getUserByEmail,\n getUserById,\n getUsers,\n updateUser,\n verifyEmailStatusSSE,\n} from '@controllers/user.controller';\nimport type { FastifyInstance } from 'fastify';\nimport type { Routes } from '@/types/Routes';\n\nexport const userRoute = '/api/user';\n\nconst baseURL = () => `${process.env.BACKEND_URL}${userRoute}`;\n\nexport const getUserRoutes = () =>\n ({\n getUsers: {\n urlModel: '/',\n url: baseURL(),\n method: 'GET',\n },\n updateUser: {\n urlModel: '/',\n url: baseURL(),\n method: 'PUT',\n },\n createUser: {\n urlModel: '/',\n url: baseURL(),\n method: 'POST',\n },\n getUserById: {\n urlModel: '/:userId',\n url: ({ userId }: { userId: string }) => `${baseURL()}/${userId}`,\n method: 'GET',\n },\n getUserByEmail: {\n urlModel: '/email/:email',\n url: ({ email }: { email: string }) => `${baseURL()}/email/${email}`,\n method: 'GET',\n },\n deleteUser: {\n urlModel: '/:userId',\n url: ({ userId }: { userId: string }) => `${baseURL()}/${userId}`,\n method: 'DELETE',\n },\n verifyEmailStatusSSE: {\n urlModel: '/verify-email-status/:userId',\n url: ({ userId }: { userId: string }) =>\n `${baseURL()}/verify-email-status/${userId}`,\n method: 'GET',\n },\n }) satisfies Routes;\n\nexport const userRouter = async (fastify: FastifyInstance) => {\n fastify.get(getUserRoutes().getUsers.urlModel, getUsers);\n fastify.put(getUserRoutes().updateUser.urlModel, updateUser);\n fastify.post(getUserRoutes().createUser.urlModel, createUser);\n fastify.get(getUserRoutes().getUserById.urlModel, getUserById);\n fastify.get(getUserRoutes().getUserByEmail.urlModel, getUserByEmail);\n fastify.delete(getUserRoutes().deleteUser.urlModel, deleteUser);\n fastify.get(\n getUserRoutes().verifyEmailStatusSSE.urlModel,\n verifyEmailStatusSSE\n );\n};\n"],"mappings":";;;AAYA,MAAa,YAAY;AAEzB,MAAM,gBAAgB,GAAG,QAAQ,IAAI,cAAc;AAEnD,MAAa,uBACV;CACC,UAAU;EACR,UAAU;EACV,KAAK,SAAS;EACd,QAAQ;EACT;CACD,YAAY;EACV,UAAU;EACV,KAAK,SAAS;EACd,QAAQ;EACT;CACD,YAAY;EACV,UAAU;EACV,KAAK,SAAS;EACd,QAAQ;EACT;CACD,aAAa;EACX,UAAU;EACV,MAAM,EAAE,aAAiC,GAAG,SAAS,CAAC,GAAG;EACzD,QAAQ;EACT;CACD,gBAAgB;EACd,UAAU;EACV,MAAM,EAAE,YAA+B,GAAG,SAAS,CAAC,SAAS;EAC7D,QAAQ;EACT;CACD,YAAY;EACV,UAAU;EACV,MAAM,EAAE,aAAiC,GAAG,SAAS,CAAC,GAAG;EACzD,QAAQ;EACT;CACD,sBAAsB;EACpB,UAAU;EACV,MAAM,EAAE,aACN,GAAG,SAAS,CAAC,uBAAuB;EACtC,QAAQ;EACT;CACF;AAEH,MAAa,aAAa,OAAO,YAA6B;AAC5D,SAAQ,IAAI,eAAe,CAAC,SAAS,UAAU,SAAS;AACxD,SAAQ,IAAI,eAAe,CAAC,WAAW,UAAU,WAAW;AAC5D,SAAQ,KAAK,eAAe,CAAC,WAAW,UAAU,WAAW;AAC7D,SAAQ,IAAI,eAAe,CAAC,YAAY,UAAU,YAAY;AAC9D,SAAQ,IAAI,eAAe,CAAC,eAAe,UAAU,eAAe;AACpE,SAAQ,OAAO,eAAe,CAAC,WAAW,UAAU,WAAW;AAC/D,SAAQ,IACN,eAAe,CAAC,qBAAqB,UACrC,qBACD"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { MEMBERS_MIN_LENGTH, NAME_MAX_LENGTH, NAME_MIN_LENGTH } from "../utils/validation/validateProject.mjs";
|
|
2
2
|
import { Schema } from "mongoose";
|
|
3
|
-
import { Locales } from "@intlayer/types";
|
|
3
|
+
import { AiProviders, Locales } from "@intlayer/types";
|
|
4
4
|
|
|
5
5
|
//#region src/schemas/project.schema.ts
|
|
6
6
|
const oAuth2AccessSchema = new Schema({
|
|
@@ -48,6 +48,39 @@ const projectConfigSchema = new Schema({
|
|
|
48
48
|
editor: {
|
|
49
49
|
applicationURL: { type: String },
|
|
50
50
|
cmsURL: { type: String }
|
|
51
|
+
},
|
|
52
|
+
ai: {
|
|
53
|
+
provider: {
|
|
54
|
+
type: String,
|
|
55
|
+
enum: Object.values(AiProviders)
|
|
56
|
+
},
|
|
57
|
+
model: { type: String },
|
|
58
|
+
apiKey: { type: String },
|
|
59
|
+
applicationContext: { type: String },
|
|
60
|
+
baseURL: { type: String }
|
|
61
|
+
}
|
|
62
|
+
}, { _id: false });
|
|
63
|
+
const githubSchema = new Schema({
|
|
64
|
+
owner: {
|
|
65
|
+
type: String,
|
|
66
|
+
required: true
|
|
67
|
+
},
|
|
68
|
+
repository: {
|
|
69
|
+
type: String,
|
|
70
|
+
required: true
|
|
71
|
+
},
|
|
72
|
+
branch: {
|
|
73
|
+
type: String,
|
|
74
|
+
default: "main"
|
|
75
|
+
},
|
|
76
|
+
installationId: { type: Number },
|
|
77
|
+
url: {
|
|
78
|
+
type: String,
|
|
79
|
+
required: true
|
|
80
|
+
},
|
|
81
|
+
configFilePath: {
|
|
82
|
+
type: String,
|
|
83
|
+
required: true
|
|
51
84
|
}
|
|
52
85
|
}, { _id: false });
|
|
53
86
|
const projectSchema = new Schema({
|
|
@@ -64,6 +97,7 @@ const projectSchema = new Schema({
|
|
|
64
97
|
},
|
|
65
98
|
configuration: projectConfigSchema,
|
|
66
99
|
oAuth2Access: [oAuth2AccessSchema],
|
|
100
|
+
github: githubSchema,
|
|
67
101
|
membersIds: {
|
|
68
102
|
type: [Schema.Types.ObjectId],
|
|
69
103
|
ref: "User",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project.schema.mjs","names":[],"sources":["../../../src/schemas/project.schema.ts"],"sourcesContent":["import { Locales } from '@intlayer/types';\nimport type { RenameId } from '@utils/mongoDB/types';\nimport {\n MEMBERS_MIN_LENGTH,\n NAME_MAX_LENGTH,\n NAME_MIN_LENGTH,\n} from '@utils/validation/validateProject';\nimport { Schema } from 'mongoose';\nimport type {\n OAuth2Access,\n Project,\n ProjectSchema,\n} from '@/types/project.types';\n\n// Define the oAuth2Access subdocument schema with timestamps\nconst oAuth2AccessSchema = new Schema<RenameId<OAuth2Access>>(\n {\n clientId: { type: String, required: true },\n clientSecret: { type: String, required: true },\n userId: { type: Schema.Types.ObjectId, ref: 'User', required: true },\n name: { type: String, required: true },\n expiresAt: { type: Date },\n accessToken: { type: [String], required: true, default: [] },\n grants: { type: [String], required: true, default: [] },\n },\n {\n timestamps: true,\n }\n);\n\nconst projectConfigSchema = new Schema<Project['configuration']>(\n {\n internationalization: {\n locales: {\n type: [String],\n enum: Object.values(Locales.ALL_LOCALES),\n required: true,\n },\n defaultLocale: {\n type: String,\n enum: Object.values(Locales.ALL_LOCALES),\n },\n },\n editor: {\n applicationURL: {\n type: String,\n },\n cmsURL: {\n type: String,\n },\n },\n },\n {\n _id: false, // Prevents the generation of an _id field for this subdocument\n }\n);\n\nexport const projectSchema = new Schema<ProjectSchema>(\n {\n organizationId: {\n type: Schema.Types.ObjectId,\n ref: 'Organization',\n required: true,\n },\n name: {\n type: String,\n required: true,\n minlength: NAME_MIN_LENGTH,\n maxlength: NAME_MAX_LENGTH,\n },\n configuration: projectConfigSchema,\n oAuth2Access: [oAuth2AccessSchema],\n membersIds: {\n type: [Schema.Types.ObjectId],\n ref: 'User',\n required: true,\n minlength: MEMBERS_MIN_LENGTH,\n },\n adminsIds: {\n type: [Schema.Types.ObjectId],\n ref: 'User',\n required: true,\n minlength: MEMBERS_MIN_LENGTH,\n },\n creatorId: {\n type: Schema.Types.ObjectId,\n ref: 'User',\n required: true,\n },\n },\n {\n timestamps: true,\n\n toJSON: {\n virtuals: true, // keep the automatic `id` getter\n versionKey: false, // drop __v\n transform(_doc, ret: any) {\n const { _id, ...rest } = ret;\n return {\n ...rest,\n id: _id.toString(),\n };\n },\n },\n toObject: {\n virtuals: true,\n transform(_doc, ret: any) {\n const { _id, ...rest } = ret;\n return {\n ...rest,\n id: _id,\n };\n },\n },\n }\n);\n"],"mappings":";;;;;AAeA,MAAM,qBAAqB,IAAI,OAC7B;CACE,UAAU;EAAE,MAAM;EAAQ,UAAU;EAAM;CAC1C,cAAc;EAAE,MAAM;EAAQ,UAAU;EAAM;CAC9C,QAAQ;EAAE,MAAM,OAAO,MAAM;EAAU,KAAK;EAAQ,UAAU;EAAM;CACpE,MAAM;EAAE,MAAM;EAAQ,UAAU;EAAM;CACtC,WAAW,EAAE,MAAM,MAAM;CACzB,aAAa;EAAE,MAAM,CAAC,OAAO;EAAE,UAAU;EAAM,SAAS,EAAE;EAAE;CAC5D,QAAQ;EAAE,MAAM,CAAC,OAAO;EAAE,UAAU;EAAM,SAAS,EAAE;EAAE;CACxD,EACD,EACE,YAAY,MACb,CACF;AAED,MAAM,sBAAsB,IAAI,OAC9B;CACE,sBAAsB;EACpB,SAAS;GACP,MAAM,CAAC,OAAO;GACd,MAAM,OAAO,OAAO,QAAQ,YAAY;GACxC,UAAU;GACX;EACD,eAAe;GACb,MAAM;GACN,MAAM,OAAO,OAAO,QAAQ,YAAY;GACzC;EACF;CACD,QAAQ;EACN,gBAAgB,EACd,MAAM,QACP;EACD,QAAQ,EACN,MAAM,QACP;EACF;CACF,EACD,EACE,KAAK,OACN,CACF;AAED,MAAa,gBAAgB,IAAI,OAC/B;CACE,gBAAgB;EACd,MAAM,OAAO,MAAM;EACnB,KAAK;EACL,UAAU;EACX;CACD,MAAM;EACJ,MAAM;EACN,UAAU;EACV,WAAW;EACX,WAAW;EACZ;CACD,eAAe;CACf,cAAc,CAAC,mBAAmB;CAClC,YAAY;EACV,MAAM,CAAC,OAAO,MAAM,SAAS;EAC7B,KAAK;EACL,UAAU;EACV,WAAW;EACZ;CACD,WAAW;EACT,MAAM,CAAC,OAAO,MAAM,SAAS;EAC7B,KAAK;EACL,UAAU;EACV,WAAW;EACZ;CACD,WAAW;EACT,MAAM,OAAO,MAAM;EACnB,KAAK;EACL,UAAU;EACX;CACF,EACD;CACE,YAAY;CAEZ,QAAQ;EACN,UAAU;EACV,YAAY;EACZ,UAAU,MAAM,KAAU;GACxB,MAAM,EAAE,KAAK,GAAG,SAAS;AACzB,UAAO;IACL,GAAG;IACH,IAAI,IAAI,UAAU;IACnB;;EAEJ;CACD,UAAU;EACR,UAAU;EACV,UAAU,MAAM,KAAU;GACxB,MAAM,EAAE,KAAK,GAAG,SAAS;AACzB,UAAO;IACL,GAAG;IACH,IAAI;IACL;;EAEJ;CACF,CACF"}
|
|
1
|
+
{"version":3,"file":"project.schema.mjs","names":[],"sources":["../../../src/schemas/project.schema.ts"],"sourcesContent":["import { AiProviders, Locales } from '@intlayer/types';\nimport type { RenameId } from '@utils/mongoDB/types';\nimport {\n MEMBERS_MIN_LENGTH,\n NAME_MAX_LENGTH,\n NAME_MIN_LENGTH,\n} from '@utils/validation/validateProject';\nimport { Schema } from 'mongoose';\nimport type {\n OAuth2Access,\n Project,\n ProjectSchema,\n} from '@/types/project.types';\n\n// Define the oAuth2Access subdocument schema with timestamps\nconst oAuth2AccessSchema = new Schema<RenameId<OAuth2Access>>(\n {\n clientId: { type: String, required: true },\n clientSecret: { type: String, required: true },\n userId: { type: Schema.Types.ObjectId, ref: 'User', required: true },\n name: { type: String, required: true },\n expiresAt: { type: Date },\n accessToken: { type: [String], required: true, default: [] },\n grants: { type: [String], required: true, default: [] },\n },\n {\n timestamps: true,\n }\n);\n\nconst projectConfigSchema = new Schema<Project['configuration']>(\n {\n internationalization: {\n locales: {\n type: [String],\n enum: Object.values(Locales.ALL_LOCALES),\n required: true,\n },\n defaultLocale: {\n type: String,\n enum: Object.values(Locales.ALL_LOCALES),\n },\n },\n editor: {\n applicationURL: {\n type: String,\n },\n cmsURL: {\n type: String,\n },\n },\n ai: {\n provider: {\n type: String,\n enum: Object.values(AiProviders),\n },\n model: {\n type: String,\n },\n apiKey: {\n type: String,\n },\n applicationContext: {\n type: String,\n },\n baseURL: {\n type: String,\n },\n },\n },\n {\n _id: false, // Prevents the generation of an _id field for this subdocument\n }\n);\n\nconst githubSchema = new Schema<Project['github']>(\n {\n owner: { type: String, required: true },\n repository: { type: String, required: true },\n branch: { type: String, default: 'main' },\n installationId: { type: Number },\n url: { type: String, required: true },\n configFilePath: { type: String, required: true },\n },\n {\n _id: false,\n }\n);\n\nexport const projectSchema = new Schema<ProjectSchema>(\n {\n organizationId: {\n type: Schema.Types.ObjectId,\n ref: 'Organization',\n required: true,\n },\n name: {\n type: String,\n required: true,\n minlength: NAME_MIN_LENGTH,\n maxlength: NAME_MAX_LENGTH,\n },\n configuration: projectConfigSchema,\n oAuth2Access: [oAuth2AccessSchema],\n github: githubSchema,\n membersIds: {\n type: [Schema.Types.ObjectId],\n ref: 'User',\n required: true,\n minlength: MEMBERS_MIN_LENGTH,\n },\n adminsIds: {\n type: [Schema.Types.ObjectId],\n ref: 'User',\n required: true,\n minlength: MEMBERS_MIN_LENGTH,\n },\n creatorId: {\n type: Schema.Types.ObjectId,\n ref: 'User',\n required: true,\n },\n },\n {\n timestamps: true,\n\n toJSON: {\n virtuals: true, // keep the automatic `id` getter\n versionKey: false, // drop __v\n transform(_doc, ret: any) {\n const { _id, ...rest } = ret;\n return {\n ...rest,\n id: _id.toString(),\n };\n },\n },\n toObject: {\n virtuals: true,\n transform(_doc, ret: any) {\n const { _id, ...rest } = ret;\n return {\n ...rest,\n id: _id,\n };\n },\n },\n }\n);\n"],"mappings":";;;;;AAeA,MAAM,qBAAqB,IAAI,OAC7B;CACE,UAAU;EAAE,MAAM;EAAQ,UAAU;EAAM;CAC1C,cAAc;EAAE,MAAM;EAAQ,UAAU;EAAM;CAC9C,QAAQ;EAAE,MAAM,OAAO,MAAM;EAAU,KAAK;EAAQ,UAAU;EAAM;CACpE,MAAM;EAAE,MAAM;EAAQ,UAAU;EAAM;CACtC,WAAW,EAAE,MAAM,MAAM;CACzB,aAAa;EAAE,MAAM,CAAC,OAAO;EAAE,UAAU;EAAM,SAAS,EAAE;EAAE;CAC5D,QAAQ;EAAE,MAAM,CAAC,OAAO;EAAE,UAAU;EAAM,SAAS,EAAE;EAAE;CACxD,EACD,EACE,YAAY,MACb,CACF;AAED,MAAM,sBAAsB,IAAI,OAC9B;CACE,sBAAsB;EACpB,SAAS;GACP,MAAM,CAAC,OAAO;GACd,MAAM,OAAO,OAAO,QAAQ,YAAY;GACxC,UAAU;GACX;EACD,eAAe;GACb,MAAM;GACN,MAAM,OAAO,OAAO,QAAQ,YAAY;GACzC;EACF;CACD,QAAQ;EACN,gBAAgB,EACd,MAAM,QACP;EACD,QAAQ,EACN,MAAM,QACP;EACF;CACD,IAAI;EACF,UAAU;GACR,MAAM;GACN,MAAM,OAAO,OAAO,YAAY;GACjC;EACD,OAAO,EACL,MAAM,QACP;EACD,QAAQ,EACN,MAAM,QACP;EACD,oBAAoB,EAClB,MAAM,QACP;EACD,SAAS,EACP,MAAM,QACP;EACF;CACF,EACD,EACE,KAAK,OACN,CACF;AAED,MAAM,eAAe,IAAI,OACvB;CACE,OAAO;EAAE,MAAM;EAAQ,UAAU;EAAM;CACvC,YAAY;EAAE,MAAM;EAAQ,UAAU;EAAM;CAC5C,QAAQ;EAAE,MAAM;EAAQ,SAAS;EAAQ;CACzC,gBAAgB,EAAE,MAAM,QAAQ;CAChC,KAAK;EAAE,MAAM;EAAQ,UAAU;EAAM;CACrC,gBAAgB;EAAE,MAAM;EAAQ,UAAU;EAAM;CACjD,EACD,EACE,KAAK,OACN,CACF;AAED,MAAa,gBAAgB,IAAI,OAC/B;CACE,gBAAgB;EACd,MAAM,OAAO,MAAM;EACnB,KAAK;EACL,UAAU;EACX;CACD,MAAM;EACJ,MAAM;EACN,UAAU;EACV,WAAW;EACX,WAAW;EACZ;CACD,eAAe;CACf,cAAc,CAAC,mBAAmB;CAClC,QAAQ;CACR,YAAY;EACV,MAAM,CAAC,OAAO,MAAM,SAAS;EAC7B,KAAK;EACL,UAAU;EACV,WAAW;EACZ;CACD,WAAW;EACT,MAAM,CAAC,OAAO,MAAM,SAAS;EAC7B,KAAK;EACL,UAAU;EACV,WAAW;EACZ;CACD,WAAW;EACT,MAAM,OAAO,MAAM;EACnB,KAAK;EACL,UAAU;EACX;CACF,EACD;CACE,YAAY;CAEZ,QAAQ;EACN,UAAU;EACV,YAAY;EACZ,UAAU,MAAM,KAAU;GACxB,MAAM,EAAE,KAAK,GAAG,SAAS;AACzB,UAAO;IACL,GAAG;IACH,IAAI,IAAI,UAAU;IACnB;;EAEJ;CACD,UAAU;EACR,UAAU;EACV,UAAU,MAAM,KAAU;GACxB,MAAM,EAAE,KAAK,GAAG,SAAS;AACzB,UAAO;IACL,GAAG;IACH,IAAI;IACL;;EAEJ;CACF,CACF"}
|
|
@@ -9,7 +9,7 @@ import { SubscriptionPaymentErrorEN, SubscriptionPaymentErrorES, SubscriptionPay
|
|
|
9
9
|
import { SubscriptionPaymentSuccessEN, SubscriptionPaymentSuccessES, SubscriptionPaymentSuccessFR } from "../emails/SubscriptionPaymentSuccess.mjs";
|
|
10
10
|
import { ValidateUserEmailEN, ValidateUserEmailES, ValidateUserEmailFR } from "../emails/ValidateUserEmail.mjs";
|
|
11
11
|
import { WelcomeEmailEN, WelcomeEmailES, WelcomeEmailFR } from "../emails/Welcome.mjs";
|
|
12
|
-
import { t } from "
|
|
12
|
+
import { t } from "fastify-intlayer";
|
|
13
13
|
import { jsx } from "react/jsx-runtime";
|
|
14
14
|
import { Resend } from "resend";
|
|
15
15
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email.service.mjs","names":[],"sources":["../../../src/services/email.service.tsx"],"sourcesContent":["import {\n InviteUserEmailEN,\n InviteUserEmailES,\n InviteUserEmailFR,\n} from '@emails/InviteUserEmail';\nimport {\n MagicLinkEmailEN,\n MagicLinkEmailES,\n MagicLinkEmailFR,\n} from '@emails/MagicLinkEmail';\nimport {\n OAuthTokenCreatedEmailEN,\n OAuthTokenCreatedEmailES,\n OAuthTokenCreatedEmailFR,\n} from '@emails/OAuthTokenCreatedEmail';\nimport {\n PasswordChangeConfirmationEmailEN,\n PasswordChangeConfirmationEmailES,\n PasswordChangeConfirmationEmailFR,\n} from '@emails/PasswordChangeConfirmation';\nimport {\n ResetPasswordEmailEN,\n ResetPasswordEmailES,\n ResetPasswordEmailFR,\n} from '@emails/ResetUserPassword';\n\nimport {\n SubscriptionPaymentCancellationEN,\n SubscriptionPaymentCancellationES,\n SubscriptionPaymentCancellationFR,\n} from '@emails/SubscriptionPaymentCancellation';\nimport {\n SubscriptionPaymentErrorEN,\n SubscriptionPaymentErrorES,\n SubscriptionPaymentErrorFR,\n} from '@emails/SubscriptionPaymentError';\nimport {\n SubscriptionPaymentSuccessEN,\n SubscriptionPaymentSuccessES,\n SubscriptionPaymentSuccessFR,\n} from '@emails/SubscriptionPaymentSuccess';\nimport {\n ValidateUserEmailEN,\n ValidateUserEmailES,\n ValidateUserEmailFR,\n} from '@emails/ValidateUserEmail';\nimport {\n WelcomeEmailEN,\n WelcomeEmailES,\n WelcomeEmailFR,\n} from '@emails/Welcome';\nimport type { Locale } from '@intlayer/types';\nimport { logger } from '@logger';\nimport { t } from '
|
|
1
|
+
{"version":3,"file":"email.service.mjs","names":[],"sources":["../../../src/services/email.service.tsx"],"sourcesContent":["import {\n InviteUserEmailEN,\n InviteUserEmailES,\n InviteUserEmailFR,\n} from '@emails/InviteUserEmail';\nimport {\n MagicLinkEmailEN,\n MagicLinkEmailES,\n MagicLinkEmailFR,\n} from '@emails/MagicLinkEmail';\nimport {\n OAuthTokenCreatedEmailEN,\n OAuthTokenCreatedEmailES,\n OAuthTokenCreatedEmailFR,\n} from '@emails/OAuthTokenCreatedEmail';\nimport {\n PasswordChangeConfirmationEmailEN,\n PasswordChangeConfirmationEmailES,\n PasswordChangeConfirmationEmailFR,\n} from '@emails/PasswordChangeConfirmation';\nimport {\n ResetPasswordEmailEN,\n ResetPasswordEmailES,\n ResetPasswordEmailFR,\n} from '@emails/ResetUserPassword';\n\nimport {\n SubscriptionPaymentCancellationEN,\n SubscriptionPaymentCancellationES,\n SubscriptionPaymentCancellationFR,\n} from '@emails/SubscriptionPaymentCancellation';\nimport {\n SubscriptionPaymentErrorEN,\n SubscriptionPaymentErrorES,\n SubscriptionPaymentErrorFR,\n} from '@emails/SubscriptionPaymentError';\nimport {\n SubscriptionPaymentSuccessEN,\n SubscriptionPaymentSuccessES,\n SubscriptionPaymentSuccessFR,\n} from '@emails/SubscriptionPaymentSuccess';\nimport {\n ValidateUserEmailEN,\n ValidateUserEmailES,\n ValidateUserEmailFR,\n} from '@emails/ValidateUserEmail';\nimport {\n WelcomeEmailEN,\n WelcomeEmailES,\n WelcomeEmailFR,\n} from '@emails/Welcome';\nimport type { Locale } from '@intlayer/types';\nimport { logger } from '@logger';\nimport { t } from 'fastify-intlayer';\nimport type { ComponentProps, JSX } from 'react';\nimport { Resend } from 'resend';\n\ntype EmailComponentsType = (...props: any) => JSX.Element;\ntype EmailComponents = {\n [key: string]: {\n template: EmailComponentsType;\n subject: string;\n };\n};\n\nconst getEmailComponents = (locale?: Locale) =>\n ({\n invite: {\n template: t(\n {\n en: InviteUserEmailEN,\n fr: InviteUserEmailFR,\n es: InviteUserEmailES,\n },\n locale\n ),\n subject: t(\n {\n en: 'You have been invited to join Intlayer',\n fr: 'Vous êtes invité à rejoindre Intlayer',\n es: 'Has sido invitado a unirte a Intlayer',\n },\n locale\n ),\n },\n validate: {\n template: t(\n {\n en: ValidateUserEmailEN,\n fr: ValidateUserEmailFR,\n es: ValidateUserEmailES,\n },\n locale\n ),\n subject: t(\n {\n en: 'Validate your email for Intlayer',\n fr: 'Validez votre email pour Intlayer',\n es: 'Valida tu correo electrónico para Intlayer',\n },\n locale\n ),\n },\n resetPassword: {\n template: t(\n {\n en: ResetPasswordEmailEN,\n fr: ResetPasswordEmailFR,\n es: ResetPasswordEmailES,\n },\n locale\n ),\n subject: t(\n {\n en: 'Reset your password for Intlayer',\n fr: 'Réinitialisez votre mot de passe pour Intlayer',\n es: 'Restablece tu contraseña para Intlayer',\n },\n locale\n ),\n },\n welcome: {\n template: t(\n {\n en: WelcomeEmailEN,\n fr: WelcomeEmailFR,\n es: WelcomeEmailES,\n },\n locale\n ),\n subject: t(\n {\n en: 'Welcome to Intlayer!',\n fr: 'Bienvenue chez Intlayer!',\n es: '¡Bienvenido a Intlayer!',\n },\n locale\n ),\n },\n magicLink: {\n template: t(\n {\n en: MagicLinkEmailEN,\n fr: MagicLinkEmailFR,\n es: MagicLinkEmailES,\n },\n locale\n ),\n subject: t(\n {\n en: 'Sign in to Intlayer',\n fr: 'Connectez-vous à Intlayer',\n es: 'Inicia sesión en Intlayer',\n },\n locale\n ),\n },\n passwordChangeConfirmation: {\n template: t(\n {\n en: PasswordChangeConfirmationEmailEN,\n fr: PasswordChangeConfirmationEmailFR,\n es: PasswordChangeConfirmationEmailES,\n },\n locale\n ),\n subject: t(\n {\n en: 'Your Intlayer password has been changed',\n fr: 'Votre mot de passe Intlayer a été modifié',\n es: 'Tu contraseña de Intlayer ha sido cambiada',\n },\n locale\n ),\n },\n subscriptionPaymentSuccess: {\n template: t({\n en: SubscriptionPaymentSuccessEN,\n fr: SubscriptionPaymentSuccessFR,\n es: SubscriptionPaymentSuccessES,\n }),\n subject: t({\n en: 'Your payment for Intlayer subscription is confirmed',\n fr: \"Votre paiement pour l'abonnement Intlayer est confirmé\",\n es: 'Tu pago por la suscripción de Intlayer ha sido confirmado',\n }),\n },\n subscriptionPaymentCancellation: {\n template: t({\n en: SubscriptionPaymentCancellationEN,\n fr: SubscriptionPaymentCancellationFR,\n es: SubscriptionPaymentCancellationES,\n }),\n subject: t({\n en: 'Your Intlayer subscription has been canceled',\n fr: 'Votre abonnement Intlayer a été annulé',\n es: 'Tu suscripción de Intlayer ha sido cancelada',\n }),\n },\n subscriptionPaymentError: {\n template: t({\n en: SubscriptionPaymentErrorEN,\n fr: SubscriptionPaymentErrorFR,\n es: SubscriptionPaymentErrorES,\n }),\n subject: t({\n en: 'There was an issue with your Intlayer subscription payment',\n fr: \"Un problème est survenu avec votre paiement pour l'abonnement Intlayer\",\n es: 'Hubo un problema con el pago de tu suscripción de Intlayer',\n }),\n },\n oAuthTokenCreated: {\n template: t({\n en: OAuthTokenCreatedEmailEN,\n fr: OAuthTokenCreatedEmailFR,\n es: OAuthTokenCreatedEmailES,\n }),\n subject: t({\n en: 'A third-party OAuth application has been added to your Intlayer account',\n fr: 'Une application OAuth tierce a été ajoutée à votre compte Intlayer',\n es: 'Una aplicación OAuth de terceros ha sido añadida a tu cuenta de Intlayer',\n }),\n },\n }) satisfies EmailComponents;\n\ntype EmailType = keyof ReturnType<typeof getEmailComponents>;\n\nexport type SendEmailProps<T extends EmailType> = {\n type: T;\n to: string;\n subject?: string;\n locale?: Locale;\n} & ComponentProps<ReturnType<typeof getEmailComponents>[T]['template']>;\n\nexport const sendEmail = async <T extends EmailType>({\n type,\n to,\n subject,\n locale,\n ...props\n}: SendEmailProps<T>) => {\n const resend = new Resend(process.env.RESEND_API_KEY);\n\n const emailComponents = getEmailComponents(locale);\n\n const { template, subject: baseSubject } = emailComponents[type];\n\n type EmailComponentType = (typeof emailComponents)[T]['template'];\n\n const EmailComponent: EmailComponentType = template;\n\n const react = <EmailComponent {...(props as any)} />;\n\n await resend.emails\n .send({\n from: 'Intlayer <no-reply@intlayer.org>',\n to,\n subject: subject ?? baseSubject,\n react,\n })\n .catch((err) => logger.error(err));\n\n logger.info(`Email sent ${type} to ${to}`);\n};\n"],"mappings":";;;;;;;;;;;;;;;;AAiEA,MAAM,sBAAsB,YACzB;CACC,QAAQ;EACN,UAAU,EACR;GACE,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,EACD,OACD;EACD,SAAS,EACP;GACE,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,EACD,OACD;EACF;CACD,UAAU;EACR,UAAU,EACR;GACE,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,EACD,OACD;EACD,SAAS,EACP;GACE,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,EACD,OACD;EACF;CACD,eAAe;EACb,UAAU,EACR;GACE,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,EACD,OACD;EACD,SAAS,EACP;GACE,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,EACD,OACD;EACF;CACD,SAAS;EACP,UAAU,EACR;GACE,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,EACD,OACD;EACD,SAAS,EACP;GACE,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,EACD,OACD;EACF;CACD,WAAW;EACT,UAAU,EACR;GACE,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,EACD,OACD;EACD,SAAS,EACP;GACE,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,EACD,OACD;EACF;CACD,4BAA4B;EAC1B,UAAU,EACR;GACE,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,EACD,OACD;EACD,SAAS,EACP;GACE,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,EACD,OACD;EACF;CACD,4BAA4B;EAC1B,UAAU,EAAE;GACV,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,CAAC;EACF,SAAS,EAAE;GACT,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,CAAC;EACH;CACD,iCAAiC;EAC/B,UAAU,EAAE;GACV,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,CAAC;EACF,SAAS,EAAE;GACT,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,CAAC;EACH;CACD,0BAA0B;EACxB,UAAU,EAAE;GACV,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,CAAC;EACF,SAAS,EAAE;GACT,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,CAAC;EACH;CACD,mBAAmB;EACjB,UAAU,EAAE;GACV,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,CAAC;EACF,SAAS,EAAE;GACT,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,CAAC;EACH;CACF;AAWH,MAAa,YAAY,OAA4B,EACnD,MACA,IACA,SACA,QACA,GAAG,YACoB;CACvB,MAAM,SAAS,IAAI,OAAO,QAAQ,IAAI,eAAe;CAIrD,MAAM,EAAE,UAAU,SAAS,gBAFH,mBAAmB,OAAO,CAES;CAM3D,MAAM,QAAQ,oBAF6B,YAEb,GAAK,QAAiB;AAEpD,OAAM,OAAO,OACV,KAAK;EACJ,MAAM;EACN;EACA,SAAS,WAAW;EACpB;EACD,CAAC,CACD,OAAO,QAAQ,OAAO,MAAM,IAAI,CAAC;AAEpC,QAAO,KAAK,cAAc,KAAK,MAAM,KAAK"}
|