UNPKG

coddyger

Version:

Coddyger est une bibliothèque JavaScript/TypeScript qui fournit des fonctions communes et des plugins pour la gestion des données, la communication entre services, et des utilitaires avancés pour le développement d'applications.

200 lines (199 loc) 8.8 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || (function () { var ownKeys = function(o) { ownKeys = Object.getOwnPropertyNames || function (o) { var ar = []; for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; return ar; }; return ownKeys(o); }; return function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); __setModuleDefault(result, mod); return result; }; })(); Object.defineProperty(exports, "__esModule", { value: true }); exports.defines = exports.mails = void 0; // Environment variables imported from .env file const dotenv = __importStar(require("dotenv")); dotenv.config(); const env = { appName: process.env.APP_NAME || process.env.SERVICE_NAME || 'Coddyger Typescript API', mode: process.env.ENV || 'dev', domain: process.env.DOMAIN, description: process.env.DESCRIPTION || '', server: { port: process.env.SERVER_PORT || process.env.PORT || 3000, apiVersion: process.env.API_VERSION || 'v1', serverPath: process.env.SERVER_PATH || process.env.SERVICE_PATH || '/coddyger', origins: process.env.ORIGINS || process.env.CORS_ORIGIN || '*', swaggerHost: process.env.SWAGGER_HOST }, database: { useDatabase: process.env.USE_DB || 'no', connectionString: process.env.DB_URI || process.env.MONGODB_URI, dialect: process.env.DB_DIALECT, storage: process.env.DB_STORAGE, name: process.env.DB_NAME }, transporter: { broker: process.env.TR_BROKER || process.env.KAFKA_BROKER, client: process.env.TR_CLIENT || process.env.KAFKA_CLIENT, topic: process.env.TR_TOPIC || process.env.KAFKA_TOPIC, group: process.env.TR_GROUP || process.env.KAFKA_GROUP, foreigners: process.env.TR_FOREIGNERS || process.env.KAFKA_FOREIGNERS }, jwt: { secret: process.env.JWT_SECRET, secretAuth: process.env.JWT_AUTH_SECRET, public: process.env.JWT_PUBLIC, expire: process.env.JWT_EXPIRE || process.env.JWT_EXPIRATION || '1h', expireRefresh: process.env.JWT_REFRESH_EXPIRE || '24h' }, paths: { logger: process.env.LOGGER_PATH }, cache: { type: process.env.CACHE_TYPE || 'redis', host: process.env.CACHE_HOST || 'localhost', port: process.env.CACHE_PORT || 6379, password: process.env.CACHE_PASSWORD, db: process.env.CACHE_DB ? parseInt(process.env.CACHE_DB) : 0, ttl: process.env.CACHE_TTL ? parseInt(process.env.CACHE_TTL) : 3600, url: process.env.CACHE_URL } }; exports.mails = { support: process.env.SUPPORT_MAIL || 'grebejordan@gmail.com', logReport: process.env.SUPPORT_MAIL || 'grebejordan@gmail.com' }; exports.defines = { status: { // Codes de Succès (2xx) requestOK: 200, created: 201, accepted: 202, noContent: 204, // Codes de Redirection (3xx) movedPerm: 301, found: 302, seeOther: 303, notModified: 304, tempRedirect: 307, permRedirect: 308, // Codes d'Erreur Client (4xx) badRequest: 400, authError: 401, forbidden: 403, notFound: 404, notAllowed: 405, notAcceptable: 406, conflict: 409, gone: 410, lengthReq: 411, precondFailed: 412, payloadLarge: 413, uriTooLong: 414, unsupported: 415, rangeInvalid: 416, clientError: 422, locked: 423, tooEarly: 425, tooMany: 429, headerLarge: 431, legalReasons: 451, unauthorized: 401, // Codes d'Erreur Serveur (5xx) serverError: 500, notImpl: 501, badGateway: 502, unavailable: 503, gatewayTimeout: 504, httpVersion: 505, variantAlso: 506, insuffStorage: 507, loopDetected: 508, bandwidthLimit: 509 }, message: { // Messages Génériques tryCatch: "Une erreur imprévue s'est produite. Veuillez réessayer. Si le problème persiste, veuillez contacter le service client.", validation: "Les données fournies sont invalides.", timeout: "Le délai d'attente a été dépassé.", // Messages 2xx requestOK: "La requête a été traitée avec succès.", created: "La ressource a été créée avec succès.", accepted: "La requête a été acceptée et est en cours de traitement.", noContent: "La requête a été traitée avec succès, mais aucune donnée n'est à renvoyer.", // Messages 3xx movedPerm: "Cette ressource a été déplacée définitivement.", found: "Cette ressource est temporairement disponible à une autre adresse.", seeOther: "Veuillez consulter une autre ressource pour compléter votre requête.", notModified: "La ressource n'a pas été modifiée depuis votre dernière requête.", // Messages 4xx badRequest: "Votre requête contient une ou plusieurs erreurs.", unauthorized: "Vous n'êtes pas autorisé à accéder à cette ressource.", authError: "Authentification requise pour accéder à cette ressource.", forbidden: "Vous n'avez pas les droits nécessaires pour accéder à cette ressource.", notFound: "La ressource demandée n'existe pas.", notAllowed: "Cette méthode n'est pas autorisée sur cette ressource.", notAcceptable: "Le format demandé n'est pas disponible.", conflict: "Cette opération crée un conflit avec l'état actuel des données.", gone: "Cette ressource n'est plus disponible sur le serveur.", lengthReq: "La longueur du contenu doit être spécifiée.", precondFailed: "Les préconditions de la requête ont échoué.", payloadLarge: "Les données envoyées sont trop volumineuses.", uriTooLong: "L'URI de la requête est trop longue.", unsupported: "Le format des données n'est pas supporté.", rangeInvalid: "La plage demandée n'est pas valide.", clientError: "La requête contient des erreurs de validation.", locked: "La ressource est verrouillée.", tooEarly: "La requête a été rejetée pour prévenir une attaque par rejeu.", tooMany: "Vous avez dépassé la limite de requêtes autorisées.", headerLarge: "Les en-têtes de la requête sont trop volumineux.", legalReasons: "Cette ressource n'est pas accessible pour des raisons légales.", // Messages 5xx serverError: "Une erreur interne s'est produite sur le serveur.", notImpl: "Cette fonctionnalité n'est pas encore implémentée.", badGateway: "Le serveur a reçu une réponse invalide d'un serveur en amont.", unavailable: "Le service est temporairement indisponible.", gatewayTimeout: "Le délai d'attente de la passerelle a été dépassé.", httpVersion: "La version HTTP utilisée n'est pas supportée.", variantAlso: "Une erreur de négociation de contenu s'est produite.", insuffStorage: "Le serveur ne dispose pas d'assez d'espace de stockage.", loopDetected: "Une boucle infinie a été détectée lors du traitement de la requête.", bandwidthLimit: "La limite de bande passante a été dépassée." }, tryCatchObject: (data) => { return { data, error: true, message: "Une erreur imprévue s'est produite. Veuillez réessayer. Si le problème persiste, veuillez contacter le service client." }; }, controlerTryCatchObject: { status: 500, message: "Une erreur imprévue s'est produite. Veuillez réessayer. Si le problème persiste, veuillez contacter le service client." } }; exports.default = env;