Files
outline/plugins/github/server/env.ts
Hemachandar 7d315288dd Listen to GitHub webhooks to update issueSources cache (#9414)
* Listen to GitHub webhooks to update issue-sources cache

* Add `GitHubWebhookTask`

* review
2025-07-15 23:07:14 -04:00

47 lines
1.4 KiB
TypeScript

import { IsOptional } from "class-validator";
import { Environment } from "@server/env";
import { Public } from "@server/utils/decorators/Public";
import environment from "@server/utils/environment";
import { CannotUseWithout } from "@server/utils/validators";
class GitHubPluginEnvironment extends Environment {
/**
* GitHub OAuth2 client credentials. To enable integration with GitHub.
*/
@Public
@IsOptional()
public GITHUB_CLIENT_ID = this.toOptionalString(environment.GITHUB_CLIENT_ID);
@Public
@IsOptional()
@CannotUseWithout("GITHUB_CLIENT_ID")
public GITHUB_APP_NAME = this.toOptionalString(environment.GITHUB_APP_NAME);
/**
* GitHub OAuth2 client credentials. To enable integration with GitHub.
*/
@IsOptional()
@CannotUseWithout("GITHUB_CLIENT_ID")
public GITHUB_CLIENT_SECRET = this.toOptionalString(
environment.GITHUB_CLIENT_SECRET
);
@IsOptional()
@CannotUseWithout("GITHUB_CLIENT_ID")
public GITHUB_WEBHOOK_SECRET = this.toOptionalString(
environment.GITHUB_WEBHOOK_SECRET
);
@IsOptional()
@CannotUseWithout("GITHUB_APP_PRIVATE_KEY")
public GITHUB_APP_ID = this.toOptionalString(environment.GITHUB_APP_ID);
@IsOptional()
@CannotUseWithout("GITHUB_APP_ID")
public GITHUB_APP_PRIVATE_KEY = this.toOptionalString(
environment.GITHUB_APP_PRIVATE_KEY
);
}
export default new GitHubPluginEnvironment();