@estopia/shared 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (103) hide show
  1. package/dist/broker/eventTypes.d.ts +20 -0
  2. package/dist/broker/eventTypes.d.ts.map +1 -0
  3. package/dist/broker/eventTypes.js +8 -0
  4. package/dist/broker/eventTypes.js.map +1 -0
  5. package/dist/broker/publisher.d.ts +16 -0
  6. package/dist/broker/publisher.d.ts.map +1 -0
  7. package/dist/broker/publisher.js +124 -0
  8. package/dist/broker/publisher.js.map +1 -0
  9. package/dist/broker/subscriber.d.ts +14 -0
  10. package/dist/broker/subscriber.d.ts.map +1 -0
  11. package/dist/broker/subscriber.js +60 -0
  12. package/dist/broker/subscriber.js.map +1 -0
  13. package/dist/database/cockroach.d.ts +11 -0
  14. package/dist/database/cockroach.d.ts.map +1 -0
  15. package/dist/database/cockroach.js +27 -0
  16. package/dist/database/cockroach.js.map +1 -0
  17. package/dist/database/dataTypes.d.ts +99 -0
  18. package/dist/database/dataTypes.d.ts.map +1 -0
  19. package/dist/database/dataTypes.js +7 -0
  20. package/dist/database/dataTypes.js.map +1 -0
  21. package/{src/database/types.ts → dist/database/types.d.ts} +8 -9
  22. package/dist/database/types.d.ts.map +1 -0
  23. package/dist/database/types.js +3 -0
  24. package/dist/database/types.js.map +1 -0
  25. package/dist/helpers/middlware/auth.d.ts +10 -0
  26. package/dist/helpers/middlware/auth.d.ts.map +1 -0
  27. package/dist/helpers/middlware/auth.js +55 -0
  28. package/dist/helpers/middlware/auth.js.map +1 -0
  29. package/dist/helpers/middlware/secure.d.ts +11 -0
  30. package/dist/helpers/middlware/secure.d.ts.map +1 -0
  31. package/dist/helpers/middlware/secure.js +42 -0
  32. package/dist/helpers/middlware/secure.js.map +1 -0
  33. package/dist/helpers/validateJWTToken.d.ts +16 -0
  34. package/dist/helpers/validateJWTToken.d.ts.map +1 -0
  35. package/dist/helpers/validateJWTToken.js +36 -0
  36. package/dist/helpers/validateJWTToken.js.map +1 -0
  37. package/{src/index.ts → dist/index.d.ts} +16 -24
  38. package/dist/index.d.ts.map +1 -0
  39. package/dist/index.js +24 -0
  40. package/dist/index.js.map +1 -0
  41. package/dist/logging/logger.d.ts +13 -0
  42. package/dist/logging/logger.d.ts.map +1 -0
  43. package/dist/logging/logger.js +81 -0
  44. package/dist/logging/logger.js.map +1 -0
  45. package/dist/types/ENUMS.d.ts +32 -0
  46. package/dist/types/ENUMS.d.ts.map +1 -0
  47. package/dist/types/ENUMS.js +41 -0
  48. package/dist/types/ENUMS.js.map +1 -0
  49. package/dist/types/directs.d.ts +16 -0
  50. package/dist/types/directs.d.ts.map +1 -0
  51. package/dist/types/directs.js +3 -0
  52. package/dist/types/directs.js.map +1 -0
  53. package/dist/types/medical.d.ts +32 -0
  54. package/dist/types/medical.d.ts.map +1 -0
  55. package/dist/types/medical.js +3 -0
  56. package/dist/types/medical.js.map +1 -0
  57. package/dist/types/messages.d.ts +24 -0
  58. package/dist/types/messages.d.ts.map +1 -0
  59. package/dist/types/messages.js +3 -0
  60. package/dist/types/messages.js.map +1 -0
  61. package/{src/types/request.ts → dist/types/request.d.ts} +22 -23
  62. package/dist/types/request.d.ts.map +1 -0
  63. package/dist/types/request.js +3 -0
  64. package/dist/types/request.js.map +1 -0
  65. package/dist/types/servers.d.ts +32 -0
  66. package/dist/types/servers.d.ts.map +1 -0
  67. package/dist/types/servers.js +3 -0
  68. package/dist/types/servers.js.map +1 -0
  69. package/dist/types/servicePayloads.d.ts +32 -0
  70. package/dist/types/servicePayloads.d.ts.map +1 -0
  71. package/dist/types/servicePayloads.js +10 -0
  72. package/dist/types/servicePayloads.js.map +1 -0
  73. package/dist/types/ticketsAndReporting.d.ts +29 -0
  74. package/dist/types/ticketsAndReporting.d.ts.map +1 -0
  75. package/dist/types/ticketsAndReporting.js +3 -0
  76. package/dist/types/ticketsAndReporting.js.map +1 -0
  77. package/dist/types/user.d.ts +29 -0
  78. package/dist/types/user.d.ts.map +1 -0
  79. package/dist/types/user.js +3 -0
  80. package/dist/types/user.js.map +1 -0
  81. package/package.json +10 -4
  82. package/.github/workflows/tests.yml +0 -29
  83. package/scripts/migrations/1670000000000-initial.js +0 -107
  84. package/scripts/package.json +0 -20
  85. package/src/broker/eventTypes.ts +0 -23
  86. package/src/broker/publisher.ts +0 -82
  87. package/src/broker/subscriber.ts +0 -51
  88. package/src/database/cockroach.ts +0 -27
  89. package/src/helpers/middlware/auth.ts +0 -55
  90. package/src/helpers/middlware/secure.ts +0 -48
  91. package/src/helpers/validateJWTToken.ts +0 -38
  92. package/src/logging/logger.ts +0 -103
  93. package/src/types/ENUMS.ts +0 -45
  94. package/src/types/directs.ts +0 -18
  95. package/src/types/medical.ts +0 -36
  96. package/src/types/messages.ts +0 -27
  97. package/src/types/servers.ts +0 -36
  98. package/src/types/servicePayloads.ts +0 -40
  99. package/src/types/ticketsAndReporting.ts +0 -32
  100. package/src/types/user.ts +0 -34
  101. package/tests/verifyJWTToken.test.ts +0 -27
  102. package/tsconfig.json +0 -48
  103. package/vitest.config.ts +0 -9
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.validateJWTToken = validateJWTToken;
7
+ exports.tryValidateJWTToken = tryValidateJWTToken;
8
+ const jsonwebtoken_1 = __importDefault(require("jsonwebtoken"));
9
+ // Keep verification options minimal to allow tokens signed without an explicit issuer in tests.
10
+ const jwtVerifyOptions = {};
11
+ /**
12
+ * Verify a JWT and return the decoded payload. Throws on invalid/expired token.
13
+ */
14
+ function validateJWTToken(token) {
15
+ const secret = process.env.JWT_SECRET;
16
+ if (!secret)
17
+ throw new Error('JWT secret not configured');
18
+ const payload = jsonwebtoken_1.default.verify(token, secret, jwtVerifyOptions);
19
+ const userId = payload?.sub ?? payload?.userId ?? payload?.id ?? null;
20
+ if (!userId)
21
+ throw new Error('token missing subject');
22
+ return { userId, jti: payload.jti ?? payload.jti ?? undefined, iat: payload.iat, exp: payload.exp };
23
+ }
24
+ /**
25
+ * Try to verify a token and return the decoded payload, or null if invalid.
26
+ */
27
+ function tryValidateJWTToken(token) {
28
+ try {
29
+ return validateJWTToken(token);
30
+ }
31
+ catch (e) {
32
+ return null;
33
+ }
34
+ }
35
+ exports.default = validateJWTToken;
36
+ //# sourceMappingURL=validateJWTToken.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateJWTToken.js","sourceRoot":"","sources":["../../src/helpers/validateJWTToken.ts"],"names":[],"mappings":";;;;;AAeA,4CASC;AAKD,kDAMC;AAnCD,gEAA+B;AAS/B,gGAAgG;AAChG,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAE5B;;GAEG;AACH,SAAgB,gBAAgB,CAAC,KAAa;IAC5C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;IACtC,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAE1D,MAAM,OAAO,GAAG,sBAAG,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,gBAAgB,CAAQ,CAAC;IACnE,MAAM,MAAM,GAAG,OAAO,EAAE,GAAG,IAAI,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,EAAE,IAAI,IAAI,CAAC;IACtE,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAEtD,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,IAAI,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAgB,CAAC;AACpH,CAAC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CAAC,KAAa;IAC/C,IAAI,CAAC;QACH,OAAO,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,kBAAe,gBAAgB,CAAC"}
@@ -1,24 +1,16 @@
1
- export { createLogger } from './logging/logger';
2
- export type { LoggerOptions, LogMeta } from './logging/logger';
3
-
4
- export { createCockroachDBConnection } from './database/cockroach';
5
-
6
- // Export the configuration types so consuming services can use them
7
- export type { CockroachConfig } from './database/types';
8
-
9
- // Export the database clients for type hinting in other services
10
- export { Pool as CockroachDBClient } from 'pg';
11
- export { Client as ScyllaDBClient } from 'cassandra-driver';
12
-
13
- export { EventPublisher } from './broker/publisher';
14
- export { EventSubscriber } from './broker/subscriber';
15
- export type { EventPayloads } from './broker/eventTypes';
16
-
17
- export type { UserDto } from './types/user';
18
- export { validateJWTToken, tryValidateJWTToken } from './helpers/validateJWTToken';
19
-
20
- export type { DB } from './database/dataTypes';
21
-
22
- export type { EstopiaRequest } from './types/request';
23
- export { requireAuth } from './helpers/middlware/auth';
24
- export { requireSecure } from './helpers/middlware/secure';
1
+ export { createLogger } from './logging/logger';
2
+ export type { LoggerOptions, LogMeta } from './logging/logger';
3
+ export { createCockroachDBConnection } from './database/cockroach';
4
+ export type { CockroachConfig } from './database/types';
5
+ export { Pool as CockroachDBClient } from 'pg';
6
+ export { Client as ScyllaDBClient } from 'cassandra-driver';
7
+ export { EventPublisher } from './broker/publisher';
8
+ export { EventSubscriber } from './broker/subscriber';
9
+ export type { EventPayloads } from './broker/eventTypes';
10
+ export type { UserDto } from './types/user';
11
+ export { validateJWTToken, tryValidateJWTToken } from './helpers/validateJWTToken';
12
+ export type { DB } from './database/dataTypes';
13
+ export type { EstopiaRequest } from './types/request';
14
+ export { requireAuth } from './helpers/middlware/auth';
15
+ export { requireSecure } from './helpers/middlware/secure';
16
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,YAAY,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE/D,OAAO,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AAGnE,YAAY,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGxD,OAAO,EAAE,IAAI,IAAI,iBAAiB,EAAE,MAAM,IAAI,CAAC;AAC/C,OAAO,EAAE,MAAM,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAE5D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,YAAY,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEnF,YAAY,EAAE,EAAE,EAAE,MAAM,sBAAsB,CAAC;AAE/C,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.requireSecure = exports.requireAuth = exports.tryValidateJWTToken = exports.validateJWTToken = exports.EventSubscriber = exports.EventPublisher = exports.ScyllaDBClient = exports.CockroachDBClient = exports.createCockroachDBConnection = exports.createLogger = void 0;
4
+ var logger_1 = require("./logging/logger");
5
+ Object.defineProperty(exports, "createLogger", { enumerable: true, get: function () { return logger_1.createLogger; } });
6
+ var cockroach_1 = require("./database/cockroach");
7
+ Object.defineProperty(exports, "createCockroachDBConnection", { enumerable: true, get: function () { return cockroach_1.createCockroachDBConnection; } });
8
+ // Export the database clients for type hinting in other services
9
+ var pg_1 = require("pg");
10
+ Object.defineProperty(exports, "CockroachDBClient", { enumerable: true, get: function () { return pg_1.Pool; } });
11
+ var cassandra_driver_1 = require("cassandra-driver");
12
+ Object.defineProperty(exports, "ScyllaDBClient", { enumerable: true, get: function () { return cassandra_driver_1.Client; } });
13
+ var publisher_1 = require("./broker/publisher");
14
+ Object.defineProperty(exports, "EventPublisher", { enumerable: true, get: function () { return publisher_1.EventPublisher; } });
15
+ var subscriber_1 = require("./broker/subscriber");
16
+ Object.defineProperty(exports, "EventSubscriber", { enumerable: true, get: function () { return subscriber_1.EventSubscriber; } });
17
+ var validateJWTToken_1 = require("./helpers/validateJWTToken");
18
+ Object.defineProperty(exports, "validateJWTToken", { enumerable: true, get: function () { return validateJWTToken_1.validateJWTToken; } });
19
+ Object.defineProperty(exports, "tryValidateJWTToken", { enumerable: true, get: function () { return validateJWTToken_1.tryValidateJWTToken; } });
20
+ var auth_1 = require("./helpers/middlware/auth");
21
+ Object.defineProperty(exports, "requireAuth", { enumerable: true, get: function () { return auth_1.requireAuth; } });
22
+ var secure_1 = require("./helpers/middlware/secure");
23
+ Object.defineProperty(exports, "requireSecure", { enumerable: true, get: function () { return secure_1.requireSecure; } });
24
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,2CAAgD;AAAvC,sGAAA,YAAY,OAAA;AAGrB,kDAAmE;AAA1D,wHAAA,2BAA2B,OAAA;AAKpC,iEAAiE;AACjE,yBAA+C;AAAtC,uGAAA,IAAI,OAAqB;AAClC,qDAA4D;AAAnD,kHAAA,MAAM,OAAkB;AAEjC,gDAAoD;AAA3C,2GAAA,cAAc,OAAA;AACvB,kDAAsD;AAA7C,6GAAA,eAAe,OAAA;AAIxB,+DAAmF;AAA1E,oHAAA,gBAAgB,OAAA;AAAE,uHAAA,mBAAmB,OAAA;AAK9C,iDAAuD;AAA9C,mGAAA,WAAW,OAAA;AACpB,qDAA2D;AAAlD,uGAAA,aAAa,OAAA"}
@@ -0,0 +1,13 @@
1
+ import { Logger } from '../types/request';
2
+ interface LoggerOptions {
3
+ serviceName: string;
4
+ logServiceUrl?: string;
5
+ environment?: "development" | "production";
6
+ sendLogs?: boolean;
7
+ }
8
+ interface LogMeta {
9
+ [key: string]: any;
10
+ }
11
+ export declare function createLogger(options: LoggerOptions): Logger;
12
+ export type { LoggerOptions, LogMeta };
13
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/logging/logger.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,UAAU,aAAa;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,aAAa,GAAG,YAAY,CAAC;IAC3C,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,UAAU,OAAO;IACf,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,CAqF3D;AAED,YAAY,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC"}
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.createLogger = createLogger;
7
+ const pino_1 = __importDefault(require("pino"));
8
+ const axios_1 = __importDefault(require("axios"));
9
+ function createLogger(options) {
10
+ const { serviceName, logServiceUrl = process.env.LOG_SERVICE_URL || "http://localhost:4000/logs", environment = process.env.NODE_ENV || "development", sendLogs = true, } = options;
11
+ let requestId = null;
12
+ let requestURL = null;
13
+ let requestMethod = null;
14
+ let requestUserId = null;
15
+ let requesterType = null;
16
+ const logger = environment === "development"
17
+ ? (0, pino_1.default)({ name: serviceName, level: 'debug' })
18
+ : (0, pino_1.default)({
19
+ name: serviceName,
20
+ level: 'info',
21
+ });
22
+ const sendLog = async (level, message, meta = {}) => {
23
+ if (!sendLogs)
24
+ return;
25
+ try {
26
+ if (requestId) {
27
+ meta.requestId = requestId;
28
+ }
29
+ if (requestURL) {
30
+ meta.requestURL = requestURL;
31
+ }
32
+ if (requestMethod) {
33
+ meta.requestMethod = requestMethod;
34
+ }
35
+ if (requestUserId) {
36
+ meta.requestUserId = requestUserId;
37
+ }
38
+ if (requesterType) {
39
+ meta.requesterType = requesterType;
40
+ }
41
+ await axios_1.default.post(logServiceUrl, {
42
+ service: serviceName,
43
+ level,
44
+ message,
45
+ meta,
46
+ timestamp: new Date().toISOString(),
47
+ }, { timeout: 2000 });
48
+ }
49
+ catch (err) {
50
+ // Only warn locally, don’t crash
51
+ logger.warn({ err }, "Failed to send log to remote service");
52
+ }
53
+ };
54
+ const logWrapper = {
55
+ info: (msg, meta) => {
56
+ logger.info(meta, msg);
57
+ sendLog("info", msg, meta);
58
+ },
59
+ error: (msg, meta) => {
60
+ logger.error(meta, msg);
61
+ sendLog("error", msg, meta);
62
+ },
63
+ warn: (msg, meta) => {
64
+ logger.warn(meta, msg);
65
+ sendLog("warn", msg, meta);
66
+ },
67
+ debug: (msg, meta) => {
68
+ logger.debug(meta, msg);
69
+ sendLog("debug", msg, meta);
70
+ },
71
+ setRequest: (requesterId, url, method, userId, type) => {
72
+ requestId = requesterId;
73
+ requestURL = url;
74
+ requestMethod = method;
75
+ requestUserId = userId;
76
+ requesterType = type;
77
+ }
78
+ };
79
+ return logWrapper;
80
+ }
81
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/logging/logger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ declare enum UserRole {
2
+ Member = "MEMBER",
3
+ Admin = "ADMIN"
4
+ }
5
+ declare enum ReportStatus {
6
+ Open = "OPEN",
7
+ Reviewed = "REVIEWED",
8
+ Closed = "CLOSED"
9
+ }
10
+ declare enum ReportEntityType {
11
+ User = "USER",
12
+ Server = "SERVER",
13
+ Channel = "CHANNEL",
14
+ Message = "MESSAGE"
15
+ }
16
+ declare enum TicketStatus {
17
+ Open = "OPEN",
18
+ Assigned = "ASSIGNED",
19
+ Closed = "CLOSED"
20
+ }
21
+ declare enum DoseStatus {
22
+ Taken = "TAKEN",
23
+ Skipped = "SKIPPED",
24
+ Pending = "PENDING"
25
+ }
26
+ declare enum messageType {
27
+ Channel = "CHANNEL",
28
+ Direct = "DIRECT",
29
+ Ticket = "TICKET"
30
+ }
31
+ export { UserRole, ReportStatus, ReportEntityType, TicketStatus, DoseStatus, messageType };
32
+ //# sourceMappingURL=ENUMS.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ENUMS.d.ts","sourceRoot":"","sources":["../../src/types/ENUMS.ts"],"names":[],"mappings":"AACA,aAAK,QAAQ;IACX,MAAM,WAAW;IACjB,KAAK,UAAU;CAChB;AAED,aAAK,YAAY;IACf,IAAI,SAAS;IACb,QAAQ,aAAa;IACrB,MAAM,WAAW;CAClB;AAED,aAAK,gBAAgB;IACnB,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,OAAO,YAAY;CACpB;AAED,aAAK,YAAY;IACf,IAAI,SAAS;IACb,QAAQ,aAAa;IACrB,MAAM,WAAW;CAClB;AAED,aAAK,UAAU;IACb,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,OAAO,YAAY;CACpB;AAED,aAAK,WAAW;IACZ,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,MAAM,WAAW;CACpB;AAED,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,UAAU,EACV,WAAW,EACZ,CAAC"}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.messageType = exports.DoseStatus = exports.TicketStatus = exports.ReportEntityType = exports.ReportStatus = exports.UserRole = void 0;
4
+ // Enums
5
+ var UserRole;
6
+ (function (UserRole) {
7
+ UserRole["Member"] = "MEMBER";
8
+ UserRole["Admin"] = "ADMIN";
9
+ })(UserRole || (exports.UserRole = UserRole = {}));
10
+ var ReportStatus;
11
+ (function (ReportStatus) {
12
+ ReportStatus["Open"] = "OPEN";
13
+ ReportStatus["Reviewed"] = "REVIEWED";
14
+ ReportStatus["Closed"] = "CLOSED";
15
+ })(ReportStatus || (exports.ReportStatus = ReportStatus = {}));
16
+ var ReportEntityType;
17
+ (function (ReportEntityType) {
18
+ ReportEntityType["User"] = "USER";
19
+ ReportEntityType["Server"] = "SERVER";
20
+ ReportEntityType["Channel"] = "CHANNEL";
21
+ ReportEntityType["Message"] = "MESSAGE";
22
+ })(ReportEntityType || (exports.ReportEntityType = ReportEntityType = {}));
23
+ var TicketStatus;
24
+ (function (TicketStatus) {
25
+ TicketStatus["Open"] = "OPEN";
26
+ TicketStatus["Assigned"] = "ASSIGNED";
27
+ TicketStatus["Closed"] = "CLOSED";
28
+ })(TicketStatus || (exports.TicketStatus = TicketStatus = {}));
29
+ var DoseStatus;
30
+ (function (DoseStatus) {
31
+ DoseStatus["Taken"] = "TAKEN";
32
+ DoseStatus["Skipped"] = "SKIPPED";
33
+ DoseStatus["Pending"] = "PENDING";
34
+ })(DoseStatus || (exports.DoseStatus = DoseStatus = {}));
35
+ var messageType;
36
+ (function (messageType) {
37
+ messageType["Channel"] = "CHANNEL";
38
+ messageType["Direct"] = "DIRECT";
39
+ messageType["Ticket"] = "TICKET";
40
+ })(messageType || (exports.messageType = messageType = {}));
41
+ //# sourceMappingURL=ENUMS.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ENUMS.js","sourceRoot":"","sources":["../../src/types/ENUMS.ts"],"names":[],"mappings":";;;AAAA,QAAQ;AACR,IAAK,QAGJ;AAHD,WAAK,QAAQ;IACX,6BAAiB,CAAA;IACjB,2BAAe,CAAA;AACjB,CAAC,EAHI,QAAQ,wBAAR,QAAQ,QAGZ;AAED,IAAK,YAIJ;AAJD,WAAK,YAAY;IACf,6BAAa,CAAA;IACb,qCAAqB,CAAA;IACrB,iCAAiB,CAAA;AACnB,CAAC,EAJI,YAAY,4BAAZ,YAAY,QAIhB;AAED,IAAK,gBAKJ;AALD,WAAK,gBAAgB;IACnB,iCAAa,CAAA;IACb,qCAAiB,CAAA;IACjB,uCAAmB,CAAA;IACnB,uCAAmB,CAAA;AACrB,CAAC,EALI,gBAAgB,gCAAhB,gBAAgB,QAKpB;AAED,IAAK,YAIJ;AAJD,WAAK,YAAY;IACf,6BAAa,CAAA;IACb,qCAAqB,CAAA;IACrB,iCAAiB,CAAA;AACnB,CAAC,EAJI,YAAY,4BAAZ,YAAY,QAIhB;AAED,IAAK,UAIJ;AAJD,WAAK,UAAU;IACb,6BAAe,CAAA;IACf,iCAAmB,CAAA;IACnB,iCAAmB,CAAA;AACrB,CAAC,EAJI,UAAU,0BAAV,UAAU,QAId;AAED,IAAK,WAIJ;AAJD,WAAK,WAAW;IACZ,kCAAmB,CAAA;IACnB,gCAAiB,CAAA;IACjB,gCAAiB,CAAA;AACrB,CAAC,EAJI,WAAW,2BAAX,WAAW,QAIf"}
@@ -0,0 +1,16 @@
1
+ import type { UserRole } from "./ENUMS.js";
2
+ export interface DirectMessageDto {
3
+ id: string;
4
+ isGroup: boolean;
5
+ name: string;
6
+ creatorId: number;
7
+ }
8
+ export interface DirectMessageMemberDto {
9
+ id: string;
10
+ userId: number;
11
+ role: UserRole;
12
+ isApproved: boolean;
13
+ joinedAt: Date;
14
+ directId: number;
15
+ }
16
+ //# sourceMappingURL=directs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"directs.d.ts","sourceRoot":"","sources":["../../src/types/directs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG3C,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,QAAQ,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,IAAI,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=directs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"directs.js","sourceRoot":"","sources":["../../src/types/directs.ts"],"names":[],"mappings":""}
@@ -0,0 +1,32 @@
1
+ import type { DoseStatus } from "./ENUMS.js";
2
+ export interface MedicationDto {
3
+ id: string;
4
+ userId: number;
5
+ name: string;
6
+ dosage: string;
7
+ startDate: Date;
8
+ endDate?: Date;
9
+ notes?: string;
10
+ quantity?: number;
11
+ }
12
+ export interface MedicationRefillDto {
13
+ id: string;
14
+ medicationId: number;
15
+ amount: number;
16
+ date: Date;
17
+ }
18
+ export interface MedicationTimeDto {
19
+ id: string;
20
+ medicationId: number;
21
+ time: string;
22
+ }
23
+ export interface TakenDoseDto {
24
+ id: string;
25
+ userId: number;
26
+ medId: number;
27
+ scheduledTime: Date;
28
+ takenTime?: Date;
29
+ dosage: string;
30
+ status: DoseStatus;
31
+ }
32
+ //# sourceMappingURL=medical.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"medical.d.ts","sourceRoot":"","sources":["../../src/types/medical.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAG7C,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,IAAI,CAAC;IAChB,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,IAAI,CAAC;IACpB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,UAAU,CAAC;CACpB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=medical.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"medical.js","sourceRoot":"","sources":["../../src/types/medical.ts"],"names":[],"mappings":""}
@@ -0,0 +1,24 @@
1
+ import type { messageType } from "./ENUMS.js";
2
+ export interface MessageDto {
3
+ id: string;
4
+ type: messageType;
5
+ directId?: number;
6
+ channelId?: number;
7
+ ticketId?: number;
8
+ userId: number;
9
+ content: string;
10
+ mentionEveryone: boolean;
11
+ replyTo?: number;
12
+ }
13
+ export interface MessageMediaDto {
14
+ id: string;
15
+ type: string;
16
+ size: number;
17
+ messageId: number;
18
+ }
19
+ export interface MessageMentionDto {
20
+ id: string;
21
+ userId: number;
22
+ messageId: number;
23
+ }
24
+ //# sourceMappingURL=messages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/types/messages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAG9C,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,OAAO,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=messages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/types/messages.ts"],"names":[],"mappings":""}
@@ -1,23 +1,22 @@
1
- import { Request } from 'express';
2
- import { Kysely } from "kysely";
3
- import { DB } from "../database/dataTypes";
4
- import { LogMeta } from '../logging/logger';
5
-
6
- export interface EstopiaRequest extends Request {
7
- auth?: {
8
- userId: string;
9
- token?: string;
10
- secureToken?: string;
11
- },
12
- logger: Logger;
13
- cockroachPool?: Kysely<DB>;
14
- publisher?: any;
15
- }
16
-
17
- export interface Logger {
18
- info(msg: string, meta?: LogMeta): void;
19
- error(msg: string, meta?: LogMeta): void;
20
- warn(msg: string, meta?: LogMeta): void;
21
- debug(msg: string, meta?: LogMeta): void;
22
- setRequest(requesterId: string | null, url: string | null, method: string | null, userId: string | null, type: 'user' | 'internal' | null): void;
23
- }
1
+ import { Request } from 'express';
2
+ import { Kysely } from "kysely";
3
+ import { DB } from "../database/dataTypes";
4
+ import { LogMeta } from '../logging/logger';
5
+ export interface EstopiaRequest extends Request {
6
+ auth?: {
7
+ userId: string;
8
+ token?: string;
9
+ secureToken?: string;
10
+ };
11
+ logger: Logger;
12
+ cockroachPool?: Kysely<DB>;
13
+ publisher?: any;
14
+ }
15
+ export interface Logger {
16
+ info(msg: string, meta?: LogMeta): void;
17
+ error(msg: string, meta?: LogMeta): void;
18
+ warn(msg: string, meta?: LogMeta): void;
19
+ debug(msg: string, meta?: LogMeta): void;
20
+ setRequest(requesterId: string | null, url: string | null, method: string | null, userId: string | null, type: 'user' | 'internal' | null): void;
21
+ }
22
+ //# sourceMappingURL=request.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/types/request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,EAAE,EAAE,MAAM,uBAAuB,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,MAAM,WAAW,cAAe,SAAQ,OAAO;IAC3C,IAAI,CAAC,EAAE;QACH,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;IAC3B,SAAS,CAAC,EAAE,GAAG,CAAC;CACnB;AAED,MAAM,WAAW,MAAM;IACrB,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACxC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACzC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACxC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACzC,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,GAAG,IAAI,CAAC;CAClJ"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=request.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/types/request.ts"],"names":[],"mappings":""}
@@ -0,0 +1,32 @@
1
+ import type { UserRole } from "./ENUMS.js";
2
+ export interface ServerDto {
3
+ id: string;
4
+ ownerId: number;
5
+ name: string;
6
+ description: string;
7
+ isPrivate: boolean;
8
+ isVerified: boolean;
9
+ icon: string;
10
+ }
11
+ export interface ServerMemberDto {
12
+ id: string;
13
+ userId: number;
14
+ serverId: number;
15
+ role: UserRole;
16
+ }
17
+ export interface ChannelDto {
18
+ id: string;
19
+ serverId: number;
20
+ name: string;
21
+ channelType: string;
22
+ isStaffViewOnly: boolean;
23
+ isStaffTextOnly: boolean;
24
+ }
25
+ export interface ServerBanDto {
26
+ id: string;
27
+ banningId: number;
28
+ bannedId: number;
29
+ note: string;
30
+ serverId: number;
31
+ }
32
+ //# sourceMappingURL=servers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"servers.d.ts","sourceRoot":"","sources":["../../src/types/servers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG3C,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,QAAQ,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,OAAO,CAAC;IACzB,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=servers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"servers.js","sourceRoot":"","sources":["../../src/types/servers.ts"],"names":[],"mappings":""}
@@ -0,0 +1,32 @@
1
+ export interface SendPushNotificationRequest {
2
+ userId: string;
3
+ title: string;
4
+ body: string;
5
+ appType: 'medical' | 'chat';
6
+ data?: Record<string, any>;
7
+ }
8
+ export declare enum EmailTemplate {
9
+ AccountVerification = "ACCOUNT_VERIFICATION",
10
+ PasswordReset = "PASSWORD_RESET",
11
+ FactorVerifcation = "FACTOR_VERIFICATION"
12
+ }
13
+ export interface SendEmailRequest {
14
+ to: string;
15
+ template: EmailTemplate;
16
+ context: Record<string, any>;
17
+ }
18
+ export interface RequestUploadUrlRequest {
19
+ mimeType: string;
20
+ context: 'profile-icon' | 'chat-attachment' | 'server-icon';
21
+ }
22
+ export interface RequestUploadUrlResponse {
23
+ /**
24
+ * The secure, pre-signed URL where the client should upload the file.
25
+ */
26
+ uploadUrl: string;
27
+ /**
28
+ * The final URL to access the file after the upload is complete.
29
+ */
30
+ accessUrl: string;
31
+ }
32
+ //# sourceMappingURL=servicePayloads.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"servicePayloads.d.ts","sourceRoot":"","sources":["../../src/types/servicePayloads.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,SAAS,GAAG,MAAM,CAAC;IAG5B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC5B;AAED,oBAAY,aAAa;IACvB,mBAAmB,yBAAyB;IAC5C,aAAa,mBAAmB;IAChC,iBAAiB,wBAAwB;CAC1C;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,aAAa,CAAC;IAExB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,uBAAuB;IAEtC,QAAQ,EAAE,MAAM,CAAC;IAEjB,OAAO,EAAE,cAAc,GAAG,iBAAiB,GAAG,aAAa,CAAC;CAC7D;AAED,MAAM,WAAW,wBAAwB;IACvC;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;CACnB"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EmailTemplate = void 0;
4
+ var EmailTemplate;
5
+ (function (EmailTemplate) {
6
+ EmailTemplate["AccountVerification"] = "ACCOUNT_VERIFICATION";
7
+ EmailTemplate["PasswordReset"] = "PASSWORD_RESET";
8
+ EmailTemplate["FactorVerifcation"] = "FACTOR_VERIFICATION";
9
+ })(EmailTemplate || (exports.EmailTemplate = EmailTemplate = {}));
10
+ //# sourceMappingURL=servicePayloads.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"servicePayloads.js","sourceRoot":"","sources":["../../src/types/servicePayloads.ts"],"names":[],"mappings":";;;AAUA,IAAY,aAIX;AAJD,WAAY,aAAa;IACvB,6DAA4C,CAAA;IAC5C,iDAAgC,CAAA;IAChC,0DAAyC,CAAA;AAC3C,CAAC,EAJW,aAAa,6BAAb,aAAa,QAIxB"}
@@ -0,0 +1,29 @@
1
+ import type { ReportEntityType, ReportStatus, TicketStatus } from "./ENUMS.js";
2
+ export interface TicketDto {
3
+ id: string;
4
+ discordId?: number;
5
+ status: TicketStatus;
6
+ title: string;
7
+ assignedTo?: number;
8
+ assignedBy?: number;
9
+ closedBy?: number;
10
+ }
11
+ export interface TicketMessageDto {
12
+ id: string;
13
+ userId: number;
14
+ ticketId: number;
15
+ message: string;
16
+ }
17
+ export interface ReportDto {
18
+ id: string;
19
+ reporterId: number;
20
+ entityType: ReportEntityType;
21
+ entityId: number;
22
+ reason: string;
23
+ description: string;
24
+ status: ReportStatus;
25
+ reviewedBy?: number;
26
+ reviewedAt?: Date;
27
+ reportedAt: Date;
28
+ }
29
+ //# sourceMappingURL=ticketsAndReporting.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ticketsAndReporting.d.ts","sourceRoot":"","sources":["../../src/types/ticketsAndReporting.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG/E,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,YAAY,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,gBAAgB,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,YAAY,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,IAAI,CAAC;IAClB,UAAU,EAAE,IAAI,CAAC;CAClB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ticketsAndReporting.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ticketsAndReporting.js","sourceRoot":"","sources":["../../src/types/ticketsAndReporting.ts"],"names":[],"mappings":""}