import { HostingManagerBase } from '../../basic/HostingPlatform/HostingManagerBase' ; import { Application } from 'egg' ; import { GitLabApp } from './GitLabApp' ; import { GitLabClient } from './GitLabClient' ; import { Gitlab } from 'gitlab' ; import { GitLabConfig } from './GitLabConfig' ; import { getConfigMeta } from '../../config-generator/decorators' ; export class GitLabManager extends HostingManagerBase < GitLabApp , GitLabClient , Gitlab , GitLabConfig > { constructor ( config , app ) { super ( config , app ) ; this . type = 'gitlab' ; } protected async getNewHostingPlatform ( id , config ) { return new GitLabApp ( id , config , this . app ) ; } public getConfigType ( ) { return getConfigMeta ( GitLabConfig ) ; } }