File

src/controller/1.0.0/course.controller.ts

Prefix

1.0.0/course

Index

Methods

Methods

Async addFileToCourse
addFileToCourse(req: Request, params: SetFileToCourseDTO)
Decorators :
@UseGuards(undefined)
@Roles(undefined)
@Put('set-file-to-course')
Parameters :
Name Type Optional
req Request No
params SetFileToCourseDTO No
Returns : Promise<any>
Async createCourse
createCourse(req: Request, params: CreateCourseDTO)
Decorators :
@Post('create-course')
@UseGuards(undefined)
@Roles(undefined)
Parameters :
Name Type Optional
req Request No
params CreateCourseDTO No
Returns : Promise<CreateCourseResponseDTO>
Async createQualityCourse
createQualityCourse(req: Request, params: CreateCourseDTO)
Decorators :
@Post('create-quality-course')
@UseGuards(undefined)
@Roles(undefined)
Parameters :
Name Type Optional
req Request No
params CreateCourseDTO No
Returns : Promise<CreateCourseResponseDTO>
Async deleteCourseByID
deleteCourseByID(id: number)
Decorators :
@Roles(undefined)
@UseGuards(undefined, RolesGuard)
@Delete('/delete-course-by-id/:id')
Parameters :
Name Type Optional
id number No
Returns : {}
Async documentationEdit
documentationEdit(req: Request, params: any)
Decorators :
@UseGuards(undefined)
@Roles(undefined)
@Put('set-documetation')
Parameters :
Name Type Optional
req Request No
params any No
Returns : Promise<any>
Async duplicateCourse
duplicateCourse(id: number, req: Request)
Decorators :
@UseGuards(undefined)
@Roles(undefined)
@Put('duplicate-course/:id')
Parameters :
Name Type Optional
id number No
req Request No
Returns : Promise<any>
Async editCourseBaseDataFromCMS
editCourseBaseDataFromCMS(req: Request, params: EditCourseFromCMSDTO)
Decorators :
@UseGuards(undefined)
@Post('edit-course-base-data')
Parameters :
Name Type Optional
req Request No
params EditCourseFromCMSDTO No
Async getCourseByIdToCMS
getCourseByIdToCMS(req: Request, courseId: number)
Decorators :
@UseGuards(undefined)
@Get('all-by-user-cms/:courseId')
Parameters :
Name Type Optional
req Request No
courseId number No
Returns : {}
Async getCourses
getCourses(req: Request)
Decorators :
@UseGuards(undefined)
@Get('all-by-user')
Parameters :
Name Type Optional
req Request No
Returns : {}
Async getCoursesByCurseId
getCoursesByCurseId(req: Request, courseId: number)
Decorators :
@UseGuards(undefined)
@Get('all-by-user/:courseId')
Parameters :
Name Type Optional
req Request No
courseId number No
Returns : {}
Async getCoursesCMS
getCoursesCMS(req: Request)
Decorators :
@UseGuards(undefined)
@Get('all-by-user-cms')
Parameters :
Name Type Optional
req Request No
Returns : {}
Async getQualityCourses
getQualityCourses(req: Request)
Decorators :
@UseGuards(undefined)
@Get('quality-all-by-user')
Parameters :
Name Type Optional
req Request No
Returns : {}
Async getQualityCoursesCMS
getQualityCoursesCMS(req: Request)
Decorators :
@UseGuards(undefined)
@Get('quality-all-by-user-cms')
Parameters :
Name Type Optional
req Request No
Returns : {}
Async saveCourse
saveCourse(req: Request, params: SaveCourseDTO)
Decorators :
@UseGuards(undefined)
@Post('save-course')
Parameters :
Name Type Optional
req Request No
params SaveCourseDTO No
Returns : Promise<SaveCourseResponseDTO>
Async setCourseActiveOrDeactivate
setCourseActiveOrDeactivate(params: SetCourseIsActiveDTO)
Decorators :
@UseGuards(undefined)
@Roles(undefined)
@Put('set-course-active-or-deactive')
Parameters :
Name Type Optional
params SetCourseIsActiveDTO No
Returns : Promise<any>
Async setUsersToCourse
setUsersToCourse(req: Request, params: any)
Decorators :
@UseGuards(undefined)
@Post('set-users-to-course')
Parameters :
Name Type Optional
req Request No
params any No
Async xApiTeszt
xApiTeszt()
Decorators :
@Get('xapi-teszt')
Returns : {}
import {
  Body,
  Controller,
  Delete,
  Get,
  Param,
  Post,
  Put,
  Request,
  UseGuards,
} from "@nestjs/common";
import { JwtService } from "@nestjs/jwt";
import { CreateCourseDTO } from "src/dto/1.0.0/course/create-course.dto";
import { Roles } from "src/module/auth/decorator/roles.decorator";
import { CoursesService100 } from "src/service/1.0.0/course.service";
import { CreateCourseResponseDTO } from "src/dto/1.0.0/course/create-course-response.dto";
import { AuthGuard } from "@nestjs/passport";
import { ROLES } from "src/constant/roles.contant";
import { User } from "src/entity/user.entity";
import { SaveCourseDTO } from "src/dto/1.0.0/course/save-course.dto";
import { SaveCourseResponseDTO } from "src/dto/1.0.0/course/save-course-response.dto";
import { AddUsersToCourseDTO } from "src/dto/1.0.0/course/add-users-to-course.dto";
import { BooleanResponseDTO } from "src/dto/1.0.0/course/response-boolean.dto";
import { RolesGuard } from "src/module/auth/guard/roles.guard";
import { EditCourseFromCMSDTO } from "src/dto/1.0.0/course/edit-course-from-cms.dto";
import { SetFileToCourseDTO } from "src/dto/1.0.0/file/set-file-to-course.dto";
import { SetCourseIsActiveDTO } from "src/dto/1.0.0/course/set-course-is-active.dto";

