feat: 初始化DevOps平台后端
This commit is contained in:
@@ -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,
|
||||
});
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user