@intlayer/backend 5.5.7 → 5.5.8
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/dist/cjs/controllers/newsletter.controller.cjs +162 -0
- package/dist/cjs/controllers/newsletter.controller.cjs.map +1 -0
- package/dist/cjs/export.cjs +3 -0
- package/dist/cjs/export.cjs.map +1 -1
- package/dist/cjs/index.cjs +11 -9
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/routes/ai.routes.cjs +4 -1
- package/dist/cjs/routes/ai.routes.cjs.map +1 -1
- package/dist/cjs/routes/dictionary.routes.cjs +4 -1
- package/dist/cjs/routes/dictionary.routes.cjs.map +1 -1
- package/dist/cjs/routes/eventListener.routes.cjs +4 -1
- package/dist/cjs/routes/eventListener.routes.cjs.map +1 -1
- package/dist/cjs/routes/newsletter.routes.cjs +66 -0
- package/dist/cjs/routes/newsletter.routes.cjs.map +1 -0
- package/dist/cjs/routes/organization.routes.cjs +4 -1
- package/dist/cjs/routes/organization.routes.cjs.map +1 -1
- package/dist/cjs/routes/project.routes.cjs +4 -1
- package/dist/cjs/routes/project.routes.cjs.map +1 -1
- package/dist/cjs/routes/search.routes.cjs +4 -1
- package/dist/cjs/routes/search.routes.cjs.map +1 -1
- package/dist/cjs/routes/sessionAuth.routes.cjs +4 -1
- package/dist/cjs/routes/sessionAuth.routes.cjs.map +1 -1
- package/dist/cjs/routes/stripe.routes.cjs +4 -1
- package/dist/cjs/routes/stripe.routes.cjs.map +1 -1
- package/dist/cjs/routes/tags.routes.cjs +4 -1
- package/dist/cjs/routes/tags.routes.cjs.map +1 -1
- package/dist/cjs/routes/user.routes.cjs +4 -1
- package/dist/cjs/routes/user.routes.cjs.map +1 -1
- package/dist/cjs/schemas/user.schema.cjs +9 -0
- package/dist/cjs/schemas/user.schema.cjs.map +1 -1
- package/dist/cjs/types/user.types.cjs +15 -0
- package/dist/cjs/types/user.types.cjs.map +1 -1
- package/dist/cjs/utils/AI/aiSdk.cjs +2 -2
- package/dist/cjs/utils/AI/aiSdk.cjs.map +1 -1
- package/dist/cjs/utils/AI/askDocQuestion/PROMPT.md +6 -2
- package/dist/cjs/utils/AI/askDocQuestion/askDocQuestion.cjs +16 -10
- package/dist/cjs/utils/AI/askDocQuestion/askDocQuestion.cjs.map +1 -1
- package/dist/cjs/utils/AI/askDocQuestion/embeddings.json +7182 -0
- package/dist/cjs/utils/AI/autocomplete/PROMPT.md +24 -7
- package/dist/cjs/utils/AI/autocomplete/index.cjs +4 -2
- package/dist/cjs/utils/AI/autocomplete/index.cjs.map +1 -1
- package/dist/esm/controllers/newsletter.controller.mjs +126 -0
- package/dist/esm/controllers/newsletter.controller.mjs.map +1 -0
- package/dist/esm/export.mjs +2 -0
- package/dist/esm/export.mjs.map +1 -1
- package/dist/esm/index.mjs +26 -18
- package/dist/esm/index.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 +6 -4
- package/dist/esm/routes/dictionary.routes.mjs.map +1 -1
- package/dist/esm/routes/eventListener.routes.mjs +3 -1
- package/dist/esm/routes/eventListener.routes.mjs.map +1 -1
- package/dist/esm/routes/newsletter.routes.mjs +44 -0
- package/dist/esm/routes/newsletter.routes.mjs.map +1 -0
- package/dist/esm/routes/organization.routes.mjs +7 -5
- package/dist/esm/routes/organization.routes.mjs.map +1 -1
- package/dist/esm/routes/project.routes.mjs +6 -4
- package/dist/esm/routes/project.routes.mjs.map +1 -1
- package/dist/esm/routes/search.routes.mjs +3 -1
- package/dist/esm/routes/search.routes.mjs.map +1 -1
- package/dist/esm/routes/sessionAuth.routes.mjs +11 -9
- package/dist/esm/routes/sessionAuth.routes.mjs.map +1 -1
- package/dist/esm/routes/stripe.routes.mjs +4 -2
- package/dist/esm/routes/stripe.routes.mjs.map +1 -1
- package/dist/esm/routes/tags.routes.mjs +3 -1
- package/dist/esm/routes/tags.routes.mjs.map +1 -1
- package/dist/esm/routes/user.routes.mjs +7 -5
- package/dist/esm/routes/user.routes.mjs.map +1 -1
- package/dist/esm/schemas/user.schema.mjs +9 -0
- package/dist/esm/schemas/user.schema.mjs.map +1 -1
- package/dist/esm/types/user.types.mjs +7 -0
- package/dist/esm/types/user.types.mjs.map +1 -1
- package/dist/esm/utils/AI/aiSdk.mjs +2 -2
- package/dist/esm/utils/AI/aiSdk.mjs.map +1 -1
- package/dist/esm/utils/AI/askDocQuestion/PROMPT.md +6 -2
- package/dist/esm/utils/AI/askDocQuestion/askDocQuestion.mjs +16 -10
- package/dist/esm/utils/AI/askDocQuestion/askDocQuestion.mjs.map +1 -1
- package/dist/esm/utils/AI/askDocQuestion/embeddings.json +7182 -0
- package/dist/esm/utils/AI/autocomplete/PROMPT.md +24 -7
- package/dist/esm/utils/AI/autocomplete/index.mjs +4 -2
- package/dist/esm/utils/AI/autocomplete/index.mjs.map +1 -1
- package/dist/types/controllers/newsletter.controller.d.ts +31 -0
- package/dist/types/controllers/newsletter.controller.d.ts.map +1 -0
- package/dist/types/export.d.ts +2 -0
- package/dist/types/export.d.ts.map +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/routes/ai.routes.d.ts +1 -0
- package/dist/types/routes/ai.routes.d.ts.map +1 -1
- package/dist/types/routes/dictionary.routes.d.ts +1 -0
- package/dist/types/routes/dictionary.routes.d.ts.map +1 -1
- package/dist/types/routes/eventListener.routes.d.ts +1 -0
- package/dist/types/routes/eventListener.routes.d.ts.map +1 -1
- package/dist/types/routes/newsletter.routes.d.ts +21 -0
- package/dist/types/routes/newsletter.routes.d.ts.map +1 -0
- package/dist/types/routes/organization.routes.d.ts +1 -0
- package/dist/types/routes/organization.routes.d.ts.map +1 -1
- package/dist/types/routes/project.routes.d.ts +1 -0
- package/dist/types/routes/project.routes.d.ts.map +1 -1
- package/dist/types/routes/search.routes.d.ts +1 -0
- package/dist/types/routes/search.routes.d.ts.map +1 -1
- package/dist/types/routes/sessionAuth.routes.d.ts +1 -0
- package/dist/types/routes/sessionAuth.routes.d.ts.map +1 -1
- package/dist/types/routes/stripe.routes.d.ts +1 -0
- package/dist/types/routes/stripe.routes.d.ts.map +1 -1
- package/dist/types/routes/tags.routes.d.ts +1 -0
- package/dist/types/routes/tags.routes.d.ts.map +1 -1
- package/dist/types/routes/user.routes.d.ts +1 -0
- package/dist/types/routes/user.routes.d.ts.map +1 -1
- package/dist/types/schemas/user.schema.d.ts +1 -1
- package/dist/types/schemas/user.schema.d.ts.map +1 -1
- package/dist/types/types/user.types.d.ts +7 -1
- package/dist/types/types/user.types.d.ts.map +1 -1
- package/dist/types/utils/AI/aiSdk.d.ts +1 -1
- 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.map +1 -1
- package/package.json +19 -19
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var newsletter_controller_exports = {};
|
|
30
|
+
__export(newsletter_controller_exports, {
|
|
31
|
+
getNewsletterStatus: () => getNewsletterStatus,
|
|
32
|
+
subscribeToNewsletter: () => subscribeToNewsletter,
|
|
33
|
+
unsubscribeFromNewsletter: () => unsubscribeFromNewsletter
|
|
34
|
+
});
|
|
35
|
+
module.exports = __toCommonJS(newsletter_controller_exports);
|
|
36
|
+
var import_logger = require('./../logger/index.cjs');
|
|
37
|
+
var userService = __toESM(require('./../services/user.service.cjs'), 1);
|
|
38
|
+
var import_errors = require('./../utils/errors/index.cjs');
|
|
39
|
+
var import_user = require('./../utils/mapper/user.cjs');
|
|
40
|
+
var import_responseData = require('./../utils/responseData.cjs');
|
|
41
|
+
var import_express_intlayer = require("express-intlayer");
|
|
42
|
+
const subscribeToNewsletter = async (req, res, _next) => {
|
|
43
|
+
const { email, emailList } = req.body;
|
|
44
|
+
if (!email) {
|
|
45
|
+
import_errors.ErrorHandler.handleGenericErrorResponse(res, "USER_DATA_NOT_FOUND");
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
const emailLists = Array.isArray(emailList) ? emailList : [emailList];
|
|
49
|
+
const emailsListObject = Object.fromEntries(
|
|
50
|
+
emailLists.map((list) => [list, true])
|
|
51
|
+
);
|
|
52
|
+
try {
|
|
53
|
+
let user = await userService.getUserByEmail(email);
|
|
54
|
+
if (!user) {
|
|
55
|
+
user = await userService.createUser({
|
|
56
|
+
email,
|
|
57
|
+
emailsList: emailsListObject
|
|
58
|
+
});
|
|
59
|
+
import_logger.logger.info(`New user created and subscribed to newsletter: ${email}`);
|
|
60
|
+
} else {
|
|
61
|
+
user = await userService.updateUserById(user._id, {
|
|
62
|
+
emailsList: { ...user.emailsList, ...emailsListObject }
|
|
63
|
+
});
|
|
64
|
+
import_logger.logger.info(`User subscribed to newsletter: ${email}`);
|
|
65
|
+
}
|
|
66
|
+
const formattedUser = (0, import_user.mapUserToAPI)(user);
|
|
67
|
+
const responseData = (0, import_responseData.formatResponse)({
|
|
68
|
+
message: (0, import_express_intlayer.t)({
|
|
69
|
+
en: "Successfully subscribed to newsletter",
|
|
70
|
+
fr: "Abonnement \xE0 la newsletter r\xE9ussi",
|
|
71
|
+
es: "Suscripci\xF3n al bolet\xEDn exitosa"
|
|
72
|
+
}),
|
|
73
|
+
description: (0, import_express_intlayer.t)({
|
|
74
|
+
en: "You have been successfully subscribed to our newsletter",
|
|
75
|
+
fr: "Vous avez \xE9t\xE9 abonn\xE9 avec succ\xE8s \xE0 notre newsletter",
|
|
76
|
+
es: "Te has suscrito exitosamente a nuestro bolet\xEDn"
|
|
77
|
+
}),
|
|
78
|
+
data: formattedUser
|
|
79
|
+
});
|
|
80
|
+
res.json(responseData);
|
|
81
|
+
return;
|
|
82
|
+
} catch (error) {
|
|
83
|
+
import_errors.ErrorHandler.handleAppErrorResponse(res, error);
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
const unsubscribeFromNewsletter = async (req, res, _next) => {
|
|
88
|
+
const { userId, emailList } = req.body;
|
|
89
|
+
if (!userId) {
|
|
90
|
+
import_errors.ErrorHandler.handleGenericErrorResponse(res, "USER_DATA_NOT_FOUND");
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
try {
|
|
94
|
+
const user = await userService.getUserById(userId);
|
|
95
|
+
if (!user) {
|
|
96
|
+
import_errors.ErrorHandler.handleGenericErrorResponse(res, "USER_NOT_FOUND");
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
const emailLists = Array.isArray(emailList) ? emailList : [emailList];
|
|
100
|
+
const emailsListObject = Object.fromEntries(
|
|
101
|
+
emailLists.map((list) => [list, false])
|
|
102
|
+
);
|
|
103
|
+
const updatedUser = await userService.updateUserById(user._id, {
|
|
104
|
+
emailsList: { ...user.emailsList, ...emailsListObject }
|
|
105
|
+
});
|
|
106
|
+
import_logger.logger.info(`User unsubscribed from newsletter: ${updatedUser.email}`);
|
|
107
|
+
const formattedUser = (0, import_user.mapUserToAPI)(updatedUser);
|
|
108
|
+
const responseData = (0, import_responseData.formatResponse)({
|
|
109
|
+
message: (0, import_express_intlayer.t)({
|
|
110
|
+
en: "Successfully unsubscribed from newsletter",
|
|
111
|
+
fr: "D\xE9sabonnement de la newsletter r\xE9ussi",
|
|
112
|
+
es: "Cancelaci\xF3n de suscripci\xF3n al bolet\xEDn exitosa"
|
|
113
|
+
}),
|
|
114
|
+
description: (0, import_express_intlayer.t)({
|
|
115
|
+
en: "You have been successfully unsubscribed from our newsletter",
|
|
116
|
+
fr: "Vous avez \xE9t\xE9 d\xE9sabonn\xE9 avec succ\xE8s de notre newsletter",
|
|
117
|
+
es: "Te has desuscrito exitosamente de nuestro bolet\xEDn"
|
|
118
|
+
}),
|
|
119
|
+
data: formattedUser
|
|
120
|
+
});
|
|
121
|
+
res.json(responseData);
|
|
122
|
+
return;
|
|
123
|
+
} catch (error) {
|
|
124
|
+
import_errors.ErrorHandler.handleAppErrorResponse(res, error);
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
};
|
|
128
|
+
const getNewsletterStatus = async (req, res, _next) => {
|
|
129
|
+
const email = res.locals.user?.email;
|
|
130
|
+
if (!email) {
|
|
131
|
+
import_errors.ErrorHandler.handleGenericErrorResponse(res, "USER_DATA_NOT_FOUND");
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
try {
|
|
135
|
+
const user = await userService.getUserByEmail(email);
|
|
136
|
+
if (!user) {
|
|
137
|
+
import_errors.ErrorHandler.handleGenericErrorResponse(res, "USER_NOT_FOUND");
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
const formattedUser = (0, import_user.mapUserToAPI)(user);
|
|
141
|
+
const responseData = (0, import_responseData.formatResponse)({
|
|
142
|
+
message: (0, import_express_intlayer.t)({
|
|
143
|
+
en: "Newsletter subscription status retrieved",
|
|
144
|
+
fr: "Statut d'abonnement \xE0 la newsletter r\xE9cup\xE9r\xE9",
|
|
145
|
+
es: "Estado de suscripci\xF3n al bolet\xEDn obtenido"
|
|
146
|
+
}),
|
|
147
|
+
data: formattedUser
|
|
148
|
+
});
|
|
149
|
+
res.json(responseData);
|
|
150
|
+
return;
|
|
151
|
+
} catch (error) {
|
|
152
|
+
import_errors.ErrorHandler.handleAppErrorResponse(res, error);
|
|
153
|
+
return;
|
|
154
|
+
}
|
|
155
|
+
};
|
|
156
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
157
|
+
0 && (module.exports = {
|
|
158
|
+
getNewsletterStatus,
|
|
159
|
+
subscribeToNewsletter,
|
|
160
|
+
unsubscribeFromNewsletter
|
|
161
|
+
});
|
|
162
|
+
//# sourceMappingURL=newsletter.controller.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/controllers/newsletter.controller.ts"],"sourcesContent":["import type { EmailsList, UserAPI } from '@/types/user.types';\nimport { logger } from '@logger';\nimport type { ResponseWithInformation } from '@middlewares/sessionAuth.middleware';\nimport * as userService from '@services/user.service';\nimport { type AppError, ErrorHandler } from '@utils/errors';\nimport { mapUserToAPI } from '@utils/mapper/user';\nimport { formatResponse, type ResponseData } from '@utils/responseData';\nimport type { NextFunction, Request } from 'express';\nimport { t } from 'express-intlayer';\n\nexport type NewsletterSubscriptionBody = {\n email: string;\n emailList: EmailsList | EmailsList[];\n};\nexport type NewsletterSubscriptionResult = ResponseData<UserAPI>;\n\n/**\n * Subscribes a user to the newsletter.\n * If the user doesn't exist, creates a new user.\n * If the user exists, updates their newsletter subscription to true.\n */\nexport const subscribeToNewsletter = async (\n req: Request<any, any, NewsletterSubscriptionBody>,\n res: ResponseWithInformation<NewsletterSubscriptionResult>,\n _next: NextFunction\n): Promise<void> => {\n const { email, emailList } = req.body;\n\n if (!email) {\n ErrorHandler.handleGenericErrorResponse(res, 'USER_DATA_NOT_FOUND');\n return;\n }\n\n const emailLists = Array.isArray(emailList) ? emailList : [emailList];\n\n // Create new user with newsletter subscription enabled\n const emailsListObject = Object.fromEntries(\n emailLists.map((list) => [list, true])\n ) as Record<EmailsList, boolean>;\n\n try {\n // Check if user exists\n let user = await userService.getUserByEmail(email);\n\n if (!user) {\n user = await userService.createUser({\n email,\n emailsList: emailsListObject,\n });\n\n logger.info(`New user created and subscribed to newsletter: ${email}`);\n } else {\n // Update existing user's newsletter subscription\n user = await userService.updateUserById(user._id, {\n emailsList: { ...user.emailsList, ...emailsListObject },\n });\n\n logger.info(`User subscribed to newsletter: ${email}`);\n }\n\n const formattedUser = mapUserToAPI(user);\n\n const responseData = formatResponse<UserAPI>({\n message: t({\n en: 'Successfully subscribed to newsletter',\n fr: 'Abonnement à la newsletter réussi',\n es: 'Suscripción al boletín exitosa',\n }),\n description: t({\n en: 'You have been successfully subscribed to our newsletter',\n fr: 'Vous avez été abonné avec succès à notre newsletter',\n es: 'Te has suscrito exitosamente a nuestro boletín',\n }),\n data: formattedUser,\n });\n\n res.json(responseData);\n return;\n } catch (error) {\n ErrorHandler.handleAppErrorResponse(res, error as AppError);\n return;\n }\n};\n\nexport type NewsletterUnsubscriptionBody = {\n userId: string;\n emailList: EmailsList | EmailsList[];\n};\n\n/**\n * Unsubscribes a user from the newsletter.\n * Only works if the user exists.\n */\nexport const unsubscribeFromNewsletter = async (\n req: Request<any, any, NewsletterUnsubscriptionBody>,\n res: ResponseWithInformation<NewsletterSubscriptionResult>,\n _next: NextFunction\n): Promise<void> => {\n const { userId, emailList } = req.body;\n\n if (!userId) {\n ErrorHandler.handleGenericErrorResponse(res, 'USER_DATA_NOT_FOUND');\n return;\n }\n\n try {\n // Check if user exists\n const user = await userService.getUserById(userId);\n\n if (!user) {\n ErrorHandler.handleGenericErrorResponse(res, 'USER_NOT_FOUND');\n return;\n }\n\n const emailLists = Array.isArray(emailList) ? emailList : [emailList];\n\n // Create new user with newsletter subscription enabled\n const emailsListObject = Object.fromEntries(\n emailLists.map((list) => [list, false])\n ) as Record<EmailsList, boolean>;\n\n // Update user's newsletter subscription to false\n const updatedUser = await userService.updateUserById(user._id, {\n emailsList: { ...user.emailsList, ...emailsListObject },\n });\n\n logger.info(`User unsubscribed from newsletter: ${updatedUser.email}`);\n\n const formattedUser = mapUserToAPI(updatedUser);\n\n const responseData = formatResponse<UserAPI>({\n message: t({\n en: 'Successfully unsubscribed from newsletter',\n fr: 'Désabonnement de la newsletter réussi',\n es: 'Cancelación de suscripción al boletín exitosa',\n }),\n description: t({\n en: 'You have been successfully unsubscribed from our newsletter',\n fr: 'Vous avez été désabonné avec succès de notre newsletter',\n es: 'Te has desuscrito exitosamente de nuestro boletín',\n }),\n data: formattedUser,\n });\n\n res.json(responseData);\n return;\n } catch (error) {\n ErrorHandler.handleAppErrorResponse(res, error as AppError);\n return;\n }\n};\n\n/**\n * Gets the newsletter subscription status for a user.\n */\nexport const getNewsletterStatus = async (\n req: Request<{ email: string }>,\n res: ResponseWithInformation<NewsletterSubscriptionResult>,\n _next: NextFunction\n): Promise<void> => {\n const email = res.locals.user?.email;\n\n if (!email) {\n ErrorHandler.handleGenericErrorResponse(res, 'USER_DATA_NOT_FOUND');\n return;\n }\n\n try {\n const user = await userService.getUserByEmail(email);\n\n if (!user) {\n ErrorHandler.handleGenericErrorResponse(res, 'USER_NOT_FOUND');\n return;\n }\n\n const formattedUser = mapUserToAPI(user);\n\n const responseData = formatResponse<UserAPI>({\n message: t({\n en: 'Newsletter subscription status retrieved',\n fr: \"Statut d'abonnement à la newsletter récupéré\",\n es: 'Estado de suscripción al boletín obtenido',\n }),\n data: formattedUser,\n });\n\n res.json(responseData);\n return;\n } catch (error) {\n ErrorHandler.handleAppErrorResponse(res, error as AppError);\n return;\n }\n};\n"],"mappings":"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","names":[]}
|
package/dist/cjs/export.cjs
CHANGED
|
@@ -20,6 +20,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
20
20
|
var export_exports = {};
|
|
21
21
|
__export(export_exports, {
|
|
22
22
|
getDictionaryRoutes: () => import_dictionary.getDictionaryRoutes,
|
|
23
|
+
getNewsletterRoutes: () => import_newsletter.getNewsletterRoutes,
|
|
23
24
|
getOrganizationRoutes: () => import_organization.getOrganizationRoutes,
|
|
24
25
|
getProjectRoutes: () => import_project.getProjectRoutes,
|
|
25
26
|
getSessionAuthRoutes: () => import_sessionAuth.getSessionAuthRoutes,
|
|
@@ -27,6 +28,7 @@ __export(export_exports, {
|
|
|
27
28
|
});
|
|
28
29
|
module.exports = __toCommonJS(export_exports);
|
|
29
30
|
var import_dictionary = require('./routes/dictionary.routes.cjs');
|
|
31
|
+
var import_newsletter = require('./routes/newsletter.routes.cjs');
|
|
30
32
|
var import_organization = require('./routes/organization.routes.cjs');
|
|
31
33
|
var import_project = require('./routes/project.routes.cjs');
|
|
32
34
|
var import_sessionAuth = require('./routes/sessionAuth.routes.cjs');
|
|
@@ -38,6 +40,7 @@ __reExport(export_exports, require('./utils/responseData.cjs'), module.exports);
|
|
|
38
40
|
// Annotate the CommonJS export names for ESM import in node:
|
|
39
41
|
0 && (module.exports = {
|
|
40
42
|
getDictionaryRoutes,
|
|
43
|
+
getNewsletterRoutes,
|
|
41
44
|
getOrganizationRoutes,
|
|
42
45
|
getProjectRoutes,
|
|
43
46
|
getSessionAuthRoutes,
|
package/dist/cjs/export.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/export.ts"],"sourcesContent":["// Routes\nexport { getDictionaryRoutes } from '@routes/dictionary.routes';\nexport { getOrganizationRoutes } from '@routes/organization.routes';\nexport { getProjectRoutes } from '@routes/project.routes';\nexport { getSessionAuthRoutes } from '@routes/sessionAuth.routes';\nexport { getUserRoutes } from '@routes/user.routes';\n\n// Controllers types\nexport type * from '@controllers/ai.controller';\nexport type * from '@controllers/dictionary.controller';\nexport type * from '@controllers/eventListener.controller';\nexport type * from '@controllers/oAuth2.controller';\nexport type * from '@controllers/organization.controller';\nexport type * from '@controllers/project.controller';\nexport type * from '@controllers/projectAccessKey.controller';\nexport type * from '@controllers/search.controller';\nexport type * from '@controllers/sessionAuth.controller';\nexport type * from '@controllers/stripe.controller';\nexport type * from '@controllers/tag.controller';\nexport type * from '@controllers/user.controller';\n\n// Objects types\nexport type * from '@/types/dictionary.types';\nexport type * from '@/types/oAuth2.types';\nexport type * from '@/types/organization.types';\nexport type * from '@/types/plan.types';\nexport type * from '@/types/project.types';\nexport type * from '@/types/tag.types';\nexport type * from '@/types/user.types';\n\n// Utils\nexport * from '@utils/AI/aiSdk';\nexport * from '@utils/cookies';\nexport * from '@utils/httpStatusCodes';\nexport * from '@utils/responseData';\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,wBAAoC;AACpC,0BAAsC;AACtC,qBAAiC;AACjC,yBAAqC;AACrC,kBAA8B;
|
|
1
|
+
{"version":3,"sources":["../../src/export.ts"],"sourcesContent":["// Routes\nexport { getDictionaryRoutes } from '@routes/dictionary.routes';\nexport { getNewsletterRoutes } from '@routes/newsletter.routes';\nexport { getOrganizationRoutes } from '@routes/organization.routes';\nexport { getProjectRoutes } from '@routes/project.routes';\nexport { getSessionAuthRoutes } from '@routes/sessionAuth.routes';\nexport { getUserRoutes } from '@routes/user.routes';\n\n// Controllers types\nexport type * from '@controllers/ai.controller';\nexport type * from '@controllers/dictionary.controller';\nexport type * from '@controllers/eventListener.controller';\nexport type * from '@controllers/newsletter.controller';\nexport type * from '@controllers/oAuth2.controller';\nexport type * from '@controllers/organization.controller';\nexport type * from '@controllers/project.controller';\nexport type * from '@controllers/projectAccessKey.controller';\nexport type * from '@controllers/search.controller';\nexport type * from '@controllers/sessionAuth.controller';\nexport type * from '@controllers/stripe.controller';\nexport type * from '@controllers/tag.controller';\nexport type * from '@controllers/user.controller';\n\n// Objects types\nexport type * from '@/types/dictionary.types';\nexport type * from '@/types/oAuth2.types';\nexport type * from '@/types/organization.types';\nexport type * from '@/types/plan.types';\nexport type * from '@/types/project.types';\nexport type * from '@/types/tag.types';\nexport type * from '@/types/user.types';\n\n// Utils\nexport * from '@utils/AI/aiSdk';\nexport * from '@utils/cookies';\nexport * from '@utils/httpStatusCodes';\nexport * from '@utils/responseData';\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,wBAAoC;AACpC,wBAAoC;AACpC,0BAAsC;AACtC,qBAAiC;AACjC,yBAAqC;AACrC,kBAA8B;AA2B9B,2BAAc,4BAjCd;AAkCA,2BAAc,2BAlCd;AAmCA,2BAAc,mCAnCd;AAoCA,2BAAc,gCApCd;","names":[]}
|
package/dist/cjs/index.cjs
CHANGED
|
@@ -44,6 +44,7 @@ var import_sessionAuth = require('./middlewares/sessionAuth.middleware.cjs');
|
|
|
44
44
|
var import_ai = require('./routes/ai.routes.cjs');
|
|
45
45
|
var import_dictionary = require('./routes/dictionary.routes.cjs');
|
|
46
46
|
var import_eventListener = require('./routes/eventListener.routes.cjs');
|
|
47
|
+
var import_newsletter = require('./routes/newsletter.routes.cjs');
|
|
47
48
|
var import_organization = require('./routes/organization.routes.cjs');
|
|
48
49
|
var import_project = require('./routes/project.routes.cjs');
|
|
49
50
|
var import_search = require('./routes/search.routes.cjs');
|
|
@@ -141,15 +142,16 @@ app.use(/(.*)/, (req, res, next) => {
|
|
|
141
142
|
}
|
|
142
143
|
next();
|
|
143
144
|
});
|
|
144
|
-
app.use(
|
|
145
|
-
app.use(
|
|
146
|
-
app.use(
|
|
147
|
-
app.use(
|
|
148
|
-
app.use(
|
|
149
|
-
app.use(
|
|
150
|
-
app.use(
|
|
151
|
-
app.use(
|
|
152
|
-
app.use(
|
|
145
|
+
app.use(import_user.userRoute, import_user.userRouter);
|
|
146
|
+
app.use(import_organization.organizationRoute, import_organization.organizationRouter);
|
|
147
|
+
app.use(import_project.projectRoute, import_project.projectRouter);
|
|
148
|
+
app.use(import_tags.tagRoute, import_tags.tagRouter);
|
|
149
|
+
app.use(import_dictionary.dictionaryRoute, import_dictionary.dictionaryRouter);
|
|
150
|
+
app.use(import_stripe.stripeRoute, import_stripe.stripeRouter);
|
|
151
|
+
app.use(import_ai.aiRoute, import_ai.aiRouter);
|
|
152
|
+
app.use(import_eventListener.eventListenerRoute, import_eventListener.eventListenerRouter);
|
|
153
|
+
app.use(import_search.searchRoute, import_search.searchRouter);
|
|
154
|
+
app.use(import_newsletter.newsletterRoute, import_newsletter.newsletterRouter);
|
|
153
155
|
app.listen(process.env.PORT, () => {
|
|
154
156
|
import_logger.logger.info(`Listening on port ${process.env.PORT}`);
|
|
155
157
|
});
|
package/dist/cjs/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts"],"sourcesContent":["// Libraries\nimport compression from 'compression';\nimport cookieParser from 'cookie-parser';\nimport cors, { type CorsOptions } from 'cors';\nimport dotenv from 'dotenv';\nimport express, { type Express } from 'express';\nimport { intlayer, t } from 'express-intlayer';\nimport helmet from 'helmet';\n\n// Middlewares\nimport {\n type RequestWithOAuth2Information,\n attachOAuthInstance,\n authenticateOAuth2,\n} from '@middlewares/oAuth2.middleware';\nimport { logAPIRequestURL } from '@middlewares/request.middleware';\nimport {\n type ResponseWithInformation,\n checkAdmin,\n checkOrganization,\n checkProject,\n checkUser,\n} from '@middlewares/sessionAuth.middleware';\n\n// Routes\nimport { aiRouter } from '@routes/ai.routes';\nimport { dictionaryRouter } from '@routes/dictionary.routes';\nimport {
|
|
1
|
+
{"version":3,"sources":["../../src/index.ts"],"sourcesContent":["// Libraries\nimport compression from 'compression';\nimport cookieParser from 'cookie-parser';\nimport cors, { type CorsOptions } from 'cors';\nimport dotenv from 'dotenv';\nimport express, { type Express } from 'express';\nimport { intlayer, t } from 'express-intlayer';\nimport helmet from 'helmet';\n\n// Middlewares\nimport {\n type RequestWithOAuth2Information,\n attachOAuthInstance,\n authenticateOAuth2,\n} from '@middlewares/oAuth2.middleware';\nimport { logAPIRequestURL } from '@middlewares/request.middleware';\nimport {\n type ResponseWithInformation,\n checkAdmin,\n checkOrganization,\n checkProject,\n checkUser,\n} from '@middlewares/sessionAuth.middleware';\n\n// Routes\nimport { aiRoute, aiRouter } from '@routes/ai.routes';\nimport { dictionaryRoute, dictionaryRouter } from '@routes/dictionary.routes';\nimport {\n eventListenerRoute,\n eventListenerRouter,\n} from '@routes/eventListener.routes';\nimport { newsletterRoute, newsletterRouter } from '@routes/newsletter.routes';\nimport {\n organizationRoute,\n organizationRouter,\n} from '@routes/organization.routes';\nimport { projectRoute, projectRouter } from '@routes/project.routes';\nimport { searchRoute, searchRouter } from '@routes/search.routes';\nimport { sessionAuthRouter } from '@routes/sessionAuth.routes';\nimport { stripeRoute, stripeRouter } from '@routes/stripe.routes';\nimport { tagRoute, tagRouter } from '@routes/tags.routes';\nimport { userRoute, userRouter } from '@routes/user.routes';\n\n// Webhooks\nimport { stripeWebhook } from '@webhooks/stripe.webhook';\n\n// Controllers\nimport { getOAuth2Token } from '@controllers/oAuth2.controller';\nimport {\n getSessionInformation,\n setCSRFToken,\n} from '@controllers/sessionAuth.controller';\n\n// Utils\nimport { doubleCsrfProtection } from '@utils/CSRF';\nimport { connectDB } from '@utils/mongoDB/connectDB';\n\n// Logger\nimport { logger } from './logger/index';\n\nconst app: Express = express();\n\napp.disable('x-powered-by'); // Disabled to prevent attackers from knowing that the app is running Express\napp.use(helmet());\n\n// Environment variables\nconst env = app.get('env');\n\nlogger.info(`run as ${env}`);\n\ndotenv.config({\n path: [`.env.${env}.local`, `.env.${env}`, '.env.local', '.env'],\n});\n\n// Parse incoming requests with cookies\napp.use(cookieParser());\n\n// Load internationalization request handler\napp.use(intlayer());\n\nconst isDev = env === 'development';\n\n// Connect to MongoDB\nconnectDB();\n\n// Stripe\napp.post(\n '/webhook/stripe',\n express.raw({ type: 'application/json' }),\n stripeWebhook\n);\n\n// Compress all HTTP responses\napp.use(compression());\n\n// Parse incoming requests with JSON payloads\napp.use(express.json({ limit: '50mb' }));\n\n// Parse incoming requests with urlencoded payloads\napp.use(express.urlencoded({ extended: true }));\n\nconst whitelist = [process.env.CLIENT_URL!];\n\n// CORS\nconst corsOptions: CorsOptions = {\n origin: (origin, callback) => {\n // Allow requests with no origin (like mobile apps or curl requests)\n if (!origin) return callback(null, true);\n\n if (whitelist.includes(origin)) {\n logger.info('whitelisted origin', origin);\n return callback(null, true);\n }\n\n logger.info('non whitelisted origin', origin);\n // Reflect the request's origin (echo back the origin header)\n callback(null, origin);\n },\n allowedHeaders: [\n 'authorization',\n 'Content-Type',\n 'credentials',\n 'cache-control',\n 'Access-Control-Allow-Origin',\n 'private-state-token-redemption',\n 'private-state-token-issuance',\n 'browsing-topics',\n ],\n exposedHeaders: [''],\n preflightContinue: false,\n methods: 'GET,HEAD,PUT,PATCH,POST,DELETE',\n credentials: true,\n};\napp.use(cors(corsOptions));\n\n// Liveness check\napp.get('/', (_req, res) => {\n res.send(\n t({\n en: 'Ok - locale: en',\n fr: 'Ok - locale: fr',\n es: 'Ok - locale: es',\n })\n );\n});\n\n// middleware - jwt & session auth\napp.use(/(.*)/, checkUser);\napp.use(/(.*)/, checkOrganization);\napp.use(/(.*)/, checkProject);\napp.use(/(.*)/, checkAdmin);\n\n// debug\nif (isDev) {\n app.use(logAPIRequestURL);\n}\n\n// Sessions\napp.get('/session', getSessionInformation);\napp.use('/api/auth', sessionAuthRouter);\n\n// CSRF\napp.get('/csrf-token', setCSRFToken);\n\n// oAuth2\napp.use(/(.*)/, attachOAuthInstance);\napp.post('/oauth2/token', getOAuth2Token); // Route to get the token\napp.use(/(.*)/, (req, res, next) => {\n // If the request is not already authenticated check the oAuth2 token\n if (!res.locals.authType) {\n return authenticateOAuth2(\n req as RequestWithOAuth2Information,\n res as ResponseWithInformation,\n next\n );\n }\n next();\n});\n\n// CSRF protection\napp.use(/(.*)/, (req, res, next) => {\n // If the request is authenticated using the session auth check the CSRF token\n if (res.locals.authType === 'session') {\n return doubleCsrfProtection(req, res, next);\n }\n next();\n});\n\n// Routes\napp.use(userRoute, userRouter);\napp.use(organizationRoute, organizationRouter);\napp.use(projectRoute, projectRouter);\napp.use(tagRoute, tagRouter);\napp.use(dictionaryRoute, dictionaryRouter);\napp.use(stripeRoute, stripeRouter);\napp.use(aiRoute, aiRouter);\napp.use(eventListenerRoute, eventListenerRouter);\napp.use(searchRoute, searchRouter);\napp.use(newsletterRoute, newsletterRouter);\n\n// Server\napp.listen(process.env.PORT, () => {\n logger.info(`Listening on port ${process.env.PORT}`);\n});\n\n// Export tu use as serverless function\nexport default app;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,yBAAwB;AACxB,2BAAyB;AACzB,kBAAuC;AACvC,oBAAmB;AACnB,qBAAsC;AACtC,8BAA4B;AAC5B,oBAAmB;AAGnB,oBAIO;AACP,qBAAiC;AACjC,yBAMO;AAGP,gBAAkC;AAClC,wBAAkD;AAClD,2BAGO;AACP,wBAAkD;AAClD,0BAGO;AACP,qBAA4C;AAC5C,oBAA0C;AAC1C,IAAAA,sBAAkC;AAClC,oBAA0C;AAC1C,kBAAoC;AACpC,kBAAsC;AAGtC,IAAAC,iBAA8B;AAG9B,IAAAC,iBAA+B;AAC/B,IAAAF,sBAGO;AAGP,kBAAqC;AACrC,uBAA0B;AAG1B,oBAAuB;AAEvB,MAAM,UAAe,eAAAG,SAAQ;AAE7B,IAAI,QAAQ,cAAc;AAC1B,IAAI,QAAI,cAAAC,SAAO,CAAC;AAGhB,MAAM,MAAM,IAAI,IAAI,KAAK;AAEzB,qBAAO,KAAK,UAAU,GAAG,EAAE;AAE3B,cAAAC,QAAO,OAAO;AAAA,EACZ,MAAM,CAAC,QAAQ,GAAG,UAAU,QAAQ,GAAG,IAAI,cAAc,MAAM;AACjE,CAAC;AAGD,IAAI,QAAI,qBAAAC,SAAa,CAAC;AAGtB,IAAI,QAAI,kCAAS,CAAC;AAElB,MAAM,QAAQ,QAAQ;AAAA,IAGtB,4BAAU;AAGV,IAAI;AAAA,EACF;AAAA,EACA,eAAAH,QAAQ,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAAA,EACxC;AACF;AAGA,IAAI,QAAI,mBAAAI,SAAY,CAAC;AAGrB,IAAI,IAAI,eAAAJ,QAAQ,KAAK,EAAE,OAAO,OAAO,CAAC,CAAC;AAGvC,IAAI,IAAI,eAAAA,QAAQ,WAAW,EAAE,UAAU,KAAK,CAAC,CAAC;AAE9C,MAAM,YAAY,CAAC,QAAQ,IAAI,UAAW;AAG1C,MAAM,cAA2B;AAAA,EAC/B,QAAQ,CAAC,QAAQ,aAAa;AAE5B,QAAI,CAAC,OAAQ,QAAO,SAAS,MAAM,IAAI;AAEvC,QAAI,UAAU,SAAS,MAAM,GAAG;AAC9B,2BAAO,KAAK,sBAAsB,MAAM;AACxC,aAAO,SAAS,MAAM,IAAI;AAAA,IAC5B;AAEA,yBAAO,KAAK,0BAA0B,MAAM;AAE5C,aAAS,MAAM,MAAM;AAAA,EACvB;AAAA,EACA,gBAAgB;AAAA,IACd;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA,gBAAgB,CAAC,EAAE;AAAA,EACnB,mBAAmB;AAAA,EACnB,SAAS;AAAA,EACT,aAAa;AACf;AACA,IAAI,QAAI,YAAAK,SAAK,WAAW,CAAC;AAGzB,IAAI,IAAI,KAAK,CAAC,MAAM,QAAQ;AAC1B,MAAI;AAAA,QACF,2BAAE;AAAA,MACA,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,IACN,CAAC;AAAA,EACH;AACF,CAAC;AAGD,IAAI,IAAI,QAAQ,4BAAS;AACzB,IAAI,IAAI,QAAQ,oCAAiB;AACjC,IAAI,IAAI,QAAQ,+BAAY;AAC5B,IAAI,IAAI,QAAQ,6BAAU;AAG1B,IAAI,OAAO;AACT,MAAI,IAAI,+BAAgB;AAC1B;AAGA,IAAI,IAAI,YAAY,yCAAqB;AACzC,IAAI,IAAI,aAAa,qCAAiB;AAGtC,IAAI,IAAI,eAAe,gCAAY;AAGnC,IAAI,IAAI,QAAQ,iCAAmB;AACnC,IAAI,KAAK,iBAAiB,6BAAc;AACxC,IAAI,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS;AAElC,MAAI,CAAC,IAAI,OAAO,UAAU;AACxB,eAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACA,OAAK;AACP,CAAC;AAGD,IAAI,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS;AAElC,MAAI,IAAI,OAAO,aAAa,WAAW;AACrC,eAAO,kCAAqB,KAAK,KAAK,IAAI;AAAA,EAC5C;AACA,OAAK;AACP,CAAC;AAGD,IAAI,IAAI,uBAAW,sBAAU;AAC7B,IAAI,IAAI,uCAAmB,sCAAkB;AAC7C,IAAI,IAAI,6BAAc,4BAAa;AACnC,IAAI,IAAI,sBAAU,qBAAS;AAC3B,IAAI,IAAI,mCAAiB,kCAAgB;AACzC,IAAI,IAAI,2BAAa,0BAAY;AACjC,IAAI,IAAI,mBAAS,kBAAQ;AACzB,IAAI,IAAI,yCAAoB,wCAAmB;AAC/C,IAAI,IAAI,2BAAa,0BAAY;AACjC,IAAI,IAAI,mCAAiB,kCAAgB;AAGzC,IAAI,OAAO,QAAQ,IAAI,MAAM,MAAM;AACjC,uBAAO,KAAK,qBAAqB,QAAQ,IAAI,IAAI,EAAE;AACrD,CAAC;AAGD,IAAO,gBAAQ;","names":["import_sessionAuth","import_stripe","import_oAuth2","express","helmet","dotenv","cookieParser","compression","cors"]}
|
|
@@ -18,6 +18,7 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
19
|
var ai_routes_exports = {};
|
|
20
20
|
__export(ai_routes_exports, {
|
|
21
|
+
aiRoute: () => aiRoute,
|
|
21
22
|
aiRouter: () => aiRouter,
|
|
22
23
|
getAiRoutes: () => getAiRoutes
|
|
23
24
|
});
|
|
@@ -25,7 +26,8 @@ module.exports = __toCommonJS(ai_routes_exports);
|
|
|
25
26
|
var import_ai = require('./../controllers/ai.controller.cjs');
|
|
26
27
|
var import_express = require("express");
|
|
27
28
|
const aiRouter = (0, import_express.Router)();
|
|
28
|
-
const
|
|
29
|
+
const aiRoute = "/api/ai";
|
|
30
|
+
const baseURL = () => `${process.env.BACKEND_URL}${aiRoute}`;
|
|
29
31
|
const getAiRoutes = () => ({
|
|
30
32
|
translateJSON: {
|
|
31
33
|
urlModel: "/translate/json",
|
|
@@ -81,6 +83,7 @@ aiRouter.post(getAiRoutes().auditTag.urlModel, import_ai.auditTag);
|
|
|
81
83
|
aiRouter.post(getAiRoutes().autocomplete.urlModel, import_ai.autocomplete);
|
|
82
84
|
// Annotate the CommonJS export names for ESM import in node:
|
|
83
85
|
0 && (module.exports = {
|
|
86
|
+
aiRoute,
|
|
84
87
|
aiRouter,
|
|
85
88
|
getAiRoutes
|
|
86
89
|
});
|
|
@@ -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 translateJSON,\n} from '@controllers/ai.controller';\nimport { Router } from 'express';\n\nexport const aiRouter: Router = Router();\n\nconst baseURL = () => `${process.env.BACKEND_URL}
|
|
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 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 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().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().ask.urlModel, askDocQuestion);\n\naiRouter.post(getAiRoutes().auditTag.urlModel, auditTag);\n\naiRouter.post(getAiRoutes().autocomplete.urlModel, autocomplete);\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,gBAQO;AACP,qBAAuB;AAEhB,MAAM,eAAmB,uBAAO;AAEhC,MAAM,UAAU;AAEvB,MAAM,UAAU,MAAM,GAAG,QAAQ,IAAI,WAAW,GAAG,OAAO;AAEnD,MAAM,cAAc,OACxB;AAAA,EACC,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,cAAc,UAAU,uBAAa;AAEjE,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;AACA,SAAS,KAAK,YAAY,EAAE,IAAI,UAAU,wBAAc;AAExD,SAAS,KAAK,YAAY,EAAE,SAAS,UAAU,kBAAQ;AAEvD,SAAS,KAAK,YAAY,EAAE,aAAa,UAAU,sBAAY;","names":[]}
|
|
@@ -18,6 +18,7 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
19
|
var dictionary_routes_exports = {};
|
|
20
20
|
__export(dictionary_routes_exports, {
|
|
21
|
+
dictionaryRoute: () => dictionaryRoute,
|
|
21
22
|
dictionaryRouter: () => dictionaryRouter,
|
|
22
23
|
getDictionaryRoutes: () => getDictionaryRoutes
|
|
23
24
|
});
|
|
@@ -25,7 +26,8 @@ module.exports = __toCommonJS(dictionary_routes_exports);
|
|
|
25
26
|
var import_dictionary = require('./../controllers/dictionary.controller.cjs');
|
|
26
27
|
var import_express = require("express");
|
|
27
28
|
const dictionaryRouter = (0, import_express.Router)();
|
|
28
|
-
const
|
|
29
|
+
const dictionaryRoute = "/api/dictionary";
|
|
30
|
+
const baseURL = () => `${process.env.BACKEND_URL}${dictionaryRoute}`;
|
|
29
31
|
const getDictionaryRoutes = () => ({
|
|
30
32
|
getDictionaries: {
|
|
31
33
|
urlModel: "/",
|
|
@@ -93,6 +95,7 @@ dictionaryRouter.delete(
|
|
|
93
95
|
);
|
|
94
96
|
// Annotate the CommonJS export names for ESM import in node:
|
|
95
97
|
0 && (module.exports = {
|
|
98
|
+
dictionaryRoute,
|
|
96
99
|
dictionaryRouter,
|
|
97
100
|
getDictionaryRoutes
|
|
98
101
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/routes/dictionary.routes.ts"],"sourcesContent":["import {\n
|
|
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":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,wBAQO;AACP,qBAAuB;AAEhB,MAAM,uBAA2B,uBAAO;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":[]}
|
|
@@ -18,6 +18,7 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
19
|
var eventListener_routes_exports = {};
|
|
20
20
|
__export(eventListener_routes_exports, {
|
|
21
|
+
eventListenerRoute: () => eventListenerRoute,
|
|
21
22
|
eventListenerRouter: () => eventListenerRouter,
|
|
22
23
|
eventListenerRoutes: () => eventListenerRoutes
|
|
23
24
|
});
|
|
@@ -25,7 +26,8 @@ module.exports = __toCommonJS(eventListener_routes_exports);
|
|
|
25
26
|
var import_eventListener = require('./../controllers/eventListener.controller.cjs');
|
|
26
27
|
var import_express = require("express");
|
|
27
28
|
const eventListenerRouter = (0, import_express.Router)();
|
|
28
|
-
const
|
|
29
|
+
const eventListenerRoute = "/api/event-listener";
|
|
30
|
+
const baseURL = () => `${process.env.BACKEND_URL}${eventListenerRoute}`;
|
|
29
31
|
const eventListenerRoutes = () => ({
|
|
30
32
|
checkDictionaryChangeSSE: {
|
|
31
33
|
urlModel: "/:accessToken",
|
|
@@ -39,6 +41,7 @@ eventListenerRouter.get(
|
|
|
39
41
|
);
|
|
40
42
|
// Annotate the CommonJS export names for ESM import in node:
|
|
41
43
|
0 && (module.exports = {
|
|
44
|
+
eventListenerRoute,
|
|
42
45
|
eventListenerRouter,
|
|
43
46
|
eventListenerRoutes
|
|
44
47
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/routes/eventListener.routes.ts"],"sourcesContent":["import {
|
|
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":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,2BAAgC;AAChC,qBAAuB;AAEhB,MAAM,0BAA8B,uBAAO;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,OAAO,IAAI,WAAW;AAAA,IAC3B,QAAQ;AAAA,EACV;AACF;AAEF,oBAAoB;AAAA,EAClB,oBAAoB,EAAE,yBAAyB;AAAA,EAC/C;AACF;","names":[]}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var newsletter_routes_exports = {};
|
|
20
|
+
__export(newsletter_routes_exports, {
|
|
21
|
+
getNewsletterRoutes: () => getNewsletterRoutes,
|
|
22
|
+
newsletterRoute: () => newsletterRoute,
|
|
23
|
+
newsletterRouter: () => newsletterRouter
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(newsletter_routes_exports);
|
|
26
|
+
var import_newsletter = require('./../controllers/newsletter.controller.cjs');
|
|
27
|
+
var import_express = require("express");
|
|
28
|
+
const newsletterRouter = (0, import_express.Router)();
|
|
29
|
+
const newsletterRoute = "/api/newsletter";
|
|
30
|
+
const baseURL = () => `${process.env.BACKEND_URL}${newsletterRoute}`;
|
|
31
|
+
const getNewsletterRoutes = () => ({
|
|
32
|
+
subscribeToNewsletter: {
|
|
33
|
+
urlModel: "/subscribe",
|
|
34
|
+
url: `${baseURL()}/subscribe`,
|
|
35
|
+
method: "POST"
|
|
36
|
+
},
|
|
37
|
+
unsubscribeFromNewsletter: {
|
|
38
|
+
urlModel: "/unsubscribe",
|
|
39
|
+
url: `${baseURL()}/unsubscribe`,
|
|
40
|
+
method: "POST"
|
|
41
|
+
},
|
|
42
|
+
getNewsletterStatus: {
|
|
43
|
+
urlModel: "/status",
|
|
44
|
+
url: `${baseURL()}/status`,
|
|
45
|
+
method: "GET"
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
newsletterRouter.post(
|
|
49
|
+
getNewsletterRoutes().subscribeToNewsletter.urlModel,
|
|
50
|
+
import_newsletter.subscribeToNewsletter
|
|
51
|
+
);
|
|
52
|
+
newsletterRouter.post(
|
|
53
|
+
getNewsletterRoutes().unsubscribeFromNewsletter.urlModel,
|
|
54
|
+
import_newsletter.unsubscribeFromNewsletter
|
|
55
|
+
);
|
|
56
|
+
newsletterRouter.get(
|
|
57
|
+
getNewsletterRoutes().getNewsletterStatus.urlModel,
|
|
58
|
+
import_newsletter.getNewsletterStatus
|
|
59
|
+
);
|
|
60
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
61
|
+
0 && (module.exports = {
|
|
62
|
+
getNewsletterRoutes,
|
|
63
|
+
newsletterRoute,
|
|
64
|
+
newsletterRouter
|
|
65
|
+
});
|
|
66
|
+
//# sourceMappingURL=newsletter.routes.cjs.map
|
|
@@ -0,0 +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":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,wBAIO;AACP,qBAAuB;AAEhB,MAAM,uBAA2B,uBAAO;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":[]}
|
|
@@ -19,13 +19,15 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
19
19
|
var organization_routes_exports = {};
|
|
20
20
|
__export(organization_routes_exports, {
|
|
21
21
|
getOrganizationRoutes: () => getOrganizationRoutes,
|
|
22
|
+
organizationRoute: () => organizationRoute,
|
|
22
23
|
organizationRouter: () => organizationRouter
|
|
23
24
|
});
|
|
24
25
|
module.exports = __toCommonJS(organization_routes_exports);
|
|
25
26
|
var import_organization = require('./../controllers/organization.controller.cjs');
|
|
26
27
|
var import_express = require("express");
|
|
27
28
|
const organizationRouter = (0, import_express.Router)();
|
|
28
|
-
const
|
|
29
|
+
const organizationRoute = "/api/organization";
|
|
30
|
+
const baseURL = () => `${process.env.BACKEND_URL}${organizationRoute}`;
|
|
29
31
|
const getOrganizationRoutes = () => ({
|
|
30
32
|
getOrganizations: {
|
|
31
33
|
urlModel: "/",
|
|
@@ -103,6 +105,7 @@ organizationRouter.post(
|
|
|
103
105
|
// Annotate the CommonJS export names for ESM import in node:
|
|
104
106
|
0 && (module.exports = {
|
|
105
107
|
getOrganizationRoutes,
|
|
108
|
+
organizationRoute,
|
|
106
109
|
organizationRouter
|
|
107
110
|
});
|
|
108
111
|
//# sourceMappingURL=organization.routes.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/routes/organization.routes.ts"],"sourcesContent":["import {\n addOrganization,\n
|
|
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":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,0BASO;AACP,qBAAuB;AAEhB,MAAM,yBAA6B,uBAAO;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,IACL,QAAQ;AAAA,EACV;AAAA,EACA,iBAAiB;AAAA,IACf,UAAU;AAAA,IACV,KAAK;AAAA,IACL,QAAQ;AAAA,EACV;AAAA,EACA,oBAAoB;AAAA,IAClB,UAAU;AAAA,IACV,KAAK;AAAA,IAEL,QAAQ;AAAA,EACV;AAAA,EACA,2BAA2B;AAAA,IACzB,UAAU;AAAA,IACV,KAAK,GAAG,OAAO;AAAA,IACf,QAAQ;AAAA,EACV;AAAA,EACA,uBAAuB;AAAA,IACrB,UAAU;AAAA,IACV,KAAK,GAAG,OAAO;AAAA,IACf,QAAQ;AAAA,EACV;AAAA,EACA,oBAAoB;AAAA,IAClB,UAAU;AAAA,IACV,KAAK;AAAA,IACL,QAAQ;AAAA,EACV;AAAA,EACA,oBAAoB;AAAA,IAClB,UAAU;AAAA,IACV,KAAK,CAAC,EAAE,eAAe,MACrB,GAAG,OAAO,IAAI,cAAc;AAAA,IAC9B,QAAQ;AAAA,EACV;AAAA,EACA,sBAAsB;AAAA,IACpB,UAAU;AAAA,IACV,KAAK,GAAG,OAAO;AAAA,IACf,QAAQ;AAAA,EACV;AACF;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":[]}
|
|
@@ -19,6 +19,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
19
19
|
var project_routes_exports = {};
|
|
20
20
|
__export(project_routes_exports, {
|
|
21
21
|
getProjectRoutes: () => getProjectRoutes,
|
|
22
|
+
projectRoute: () => projectRoute,
|
|
22
23
|
projectRouter: () => projectRouter
|
|
23
24
|
});
|
|
24
25
|
module.exports = __toCommonJS(project_routes_exports);
|
|
@@ -26,7 +27,8 @@ var import_project = require('./../controllers/project.controller.cjs');
|
|
|
26
27
|
var import_projectAccessKey = require('./../controllers/projectAccessKey.controller.cjs');
|
|
27
28
|
var import_express = require("express");
|
|
28
29
|
const projectRouter = (0, import_express.Router)();
|
|
29
|
-
const
|
|
30
|
+
const projectRoute = "/api/project";
|
|
31
|
+
const baseURL = () => `${process.env.BACKEND_URL}${projectRoute}`;
|
|
30
32
|
const getProjectRoutes = () => ({
|
|
31
33
|
getProjects: {
|
|
32
34
|
urlModel: "/",
|
|
@@ -116,6 +118,7 @@ projectRouter.put(getProjectRoutes().selectProject.urlModel, import_project.sele
|
|
|
116
118
|
// Annotate the CommonJS export names for ESM import in node:
|
|
117
119
|
0 && (module.exports = {
|
|
118
120
|
getProjectRoutes,
|
|
121
|
+
projectRoute,
|
|
119
122
|
projectRouter
|
|
120
123
|
});
|
|
121
124
|
//# sourceMappingURL=project.routes.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/routes/project.routes.ts"],"sourcesContent":["import {\n addProject,\n deleteProject,\n getProjects,\n
|
|
1
|
+
{"version":3,"sources":["../../../src/routes/project.routes.ts"],"sourcesContent":["import type { Routes } from '@/types/Routes';\nimport {\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 { Router } from 'express';\n\nexport const projectRouter: Router = Router();\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: `${process.env.CLIENT_URL}/api/members`,\n method: 'PUT',\n },\n pushProjectConfiguration: {\n urlModel: '/configuration',\n url: `${process.env.CLIENT_URL}/api/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 }) => `${baseURL}/${projectId}`,\n method: 'PUT',\n },\n unselectProject: {\n urlModel: '/logout',\n url: `${baseURL}/logout`,\n method: 'POST',\n },\n addNewAccessKey: {\n urlModel: '/access_key',\n url: `${baseURL}/access_key`,\n method: 'POST',\n },\n refreshAccessKey: {\n urlModel: '/access_key',\n url: `${baseURL}/access_key`,\n method: 'PATCH',\n },\n deleteAccessKey: {\n urlModel: '/access_key',\n url: `${baseURL}/access_key`,\n method: 'DELETE',\n },\n }) satisfies Routes;\n\nprojectRouter.get(getProjectRoutes().getProjects.urlModel, getProjects);\n\nprojectRouter.post(getProjectRoutes().addProject.urlModel, addProject);\nprojectRouter.put(getProjectRoutes().updateProject.urlModel, updateProject);\nprojectRouter.put(\n getProjectRoutes().updateProjectMembers.urlModel,\n updateProjectMembers\n);\nprojectRouter.put(\n getProjectRoutes().pushProjectConfiguration.urlModel,\n pushProjectConfiguration\n);\nprojectRouter.delete(getProjectRoutes().deleteProject.urlModel, deleteProject);\n\nprojectRouter.post(\n getProjectRoutes().addNewAccessKey.urlModel,\n addNewAccessKey\n);\n\nprojectRouter.patch(\n getProjectRoutes().refreshAccessKey.urlModel,\n refreshAccessKey\n);\n\nprojectRouter.delete(\n getProjectRoutes().deleteAccessKey.urlModel,\n deleteAccessKey\n);\n\nprojectRouter.post(\n getProjectRoutes().unselectProject.urlModel,\n unselectProject\n);\n\nprojectRouter.put(getProjectRoutes().selectProject.urlModel, selectProject);\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,qBASO;AACP,8BAIO;AACP,qBAAuB;AAEhB,MAAM,oBAAwB,uBAAO;AAErC,MAAM,eAAe;AAE5B,MAAM,UAAU,MAAM,GAAG,QAAQ,IAAI,WAAW,GAAG,YAAY;AAExD,MAAM,mBAAmB,OAC7B;AAAA,EACC,aAAa;AAAA,IACX,UAAU;AAAA,IACV,KAAK;AAAA,IACL,QAAQ;AAAA,EACV;AAAA,EACA,YAAY;AAAA,IACV,UAAU;AAAA,IACV,KAAK;AAAA,IACL,QAAQ;AAAA,EACV;AAAA,EACA,eAAe;AAAA,IACb,UAAU;AAAA,IACV,KAAK;AAAA,IACL,QAAQ;AAAA,EACV;AAAA,EACA,sBAAsB;AAAA,IACpB,UAAU;AAAA,IACV,KAAK,GAAG,QAAQ,IAAI,UAAU;AAAA,IAC9B,QAAQ;AAAA,EACV;AAAA,EACA,0BAA0B;AAAA,IACxB,UAAU;AAAA,IACV,KAAK,GAAG,QAAQ,IAAI,UAAU;AAAA,IAC9B,QAAQ;AAAA,EACV;AAAA,EACA,eAAe;AAAA,IACb,UAAU;AAAA,IACV,KAAK;AAAA,IACL,QAAQ;AAAA,EACV;AAAA,EACA,eAAe;AAAA,IACb,UAAU;AAAA,IACV,KAAK,CAAC,EAAE,UAAU,MAA6B,GAAG,OAAO,IAAI,SAAS;AAAA,IACtE,QAAQ;AAAA,EACV;AAAA,EACA,iBAAiB;AAAA,IACf,UAAU;AAAA,IACV,KAAK,GAAG,OAAO;AAAA,IACf,QAAQ;AAAA,EACV;AAAA,EACA,iBAAiB;AAAA,IACf,UAAU;AAAA,IACV,KAAK,GAAG,OAAO;AAAA,IACf,QAAQ;AAAA,EACV;AAAA,EACA,kBAAkB;AAAA,IAChB,UAAU;AAAA,IACV,KAAK,GAAG,OAAO;AAAA,IACf,QAAQ;AAAA,EACV;AAAA,EACA,iBAAiB;AAAA,IACf,UAAU;AAAA,IACV,KAAK,GAAG,OAAO;AAAA,IACf,QAAQ;AAAA,EACV;AACF;AAEF,cAAc,IAAI,iBAAiB,EAAE,YAAY,UAAU,0BAAW;AAEtE,cAAc,KAAK,iBAAiB,EAAE,WAAW,UAAU,yBAAU;AACrE,cAAc,IAAI,iBAAiB,EAAE,cAAc,UAAU,4BAAa;AAC1E,cAAc;AAAA,EACZ,iBAAiB,EAAE,qBAAqB;AAAA,EACxC;AACF;AACA,cAAc;AAAA,EACZ,iBAAiB,EAAE,yBAAyB;AAAA,EAC5C;AACF;AACA,cAAc,OAAO,iBAAiB,EAAE,cAAc,UAAU,4BAAa;AAE7E,cAAc;AAAA,EACZ,iBAAiB,EAAE,gBAAgB;AAAA,EACnC;AACF;AAEA,cAAc;AAAA,EACZ,iBAAiB,EAAE,iBAAiB;AAAA,EACpC;AACF;AAEA,cAAc;AAAA,EACZ,iBAAiB,EAAE,gBAAgB;AAAA,EACnC;AACF;AAEA,cAAc;AAAA,EACZ,iBAAiB,EAAE,gBAAgB;AAAA,EACnC;AACF;AAEA,cAAc,IAAI,iBAAiB,EAAE,cAAc,UAAU,4BAAa;","names":[]}
|