- Configure workspace Git repository with comprehensive .gitignore - Add Odoo as submodule for ERP reference code - Include documentation: SETUP.md, GIT-STRUCTURE.md - Add gitignore templates for projects (backend, frontend, database) - Structure supports independent repos per project/subproject level Workspace includes: - core/ - Reusable patterns, modules, orchestration system - projects/ - Active projects (erp-suite, gamilit, trading-platform, etc.) - knowledge-base/ - Reference code and patterns (includes Odoo submodule) - devtools/ - Development tools and templates - customers/ - Client implementations template 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
134 lines
8.1 KiB
TypeScript
134 lines
8.1 KiB
TypeScript
import { Module } from '@nestjs/common';
|
|
import { TypeOrmModule } from '@nestjs/typeorm';
|
|
import { User } from '@modules/auth/entities/user.entity';
|
|
import { Profile } from '@modules/auth/entities/profile.entity';
|
|
import { Role } from '@modules/auth/entities/role.entity';
|
|
import { UserRole } from '@modules/auth/entities/user-role.entity';
|
|
import { Tenant } from '@modules/auth/entities/tenant.entity';
|
|
import { Membership } from '@modules/auth/entities/membership.entity';
|
|
import { AuthAttempt } from '@modules/auth/entities/auth-attempt.entity';
|
|
import { UserSuspension } from '@modules/auth/entities/user-suspension.entity';
|
|
import { Module as EducationalModule } from '@modules/educational/entities/module.entity';
|
|
import { Exercise } from '@modules/educational/entities/exercise.entity';
|
|
import { ContentApproval } from '@modules/educational/entities/content-approval.entity';
|
|
import { ContentTemplate } from '@modules/content/entities/content-template.entity';
|
|
import { MediaFile } from '@modules/content/entities/media-file.entity';
|
|
import { Classroom } from '@modules/social/entities/classroom.entity';
|
|
import { TeacherClassroom } from '@modules/social/entities/teacher-classroom.entity';
|
|
import { AssignmentClassroom } from '@modules/social/entities/assignment-classroom.entity';
|
|
import { Assignment } from '@modules/assignments/entities/assignment.entity';
|
|
import { AssignmentStudent } from '@modules/assignments/entities/assignment-student.entity';
|
|
import { AssignmentSubmission } from '@modules/assignments/entities/assignment-submission.entity';
|
|
import { SystemSetting, FeatureFlag, NotificationSettings, BulkOperation, SystemAlert, AdminReport } from './entities'; // ✨ NUEVO - P1/P2 (System Configuration + Bulk Ops + Alerts + Reports)
|
|
import { AdminUsersController } from './controllers/admin-users.controller';
|
|
import { AdminOrganizationsController } from './controllers/admin-organizations.controller';
|
|
import { AdminContentController } from './controllers/admin-content.controller';
|
|
import { AdminSystemController } from './controllers/admin-system.controller';
|
|
import { AdminDashboardController } from './controllers/admin-dashboard.controller';
|
|
import { AdminRolesController } from './controllers/admin-roles.controller';
|
|
import { AdminReportsController } from './controllers/admin-reports.controller';
|
|
import { AdminLogsController } from './controllers/admin-logs.controller';
|
|
import { ClassroomAssignmentsController } from './controllers/classroom-assignments.controller';
|
|
import { ClassroomTeachersRestController } from './controllers/classroom-teachers-rest.controller';
|
|
import { AdminGamificationConfigController } from './controllers/admin-gamification-config.controller';
|
|
import { AdminBulkOperationsController } from './controllers/admin-bulk-operations.controller';
|
|
import { AdminAlertsController } from './controllers/admin-alerts.controller';
|
|
import { AdminAnalyticsController } from './controllers/admin-analytics.controller';
|
|
import { AdminProgressController } from './controllers/admin-progress.controller';
|
|
import { AdminMonitoringController } from './controllers/admin-monitoring.controller';
|
|
import { AdminInterventionsController } from './controllers/admin-interventions.controller';
|
|
import { AdminAssignmentsController } from './controllers/admin-assignments.controller';
|
|
import { FeatureFlagsController } from './controllers/feature-flags.controller';
|
|
import { AdminUsersService } from './services/admin-users.service';
|
|
import { AdminOrganizationsService } from './services/admin-organizations.service';
|
|
import { AdminContentService } from './services/admin-content.service';
|
|
import { AdminSystemService } from './services/admin-system.service';
|
|
import { AdminDashboardService } from './services/admin-dashboard.service';
|
|
import { AdminRolesService } from './services/admin-roles.service';
|
|
import { AdminReportsService } from './services/admin-reports.service';
|
|
import { ClassroomAssignmentsService } from './services/classroom-assignments.service';
|
|
import { GamificationConfigService } from './services/gamification-config.service';
|
|
import { BulkOperationsService } from './services/bulk-operations.service';
|
|
import { AdminAlertsService } from './services/admin-alerts.service';
|
|
import { AdminAnalyticsService } from './services/admin-analytics.service';
|
|
import { AdminProgressService } from './services/admin-progress.service';
|
|
import { AdminMonitoringService } from './services/admin-monitoring.service';
|
|
import { AdminInterventionsService } from './services/admin-interventions.service';
|
|
import { AdminAssignmentsService } from './services/admin-assignments.service';
|
|
import { FeatureFlagsService } from './services/feature-flags.service';
|
|
import { AdminGuard } from './guards/admin.guard';
|
|
import { TasksModule } from '../tasks/tasks.module';
|
|
|
|
@Module({
|
|
imports: [
|
|
TypeOrmModule.forFeature([User, Profile, Role, UserRole, Tenant, Membership, AuthAttempt, UserSuspension, SystemSetting, FeatureFlag, NotificationSettings, BulkOperation, AdminReport], 'auth'),
|
|
TypeOrmModule.forFeature([EducationalModule, Exercise, ContentApproval, Assignment, AssignmentStudent, AssignmentSubmission], 'educational'),
|
|
TypeOrmModule.forFeature([ContentTemplate, MediaFile], 'content'),
|
|
TypeOrmModule.forFeature([Classroom, TeacherClassroom, AssignmentClassroom], 'social'),
|
|
TypeOrmModule.forFeature([SystemAlert], 'audit'),
|
|
TypeOrmModule.forFeature([], 'progress'), // For AdminInterventionsService (student_intervention_alerts)
|
|
TasksModule, // Import TasksModule to access MissionsCronService
|
|
],
|
|
controllers: [
|
|
AdminUsersController,
|
|
AdminOrganizationsController,
|
|
AdminContentController,
|
|
AdminSystemController,
|
|
AdminDashboardController,
|
|
AdminRolesController,
|
|
AdminReportsController,
|
|
AdminLogsController,
|
|
ClassroomAssignmentsController,
|
|
ClassroomTeachersRestController, // NEW: REST endpoints for US-AE-007
|
|
AdminGamificationConfigController,
|
|
AdminBulkOperationsController,
|
|
AdminAlertsController, // NEW: System alerts management
|
|
AdminAnalyticsController, // NEW: Analytics endpoints (Plan 2)
|
|
AdminProgressController, // NEW: Progress tracking endpoints (Plan 3)
|
|
AdminMonitoringController, // NEW: Monitoring endpoints (Plan 4)
|
|
AdminInterventionsController, // NEW: Student intervention alerts (BE-001)
|
|
AdminAssignmentsController, // NEW: Assignments management endpoints (US-AE-009)
|
|
FeatureFlagsController, // NEW: Feature flags management (BE-ADMIN-001-003)
|
|
],
|
|
providers: [
|
|
AdminUsersService,
|
|
AdminOrganizationsService,
|
|
AdminContentService,
|
|
AdminSystemService,
|
|
AdminDashboardService,
|
|
AdminRolesService,
|
|
AdminReportsService,
|
|
ClassroomAssignmentsService,
|
|
GamificationConfigService,
|
|
BulkOperationsService,
|
|
AdminAlertsService, // NEW: System alerts service
|
|
AdminAnalyticsService, // NEW: Analytics service (Plan 2)
|
|
AdminProgressService, // NEW: Progress tracking service (Plan 3)
|
|
AdminMonitoringService, // NEW: Monitoring service (Plan 4)
|
|
AdminInterventionsService, // NEW: Student intervention alerts service (BE-001)
|
|
AdminAssignmentsService, // NEW: Assignments management service (US-AE-009)
|
|
FeatureFlagsService, // NEW: Feature flags service (BE-ADMIN-001-003)
|
|
AdminGuard,
|
|
],
|
|
exports: [
|
|
AdminUsersService,
|
|
AdminOrganizationsService,
|
|
AdminContentService,
|
|
AdminSystemService,
|
|
AdminDashboardService,
|
|
AdminRolesService,
|
|
AdminReportsService,
|
|
ClassroomAssignmentsService,
|
|
GamificationConfigService,
|
|
BulkOperationsService,
|
|
AdminAlertsService, // NEW: Export alerts service for use in other modules
|
|
AdminAnalyticsService, // NEW: Export analytics service for use in other modules
|
|
AdminProgressService, // NEW: Export progress service for use in other modules
|
|
AdminMonitoringService, // NEW: Export monitoring service for use in other modules
|
|
AdminInterventionsService, // NEW: Export interventions service for use in other modules (BE-001)
|
|
AdminAssignmentsService, // NEW: Export assignments service for use in other modules (US-AE-009)
|
|
FeatureFlagsService, // NEW: Export feature flags service for use in other modules (BE-ADMIN-001-003)
|
|
],
|
|
})
|
|
export class AdminModule {}
|