feat(extension): 采集插件功能开发

This commit is contained in:
2026-09-06 22:32:39 +08:00
parent 87db74fb89
commit 4c0f3a4a79
35 changed files with 790 additions and 20 deletions
@@ -0,0 +1,17 @@
import { CanActivate, ExecutionContext, Inject, Injectable } from '@nestjs/common';
import { ExtensionService } from './extension.service.js';
export type ExtensionAuthenticatedRequest = {
header: (name: string) => string | undefined;
extensionAuth: { userId: string; workspaceId: string; sessionId: string; clientId: string };
};
@Injectable()
export class ExtensionAccessGuard implements CanActivate {
public constructor(@Inject(ExtensionService) private readonly extension: ExtensionService) {}
public async canActivate(context: ExecutionContext) {
const request = context.switchToHttp().getRequest<ExtensionAuthenticatedRequest>();
request.extensionAuth = await this.extension.authenticate(request.header('authorization'));
return true;
}
}