@exyconn/common 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/README.md +259 -0
  2. package/dist/client/http/index.d.mts +85 -0
  3. package/dist/client/http/index.d.ts +85 -0
  4. package/dist/client/http/index.js +127 -0
  5. package/dist/client/http/index.js.map +1 -0
  6. package/dist/client/http/index.mjs +109 -0
  7. package/dist/client/http/index.mjs.map +1 -0
  8. package/dist/client/index.d.mts +7 -0
  9. package/dist/client/index.d.ts +7 -0
  10. package/dist/client/index.js +964 -0
  11. package/dist/client/index.js.map +1 -0
  12. package/dist/client/index.mjs +889 -0
  13. package/dist/client/index.mjs.map +1 -0
  14. package/dist/client/logger/index.d.mts +53 -0
  15. package/dist/client/logger/index.d.ts +53 -0
  16. package/dist/client/logger/index.js +120 -0
  17. package/dist/client/logger/index.js.map +1 -0
  18. package/dist/client/logger/index.mjs +116 -0
  19. package/dist/client/logger/index.mjs.map +1 -0
  20. package/dist/client/utils/index.d.mts +285 -0
  21. package/dist/client/utils/index.d.ts +285 -0
  22. package/dist/client/utils/index.js +403 -0
  23. package/dist/client/utils/index.js.map +1 -0
  24. package/dist/client/utils/index.mjs +362 -0
  25. package/dist/client/utils/index.mjs.map +1 -0
  26. package/dist/index-BNdT-2X4.d.ts +229 -0
  27. package/dist/index-CcrANHAQ.d.mts +59 -0
  28. package/dist/index-ClWtDfwk.d.ts +833 -0
  29. package/dist/index-DSW6JfD-.d.mts +833 -0
  30. package/dist/index-Du0LLt9f.d.mts +229 -0
  31. package/dist/index-iTKxFa78.d.ts +59 -0
  32. package/dist/index.d.mts +171 -0
  33. package/dist/index.d.ts +171 -0
  34. package/dist/index.js +3806 -0
  35. package/dist/index.js.map +1 -0
  36. package/dist/index.mjs +3792 -0
  37. package/dist/index.mjs.map +1 -0
  38. package/dist/response.types-D--UhLJq.d.mts +67 -0
  39. package/dist/response.types-D--UhLJq.d.ts +67 -0
  40. package/dist/server/db/index.d.mts +38 -0
  41. package/dist/server/db/index.d.ts +38 -0
  42. package/dist/server/db/index.js +68 -0
  43. package/dist/server/db/index.js.map +1 -0
  44. package/dist/server/db/index.mjs +60 -0
  45. package/dist/server/db/index.mjs.map +1 -0
  46. package/dist/server/enums/index.d.mts +46 -0
  47. package/dist/server/enums/index.d.ts +46 -0
  48. package/dist/server/enums/index.js +48 -0
  49. package/dist/server/enums/index.js.map +1 -0
  50. package/dist/server/enums/index.mjs +43 -0
  51. package/dist/server/enums/index.mjs.map +1 -0
  52. package/dist/server/index.d.mts +9 -0
  53. package/dist/server/index.d.ts +9 -0
  54. package/dist/server/index.js +569 -0
  55. package/dist/server/index.js.map +1 -0
  56. package/dist/server/index.mjs +523 -0
  57. package/dist/server/index.mjs.map +1 -0
  58. package/dist/server/logger/index.d.mts +34 -0
  59. package/dist/server/logger/index.d.ts +34 -0
  60. package/dist/server/logger/index.js +125 -0
  61. package/dist/server/logger/index.js.map +1 -0
  62. package/dist/server/logger/index.mjs +113 -0
  63. package/dist/server/logger/index.mjs.map +1 -0
  64. package/dist/server/middleware/index.d.mts +56 -0
  65. package/dist/server/middleware/index.d.ts +56 -0
  66. package/dist/server/middleware/index.js +128 -0
  67. package/dist/server/middleware/index.js.map +1 -0
  68. package/dist/server/middleware/index.mjs +118 -0
  69. package/dist/server/middleware/index.mjs.map +1 -0
  70. package/dist/server/response/index.d.mts +86 -0
  71. package/dist/server/response/index.d.ts +86 -0
  72. package/dist/server/response/index.js +140 -0
  73. package/dist/server/response/index.js.map +1 -0
  74. package/dist/server/response/index.mjs +126 -0
  75. package/dist/server/response/index.mjs.map +1 -0
  76. package/dist/server/utils/index.d.mts +69 -0
  77. package/dist/server/utils/index.d.ts +69 -0
  78. package/dist/server/utils/index.js +114 -0
  79. package/dist/server/utils/index.js.map +1 -0
  80. package/dist/server/utils/index.mjs +106 -0
  81. package/dist/server/utils/index.mjs.map +1 -0
  82. package/dist/shared/index.d.mts +4 -0
  83. package/dist/shared/index.d.ts +4 -0
  84. package/dist/shared/index.js +933 -0
  85. package/dist/shared/index.js.map +1 -0
  86. package/dist/shared/index.mjs +612 -0
  87. package/dist/shared/index.mjs.map +1 -0
  88. package/package.json +202 -0
