import * as OAuthMethods from "@octokit/oauth-methods"; import { emitEvent } from "../emit-event.js"; import { createOAuthUserAuth } from "@octokit/auth-oauth-user"; async function resetTokenWithState(state, options) { const optionsWithDefaults = { clientId: state.clientId, clientSecret: state.clientSecret, request: state.octokit.request, ...options }; if (state.clientType === "oauth-app") { const response2 = await OAuthMethods.resetToken({ clientType: "oauth-app", ...optionsWithDefaults }); const authentication2 = Object.assign(response2.authentication, { type: "token", tokenType: "oauth" }); await emitEvent(state, { name: "token", action: "reset", token: response2.authentication.token, scopes: response2.authentication.scopes || void 0, authentication: authentication2, octokit: new state.Octokit({ authStrategy: createOAuthUserAuth, auth: { clientType: state.clientType, clientId: state.clientId, clientSecret: state.clientSecret, token: response2.authentication.token, scopes: response2.authentication.scopes } }) }); return { ...response2, authentication: authentication2 }; } const response = await OAuthMethods.resetToken({ clientType: "github-app", ...optionsWithDefaults }); const authentication = Object.assign(response.authentication, { type: "token", tokenType: "oauth" }); await emitEvent(state, { name: "token", action: "reset", token: response.authentication.token, authentication, octokit: new state.Octokit({ authStrategy: createOAuthUserAuth, auth: { clientType: state.clientType, clientId: state.clientId, clientSecret: state.clientSecret, token: response.authentication.token } }) }); return { ...response, authentication }; } export { resetTokenWithState };