@Controller("1.0.0/course")
export class CourseController100 {
  constructor(private readonly coursesService: CoursesService100) {}

  @Post("create-course")
  @UseGuards(AuthGuard("jwt"))
  @Roles([ROLES.admin, ROLES.maintainer])
  async createCourse(
    @Request() req: Request,
    @Body() params: CreateCourseDTO
  ): Promise<CreateCourseResponseDTO> {
    const user: User = (req as any).user;
    const course = await this.coursesService.createCourse(user, params);
    return {
      course,
    };
  }
  @Post("create-quality-course")
  @UseGuards(AuthGuard("jwt"))
  @Roles([ROLES.admin, ROLES.maintainer])
  async createQualityCourse(
    @Request() req: Request,
    @Body() params: CreateCourseDTO
  ): Promise<CreateCourseResponseDTO> {
    const user: User = (req as any).user;
    const course = await this.coursesService.createQualityCourse(user, params);
    return {
      course,
    };
  }

  @UseGuards(AuthGuard("jwt"))
  @Get("all-by-user")
  async getCourses(@Request() req: Request) {
    const user: User = (req as any).user;
    const courses = await this.coursesService.getCourses(user);
    return {
      courses,
    };
  }
  @Get("xapi-teszt")
  async xApiTeszt() {
    const teszt = await this.coursesService.xApiteszt();
    return {
      teszt,
    };
  }
  @UseGuards(AuthGuard("jwt"))
  @Get("quality-all-by-user")
  async getQualityCourses(@Request() req: Request) {
    const user: User = (req as any).user;
    const courses = await this.coursesService.getQualityCourses(user);
    return {
      courses,
    };
  }
  @UseGuards(AuthGuard("jwt"))
  @Get("all-by-user-cms")
  async getCoursesCMS(@Request() req: Request) {
    const user: User = (req as any).user;
    const courses = await this.coursesService.getCoursesCMS(user);
    return {
      courses,
    };
  }
  @UseGuards(AuthGuard("jwt"))
  @Get("quality-all-by-user-cms")
  async getQualityCoursesCMS(@Request() req: Request) {
    const user: User = (req as any).user;
    const courses = await this.coursesService.getQualityCoursesCMS(user);
    return {
      courses,
    };
  }

