feat: 初始化DevOps平台后端

This commit is contained in:
湛兮
2026-06-11 20:49:59 +08:00
commit caec5a618d
88 changed files with 11893 additions and 0 deletions
@@ -0,0 +1,40 @@
import {
Body,
Controller,
Headers,
Post,
RawBody,
} from '@nestjs/common';
import { ApiCreatedResponse, ApiTags } from '@nestjs/swagger';
import { GiteaWebhookHeaders, GiteaWebhookResult } from './gitea-webhook.types';
import { GiteaWebhookService } from './gitea-webhook.service';
@ApiTags('webhooks')
@Controller('webhooks/gitea')
export class GiteaWebhookController {
constructor(private readonly giteaWebhookService: GiteaWebhookService) {}
@Post()
@ApiCreatedResponse({ description: 'Receive a Gitea webhook event.' })
async receiveWebhook(
@Headers('x-gitea-event') event: string | undefined,
@Headers('x-gitea-delivery') delivery: string | undefined,
@Headers('x-gitea-signature') signature: string | undefined,
@Headers('x-hub-signature-256') hubSignature256: string | undefined,
@Body() payload: unknown,
@RawBody() rawBody?: Buffer,
): Promise<GiteaWebhookResult> {
const headers: GiteaWebhookHeaders = {
event,
delivery,
signature,
hubSignature256,
};
return this.giteaWebhookService.handleWebhook({
headers,
payload,
rawBody,
});
}
}