├── .env.template ├── .eslintrc.js ├── .gitignore ├── .lintstagedrc.json ├── .prettierrc ├── LICENSE ├── README.md ├── WEBSOCKET.md ├── jest.e2e.config.js ├── nest-cli.json ├── package.json ├── pnpm-lock.yaml ├── prisma └── schema.prisma ├── src ├── admin │ ├── admin.controller.ts │ ├── admin.module.ts │ ├── admin.service.ts │ └── dto │ │ ├── ban-student-or-teacher.dto.ts │ │ ├── delete-teacher-register-code.dto.ts │ │ ├── find-messages.dto.ts │ │ ├── find-students.dto.ts │ │ ├── find-teachers.dto.ts │ │ ├── generate-register-codes.dto.ts │ │ ├── generate-student.dto.ts │ │ ├── generate-teacher.dto.ts │ │ ├── login-admin.dto.ts │ │ ├── modify-connection.dto.ts │ │ ├── modify-student.dto.ts │ │ ├── modify-teacher-name.dto.ts │ │ └── reset-teacher-password.dto.ts ├── app.module.ts ├── auth │ ├── auth.module.ts │ ├── auth.service.ts │ └── guards │ │ ├── admin-auth.guard.ts │ │ ├── student-auth.guard.ts │ │ ├── teacher-auth.guard.ts │ │ └── websocket-auth.guard.ts ├── common │ ├── constants.ts │ ├── decorators │ │ ├── auth-user-id.decorator.ts │ │ └── ws-user-role.decorator.ts │ ├── dto │ │ └── pagination.dto.ts │ └── utils │ │ ├── check-sets-equality.util.ts │ │ ├── delete-array-element-by-id.util.ts │ │ ├── find-array-element-by-id.util.ts │ │ ├── format-time-to-now.util.ts │ │ ├── generate-random-string.util.ts │ │ ├── hash-password.util.ts │ │ └── is-time-to-now-gte.util.ts ├── main.ts ├── prisma │ ├── prisma.module.ts │ └── prisma.service.ts ├── state │ ├── state.module.ts │ └── state.service.ts ├── student │ ├── dto │ │ ├── answer-connect-request.dto.ts │ │ ├── close-message.dto.ts │ │ └── student-login.dto.ts │ ├── student.controller.ts │ ├── student.module.ts │ └── student.service.ts ├── task │ ├── task.module.ts │ └── task.service.ts ├── teacher │ ├── dto │ │ ├── close-message-by-teacher.dto.ts │ │ ├── connect-student.dto.ts │ │ ├── delete-student.dto.ts │ │ ├── login-teacher.dto.ts │ │ ├── modify-name.dto.ts │ │ ├── modify-password.dto.ts │ │ ├── modify-student-remark.dto.ts │ │ ├── register-teacher.dto.ts │ │ └── send-message.dto.ts │ ├── teacher.controller.ts │ ├── teacher.module.ts │ └── teacher.service.ts └── websocket │ ├── websocket.gateway.ts │ ├── websocket.module.ts │ └── websocket.service.ts ├── test └── e2e │ └── admin.e2e-spec.ts ├── tsconfig.build.json └── tsconfig.json /.env.template: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/.env.template -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/.eslintrc.js -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/.gitignore -------------------------------------------------------------------------------- /.lintstagedrc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/.lintstagedrc.json -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/.prettierrc -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/README.md -------------------------------------------------------------------------------- /WEBSOCKET.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/WEBSOCKET.md -------------------------------------------------------------------------------- /jest.e2e.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/jest.e2e.config.js -------------------------------------------------------------------------------- /nest-cli.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/nest-cli.json -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/package.json -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/pnpm-lock.yaml -------------------------------------------------------------------------------- /prisma/schema.prisma: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/prisma/schema.prisma -------------------------------------------------------------------------------- /src/admin/admin.controller.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/src/admin/admin.controller.ts -------------------------------------------------------------------------------- /src/admin/admin.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/src/admin/admin.module.ts -------------------------------------------------------------------------------- /src/admin/admin.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/src/admin/admin.service.ts -------------------------------------------------------------------------------- /src/admin/dto/ban-student-or-teacher.dto.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/src/admin/dto/ban-student-or-teacher.dto.ts -------------------------------------------------------------------------------- /src/admin/dto/delete-teacher-register-code.dto.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/src/admin/dto/delete-teacher-register-code.dto.ts -------------------------------------------------------------------------------- /src/admin/dto/find-messages.dto.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/src/admin/dto/find-messages.dto.ts -------------------------------------------------------------------------------- /src/admin/dto/find-students.dto.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/src/admin/dto/find-students.dto.ts -------------------------------------------------------------------------------- /src/admin/dto/find-teachers.dto.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/src/admin/dto/find-teachers.dto.ts -------------------------------------------------------------------------------- /src/admin/dto/generate-register-codes.dto.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/src/admin/dto/generate-register-codes.dto.ts -------------------------------------------------------------------------------- /src/admin/dto/generate-student.dto.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/src/admin/dto/generate-student.dto.ts -------------------------------------------------------------------------------- /src/admin/dto/generate-teacher.dto.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/src/admin/dto/generate-teacher.dto.ts -------------------------------------------------------------------------------- /src/admin/dto/login-admin.dto.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/src/admin/dto/login-admin.dto.ts -------------------------------------------------------------------------------- /src/admin/dto/modify-connection.dto.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/src/admin/dto/modify-connection.dto.ts -------------------------------------------------------------------------------- /src/admin/dto/modify-student.dto.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/src/admin/dto/modify-student.dto.ts -------------------------------------------------------------------------------- /src/admin/dto/modify-teacher-name.dto.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/src/admin/dto/modify-teacher-name.dto.ts -------------------------------------------------------------------------------- /src/admin/dto/reset-teacher-password.dto.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/src/admin/dto/reset-teacher-password.dto.ts -------------------------------------------------------------------------------- /src/app.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/src/app.module.ts -------------------------------------------------------------------------------- /src/auth/auth.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/src/auth/auth.module.ts -------------------------------------------------------------------------------- /src/auth/auth.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/src/auth/auth.service.ts -------------------------------------------------------------------------------- /src/auth/guards/admin-auth.guard.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/src/auth/guards/admin-auth.guard.ts -------------------------------------------------------------------------------- /src/auth/guards/student-auth.guard.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/src/auth/guards/student-auth.guard.ts -------------------------------------------------------------------------------- /src/auth/guards/teacher-auth.guard.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/src/auth/guards/teacher-auth.guard.ts -------------------------------------------------------------------------------- /src/auth/guards/websocket-auth.guard.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/src/auth/guards/websocket-auth.guard.ts -------------------------------------------------------------------------------- /src/common/constants.ts: -------------------------------------------------------------------------------- 1 | export const DEFAULT_SUCCESS_RESPONSE = { success: true }; 2 | -------------------------------------------------------------------------------- /src/common/decorators/auth-user-id.decorator.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/src/common/decorators/auth-user-id.decorator.ts -------------------------------------------------------------------------------- /src/common/decorators/ws-user-role.decorator.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/src/common/decorators/ws-user-role.decorator.ts -------------------------------------------------------------------------------- /src/common/dto/pagination.dto.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/src/common/dto/pagination.dto.ts -------------------------------------------------------------------------------- /src/common/utils/check-sets-equality.util.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/src/common/utils/check-sets-equality.util.ts -------------------------------------------------------------------------------- /src/common/utils/delete-array-element-by-id.util.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/src/common/utils/delete-array-element-by-id.util.ts -------------------------------------------------------------------------------- /src/common/utils/find-array-element-by-id.util.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/src/common/utils/find-array-element-by-id.util.ts -------------------------------------------------------------------------------- /src/common/utils/format-time-to-now.util.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/src/common/utils/format-time-to-now.util.ts -------------------------------------------------------------------------------- /src/common/utils/generate-random-string.util.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/src/common/utils/generate-random-string.util.ts -------------------------------------------------------------------------------- /src/common/utils/hash-password.util.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/src/common/utils/hash-password.util.ts -------------------------------------------------------------------------------- /src/common/utils/is-time-to-now-gte.util.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/src/common/utils/is-time-to-now-gte.util.ts -------------------------------------------------------------------------------- /src/main.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/src/main.ts -------------------------------------------------------------------------------- /src/prisma/prisma.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/src/prisma/prisma.module.ts -------------------------------------------------------------------------------- /src/prisma/prisma.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/src/prisma/prisma.service.ts -------------------------------------------------------------------------------- /src/state/state.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/src/state/state.module.ts -------------------------------------------------------------------------------- /src/state/state.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/src/state/state.service.ts -------------------------------------------------------------------------------- /src/student/dto/answer-connect-request.dto.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/src/student/dto/answer-connect-request.dto.ts -------------------------------------------------------------------------------- /src/student/dto/close-message.dto.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/src/student/dto/close-message.dto.ts -------------------------------------------------------------------------------- /src/student/dto/student-login.dto.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/src/student/dto/student-login.dto.ts -------------------------------------------------------------------------------- /src/student/student.controller.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/src/student/student.controller.ts -------------------------------------------------------------------------------- /src/student/student.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/src/student/student.module.ts -------------------------------------------------------------------------------- /src/student/student.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/src/student/student.service.ts -------------------------------------------------------------------------------- /src/task/task.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/src/task/task.module.ts -------------------------------------------------------------------------------- /src/task/task.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/src/task/task.service.ts -------------------------------------------------------------------------------- /src/teacher/dto/close-message-by-teacher.dto.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/src/teacher/dto/close-message-by-teacher.dto.ts -------------------------------------------------------------------------------- /src/teacher/dto/connect-student.dto.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/src/teacher/dto/connect-student.dto.ts -------------------------------------------------------------------------------- /src/teacher/dto/delete-student.dto.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/src/teacher/dto/delete-student.dto.ts -------------------------------------------------------------------------------- /src/teacher/dto/login-teacher.dto.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/src/teacher/dto/login-teacher.dto.ts -------------------------------------------------------------------------------- /src/teacher/dto/modify-name.dto.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/src/teacher/dto/modify-name.dto.ts -------------------------------------------------------------------------------- /src/teacher/dto/modify-password.dto.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/src/teacher/dto/modify-password.dto.ts -------------------------------------------------------------------------------- /src/teacher/dto/modify-student-remark.dto.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/src/teacher/dto/modify-student-remark.dto.ts -------------------------------------------------------------------------------- /src/teacher/dto/register-teacher.dto.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/src/teacher/dto/register-teacher.dto.ts -------------------------------------------------------------------------------- /src/teacher/dto/send-message.dto.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/src/teacher/dto/send-message.dto.ts -------------------------------------------------------------------------------- /src/teacher/teacher.controller.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/src/teacher/teacher.controller.ts -------------------------------------------------------------------------------- /src/teacher/teacher.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/src/teacher/teacher.module.ts -------------------------------------------------------------------------------- /src/teacher/teacher.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/src/teacher/teacher.service.ts -------------------------------------------------------------------------------- /src/websocket/websocket.gateway.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/src/websocket/websocket.gateway.ts -------------------------------------------------------------------------------- /src/websocket/websocket.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/src/websocket/websocket.module.ts -------------------------------------------------------------------------------- /src/websocket/websocket.service.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/src/websocket/websocket.service.ts -------------------------------------------------------------------------------- /test/e2e/admin.e2e-spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/test/e2e/admin.e2e-spec.ts -------------------------------------------------------------------------------- /tsconfig.build.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/tsconfig.build.json -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MessagePigeon/server/HEAD/tsconfig.json --------------------------------------------------------------------------------