@@ -0,0 +1,67 @@
1
+ /**
2
+ * Standard API Response Types
3
+ */
4
+ interface ApiResponse<T = unknown> {
5
+ success: boolean;
6
+ message: string;
7
+ data?: T;
8
+ error?: string;
9
+ statusCode?: number;
10
+ }
11
+ interface ApiErrorResponse {
12
+ success: false;
13
+ message: string;
14
+ error?: string;
15
+ statusCode: number;
16
+ stack?: string;
17
+ }
18
+ interface ApiSuccessResponse<T = unknown> {
19
+ success: true;
20
+ message: string;
21
+ data: T;
22
+ statusCode: number;
23
+ }
24
+ /**
25
+ * Pagination Types
26
+ */
27
+ interface PaginationMeta {
28
+ total: number;
29
+ page: number;
30
+ limit: number;
31
+ totalPages: number;
32
+ hasNextPage: boolean;
33
+ hasPrevPage: boolean;
34
+ }
35
+ interface PaginatedResponse<T = unknown> extends ApiSuccessResponse<T[]> {
36
+ pagination: PaginationMeta;
37
+ }
38
+ interface PaginationParams {
39
+ page?: number;
40
+ limit?: number;
41
+ sortBy?: string;
42
+ sortOrder?: 'asc' | 'desc';
43
+ }
44
+ /**
45
+ * Filter Types
46
+ */
47
+ interface BaseFilterParams {
48
+ search?: string;
49
+ startDate?: string;
50
+ endDate?: string;
51
+ status?: string;
52
+ isActive?: boolean;
53
+ }
54
+ interface FilterWithPagination extends BaseFilterParams, PaginationParams {
55
+ }
56
+ /**
57
+ * CRUD Operation Types
58
+ */
59
+ type CreateResponse<T> = ApiSuccessResponse<T>;
60
+ type UpdateResponse<T> = ApiSuccessResponse<T>;
61
+ type DeleteResponse = ApiSuccessResponse<{
62
+ deleted: boolean;
63
+ }>;
64
+ type GetResponse<T> = ApiSuccessResponse<T>;
65
+ type ListResponse<T> = PaginatedResponse<T>;
66
+
67
+ export type { ApiErrorResponse as A, BaseFilterParams as B, CreateResponse as C, DeleteResponse as D, FilterWithPagination as F, GetResponse as G, ListResponse as L, PaginatedResponse as P, UpdateResponse as U, ApiResponse as a, ApiSuccessResponse as b, PaginationMeta as c, PaginationParams as d };
@@ -0,0 +1,67 @@
1
+ /**
2
+ * Standard API Response Types
3
+ */
4
+ interface ApiResponse<T = unknown> {
5
+ success: boolean;
6
+ message: string;
7
+ data?: T;
8
+ error?: string;
9
+ statusCode?: number;
10
+ }
11
+ interface ApiErrorResponse {
12
+ success: false;
13
+ message: string;
14
+ error?: string;
15
+ statusCode: number;
16
+ stack?: string;
17
+ }
18
+ interface ApiSuccessResponse<T = unknown> {
19
+ success: true;
20
+ message: string;
21
+ data: T;
22
+ statusCode: number;
23
+ }
24
+ /**
25
+ * Pagination Types
26
+ */
27
+ interface PaginationMeta {
28
+ total: number;
29
+ page: number;
30
+ limit: number;
31
+ totalPages: number;
32
+ hasNextPage: boolean;
33
+ hasPrevPage: boolean;
34
+ }
35
+ interface PaginatedResponse<T = unknown> extends ApiSuccessResponse<T[]> {
36
+ pagination: PaginationMeta;
37
+ }
38
+ interface PaginationParams {
39
+ page?: number;
40
+ limit?: number;
41
+ sortBy?: string;
42
+ sortOrder?: 'asc' | 'desc';
43
+ }
44
+ /**
45
+ * Filter Types
46
+ */
47
+ interface BaseFilterParams {
48
+ search?: string;
49
+ startDate?: string;
50
+ endDate?: string;
51
+ status?: string;
52
+ isActive?: boolean;
53
+ }
54
+ interface FilterWithPagination extends BaseFilterParams, PaginationParams {
55
+ }
56
+ /**
57
+ * CRUD Operation Types
58
+ */
59
+ type CreateResponse<T> = ApiSuccessResponse<T>;
60
+ type UpdateResponse<T> = ApiSuccessResponse<T>;
61
+ type DeleteResponse = ApiSuccessResponse<{
62
+ deleted: boolean;
63
+ }>;
64
+ type GetResponse<T> = ApiSuccessResponse<T>;
65
+ type ListResponse<T> = PaginatedResponse<T>;
66
+
67
+ export type { ApiErrorResponse as A, BaseFilterParams as B, CreateResponse as C, DeleteResponse as D, FilterWithPagination as F, GetResponse as G, ListResponse as L, PaginatedResponse as P, UpdateResponse as U, ApiResponse as a, ApiSuccessResponse as b, PaginationMeta as c, PaginationParams as d };
@@ -0,0 +1,38 @@
1
+ import mongoose from 'mongoose';
2
+
3
+ /**
4
+ * Database Connection Options
5
+ */
6
+ interface DbConnectionOptions {
7
+ maxPoolSize?: number;
8
+ minPoolSize?: number;
9
+ socketTimeoutMS?: number;
10
+ serverSelectionTimeoutMS?: number;
11
+ maxIdleTimeMS?: number;
12
+ retryWrites?: boolean;
13
+ retryReads?: boolean;
14
+ w?: 'majority' | number;
15
+ }
16
+ /**
17
+ * Connect to MongoDB with mongoose
18
+ * @param mongoUri - MongoDB connection string
19
+ * @param options - Connection options
20
+ * @param logger - Optional logger instance
21
+ */
22
+ declare const connectDB: (mongoUri: string, options?: DbConnectionOptions, logger?: {
23
+ info: (msg: string, meta?: unknown) => void;
24
+ error: (msg: string, meta?: unknown) => void;
25
+ }) => Promise<typeof mongoose>;
26
+ /**
27
+ * Disconnect from MongoDB
28
+ */
29
+ declare const disconnectDB: (logger?: {
30
+ info: (msg: string) => void;
31
+ error: (msg: string, meta?: unknown) => void;
32
+ }) => Promise<void>;
33
+ /**
34
+ * Get connection status
35
+ */
36
+ declare const getConnectionStatus: () => string;
37
+
38
+ export { type DbConnectionOptions, connectDB, disconnectDB, getConnectionStatus };
@@ -0,0 +1,38 @@
1
+ import mongoose from 'mongoose';
2
+
3
+ /**
4
+ * Database Connection Options
5
+ */
6
+ interface DbConnectionOptions {
7
+ maxPoolSize?: number;
8
+ minPoolSize?: number;
9
+ socketTimeoutMS?: number;
10
+ serverSelectionTimeoutMS?: number;
11
+ maxIdleTimeMS?: number;
12
+ retryWrites?: boolean;
13
+ retryReads?: boolean;
14
+ w?: 'majority' | number;
15
+ }
16
+ /**
17
+ * Connect to MongoDB with mongoose
18
+ * @param mongoUri - MongoDB connection string
19
+ * @param options - Connection options
20
+ * @param logger - Optional logger instance
21
+ */
22
+ declare const connectDB: (mongoUri: string, options?: DbConnectionOptions, logger?: {
23
+ info: (msg: string, meta?: unknown) => void;
24
+ error: (msg: string, meta?: unknown) => void;
25
+ }) => Promise<typeof mongoose>;
26
+ /**
27
+ * Disconnect from MongoDB
28
+ */
29
+ declare const disconnectDB: (logger?: {
30
+ info: (msg: string) => void;
31
+ error: (msg: string, meta?: unknown) => void;
32
+ }) => Promise<void>;
33
+ /**
34
+ * Get connection status
35
+ */
36
+ declare const getConnectionStatus: () => string;
37
+
38
+ export { type DbConnectionOptions, connectDB, disconnectDB, getConnectionStatus };
@@ -0,0 +1,68 @@
1
+ 'use strict';
2
+
3
+ var mongoose = require('mongoose');
4
+
5
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
6
+
7
+ var mongoose__default = /*#__PURE__*/_interopDefault(mongoose);
8
+
9
+ // src/server/db/mongoose-connect.ts
10
+ var defaultOptions = {
11
+ maxPoolSize: process.env.NODE_ENV === "production" ? 50 : 10,
12
+ minPoolSize: process.env.NODE_ENV === "production" ? 10 : 5,
13
+ socketTimeoutMS: 45e3,
14
+ serverSelectionTimeoutMS: 1e4,
15
+ maxIdleTimeMS: 1e4,
16
+ retryWrites: true,
17
+ retryReads: true,
18
+ w: "majority"
19
+ };
20
+ var connectDB = async (mongoUri, options = {}, logger) => {
21
+ if (mongoose__default.default.connection.readyState === 1) {
22
+ logger?.info("Database already connected, reusing connection");
23
+ return mongoose__default.default;
24
+ }
25
+ const finalOptions = { ...defaultOptions, ...options };
26
+ try {
27
+ await mongoose__default.default.connect(mongoUri, finalOptions);
28
+ logger?.info("MongoDB connected successfully");
29
+ mongoose__default.default.connection.on("error", (err) => {
30
+ logger?.error("MongoDB connection error", err);
31
+ });
32
+ mongoose__default.default.connection.on("disconnected", () => {
33
+ logger?.info("MongoDB disconnected");
34
+ });
35
+ mongoose__default.default.connection.on("reconnected", () => {
36
+ logger?.info("MongoDB reconnected");
37
+ });
38
+ return mongoose__default.default;
39
+ } catch (error) {
40
+ const errorMessage = error instanceof Error ? error.message : String(error);
41
+ logger?.error("MongoDB connection failed", { error: errorMessage });
42
+ throw error;
43
+ }
44
+ };
45
+ var disconnectDB = async (logger) => {
46
+ try {
47
+ await mongoose__default.default.disconnect();
48
+ logger?.info("MongoDB disconnected successfully");
49
+ } catch (error) {
50
+ logger?.error("Error disconnecting from MongoDB", error);
51
+ throw error;
52
+ }
53
+ };
54
+ var getConnectionStatus = () => {
55
+ const states = {
56
+ 0: "disconnected",
57
+ 1: "connected",
58
+ 2: "connecting",
59
+ 3: "disconnecting"
60
+ };
61
+ return states[mongoose__default.default.connection.readyState] || "unknown";
62
+ };
63
+
64
+ exports.connectDB = connectDB;
65
+ exports.disconnectDB = disconnectDB;
66
+ exports.getConnectionStatus = getConnectionStatus;
67
+ //# sourceMappingURL=index.js.map
68
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/server/db/mongoose-connect.ts"],"names":["mongoose"],"mappings":";;;;;;;;;AAmBA,IAAM,cAAA,GAAsC;AAAA,EAC1C,WAAA,EAAa,OAAA,CAAQ,GAAA,CAAI,QAAA,KAAa,eAAe,EAAA,GAAK,EAAA;AAAA,EAC1D,WAAA,EAAa,OAAA,CAAQ,GAAA,CAAI,QAAA,KAAa,eAAe,EAAA,GAAK,CAAA;AAAA,EAC1D,eAAA,EAAiB,IAAA;AAAA,EACjB,wBAAA,EAA0B,GAAA;AAAA,EAC1B,aAAA,EAAe,GAAA;AAAA,EACf,WAAA,EAAa,IAAA;AAAA,EACb,UAAA,EAAY,IAAA;AAAA,EACZ,CAAA,EAAG;AACL,CAAA;AAQO,IAAM,YAAY,OACvB,QAAA,EACA,OAAA,GAA+B,IAC/B,MAAA,KAC6B;AAE7B,EAAA,IAAIA,yBAAA,CAAS,UAAA,CAAW,UAAA,KAAe,CAAA,EAAG;AACxC,IAAA,MAAA,EAAQ,KAAK,gDAAgD,CAAA;AAC7D,IAAA,OAAOA,yBAAA;AAAA,EACT;AAEA,EAAA,MAAM,YAAA,GAA+B,EAAE,GAAG,cAAA,EAAgB,GAAG,OAAA,EAAQ;AAErE,EAAA,IAAI;AACF,IAAA,MAAMA,yBAAA,CAAS,OAAA,CAAQ,QAAA,EAAU,YAAY,CAAA;AAC7C,IAAA,MAAA,EAAQ,KAAK,gCAAgC,CAAA;AAG7C,IAAAA,yBAAA,CAAS,UAAA,CAAW,EAAA,CAAG,OAAA,EAAS,CAAC,GAAA,KAAe;AAC9C,MAAA,MAAA,EAAQ,KAAA,CAAM,4BAA4B,GAAG,CAAA;AAAA,IAC/C,CAAC,CAAA;AAED,IAAAA,yBAAA,CAAS,UAAA,CAAW,EAAA,CAAG,cAAA,EAAgB,MAAM;AAC3C,MAAA,MAAA,EAAQ,KAAK,sBAAsB,CAAA;AAAA,IACrC,CAAC,CAAA;AAED,IAAAA,yBAAA,CAAS,UAAA,CAAW,EAAA,CAAG,aAAA,EAAe,MAAM;AAC1C,MAAA,MAAA,EAAQ,KAAK,qBAAqB,CAAA;AAAA,IACpC,CAAC,CAAA;AAED,IAAA,OAAOA,yBAAA;AAAA,EACT,SAAS,KAAA,EAAO;AACd,IAAA,MAAM,eAAe,KAAA,YAAiB,KAAA,GAAQ,KAAA,CAAM,OAAA,GAAU,OAAO,KAAK,CAAA;AAC1E,IAAA,MAAA,EAAQ,KAAA,CAAM,2BAAA,EAA6B,EAAE,KAAA,EAAO,cAAc,CAAA;AAClE,IAAA,MAAM,KAAA;AAAA,EACR;AACF;AAKO,IAAM,YAAA,GAAe,OAC1B,MAAA,KACkB;AAClB,EAAA,IAAI;AACF,IAAA,MAAMA,0BAAS,UAAA,EAAW;AAC1B,IAAA,MAAA,EAAQ,KAAK,mCAAmC,CAAA;AAAA,EAClD,SAAS,KAAA,EAAO;AACd,IAAA,MAAA,EAAQ,KAAA,CAAM,oCAAoC,KAAK,CAAA;AACvD,IAAA,MAAM,KAAA;AAAA,EACR;AACF;AAKO,IAAM,sBAAsB,MAAc;AAC/C,EAAA,MAAM,MAAA,GAAiC;AAAA,IACrC,CAAA,EAAG,cAAA;AAAA,IACH,CAAA,EAAG,WAAA;AAAA,IACH,CAAA,EAAG,YAAA;AAAA,IACH,CAAA,EAAG;AAAA,GACL;AACA,EAAA,OAAO,MAAA,CAAOA,yBAAA,CAAS,UAAA,CAAW,UAAU,CAAA,IAAK,SAAA;AACnD","file":"index.js","sourcesContent":["import mongoose, { ConnectOptions } from 'mongoose';\r\n\r\n/**\r\n * Database Connection Options\r\n */\r\nexport interface DbConnectionOptions {\r\n maxPoolSize?: number;\r\n minPoolSize?: number;\r\n socketTimeoutMS?: number;\r\n serverSelectionTimeoutMS?: number;\r\n maxIdleTimeMS?: number;\r\n retryWrites?: boolean;\r\n retryReads?: boolean;\r\n w?: 'majority' | number;\r\n}\r\n\r\n/**\r\n * Default connection options\r\n */\r\nconst defaultOptions: DbConnectionOptions = {\r\n maxPoolSize: process.env.NODE_ENV === 'production' ? 50 : 10,\r\n minPoolSize: process.env.NODE_ENV === 'production' ? 10 : 5,\r\n socketTimeoutMS: 45000,\r\n serverSelectionTimeoutMS: 10000,\r\n maxIdleTimeMS: 10000,\r\n retryWrites: true,\r\n retryReads: true,\r\n w: 'majority',\r\n};\r\n\r\n/**\r\n * Connect to MongoDB with mongoose\r\n * @param mongoUri - MongoDB connection string\r\n * @param options - Connection options\r\n * @param logger - Optional logger instance\r\n */\r\nexport const connectDB = async (\r\n mongoUri: string,\r\n options: DbConnectionOptions = {},\r\n logger?: { info: (msg: string, meta?: unknown) => void; error: (msg: string, meta?: unknown) => void }\r\n): Promise<typeof mongoose> => {\r\n // Check if already connected\r\n if (mongoose.connection.readyState === 1) {\r\n logger?.info('Database already connected, reusing connection');\r\n return mongoose;\r\n }\r\n\r\n const finalOptions: ConnectOptions = { ...defaultOptions, ...options };\r\n\r\n try {\r\n await mongoose.connect(mongoUri, finalOptions);\r\n logger?.info('MongoDB connected successfully');\r\n\r\n // Handle connection events\r\n mongoose.connection.on('error', (err: Error) => {\r\n logger?.error('MongoDB connection error', err);\r\n });\r\n\r\n mongoose.connection.on('disconnected', () => {\r\n logger?.info('MongoDB disconnected');\r\n });\r\n\r\n mongoose.connection.on('reconnected', () => {\r\n logger?.info('MongoDB reconnected');\r\n });\r\n\r\n return mongoose;\r\n } catch (error) {\r\n const errorMessage = error instanceof Error ? error.message : String(error);\r\n logger?.error('MongoDB connection failed', { error: errorMessage });\r\n throw error;\r\n }\r\n};\r\n\r\n/**\r\n * Disconnect from MongoDB\r\n */\r\nexport const disconnectDB = async (\r\n logger?: { info: (msg: string) => void; error: (msg: string, meta?: unknown) => void }\r\n): Promise<void> => {\r\n try {\r\n await mongoose.disconnect();\r\n logger?.info('MongoDB disconnected successfully');\r\n } catch (error) {\r\n logger?.error('Error disconnecting from MongoDB', error);\r\n throw error;\r\n }\r\n};\r\n\r\n/**\r\n * Get connection status\r\n */\r\nexport const getConnectionStatus = (): string => {\r\n const states: Record<number, string> = {\r\n 0: 'disconnected',\r\n 1: 'connected',\r\n 2: 'connecting',\r\n 3: 'disconnecting',\r\n };\r\n return states[mongoose.connection.readyState] || 'unknown';\r\n};\r\n\r\nexport default {\r\n connectDB,\r\n disconnectDB,\r\n getConnectionStatus,\r\n};\r\n"]}
@@ -0,0 +1,60 @@
1
+ import mongoose from 'mongoose';
2
+
3
+ // src/server/db/mongoose-connect.ts
4
+ var defaultOptions = {
5
+ maxPoolSize: process.env.NODE_ENV === "production" ? 50 : 10,
6
+ minPoolSize: process.env.NODE_ENV === "production" ? 10 : 5,
7
+ socketTimeoutMS: 45e3,
8
+ serverSelectionTimeoutMS: 1e4,
9
+ maxIdleTimeMS: 1e4,
10
+ retryWrites: true,
11
+ retryReads: true,
12
+ w: "majority"
13
+ };
14
+ var connectDB = async (mongoUri, options = {}, logger) => {
15
+ if (mongoose.connection.readyState === 1) {
16
+ logger?.info("Database already connected, reusing connection");
17
+ return mongoose;
18
+ }
19
+ const finalOptions = { ...defaultOptions, ...options };
20
+ try {
21
+ await mongoose.connect(mongoUri, finalOptions);
22
+ logger?.info("MongoDB connected successfully");
23
+ mongoose.connection.on("error", (err) => {
24
+ logger?.error("MongoDB connection error", err);
25
+ });
26
+ mongoose.connection.on("disconnected", () => {
27
+ logger?.info("MongoDB disconnected");
28
+ });
29
+ mongoose.connection.on("reconnected", () => {
30
+ logger?.info("MongoDB reconnected");
31
+ });
32
+ return mongoose;
33
+ } catch (error) {
34
+ const errorMessage = error instanceof Error ? error.message : String(error);
35
+ logger?.error("MongoDB connection failed", { error: errorMessage });
36
+ throw error;
37
+ }
38
+ };
39
+ var disconnectDB = async (logger) => {
40
+ try {
41
+ await mongoose.disconnect();
42
+ logger?.info("MongoDB disconnected successfully");
43
+ } catch (error) {
44
+ logger?.error("Error disconnecting from MongoDB", error);
45
+ throw error;
46
+ }
47
+ };
48
+ var getConnectionStatus = () => {
49
+ const states = {
50
+ 0: "disconnected",
51
+ 1: "connected",
52
+ 2: "connecting",
53
+ 3: "disconnecting"
54
+ };
55
+ return states[mongoose.connection.readyState] || "unknown";
56
+ };
57
+
58
+ export { connectDB, disconnectDB, getConnectionStatus };
59
+ //# sourceMappingURL=index.mjs.map
60
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/server/db/mongoose-connect.ts"],"names":[],"mappings":";;;AAmBA,IAAM,cAAA,GAAsC;AAAA,EAC1C,WAAA,EAAa,OAAA,CAAQ,GAAA,CAAI,QAAA,KAAa,eAAe,EAAA,GAAK,EAAA;AAAA,EAC1D,WAAA,EAAa,OAAA,CAAQ,GAAA,CAAI,QAAA,KAAa,eAAe,EAAA,GAAK,CAAA;AAAA,EAC1D,eAAA,EAAiB,IAAA;AAAA,EACjB,wBAAA,EAA0B,GAAA;AAAA,EAC1B,aAAA,EAAe,GAAA;AAAA,EACf,WAAA,EAAa,IAAA;AAAA,EACb,UAAA,EAAY,IAAA;AAAA,EACZ,CAAA,EAAG;AACL,CAAA;AAQO,IAAM,YAAY,OACvB,QAAA,EACA,OAAA,GAA+B,IAC/B,MAAA,KAC6B;AAE7B,EAAA,IAAI,QAAA,CAAS,UAAA,CAAW,UAAA,KAAe,CAAA,EAAG;AACxC,IAAA,MAAA,EAAQ,KAAK,gDAAgD,CAAA;AAC7D,IAAA,OAAO,QAAA;AAAA,EACT;AAEA,EAAA,MAAM,YAAA,GAA+B,EAAE,GAAG,cAAA,EAAgB,GAAG,OAAA,EAAQ;AAErE,EAAA,IAAI;AACF,IAAA,MAAM,QAAA,CAAS,OAAA,CAAQ,QAAA,EAAU,YAAY,CAAA;AAC7C,IAAA,MAAA,EAAQ,KAAK,gCAAgC,CAAA;AAG7C,IAAA,QAAA,CAAS,UAAA,CAAW,EAAA,CAAG,OAAA,EAAS,CAAC,GAAA,KAAe;AAC9C,MAAA,MAAA,EAAQ,KAAA,CAAM,4BAA4B,GAAG,CAAA;AAAA,IAC/C,CAAC,CAAA;AAED,IAAA,QAAA,CAAS,UAAA,CAAW,EAAA,CAAG,cAAA,EAAgB,MAAM;AAC3C,MAAA,MAAA,EAAQ,KAAK,sBAAsB,CAAA;AAAA,IACrC,CAAC,CAAA;AAED,IAAA,QAAA,CAAS,UAAA,CAAW,EAAA,CAAG,aAAA,EAAe,MAAM;AAC1C,MAAA,MAAA,EAAQ,KAAK,qBAAqB,CAAA;AAAA,IACpC,CAAC,CAAA;AAED,IAAA,OAAO,QAAA;AAAA,EACT,SAAS,KAAA,EAAO;AACd,IAAA,MAAM,eAAe,KAAA,YAAiB,KAAA,GAAQ,KAAA,CAAM,OAAA,GAAU,OAAO,KAAK,CAAA;AAC1E,IAAA,MAAA,EAAQ,KAAA,CAAM,2BAAA,EAA6B,EAAE,KAAA,EAAO,cAAc,CAAA;AAClE,IAAA,MAAM,KAAA;AAAA,EACR;AACF;AAKO,IAAM,YAAA,GAAe,OAC1B,MAAA,KACkB;AAClB,EAAA,IAAI;AACF,IAAA,MAAM,SAAS,UAAA,EAAW;AAC1B,IAAA,MAAA,EAAQ,KAAK,mCAAmC,CAAA;AAAA,EAClD,SAAS,KAAA,EAAO;AACd,IAAA,MAAA,EAAQ,KAAA,CAAM,oCAAoC,KAAK,CAAA;AACvD,IAAA,MAAM,KAAA;AAAA,EACR;AACF;AAKO,IAAM,sBAAsB,MAAc;AAC/C,EAAA,MAAM,MAAA,GAAiC;AAAA,IACrC,CAAA,EAAG,cAAA;AAAA,IACH,CAAA,EAAG,WAAA;AAAA,IACH,CAAA,EAAG,YAAA;AAAA,IACH,CAAA,EAAG;AAAA,GACL;AACA,EAAA,OAAO,MAAA,CAAO,QAAA,CAAS,UAAA,CAAW,UAAU,CAAA,IAAK,SAAA;AACnD","file":"index.mjs","sourcesContent":["import mongoose, { ConnectOptions } from 'mongoose';\r\n\r\n/**\r\n * Database Connection Options\r\n */\r\nexport interface DbConnectionOptions {\r\n maxPoolSize?: number;\r\n minPoolSize?: number;\r\n socketTimeoutMS?: number;\r\n serverSelectionTimeoutMS?: number;\r\n maxIdleTimeMS?: number;\r\n retryWrites?: boolean;\r\n retryReads?: boolean;\r\n w?: 'majority' | number;\r\n}\r\n\r\n/**\r\n * Default connection options\r\n */\r\nconst defaultOptions: DbConnectionOptions = {\r\n maxPoolSize: process.env.NODE_ENV === 'production' ? 50 : 10,\r\n minPoolSize: process.env.NODE_ENV === 'production' ? 10 : 5,\r\n socketTimeoutMS: 45000,\r\n serverSelectionTimeoutMS: 10000,\r\n maxIdleTimeMS: 10000,\r\n retryWrites: true,\r\n retryReads: true,\r\n w: 'majority',\r\n};\r\n\r\n/**\r\n * Connect to MongoDB with mongoose\r\n * @param mongoUri - MongoDB connection string\r\n * @param options - Connection options\r\n * @param logger - Optional logger instance\r\n */\r\nexport const connectDB = async (\r\n mongoUri: string,\r\n options: DbConnectionOptions = {},\r\n logger?: { info: (msg: string, meta?: unknown) => void; error: (msg: string, meta?: unknown) => void }\r\n): Promise<typeof mongoose> => {\r\n // Check if already connected\r\n if (mongoose.connection.readyState === 1) {\r\n logger?.info('Database already connected, reusing connection');\r\n return mongoose;\r\n }\r\n\r\n const finalOptions: ConnectOptions = { ...defaultOptions, ...options };\r\n\r\n try {\r\n await mongoose.connect(mongoUri, finalOptions);\r\n logger?.info('MongoDB connected successfully');\r\n\r\n // Handle connection events\r\n mongoose.connection.on('error', (err: Error) => {\r\n logger?.error('MongoDB connection error', err);\r\n });\r\n\r\n mongoose.connection.on('disconnected', () => {\r\n logger?.info('MongoDB disconnected');\r\n });\r\n\r\n mongoose.connection.on('reconnected', () => {\r\n logger?.info('MongoDB reconnected');\r\n });\r\n\r\n return mongoose;\r\n } catch (error) {\r\n const errorMessage = error instanceof Error ? error.message : String(error);\r\n logger?.error('MongoDB connection failed', { error: errorMessage });\r\n throw error;\r\n }\r\n};\r\n\r\n/**\r\n * Disconnect from MongoDB\r\n */\r\nexport const disconnectDB = async (\r\n logger?: { info: (msg: string) => void; error: (msg: string, meta?: unknown) => void }\r\n): Promise<void> => {\r\n try {\r\n await mongoose.disconnect();\r\n logger?.info('MongoDB disconnected successfully');\r\n } catch (error) {\r\n logger?.error('Error disconnecting from MongoDB', error);\r\n throw error;\r\n }\r\n};\r\n\r\n/**\r\n * Get connection status\r\n */\r\nexport const getConnectionStatus = (): string => {\r\n const states: Record<number, string> = {\r\n 0: 'disconnected',\r\n 1: 'connected',\r\n 2: 'connecting',\r\n 3: 'disconnecting',\r\n };\r\n return states[mongoose.connection.readyState] || 'unknown';\r\n};\r\n\r\nexport default {\r\n connectDB,\r\n disconnectDB,\r\n getConnectionStatus,\r\n};\r\n"]}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * HTTP Status Codes
3
+ * Standard HTTP status codes used across all projects
4
+ */
5
+ declare enum StatusCode {
6
+ SUCCESS = 200,
7
+ CREATED = 201,
8
+ ACCEPTED = 202,
9
+ NO_CONTENT = 204,
10
+ BAD_REQUEST = 400,
11
+ UNAUTHORIZED = 401,
12
+ FORBIDDEN = 403,
13
+ NOT_FOUND = 404,
14
+ CONFLICT = 409,
15
+ UNPROCESSABLE_ENTITY = 422,
16
+ TOO_MANY_REQUESTS = 429,
17
+ INTERNAL_ERROR = 500,
18
+ NOT_IMPLEMENTED = 501,
19
+ BAD_GATEWAY = 502,
20
+ SERVICE_UNAVAILABLE = 503
21
+ }
22
+ /**
23
+ * Status Messages
24
+ * Human-readable status messages
25
+ */
26
+ declare enum StatusMessage {
27
+ SUCCESS = "success",
28
+ CREATED = "created",
29
+ ACCEPTED = "accepted",
30
+ NO_CONTENT = "no-data-found",
31
+ BAD_REQUEST = "bad-request",
32
+ UNAUTHORIZED = "unauthorized",
33
+ FORBIDDEN = "forbidden",
34
+ NOT_FOUND = "not-found",
35
+ CONFLICT = "conflict",
36
+ UNPROCESSABLE_ENTITY = "validation-error",
37
+ TOO_MANY_REQUESTS = "rate-limit-exceeded",
38
+ INTERNAL_ERROR = "error",
39
+ NOT_IMPLEMENTED = "not-implemented",
40
+ BAD_GATEWAY = "bad-gateway",
41
+ SERVICE_UNAVAILABLE = "service-unavailable"
42
+ }
43
+ declare const statusCode: typeof StatusCode;
44
+ declare const statusMessage: typeof StatusMessage;
45
+
46
+ export { StatusCode, StatusMessage, statusCode, statusMessage };
@@ -0,0 +1,46 @@
1
+ /**
2
+ * HTTP Status Codes
3
+ * Standard HTTP status codes used across all projects
4
+ */
5
+ declare enum StatusCode {
6
+ SUCCESS = 200,
7
+ CREATED = 201,
8
+ ACCEPTED = 202,
9
+ NO_CONTENT = 204,
10
+ BAD_REQUEST = 400,
11
+ UNAUTHORIZED = 401,
12
+ FORBIDDEN = 403,
13
+ NOT_FOUND = 404,
14
+ CONFLICT = 409,
15
+ UNPROCESSABLE_ENTITY = 422,
16
+ TOO_MANY_REQUESTS = 429,
17
+ INTERNAL_ERROR = 500,
18
+ NOT_IMPLEMENTED = 501,
19
+ BAD_GATEWAY = 502,
20
+ SERVICE_UNAVAILABLE = 503
21
+ }
22
+ /**
23
+ * Status Messages
24
+ * Human-readable status messages
25
+ */
26
+ declare enum StatusMessage {
27
+ SUCCESS = "success",
28
+ CREATED = "created",
29
+ ACCEPTED = "accepted",
30
+ NO_CONTENT = "no-data-found",
31
+ BAD_REQUEST = "bad-request",
32
+ UNAUTHORIZED = "unauthorized",
33
+ FORBIDDEN = "forbidden",
34
+ NOT_FOUND = "not-found",
35
+ CONFLICT = "conflict",
36
+ UNPROCESSABLE_ENTITY = "validation-error",
37
+ TOO_MANY_REQUESTS = "rate-limit-exceeded",
38
+ INTERNAL_ERROR = "error",
39
+ NOT_IMPLEMENTED = "not-implemented",
40
+ BAD_GATEWAY = "bad-gateway",
41
+ SERVICE_UNAVAILABLE = "service-unavailable"
42
+ }
43
+ declare const statusCode: typeof StatusCode;
44
+ declare const statusMessage: typeof StatusMessage;
45
+
46
+ export { StatusCode, StatusMessage, statusCode, statusMessage };
@@ -0,0 +1,48 @@
1
+ 'use strict';
2
+
3
+ // src/server/enums/status.ts
4
+ var StatusCode = /* @__PURE__ */ ((StatusCode2) => {
5
+ StatusCode2[StatusCode2["SUCCESS"] = 200] = "SUCCESS";
6
+ StatusCode2[StatusCode2["CREATED"] = 201] = "CREATED";
7
+ StatusCode2[StatusCode2["ACCEPTED"] = 202] = "ACCEPTED";
8
+ StatusCode2[StatusCode2["NO_CONTENT"] = 204] = "NO_CONTENT";
9
+ StatusCode2[StatusCode2["BAD_REQUEST"] = 400] = "BAD_REQUEST";
10
+ StatusCode2[StatusCode2["UNAUTHORIZED"] = 401] = "UNAUTHORIZED";
11
+ StatusCode2[StatusCode2["FORBIDDEN"] = 403] = "FORBIDDEN";
12
+ StatusCode2[StatusCode2["NOT_FOUND"] = 404] = "NOT_FOUND";
13
+ StatusCode2[StatusCode2["CONFLICT"] = 409] = "CONFLICT";
14
+ StatusCode2[StatusCode2["UNPROCESSABLE_ENTITY"] = 422] = "UNPROCESSABLE_ENTITY";
15
+ StatusCode2[StatusCode2["TOO_MANY_REQUESTS"] = 429] = "TOO_MANY_REQUESTS";
16
+ StatusCode2[StatusCode2["INTERNAL_ERROR"] = 500] = "INTERNAL_ERROR";
17
+ StatusCode2[StatusCode2["NOT_IMPLEMENTED"] = 501] = "NOT_IMPLEMENTED";
18
+ StatusCode2[StatusCode2["BAD_GATEWAY"] = 502] = "BAD_GATEWAY";
19
+ StatusCode2[StatusCode2["SERVICE_UNAVAILABLE"] = 503] = "SERVICE_UNAVAILABLE";
20
+ return StatusCode2;
21
+ })(StatusCode || {});
22
+ var StatusMessage = /* @__PURE__ */ ((StatusMessage2) => {
23
+ StatusMessage2["SUCCESS"] = "success";
24
+ StatusMessage2["CREATED"] = "created";
25
+ StatusMessage2["ACCEPTED"] = "accepted";
26
+ StatusMessage2["NO_CONTENT"] = "no-data-found";
27
+ StatusMessage2["BAD_REQUEST"] = "bad-request";
28
+ StatusMessage2["UNAUTHORIZED"] = "unauthorized";
29
+ StatusMessage2["FORBIDDEN"] = "forbidden";
30
+ StatusMessage2["NOT_FOUND"] = "not-found";
31
+ StatusMessage2["CONFLICT"] = "conflict";
32
+ StatusMessage2["UNPROCESSABLE_ENTITY"] = "validation-error";
33
+ StatusMessage2["TOO_MANY_REQUESTS"] = "rate-limit-exceeded";
34
+ StatusMessage2["INTERNAL_ERROR"] = "error";
35
+ StatusMessage2["NOT_IMPLEMENTED"] = "not-implemented";
36
+ StatusMessage2["BAD_GATEWAY"] = "bad-gateway";
37
+ StatusMessage2["SERVICE_UNAVAILABLE"] = "service-unavailable";
38
+ return StatusMessage2;
39
+ })(StatusMessage || {});
40
+ var statusCode = StatusCode;
41
+ var statusMessage = StatusMessage;
42
+
43
+ exports.StatusCode = StatusCode;
44
+ exports.StatusMessage = StatusMessage;
45
+ exports.statusCode = statusCode;
46
+ exports.statusMessage = statusMessage;
47
+ //# sourceMappingURL=index.js.map
48
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/server/enums/status.ts"],"names":["StatusCode","StatusMessage"],"mappings":";;;AAIO,IAAK,UAAA,qBAAAA,WAAAA,KAAL;AAEL,EAAAA,WAAAA,CAAAA,WAAAA,CAAA,aAAU,GAAA,CAAA,GAAV,SAAA;AACA,EAAAA,WAAAA,CAAAA,WAAAA,CAAA,aAAU,GAAA,CAAA,GAAV,SAAA;AACA,EAAAA,WAAAA,CAAAA,WAAAA,CAAA,cAAW,GAAA,CAAA,GAAX,UAAA;AACA,EAAAA,WAAAA,CAAAA,WAAAA,CAAA,gBAAa,GAAA,CAAA,GAAb,YAAA;AAGA,EAAAA,WAAAA,CAAAA,WAAAA,CAAA,iBAAc,GAAA,CAAA,GAAd,aAAA;AACA,EAAAA,WAAAA,CAAAA,WAAAA,CAAA,kBAAe,GAAA,CAAA,GAAf,cAAA;AACA,EAAAA,WAAAA,CAAAA,WAAAA,CAAA,eAAY,GAAA,CAAA,GAAZ,WAAA;AACA,EAAAA,WAAAA,CAAAA,WAAAA,CAAA,eAAY,GAAA,CAAA,GAAZ,WAAA;AACA,EAAAA,WAAAA,CAAAA,WAAAA,CAAA,cAAW,GAAA,CAAA,GAAX,UAAA;AACA,EAAAA,WAAAA,CAAAA,WAAAA,CAAA,0BAAuB,GAAA,CAAA,GAAvB,sBAAA;AACA,EAAAA,WAAAA,CAAAA,WAAAA,CAAA,uBAAoB,GAAA,CAAA,GAApB,mBAAA;AAGA,EAAAA,WAAAA,CAAAA,WAAAA,CAAA,oBAAiB,GAAA,CAAA,GAAjB,gBAAA;AACA,EAAAA,WAAAA,CAAAA,WAAAA,CAAA,qBAAkB,GAAA,CAAA,GAAlB,iBAAA;AACA,EAAAA,WAAAA,CAAAA,WAAAA,CAAA,iBAAc,GAAA,CAAA,GAAd,aAAA;AACA,EAAAA,WAAAA,CAAAA,WAAAA,CAAA,yBAAsB,GAAA,CAAA,GAAtB,qBAAA;AApBU,EAAA,OAAAA,WAAAA;AAAA,CAAA,EAAA,UAAA,IAAA,EAAA;AA2BL,IAAK,aAAA,qBAAAC,cAAAA,KAAL;AACL,EAAAA,eAAA,SAAA,CAAA,GAAU,SAAA;AACV,EAAAA,eAAA,SAAA,CAAA,GAAU,SAAA;AACV,EAAAA,eAAA,UAAA,CAAA,GAAW,UAAA;AACX,EAAAA,eAAA,YAAA,CAAA,GAAa,eAAA;AACb,EAAAA,eAAA,aAAA,CAAA,GAAc,aAAA;AACd,EAAAA,eAAA,cAAA,CAAA,GAAe,cAAA;AACf,EAAAA,eAAA,WAAA,CAAA,GAAY,WAAA;AACZ,EAAAA,eAAA,WAAA,CAAA,GAAY,WAAA;AACZ,EAAAA,eAAA,UAAA,CAAA,GAAW,UAAA;AACX,EAAAA,eAAA,sBAAA,CAAA,GAAuB,kBAAA;AACvB,EAAAA,eAAA,mBAAA,CAAA,GAAoB,qBAAA;AACpB,EAAAA,eAAA,gBAAA,CAAA,GAAiB,OAAA;AACjB,EAAAA,eAAA,iBAAA,CAAA,GAAkB,iBAAA;AAClB,EAAAA,eAAA,aAAA,CAAA,GAAc,aAAA;AACd,EAAAA,eAAA,qBAAA,CAAA,GAAsB,qBAAA;AAfZ,EAAA,OAAAA,cAAAA;AAAA,CAAA,EAAA,aAAA,IAAA,EAAA;AAmBL,IAAM,UAAA,GAAa;AACnB,IAAM,aAAA,GAAgB","file":"index.js","sourcesContent":["/**\r\n * HTTP Status Codes\r\n * Standard HTTP status codes used across all projects\r\n */\r\nexport enum StatusCode {\r\n // Success\r\n SUCCESS = 200,\r\n CREATED = 201,\r\n ACCEPTED = 202,\r\n NO_CONTENT = 204,\r\n\r\n // Client Errors\r\n BAD_REQUEST = 400,\r\n UNAUTHORIZED = 401,\r\n FORBIDDEN = 403,\r\n NOT_FOUND = 404,\r\n CONFLICT = 409,\r\n UNPROCESSABLE_ENTITY = 422,\r\n TOO_MANY_REQUESTS = 429,\r\n\r\n // Server Errors\r\n INTERNAL_ERROR = 500,\r\n NOT_IMPLEMENTED = 501,\r\n BAD_GATEWAY = 502,\r\n SERVICE_UNAVAILABLE = 503,\r\n}\r\n\r\n/**\r\n * Status Messages\r\n * Human-readable status messages\r\n */\r\nexport enum StatusMessage {\r\n SUCCESS = 'success',\r\n CREATED = 'created',\r\n ACCEPTED = 'accepted',\r\n NO_CONTENT = 'no-data-found',\r\n BAD_REQUEST = 'bad-request',\r\n UNAUTHORIZED = 'unauthorized',\r\n FORBIDDEN = 'forbidden',\r\n NOT_FOUND = 'not-found',\r\n CONFLICT = 'conflict',\r\n UNPROCESSABLE_ENTITY = 'validation-error',\r\n TOO_MANY_REQUESTS = 'rate-limit-exceeded',\r\n INTERNAL_ERROR = 'error',\r\n NOT_IMPLEMENTED = 'not-implemented',\r\n BAD_GATEWAY = 'bad-gateway',\r\n SERVICE_UNAVAILABLE = 'service-unavailable',\r\n}\r\n\r\n// Legacy aliases for backward compatibility\r\nexport const statusCode = StatusCode;\r\nexport const statusMessage = StatusMessage;\r\n\r\nexport default {\r\n StatusCode,\r\n StatusMessage,\r\n statusCode,\r\n statusMessage,\r\n};\r\n"]}
@@ -0,0 +1,43 @@
1
+ // src/server/enums/status.ts
2
+ var StatusCode = /* @__PURE__ */ ((StatusCode2) => {
3
+ StatusCode2[StatusCode2["SUCCESS"] = 200] = "SUCCESS";
4
+ StatusCode2[StatusCode2["CREATED"] = 201] = "CREATED";
5
+ StatusCode2[StatusCode2["ACCEPTED"] = 202] = "ACCEPTED";
6
+ StatusCode2[StatusCode2["NO_CONTENT"] = 204] = "NO_CONTENT";
7
+ StatusCode2[StatusCode2["BAD_REQUEST"] = 400] = "BAD_REQUEST";
8
+ StatusCode2[StatusCode2["UNAUTHORIZED"] = 401] = "UNAUTHORIZED";
9
+ StatusCode2[StatusCode2["FORBIDDEN"] = 403] = "FORBIDDEN";
10
+ StatusCode2[StatusCode2["NOT_FOUND"] = 404] = "NOT_FOUND";
11
+ StatusCode2[StatusCode2["CONFLICT"] = 409] = "CONFLICT";
12
+ StatusCode2[StatusCode2["UNPROCESSABLE_ENTITY"] = 422] = "UNPROCESSABLE_ENTITY";
13
+ StatusCode2[StatusCode2["TOO_MANY_REQUESTS"] = 429] = "TOO_MANY_REQUESTS";
14
+ StatusCode2[StatusCode2["INTERNAL_ERROR"] = 500] = "INTERNAL_ERROR";
15
+ StatusCode2[StatusCode2["NOT_IMPLEMENTED"] = 501] = "NOT_IMPLEMENTED";
16
+ StatusCode2[StatusCode2["BAD_GATEWAY"] = 502] = "BAD_GATEWAY";
17
+ StatusCode2[StatusCode2["SERVICE_UNAVAILABLE"] = 503] = "SERVICE_UNAVAILABLE";
18
+ return StatusCode2;
19
+ })(StatusCode || {});
20
+ var StatusMessage = /* @__PURE__ */ ((StatusMessage2) => {
21
+ StatusMessage2["SUCCESS"] = "success";
22
+ StatusMessage2["CREATED"] = "created";
23
+ StatusMessage2["ACCEPTED"] = "accepted";
24
+ StatusMessage2["NO_CONTENT"] = "no-data-found";
25
+ StatusMessage2["BAD_REQUEST"] = "bad-request";
26
+ StatusMessage2["UNAUTHORIZED"] = "unauthorized";
27
+ StatusMessage2["FORBIDDEN"] = "forbidden";
28
+ StatusMessage2["NOT_FOUND"] = "not-found";
29
+ StatusMessage2["CONFLICT"] = "conflict";
30
+ StatusMessage2["UNPROCESSABLE_ENTITY"] = "validation-error";
31
+ StatusMessage2["TOO_MANY_REQUESTS"] = "rate-limit-exceeded";
32
+ StatusMessage2["INTERNAL_ERROR"] = "error";
33
+ StatusMessage2["NOT_IMPLEMENTED"] = "not-implemented";
34
+ StatusMessage2["BAD_GATEWAY"] = "bad-gateway";
35
+ StatusMessage2["SERVICE_UNAVAILABLE"] = "service-unavailable";
36
+ return StatusMessage2;
37
+ })(StatusMessage || {});
38
+ var statusCode = StatusCode;
39
+ var statusMessage = StatusMessage;
40
+
41
+ export { StatusCode, StatusMessage, statusCode, statusMessage };
42
+ //# sourceMappingURL=index.mjs.map
43
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/server/enums/status.ts"],"names":["StatusCode","StatusMessage"],"mappings":";AAIO,IAAK,UAAA,qBAAAA,WAAAA,KAAL;AAEL,EAAAA,WAAAA,CAAAA,WAAAA,CAAA,aAAU,GAAA,CAAA,GAAV,SAAA;AACA,EAAAA,WAAAA,CAAAA,WAAAA,CAAA,aAAU,GAAA,CAAA,GAAV,SAAA;AACA,EAAAA,WAAAA,CAAAA,WAAAA,CAAA,cAAW,GAAA,CAAA,GAAX,UAAA;AACA,EAAAA,WAAAA,CAAAA,WAAAA,CAAA,gBAAa,GAAA,CAAA,GAAb,YAAA;AAGA,EAAAA,WAAAA,CAAAA,WAAAA,CAAA,iBAAc,GAAA,CAAA,GAAd,aAAA;AACA,EAAAA,WAAAA,CAAAA,WAAAA,CAAA,kBAAe,GAAA,CAAA,GAAf,cAAA;AACA,EAAAA,WAAAA,CAAAA,WAAAA,CAAA,eAAY,GAAA,CAAA,GAAZ,WAAA;AACA,EAAAA,WAAAA,CAAAA,WAAAA,CAAA,eAAY,GAAA,CAAA,GAAZ,WAAA;AACA,EAAAA,WAAAA,CAAAA,WAAAA,CAAA,cAAW,GAAA,CAAA,GAAX,UAAA;AACA,EAAAA,WAAAA,CAAAA,WAAAA,CAAA,0BAAuB,GAAA,CAAA,GAAvB,sBAAA;AACA,EAAAA,WAAAA,CAAAA,WAAAA,CAAA,uBAAoB,GAAA,CAAA,GAApB,mBAAA;AAGA,EAAAA,WAAAA,CAAAA,WAAAA,CAAA,oBAAiB,GAAA,CAAA,GAAjB,gBAAA;AACA,EAAAA,WAAAA,CAAAA,WAAAA,CAAA,qBAAkB,GAAA,CAAA,GAAlB,iBAAA;AACA,EAAAA,WAAAA,CAAAA,WAAAA,CAAA,iBAAc,GAAA,CAAA,GAAd,aAAA;AACA,EAAAA,WAAAA,CAAAA,WAAAA,CAAA,yBAAsB,GAAA,CAAA,GAAtB,qBAAA;AApBU,EAAA,OAAAA,WAAAA;AAAA,CAAA,EAAA,UAAA,IAAA,EAAA;AA2BL,IAAK,aAAA,qBAAAC,cAAAA,KAAL;AACL,EAAAA,eAAA,SAAA,CAAA,GAAU,SAAA;AACV,EAAAA,eAAA,SAAA,CAAA,GAAU,SAAA;AACV,EAAAA,eAAA,UAAA,CAAA,GAAW,UAAA;AACX,EAAAA,eAAA,YAAA,CAAA,GAAa,eAAA;AACb,EAAAA,eAAA,aAAA,CAAA,GAAc,aAAA;AACd,EAAAA,eAAA,cAAA,CAAA,GAAe,cAAA;AACf,EAAAA,eAAA,WAAA,CAAA,GAAY,WAAA;AACZ,EAAAA,eAAA,WAAA,CAAA,GAAY,WAAA;AACZ,EAAAA,eAAA,UAAA,CAAA,GAAW,UAAA;AACX,EAAAA,eAAA,sBAAA,CAAA,GAAuB,kBAAA;AACvB,EAAAA,eAAA,mBAAA,CAAA,GAAoB,qBAAA;AACpB,EAAAA,eAAA,gBAAA,CAAA,GAAiB,OAAA;AACjB,EAAAA,eAAA,iBAAA,CAAA,GAAkB,iBAAA;AAClB,EAAAA,eAAA,aAAA,CAAA,GAAc,aAAA;AACd,EAAAA,eAAA,qBAAA,CAAA,GAAsB,qBAAA;AAfZ,EAAA,OAAAA,cAAAA;AAAA,CAAA,EAAA,aAAA,IAAA,EAAA;AAmBL,IAAM,UAAA,GAAa;AACnB,IAAM,aAAA,GAAgB","file":"index.mjs","sourcesContent":["/**\r\n * HTTP Status Codes\r\n * Standard HTTP status codes used across all projects\r\n */\r\nexport enum StatusCode {\r\n // Success\r\n SUCCESS = 200,\r\n CREATED = 201,\r\n ACCEPTED = 202,\r\n NO_CONTENT = 204,\r\n\r\n // Client Errors\r\n BAD_REQUEST = 400,\r\n UNAUTHORIZED = 401,\r\n FORBIDDEN = 403,\r\n NOT_FOUND = 404,\r\n CONFLICT = 409,\r\n UNPROCESSABLE_ENTITY = 422,\r\n TOO_MANY_REQUESTS = 429,\r\n\r\n // Server Errors\r\n INTERNAL_ERROR = 500,\r\n NOT_IMPLEMENTED = 501,\r\n BAD_GATEWAY = 502,\r\n SERVICE_UNAVAILABLE = 503,\r\n}\r\n\r\n/**\r\n * Status Messages\r\n * Human-readable status messages\r\n */\r\nexport enum StatusMessage {\r\n SUCCESS = 'success',\r\n CREATED = 'created',\r\n ACCEPTED = 'accepted',\r\n NO_CONTENT = 'no-data-found',\r\n BAD_REQUEST = 'bad-request',\r\n UNAUTHORIZED = 'unauthorized',\r\n FORBIDDEN = 'forbidden',\r\n NOT_FOUND = 'not-found',\r\n CONFLICT = 'conflict',\r\n UNPROCESSABLE_ENTITY = 'validation-error',\r\n TOO_MANY_REQUESTS = 'rate-limit-exceeded',\r\n INTERNAL_ERROR = 'error',\r\n NOT_IMPLEMENTED = 'not-implemented',\r\n BAD_GATEWAY = 'bad-gateway',\r\n SERVICE_UNAVAILABLE = 'service-unavailable',\r\n}\r\n\r\n// Legacy aliases for backward compatibility\r\nexport const statusCode = StatusCode;\r\nexport const statusMessage = StatusMessage;\r\n\r\nexport default {\r\n StatusCode,\r\n StatusMessage,\r\n statusCode,\r\n statusMessage,\r\n};\r\n"]}
@@ -0,0 +1,9 @@
1
+ export { ApiResponse, ColumnMetadata, PaginationData, badRequestResponse, conflictResponse, createdResponse, errorResponse, extractColumns, forbiddenResponse, noContentResponse, notFoundResponse, rateLimitResponse, successResponse, successResponseArr, unauthorizedResponse, validationErrorResponse } from './response/index.mjs';
2
+ export { StatusCode, StatusMessage, statusCode, statusMessage } from './enums/index.mjs';
3
+ export { LoggerConfig, createLogger, createMorganStream, logger, simpleLogger, stream } from './logger/index.mjs';
4
+ export { DbConnectionOptions, connectDB, disconnectDB, getConnectionStatus } from './db/index.mjs';
5
+ export { AuthRequest, JWTPayload, authenticateApiKey, authenticateJWT, extractOrganization, optionalAuthenticateJWT, requireOrganization } from './middleware/index.mjs';
6
+ export { FilterOptions, PaginationOptions, PaginationResult, buildFilter, buildPagination, buildPaginationMeta, omitFields, pickFields, sanitizeDocument, sanitizeUser } from './utils/index.mjs';
7
+ import 'express';
8
+ import 'winston';
9
+ import 'mongoose';
@@ -0,0 +1,9 @@
1
+ export { ApiResponse, ColumnMetadata, PaginationData, badRequestResponse, conflictResponse, createdResponse, errorResponse, extractColumns, forbiddenResponse, noContentResponse, notFoundResponse, rateLimitResponse, successResponse, successResponseArr, unauthorizedResponse, validationErrorResponse } from './response/index.js';
2
+ export { StatusCode, StatusMessage, statusCode, statusMessage } from './enums/index.js';
3
+ export { LoggerConfig, createLogger, createMorganStream, logger, simpleLogger, stream } from './logger/index.js';
4
+ export { DbConnectionOptions, connectDB, disconnectDB, getConnectionStatus } from './db/index.js';
5
+ export { AuthRequest, JWTPayload, authenticateApiKey, authenticateJWT, extractOrganization, optionalAuthenticateJWT, requireOrganization } from './middleware/index.js';
6
+ export { FilterOptions, PaginationOptions, PaginationResult, buildFilter, buildPagination, buildPaginationMeta, omitFields, pickFields, sanitizeDocument, sanitizeUser } from './utils/index.js';
7
+ import 'express';
8
+ import 'winston';
9
+ import 'mongoose';