  @UseGuards(AuthGuard("jwt"))
  @Get("all-by-user/:courseId")
  async getCoursesByCurseId(
    @Request() req: Request,
    @Param("courseId") courseId: number
  ) {
    const user: User = (req as any).user;
    const course = await this.coursesService.getCoursesByCurseId(
      user,
      courseId
    );
    return {
      course,
    };
  }

  @UseGuards(AuthGuard("jwt"))
  @Get("all-by-user-cms/:courseId")
  async getCourseByIdToCMS(
    @Request() req: Request,
    @Param("courseId") courseId: number
  ) {
    const user: User = (req as any).user;
    const course = await this.coursesService.getCourseByIdToCMS(user, courseId);
    return {
      course,
    };
  }

  @UseGuards(AuthGuard("jwt"))
  @Post("save-course")
  async saveCourse(
    @Request() req: Request,
    @Body() params: SaveCourseDTO
  ): Promise<SaveCourseResponseDTO> {
    const user: User = (req as any).user;
    const course = await this.coursesService.saveCourse(user, params);
    return {
      course,
    };
  }
  // @UseGuards(AuthGuard('jwt'))
  // @Post('add-users-to-course')
  // async addUsersToCourse(@Request() req: Request, @Body() params: AddUsersToCourseDTO
  // ): Promise<BooleanResponseDTO> {
  //     return await this.coursesService.addUsersToCourse(params)
  // }

  @Roles([ROLES.admin, ROLES.maintainer])
  @UseGuards(AuthGuard("jwt"), RolesGuard)
  @Delete("/delete-course-by-id/:id")
  async deleteCourseByID(@Param("id") id: number) {
    return await this.coursesService.deleteCourseByID(id);
  }
  @UseGuards(AuthGuard("jwt"))
  @Post("edit-course-base-data")
  async editCourseBaseDataFromCMS(
    @Request() req: Request,
    @Body() params: EditCourseFromCMSDTO
  ): Promise<BooleanResponseDTO> {
    return await this.coursesService.editCourseBaseDataFromCMS(params);
  }
  @UseGuards(AuthGuard("jwt"))
  @Post("set-users-to-course")
  async setUsersToCourse(
    @Request() req: Request,
    @Body() params: any
  ): Promise<BooleanResponseDTO> {
    return await this.coursesService.setUsersToCourse(params);
  }
  @UseGuards(AuthGuard("jwt"))
  @Roles([ROLES.admin, ROLES.maintainer])
  @Put("duplicate-course/:id")
  async duplicateCourse(
    @Param("id") id: number,
    @Request() req: Request
  ): Promise<any> {
    const user: User = (req as any).user;

    return await this.coursesService.duplicateCourse(user, id);
  }

  @UseGuards(AuthGuard("jwt"))
  @Roles([ROLES.admin, ROLES.maintainer])
  @Put("set-file-to-course")
  async addFileToCourse(
    @Request() req: Request,
    @Body() params: SetFileToCourseDTO
  ): Promise<any> {
    const user: User = (req as any).user;
    return await this.coursesService.setFileToCourse(params);
  }
  @UseGuards(AuthGuard("jwt"))
  @Roles([ROLES.admin, ROLES.maintainer])
  @Put("set-course-active-or-deactive")
  async setCourseActiveOrDeactivate(
    @Body() params: SetCourseIsActiveDTO
  ): Promise<any> {
    return await this.coursesService.setCourseActiveOrDeactive(params);
  }
  @UseGuards(AuthGuard("jwt"))
  @Roles([ROLES.admin, ROLES.maintainer])
  @Put("set-documetation")
  async documentationEdit(
    @Request() req: Request,
    @Body() params: any
  ): Promise<any> {
    const user: User = (req as any).user;
    return await this.coursesService.documentationEdit(params);
  }
}

result-matching ""

    No results matching ""