117 lines
3.9 KiB
TypeScript
117 lines
3.9 KiB
TypeScript
import {
|
|
Controller,
|
|
Get,
|
|
Post,
|
|
Body,
|
|
Patch,
|
|
Param,
|
|
Delete,
|
|
Query,
|
|
} from '@nestjs/common';
|
|
|
|
import { ApiBearerAuth, ApiOperation, ApiTags } from '@nestjs/swagger';
|
|
import { TokenData } from 'src/common/decorator/token-data.decorator';
|
|
|
|
import { CreateLiveTeachingDto } from '../dto/live-create.dto';
|
|
import { UpdateLiveTeachingDto } from '../dto/live-update.dto';
|
|
import { LiveTeachingService } from '../service/live-teaching.service';
|
|
import { PaginationDTO } from '../../online-course/common/pagination.dto';
|
|
import { CreateCourseclassifyDto } from 'src/online-course/dto/course-manage/course-classify.dto';
|
|
import { updateCourseclassifyDto } from 'src/online-course/dto/course-manage/update-course-classify.dto';
|
|
import { DeleteDto } from 'src/online-course/common/delete-dto';
|
|
import { get } from 'http';
|
|
import { SearchLsitDto } from 'src/online-course/dto/course-manage/get-course-list-dto';
|
|
import { NoAuthToken } from 'src/common/decorator/no-token.decorator';
|
|
@ApiTags('在线教学')
|
|
@ApiBearerAuth()
|
|
// @NoAuthToken()
|
|
@Controller('live-teaching')
|
|
export class LiveTeachingController {
|
|
constructor(private readonly LiveTeachingService: LiveTeachingService) {}
|
|
// 获取直播列表
|
|
@Get()
|
|
@ApiOperation({ summary: '获取直播列表' })
|
|
findLiveList(@Query() pageInfo: PaginationDTO, @TokenData() tokenInfo: any) {
|
|
return this.LiveTeachingService.findLiveList(pageInfo, tokenInfo);
|
|
}
|
|
|
|
@Get('live-publish/:id')
|
|
@ApiOperation({ summary: '教员端直播时获取直播详情' })
|
|
getLiveInfo(@Param('id') id: number, @TokenData() tokenInfo: any) {
|
|
return this.LiveTeachingService.getLiveInfo(id, tokenInfo);
|
|
}
|
|
|
|
// 编辑时获取某个直播的详细信息
|
|
@Get(':id')
|
|
@NoAuthToken()
|
|
@ApiOperation({ summary: '获取某个直播的详细信息' })
|
|
findOneInfo(@Param('id') id: number, @TokenData() tokenInfo: any) {
|
|
return this.LiveTeachingService.findOneInfo(id, tokenInfo);
|
|
}
|
|
// 搜索直播名称
|
|
@NoAuthToken()
|
|
@Post('search')
|
|
@ApiOperation({ summary: '搜索直播' })
|
|
searchSomeLive(@Body() searchInfo: SearchLsitDto) {
|
|
return this.LiveTeachingService.searchSomeLive(searchInfo);
|
|
}
|
|
// 更新课件的学习信息
|
|
@Post()
|
|
@ApiOperation({ summary: '新建直播' })
|
|
createLive(
|
|
@Body() LiveInfo: CreateLiveTeachingDto,
|
|
@TokenData() tokenInfo: any,
|
|
) {
|
|
return this.LiveTeachingService.createLive(LiveInfo, tokenInfo);
|
|
}
|
|
|
|
@Patch()
|
|
@ApiOperation({ summary: '更新直播信息' })
|
|
updateLive(
|
|
@Body() LiveInfo: UpdateLiveTeachingDto,
|
|
@TokenData() tokenInfo: any,
|
|
) {
|
|
return this.LiveTeachingService.updateLive(LiveInfo, tokenInfo);
|
|
}
|
|
|
|
@Delete(':id')
|
|
@ApiOperation({ summary: '删除直播' })
|
|
deleteLive(@Param('id') id: [string], @TokenData() tokenInfo: any) {
|
|
let sId: any = id;
|
|
sId = sId.split(',');
|
|
return this.LiveTeachingService.deleteLive(sId, tokenInfo);
|
|
}
|
|
@Post('update')
|
|
updateLiveInfo(@Body() data: object) {
|
|
return this.LiveTeachingService.updateLiveInfo(data);
|
|
}
|
|
// -------------------分类模块------------------ //
|
|
// 分类查询
|
|
@Get('classify')
|
|
@ApiOperation({ summary: '查询所有分类' })
|
|
getclassifyList() {
|
|
return this.LiveTeachingService.getclassifyList();
|
|
}
|
|
// 新建分类
|
|
@Post('classify')
|
|
@ApiOperation({ summary: '新增分类' })
|
|
createclassify(@Body() createclassify: CreateCourseclassifyDto) {
|
|
return this.LiveTeachingService.createclassify(createclassify);
|
|
}
|
|
// 编辑分类
|
|
@Patch('classify/:id')
|
|
@ApiOperation({ summary: '编辑分类' })
|
|
updateCourseclassify(
|
|
@Param('id') id: number,
|
|
@Body() updateclassify: updateCourseclassifyDto,
|
|
) {
|
|
return this.LiveTeachingService.updateclassify(id, updateclassify);
|
|
}
|
|
// 删除分类
|
|
@Post('classify/delete')
|
|
@ApiOperation({ summary: '删除分类' })
|
|
deleteCourseclassify(@Body() id: DeleteDto) {
|
|
return this.LiveTeachingService.deleteclassify(id);
|
|
}
|
|
}
|