@keyshade/cli
Version:
170 lines (138 loc) • 5.2 kB
text/typescript
import {
AppController,
AuthController,
CliSessionController,
EnvironmentController,
EventController,
IntegrationController,
PersonalAccessTokenController,
ProjectController,
SecretController,
VariableController,
WorkspaceController,
WorkspaceMembershipController,
WorkspaceRoleController
} from '@keyshade/api-client'
export default class ControllerInstance {
private static instance: ControllerInstance | null
private _personalAccessTokenController: PersonalAccessTokenController | null =
null
get personalAccessTokenController(): PersonalAccessTokenController {
if (!this._personalAccessTokenController) {
throw new Error('ControllerInstance not initialized')
}
return this._personalAccessTokenController
}
private _cliSessionController: CliSessionController | null = null
get cliSessionController(): CliSessionController {
if (!this._cliSessionController) {
throw new Error('ControllerInstance not initialized')
}
return this._cliSessionController
}
private _appController: AppController | null = null
get appController(): AppController {
if (!this._appController) {
throw new Error('ControllerInstance not initialized')
}
return this._appController
}
private _authController: AuthController | null = null
get authController(): AuthController {
if (!this._authController) {
throw new Error('ControllerInstance not initialized')
}
return this._authController
}
private _environmentController: EnvironmentController | null = null
get environmentController(): EnvironmentController {
if (!this._environmentController) {
throw new Error('ControllerInstance not initialized')
}
return this._environmentController
}
private _eventController: EventController | null = null
get eventController(): EventController {
if (!this._eventController) {
throw new Error('ControllerInstance not initialized')
}
return this._eventController
}
private _integrationController: IntegrationController | null = null
get integrationController(): IntegrationController {
if (!this._integrationController) {
throw new Error('ControllerInstance not initialized')
}
return this._integrationController
}
private _projectController: ProjectController | null = null
get projectController(): ProjectController {
if (!this._projectController) {
throw new Error('ControllerInstance not initialized')
}
return this._projectController
}
private _secretController: SecretController | null = null
get secretController(): SecretController {
if (!this._secretController) {
throw new Error('ControllerInstance not initialized')
}
return this._secretController
}
private _variableController: VariableController | null = null
get variableController(): VariableController {
if (!this._variableController) {
throw new Error('ControllerInstance not initialized')
}
return this._variableController
}
private _workspaceController: WorkspaceController | null = null
get workspaceController(): WorkspaceController {
if (!this._workspaceController) {
throw new Error('ControllerInstance not initialized')
}
return this._workspaceController
}
private _workspaceRoleController: WorkspaceRoleController | null = null
get workspaceRoleController(): WorkspaceRoleController {
if (!this._workspaceRoleController) {
throw new Error('ControllerInstance not initialized')
}
return this._workspaceRoleController
}
private _workspaceMembershipController: WorkspaceMembershipController | null =
null
get workspaceMembershipController(): WorkspaceMembershipController {
if (!this._workspaceMembershipController) {
throw new Error('ControllerInstance not initialized')
}
return this._workspaceMembershipController
}
static initialize(baseUrl: string) {
const instance = new ControllerInstance()
instance._appController = new AppController(baseUrl)
instance._authController = new AuthController(baseUrl)
instance._environmentController = new EnvironmentController(baseUrl)
instance._eventController = new EventController(baseUrl)
instance._integrationController = new IntegrationController(baseUrl)
instance._projectController = new ProjectController(baseUrl)
instance._secretController = new SecretController(baseUrl)
instance._variableController = new VariableController(baseUrl)
instance._workspaceController = new WorkspaceController(baseUrl)
instance._workspaceRoleController = new WorkspaceRoleController(baseUrl)
instance._workspaceMembershipController = new WorkspaceMembershipController(
baseUrl
)
instance._cliSessionController = new CliSessionController(baseUrl)
instance._personalAccessTokenController = new PersonalAccessTokenController(
baseUrl
)
ControllerInstance.instance = instance
}
static getInstance(): ControllerInstance {
if (!ControllerInstance.instance) {
throw new Error('ControllerInstance not initialized')
}
return ControllerInstance.instance
}
}