@studious-lms/server 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 (103) hide show
  1. package/LICENSE.txt +8 -0
  2. package/README.md +143 -0
  3. package/dist/exportType.d.ts +9 -0
  4. package/dist/exportType.d.ts.map +1 -0
  5. package/dist/exportType.js +7 -0
  6. package/dist/index.d.ts +2 -0
  7. package/dist/index.d.ts.map +1 -0
  8. package/dist/index.js +82 -0
  9. package/dist/lib/fileUpload.d.ts +38 -0
  10. package/dist/lib/fileUpload.d.ts.map +1 -0
  11. package/dist/lib/fileUpload.js +136 -0
  12. package/dist/lib/googleCloudStorage.d.ts +20 -0
  13. package/dist/lib/googleCloudStorage.d.ts.map +1 -0
  14. package/dist/lib/googleCloudStorage.js +88 -0
  15. package/dist/lib/prisma.d.ts +8 -0
  16. package/dist/lib/prisma.d.ts.map +1 -0
  17. package/dist/lib/prisma.js +11 -0
  18. package/dist/lib/thumbnailGenerator.d.ts +23 -0
  19. package/dist/lib/thumbnailGenerator.d.ts.map +1 -0
  20. package/dist/lib/thumbnailGenerator.js +180 -0
  21. package/dist/logger.d.ts +26 -0
  22. package/dist/logger.d.ts.map +1 -0
  23. package/dist/logger.js +135 -0
  24. package/dist/middleware/auth.d.ts +7 -0
  25. package/dist/middleware/auth.d.ts.map +1 -0
  26. package/dist/middleware/auth.js +170 -0
  27. package/dist/middleware/logging.d.ts +2 -0
  28. package/dist/middleware/logging.d.ts.map +1 -0
  29. package/dist/middleware/logging.js +51 -0
  30. package/dist/routers/_app.d.ts +4369 -0
  31. package/dist/routers/_app.d.ts.map +1 -0
  32. package/dist/routers/_app.js +29 -0
  33. package/dist/routers/agenda.d.ts +66 -0
  34. package/dist/routers/agenda.d.ts.map +1 -0
  35. package/dist/routers/agenda.js +78 -0
  36. package/dist/routers/announcement.d.ts +79 -0
  37. package/dist/routers/announcement.d.ts.map +1 -0
  38. package/dist/routers/announcement.js +122 -0
  39. package/dist/routers/assignment.d.ts +1051 -0
  40. package/dist/routers/assignment.d.ts.map +1 -0
  41. package/dist/routers/assignment.js +1497 -0
  42. package/dist/routers/attendance.d.ts +99 -0
  43. package/dist/routers/attendance.d.ts.map +1 -0
  44. package/dist/routers/attendance.js +269 -0
  45. package/dist/routers/auth.d.ts +87 -0
  46. package/dist/routers/auth.d.ts.map +1 -0
  47. package/dist/routers/auth.js +255 -0
  48. package/dist/routers/class.d.ts +427 -0
  49. package/dist/routers/class.d.ts.map +1 -0
  50. package/dist/routers/class.js +693 -0
  51. package/dist/routers/event.d.ts +249 -0
  52. package/dist/routers/event.d.ts.map +1 -0
  53. package/dist/routers/event.js +467 -0
  54. package/dist/routers/file.d.ts +27 -0
  55. package/dist/routers/file.d.ts.map +1 -0
  56. package/dist/routers/file.js +88 -0
  57. package/dist/routers/section.d.ts +51 -0
  58. package/dist/routers/section.d.ts.map +1 -0
  59. package/dist/routers/section.js +123 -0
  60. package/dist/routers/user.d.ts +49 -0
  61. package/dist/routers/user.d.ts.map +1 -0
  62. package/dist/routers/user.js +74 -0
  63. package/dist/socket/handlers.d.ts +3 -0
  64. package/dist/socket/handlers.d.ts.map +1 -0
  65. package/dist/socket/handlers.js +130 -0
  66. package/dist/trpc.d.ts +147 -0
  67. package/dist/trpc.d.ts.map +1 -0
  68. package/dist/trpc.js +67 -0
  69. package/dist/types/trpc.d.ts +16 -0
  70. package/dist/types/trpc.d.ts.map +1 -0
  71. package/dist/types/trpc.js +2 -0
  72. package/dist/utils/email.d.ts +3 -0
  73. package/dist/utils/email.d.ts.map +1 -0
  74. package/dist/utils/email.js +16 -0
  75. package/dist/utils/generateInviteCode.d.ts +6 -0
  76. package/dist/utils/generateInviteCode.d.ts.map +1 -0
  77. package/dist/utils/generateInviteCode.js +11 -0
  78. package/dist/utils/logger.d.ts +27 -0
  79. package/dist/utils/logger.d.ts.map +1 -0
  80. package/dist/utils/logger.js +124 -0
  81. package/generated/prisma/client.d.ts +1 -0
  82. package/generated/prisma/client.js +4 -0
  83. package/generated/prisma/default.d.ts +1 -0
  84. package/generated/prisma/default.js +4 -0
  85. package/generated/prisma/edge.d.ts +1 -0
  86. package/generated/prisma/edge.js +389 -0
  87. package/generated/prisma/index-browser.js +375 -0
  88. package/generated/prisma/index.d.ts +34865 -0
  89. package/generated/prisma/index.js +410 -0
  90. package/generated/prisma/libquery_engine-darwin-arm64.dylib.node +0 -0
  91. package/generated/prisma/package.json +140 -0
  92. package/generated/prisma/runtime/edge-esm.js +34 -0
  93. package/generated/prisma/runtime/edge.js +34 -0
  94. package/generated/prisma/runtime/index-browser.d.ts +370 -0
  95. package/generated/prisma/runtime/index-browser.js +16 -0
  96. package/generated/prisma/runtime/library.d.ts +3647 -0
  97. package/generated/prisma/runtime/library.js +146 -0
  98. package/generated/prisma/runtime/react-native.js +83 -0
  99. package/generated/prisma/runtime/wasm.js +35 -0
  100. package/generated/prisma/schema.prisma +304 -0
  101. package/generated/prisma/wasm.d.ts +1 -0
  102. package/generated/prisma/wasm.js +375 -0
  103. package/package.json +46 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateInviteCode.d.ts","sourceRoot":"","sources":["../../src/utils/generateInviteCode.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,kBAAkB,cAE9B,CAAA"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ /**
