49 lines
1.7 KiB
TypeScript
49 lines
1.7 KiB
TypeScript
|
|
import { Controller, Get, Param, Query, UseGuards } from '@nestjs/common';
|
||
|
|
import { ApiTags, ApiBearerAuth, ApiOperation, ApiQuery } from '@nestjs/swagger';
|
||
|
|
import { GiteaService } from './gitea.service';
|
||
|
|
import { AdminAuthGuard } from '../../common/guards/admin-auth.guard';
|
||
|
|
import { AdminRolesGuard } from '../../common/guards/admin-roles.guard';
|
||
|
|
|
||
|
|
@ApiTags('admin-project-center')
|
||
|
|
@ApiBearerAuth()
|
||
|
|
@Controller('admin-api/projects')
|
||
|
|
@UseGuards(AdminAuthGuard, AdminRolesGuard)
|
||
|
|
export class ProjectCenterController {
|
||
|
|
constructor(private readonly gitea: GiteaService) {}
|
||
|
|
|
||
|
|
@Get('repos')
|
||
|
|
@ApiOperation({ summary: 'Gitea 仓库列表' })
|
||
|
|
async getRepos() {
|
||
|
|
return this.gitea.getRepos();
|
||
|
|
}
|
||
|
|
|
||
|
|
@Get('repos/:owner/:repo/milestones')
|
||
|
|
@ApiOperation({ summary: '仓库里程碑' })
|
||
|
|
async getMilestones(@Param('owner') owner: string, @Param('repo') repo: string) {
|
||
|
|
return this.gitea.getMilestones(owner, repo);
|
||
|
|
}
|
||
|
|
|
||
|
|
@Get('repos/:owner/:repo/issues')
|
||
|
|
@ApiOperation({ summary: '仓库 Issue 列表' })
|
||
|
|
@ApiQuery({ name: 'milestone', required: false })
|
||
|
|
@ApiQuery({ name: 'state', required: false })
|
||
|
|
async getIssues(
|
||
|
|
@Param('owner') owner: string, @Param('repo') repo: string,
|
||
|
|
@Query('milestone') milestone?: string, @Query('state') state?: string,
|
||
|
|
) {
|
||
|
|
return this.gitea.getIssues(owner, repo, milestone, state);
|
||
|
|
}
|
||
|
|
|
||
|
|
@Get('repos/:owner/:repo/releases')
|
||
|
|
@ApiOperation({ summary: '仓库 Release 列表' })
|
||
|
|
async getReleases(@Param('owner') owner: string, @Param('repo') repo: string) {
|
||
|
|
return this.gitea.getReleases(owner, repo);
|
||
|
|
}
|
||
|
|
|
||
|
|
@Get('runners')
|
||
|
|
@ApiOperation({ summary: 'Gitea Runner 状态' })
|
||
|
|
async getRunners() {
|
||
|
|
return this.gitea.getRunners();
|
||
|
|
}
|
||
|
|
}
|