/* tslint:disable */ /* eslint-disable */ /** * Sonatype Lifecycle Public REST API * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * * The version of the OpenAPI document: 1.207.0-01 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import * as runtime from '../runtime'; export interface GitHubAppConfigurationApiDeleteGitHubAppRequest { githubAppId: string; ownerId: string; } export interface GitHubAppConfigurationApiGenerateManifestRequest { ownerId: string; organizationName?: string; } export interface GitHubAppConfigurationApiHandleInstallationSetupRequest { installationId: number; state: string; code: string; } export interface GitHubAppConfigurationApiHandleRedirectRequest { code: string; state?: string; } export interface GitHubAppConfigurationApiListGitHubAppsRequest { ownerId: string; } /** * GitHubAppConfigurationApi - interface * * @export * @interface GitHubAppConfigurationApiInterface */ export interface GitHubAppConfigurationApiInterface { /** * Deletes a specific GitHub App by its ID. Validates ownership before deletion. Best-effort cleanup of the GitHub installation via API. **Permissions Required:** Configure System Configuration and Users * @summary Delete a GitHub App * @param {string} githubAppId GitHub App ID * @param {string} ownerId Owner (organization/application) ID * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof GitHubAppConfigurationApiInterface */ deleteGitHubAppRaw(requestParameters: GitHubAppConfigurationApiDeleteGitHubAppRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Deletes a specific GitHub App by its ID. Validates ownership before deletion. Best-effort cleanup of the GitHub installation via API. **Permissions Required:** Configure System Configuration and Users * Delete a GitHub App */ deleteGitHubApp(requestParameters: GitHubAppConfigurationApiDeleteGitHubAppRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * Generate a GitHub App manifest for registration. Returns manifest JSON with a state token for CSRF protection. The state token is cryptographically secure, single-use, and expires after 10 minutes. Submit the manifest to GitHub\'s app creation flow, which will redirect back to IQ Server with the state token for validation. **Permissions Required:** Configure System Configuration and Users * @summary Generate GitHub App manifest * @param {string} ownerId Owner (organization/application) ID * @param {string} [organizationName] GitHub organization name * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof GitHubAppConfigurationApiInterface */ generateManifestRaw(requestParameters: GitHubAppConfigurationApiGenerateManifestRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Generate a GitHub App manifest for registration. Returns manifest JSON with a state token for CSRF protection. The state token is cryptographically secure, single-use, and expires after 10 minutes. Submit the manifest to GitHub\'s app creation flow, which will redirect back to IQ Server with the state token for validation. **Permissions Required:** Configure System Configuration and Users * Generate GitHub App manifest */ generateManifest(requestParameters: GitHubAppConfigurationApiGenerateManifestRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * Process the redirect from GitHub after OAuth authorization, validate state token, exchange OAuth code with PKCE verification, verify user ownership, configure the installation for the specified organization/application, and redirect to the configuration page * @summary Handle GitHub App installation setup callback with OAuth + PKCE * @param {number} installationId GitHub App installation ID * @param {string} state State token for CSRF protection * @param {string} code OAuth authorization code * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof GitHubAppConfigurationApiInterface */ handleInstallationSetupRaw(requestParameters: GitHubAppConfigurationApiHandleInstallationSetupRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Process the redirect from GitHub after OAuth authorization, validate state token, exchange OAuth code with PKCE verification, verify user ownership, configure the installation for the specified organization/application, and redirect to the configuration page * Handle GitHub App installation setup callback with OAuth + PKCE */ handleInstallationSetup(requestParameters: GitHubAppConfigurationApiHandleInstallationSetupRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * Handles redirect from GitHub after manifest submission. Exchanges temporary code for permanent app credentials. The user\'s browser is automatically redirected here by GitHub - not intended for direct use. **Permissions Required:** Configure System Configuration and Users * @summary GitHub App registration redirect callback * @param {string} code Temporary manifest conversion code from GitHub * @param {string} [state] OAuth state token for CSRF protection * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof GitHubAppConfigurationApiInterface */ handleRedirectRaw(requestParameters: GitHubAppConfigurationApiHandleRedirectRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Handles redirect from GitHub after manifest submission. Exchanges temporary code for permanent app credentials. The user\'s browser is automatically redirected here by GitHub - not intended for direct use. **Permissions Required:** Configure System Configuration and Users * GitHub App registration redirect callback */ handleRedirect(requestParameters: GitHubAppConfigurationApiHandleRedirectRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * Returns all GitHub Apps directly registered at this owner level. Does not include inherited apps from parent organizations. **Permissions Required:** View IQ Elements * @summary List GitHub Apps for an owner * @param {string} ownerId Owner (organization/application) ID * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof GitHubAppConfigurationApiInterface */ listGitHubAppsRaw(requestParameters: GitHubAppConfigurationApiListGitHubAppsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Returns all GitHub Apps directly registered at this owner level. Does not include inherited apps from parent organizations. **Permissions Required:** View IQ Elements * List GitHub Apps for an owner */ listGitHubApps(requestParameters: GitHubAppConfigurationApiListGitHubAppsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; } /** * */ export class GitHubAppConfigurationApi extends runtime.BaseAPI implements GitHubAppConfigurationApiInterface { /** * Deletes a specific GitHub App by its ID. Validates ownership before deletion. Best-effort cleanup of the GitHub installation via API. **Permissions Required:** Configure System Configuration and Users * Delete a GitHub App */ async deleteGitHubAppRaw(requestParameters: GitHubAppConfigurationApiDeleteGitHubAppRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters['githubAppId'] == null) { throw new runtime.RequiredError( 'githubAppId', 'Required parameter "githubAppId" was null or undefined when calling deleteGitHubApp().' ); } if (requestParameters['ownerId'] == null) { throw new runtime.RequiredError( 'ownerId', 'Required parameter "ownerId" was null or undefined when calling deleteGitHubApp().' ); } const queryParameters: any = {}; if (requestParameters['ownerId'] != null) { queryParameters['ownerId'] = requestParameters['ownerId']; } const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && (this.configuration.username !== undefined || this.configuration.password !== undefined)) { headerParameters["Authorization"] = "Basic " + btoa(this.configuration.username + ":" + this.configuration.password); } if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("BearerAuth", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } let urlPath = `/api/v2/githubApp/{githubAppId}`; urlPath = urlPath.replace(`{${"githubAppId"}}`, encodeURIComponent(String(requestParameters['githubAppId']))); const response = await this.request({ path: urlPath, method: 'DELETE', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.VoidApiResponse(response); } /** * Deletes a specific GitHub App by its ID. Validates ownership before deletion. Best-effort cleanup of the GitHub installation via API. **Permissions Required:** Configure System Configuration and Users * Delete a GitHub App */ async deleteGitHubApp(requestParameters: GitHubAppConfigurationApiDeleteGitHubAppRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.deleteGitHubAppRaw(requestParameters, initOverrides); } /** * Generate a GitHub App manifest for registration. Returns manifest JSON with a state token for CSRF protection. The state token is cryptographically secure, single-use, and expires after 10 minutes. Submit the manifest to GitHub\'s app creation flow, which will redirect back to IQ Server with the state token for validation. **Permissions Required:** Configure System Configuration and Users * Generate GitHub App manifest */ async generateManifestRaw(requestParameters: GitHubAppConfigurationApiGenerateManifestRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters['ownerId'] == null) { throw new runtime.RequiredError( 'ownerId', 'Required parameter "ownerId" was null or undefined when calling generateManifest().' ); } const queryParameters: any = {}; if (requestParameters['ownerId'] != null) { queryParameters['ownerId'] = requestParameters['ownerId']; } if (requestParameters['organizationName'] != null) { queryParameters['organizationName'] = requestParameters['organizationName']; } const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && (this.configuration.username !== undefined || this.configuration.password !== undefined)) { headerParameters["Authorization"] = "Basic " + btoa(this.configuration.username + ":" + this.configuration.password); } if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("BearerAuth", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } let urlPath = `/api/v2/githubApp/manifest`; const response = await this.request({ path: urlPath, method: 'POST', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.VoidApiResponse(response); } /** * Generate a GitHub App manifest for registration. Returns manifest JSON with a state token for CSRF protection. The state token is cryptographically secure, single-use, and expires after 10 minutes. Submit the manifest to GitHub\'s app creation flow, which will redirect back to IQ Server with the state token for validation. **Permissions Required:** Configure System Configuration and Users * Generate GitHub App manifest */ async generateManifest(requestParameters: GitHubAppConfigurationApiGenerateManifestRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.generateManifestRaw(requestParameters, initOverrides); } /** * Process the redirect from GitHub after OAuth authorization, validate state token, exchange OAuth code with PKCE verification, verify user ownership, configure the installation for the specified organization/application, and redirect to the configuration page * Handle GitHub App installation setup callback with OAuth + PKCE */ async handleInstallationSetupRaw(requestParameters: GitHubAppConfigurationApiHandleInstallationSetupRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters['installationId'] == null) { throw new runtime.RequiredError( 'installationId', 'Required parameter "installationId" was null or undefined when calling handleInstallationSetup().' ); } if (requestParameters['state'] == null) { throw new runtime.RequiredError( 'state', 'Required parameter "state" was null or undefined when calling handleInstallationSetup().' ); } if (requestParameters['code'] == null) { throw new runtime.RequiredError( 'code', 'Required parameter "code" was null or undefined when calling handleInstallationSetup().' ); } const queryParameters: any = {}; if (requestParameters['installationId'] != null) { queryParameters['installation_id'] = requestParameters['installationId']; } if (requestParameters['state'] != null) { queryParameters['state'] = requestParameters['state']; } if (requestParameters['code'] != null) { queryParameters['code'] = requestParameters['code']; } const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && (this.configuration.username !== undefined || this.configuration.password !== undefined)) { headerParameters["Authorization"] = "Basic " + btoa(this.configuration.username + ":" + this.configuration.password); } if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("BearerAuth", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } let urlPath = `/api/v2/githubApp/setupInstallation`; const response = await this.request({ path: urlPath, method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.VoidApiResponse(response); } /** * Process the redirect from GitHub after OAuth authorization, validate state token, exchange OAuth code with PKCE verification, verify user ownership, configure the installation for the specified organization/application, and redirect to the configuration page * Handle GitHub App installation setup callback with OAuth + PKCE */ async handleInstallationSetup(requestParameters: GitHubAppConfigurationApiHandleInstallationSetupRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.handleInstallationSetupRaw(requestParameters, initOverrides); } /** * Handles redirect from GitHub after manifest submission. Exchanges temporary code for permanent app credentials. The user\'s browser is automatically redirected here by GitHub - not intended for direct use. **Permissions Required:** Configure System Configuration and Users * GitHub App registration redirect callback */ async handleRedirectRaw(requestParameters: GitHubAppConfigurationApiHandleRedirectRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters['code'] == null) { throw new runtime.RequiredError( 'code', 'Required parameter "code" was null or undefined when calling handleRedirect().' ); } const queryParameters: any = {}; if (requestParameters['code'] != null) { queryParameters['code'] = requestParameters['code']; } if (requestParameters['state'] != null) { queryParameters['state'] = requestParameters['state']; } const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && (this.configuration.username !== undefined || this.configuration.password !== undefined)) { headerParameters["Authorization"] = "Basic " + btoa(this.configuration.username + ":" + this.configuration.password); } if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("BearerAuth", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } let urlPath = `/api/v2/githubApp/redirect`; const response = await this.request({ path: urlPath, method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.VoidApiResponse(response); } /** * Handles redirect from GitHub after manifest submission. Exchanges temporary code for permanent app credentials. The user\'s browser is automatically redirected here by GitHub - not intended for direct use. **Permissions Required:** Configure System Configuration and Users * GitHub App registration redirect callback */ async handleRedirect(requestParameters: GitHubAppConfigurationApiHandleRedirectRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.handleRedirectRaw(requestParameters, initOverrides); } /** * Returns all GitHub Apps directly registered at this owner level. Does not include inherited apps from parent organizations. **Permissions Required:** View IQ Elements * List GitHub Apps for an owner */ async listGitHubAppsRaw(requestParameters: GitHubAppConfigurationApiListGitHubAppsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters['ownerId'] == null) { throw new runtime.RequiredError( 'ownerId', 'Required parameter "ownerId" was null or undefined when calling listGitHubApps().' ); } const queryParameters: any = {}; if (requestParameters['ownerId'] != null) { queryParameters['ownerId'] = requestParameters['ownerId']; } const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && (this.configuration.username !== undefined || this.configuration.password !== undefined)) { headerParameters["Authorization"] = "Basic " + btoa(this.configuration.username + ":" + this.configuration.password); } if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("BearerAuth", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } let urlPath = `/api/v2/githubApp`; const response = await this.request({ path: urlPath, method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.VoidApiResponse(response); } /** * Returns all GitHub Apps directly registered at this owner level. Does not include inherited apps from parent organizations. **Permissions Required:** View IQ Elements * List GitHub Apps for an owner */ async listGitHubApps(requestParameters: GitHubAppConfigurationApiListGitHubAppsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.listGitHubAppsRaw(requestParameters, initOverrides); } }