3
+ * Generates a random invite code
4
+ * @returns {string} The invite code with length 5
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.generateInviteCode = void 0;
8
+ const generateInviteCode = () => {
9
+ return (Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 15)).slice(0, 5);
10
+ };
11
+ exports.generateInviteCode = generateInviteCode;
@@ -0,0 +1,27 @@
1
+ export declare enum LogLevel {
2
+ INFO = "info",
3
+ WARN = "warn",
4
+ ERROR = "error",
5
+ DEBUG = "debug"
6
+ }
7
+ type LogMode = 'silent' | 'minimal' | 'normal' | 'verbose';
8
+ declare class Logger {
9
+ private static instance;
10
+ private isDevelopment;
11
+ private mode;
12
+ private levelColors;
13
+ private levelEmojis;
14
+ private constructor();
15
+ static getInstance(): Logger;
16
+ setMode(mode: LogMode): void;
17
+ private shouldLog;
18
+ private formatMessage;
19
+ private log;
20
+ info(message: string, context?: Record<string, any>): void;
21
+ warn(message: string, context?: Record<string, any>): void;
22
+ error(message: string, context?: Record<string, any>): void;
23
+ debug(message: string, context?: Record<string, any>): void;
24
+ }
25
+ export declare const logger: Logger;
26
+ export {};
27
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA,oBAAY,QAAQ;IAClB,IAAI,SAAS;IACb,IAAI,SAAS;IACb,KAAK,UAAU;IACf,KAAK,UAAU;CAChB;AAED,KAAK,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;AAwB3D,cAAM,MAAM;IACV,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAS;IAChC,OAAO,CAAC,aAAa,CAAU;IAC/B,OAAO,CAAC,IAAI,CAAU;IACtB,OAAO,CAAC,WAAW,CAA2B;IAC9C,OAAO,CAAC,WAAW,CAA2B;IAE9C,OAAO;WAoBO,WAAW,IAAI,MAAM;IAO5B,OAAO,CAAC,IAAI,EAAE,OAAO;IAI5B,OAAO,CAAC,SAAS;IAsBjB,OAAO,CAAC,aAAa;IAiBrB,OAAO,CAAC,GAAG;IA8BJ,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAInD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAInD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAIpD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAG5D;AAED,eAAO,MAAM,MAAM,QAAuB,CAAC"}
@@ -0,0 +1,124 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.logger = exports.LogLevel = void 0;
4
+ var LogLevel;
5
+ (function (LogLevel) {
6
+ LogLevel["INFO"] = "info";
7
+ LogLevel["WARN"] = "warn";
8
+ LogLevel["ERROR"] = "error";
9
+ LogLevel["DEBUG"] = "debug";
10
+ })(LogLevel || (exports.LogLevel = LogLevel = {}));
11
+ // ANSI color codes
12
+ const colors = {
13
+ reset: '\x1b[0m',
14
+ bright: '\x1b[1m',
15
+ dim: '\x1b[2m',
16
+ red: '\x1b[31m',
17
+ green: '\x1b[32m',
18
+ yellow: '\x1b[33m',
19
+ blue: '\x1b[34m',
20
+ magenta: '\x1b[35m',
21
+ cyan: '\x1b[36m',
22
+ white: '\x1b[37m',
23
+ gray: '\x1b[90m'
24
+ };
25
+ class Logger {
26
+ constructor() {
27
+ this.isDevelopment = process.env.NODE_ENV === 'development';
28
+ this.mode = process.env.LOG_MODE || 'normal';
29
+ this.levelColors = {
30
+ [LogLevel.INFO]: colors.blue,
31
+ [LogLevel.WARN]: colors.yellow,
32
+ [LogLevel.ERROR]: colors.red,
33
+ [LogLevel.DEBUG]: colors.magenta
34
+ };
35
+ this.levelEmojis = {
36
+ [LogLevel.INFO]: 'ℹ️',
37
+ [LogLevel.WARN]: '⚠️',
38
+ [LogLevel.ERROR]: '❌',
39
+ [LogLevel.DEBUG]: '🔍'
40
+ };
41
+ }
42
+ static getInstance() {
43
+ if (!Logger.instance) {
44
+ Logger.instance = new Logger();
45
+ }
46
+ return Logger.instance;
47
+ }
48
+ setMode(mode) {
49
+ this.mode = mode;
50
+ }
51
+ shouldLog(level) {
52
+ const silent = [
53
+ LogLevel.ERROR,
54
+ ];
55
+ const minimal = [
56
+ LogLevel.ERROR,
57
+ LogLevel.WARN,
58
+ ];
59
+ const normal = [
60
+ LogLevel.ERROR,
61
+ LogLevel.WARN,
62
+ LogLevel.INFO,
63
+ ];
64
+ if (this.mode === 'silent')
65
+ return silent.includes(level);
66
+ if (this.mode === 'minimal')
67
+ return minimal.includes(level);
68
+ if (this.mode === 'normal')
69
+ return normal.includes(level);
70
+ return true; // verbose mode
71
+ }
72
+ formatMessage(logMessage) {
73
+ const { level, message, timestamp, context } = logMessage;
74
+ const color = this.levelColors[level];
75
+ const emoji = this.levelEmojis[level];
76
+ const timestampStr = colors.gray + `[${timestamp}]` + colors.reset;
77
+ const levelStr = color + `[${level.toUpperCase()}]` + colors.reset;
78
+ const emojiStr = emoji + ' ';
79
+ const messageStr = colors.bright + message + colors.reset;
80
+ const contextStr = context
81
+ ? '\n' + colors.dim + 'Context: ' + JSON.stringify(context, null, 2) + colors.reset
82
+ : '';
83
+ return `${timestampStr} ${levelStr} ${emojiStr}${messageStr}${contextStr}`;
84
+ }
85
+ log(level, message, context) {
86
+ // if (this.shouldLog(level))
87
+ // return;
88
+ const logMessage = {
89
+ level,
90
+ message,
91
+ timestamp: new Date().toISOString(),
92
+ context
93
+ };
94
+ const formattedMessage = this.formatMessage(logMessage);
95
+ switch (level) {
96
+ case LogLevel.ERROR:
97
+ console.error(formattedMessage);
98
+ break;
99
+ case LogLevel.WARN:
100
+ console.warn(formattedMessage);
101
+ break;
102
+ case LogLevel.DEBUG:
103
+ if (this.isDevelopment) {
104
+ console.debug(formattedMessage);
105
+ }
106
+ break;
107
+ default:
108
+ console.log(formattedMessage);
109
+ }
110
+ }
111
+ info(message, context) {
112
+ this.log(LogLevel.INFO, message, context);
113
+ }
114
+ warn(message, context) {
115
+ this.log(LogLevel.WARN, message, context);
116
+ }
117
+ error(message, context) {
118
+ this.log(LogLevel.ERROR, message, context);
119
+ }
120
+ debug(message, context) {
121
+ this.log(LogLevel.DEBUG, message, context);
122
+ }
123
+ }
124
+ exports.logger = Logger.getInstance();
@@ -0,0 +1 @@
1
+ export * from "./index"
@@ -0,0 +1,4 @@
1
+
2
+ /* !!! This is code generated by Prisma. Do not edit directly. !!!
3
+ /* eslint-disable */
4
+ module.exports = { ...require('.') }
@@ -0,0 +1 @@
1
+ export * from "./index"
@@ -0,0 +1,4 @@
1
+
2
+ /* !!! This is code generated by Prisma. Do not edit directly. !!!
3
+ /* eslint-disable */
4
+ module.exports = { ...require('.') }
@@ -0,0 +1 @@
1
+ export * from "./default"