mirror of
https://github.com/GlueOps/autoglue.git
synced 2026-02-13 12:50:05 +01:00
295 lines
7.2 KiB
TypeScript
295 lines
7.2 KiB
TypeScript
/* tslint:disable */
|
|
/* eslint-disable */
|
|
/**
|
|
* AutoGlue API
|
|
* API for managing K3s clusters across cloud providers
|
|
*
|
|
* The version of the OpenAPI document: 1.0
|
|
*
|
|
*
|
|
* 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";
|
|
import type {
|
|
DtoAuthStartResponse,
|
|
DtoJWKS,
|
|
DtoLogoutRequest,
|
|
DtoRefreshRequest,
|
|
DtoTokenPair,
|
|
} from "../models/index";
|
|
import {
|
|
DtoAuthStartResponseFromJSON,
|
|
DtoAuthStartResponseToJSON,
|
|
DtoJWKSFromJSON,
|
|
DtoJWKSToJSON,
|
|
DtoLogoutRequestFromJSON,
|
|
DtoLogoutRequestToJSON,
|
|
DtoRefreshRequestFromJSON,
|
|
DtoRefreshRequestToJSON,
|
|
DtoTokenPairFromJSON,
|
|
DtoTokenPairToJSON,
|
|
} from "../models/index";
|
|
|
|
export interface AuthCallbackRequest {
|
|
provider: string;
|
|
}
|
|
|
|
export interface AuthStartRequest {
|
|
provider: string;
|
|
}
|
|
|
|
export interface LogoutRequest {
|
|
body: DtoLogoutRequest;
|
|
}
|
|
|
|
export interface RefreshRequest {
|
|
body: DtoRefreshRequest;
|
|
}
|
|
|
|
/**
|
|
*
|
|
*/
|
|
export class AuthApi extends runtime.BaseAPI {
|
|
/**
|
|
* Handle social login callback
|
|
*/
|
|
async authCallbackRaw(
|
|
requestParameters: AuthCallbackRequest,
|
|
initOverrides?: RequestInit | runtime.InitOverrideFunction,
|
|
): Promise<runtime.ApiResponse<DtoTokenPair>> {
|
|
if (requestParameters["provider"] == null) {
|
|
throw new runtime.RequiredError(
|
|
"provider",
|
|
'Required parameter "provider" was null or undefined when calling authCallback().',
|
|
);
|
|
}
|
|
|
|
const queryParameters: any = {};
|
|
|
|
const headerParameters: runtime.HTTPHeaders = {};
|
|
|
|
let urlPath = `/auth/{provider}/callback`;
|
|
urlPath = urlPath.replace(
|
|
`{${"provider"}}`,
|
|
encodeURIComponent(String(requestParameters["provider"])),
|
|
);
|
|
|
|
const response = await this.request(
|
|
{
|
|
path: urlPath,
|
|
method: "GET",
|
|
headers: headerParameters,
|
|
query: queryParameters,
|
|
},
|
|
initOverrides,
|
|
);
|
|
|
|
return new runtime.JSONApiResponse(response, (jsonValue) =>
|
|
DtoTokenPairFromJSON(jsonValue),
|
|
);
|
|
}
|
|
|
|
/**
|
|
* Handle social login callback
|
|
*/
|
|
async authCallback(
|
|
requestParameters: AuthCallbackRequest,
|
|
initOverrides?: RequestInit | runtime.InitOverrideFunction,
|
|
): Promise<DtoTokenPair> {
|
|
const response = await this.authCallbackRaw(
|
|
requestParameters,
|
|
initOverrides,
|
|
);
|
|
return await response.value();
|
|
}
|
|
|
|
/**
|
|
* Returns provider authorization URL for the frontend to redirect
|
|
* Begin social login
|
|
*/
|
|
async authStartRaw(
|
|
requestParameters: AuthStartRequest,
|
|
initOverrides?: RequestInit | runtime.InitOverrideFunction,
|
|
): Promise<runtime.ApiResponse<DtoAuthStartResponse>> {
|
|
if (requestParameters["provider"] == null) {
|
|
throw new runtime.RequiredError(
|
|
"provider",
|
|
'Required parameter "provider" was null or undefined when calling authStart().',
|
|
);
|
|
}
|
|
|
|
const queryParameters: any = {};
|
|
|
|
const headerParameters: runtime.HTTPHeaders = {};
|
|
|
|
let urlPath = `/auth/{provider}/start`;
|
|
urlPath = urlPath.replace(
|
|
`{${"provider"}}`,
|
|
encodeURIComponent(String(requestParameters["provider"])),
|
|
);
|
|
|
|
const response = await this.request(
|
|
{
|
|
path: urlPath,
|
|
method: "POST",
|
|
headers: headerParameters,
|
|
query: queryParameters,
|
|
},
|
|
initOverrides,
|
|
);
|
|
|
|
return new runtime.JSONApiResponse(response, (jsonValue) =>
|
|
DtoAuthStartResponseFromJSON(jsonValue),
|
|
);
|
|
}
|
|
|
|
/**
|
|
* Returns provider authorization URL for the frontend to redirect
|
|
* Begin social login
|
|
*/
|
|
async authStart(
|
|
requestParameters: AuthStartRequest,
|
|
initOverrides?: RequestInit | runtime.InitOverrideFunction,
|
|
): Promise<DtoAuthStartResponse> {
|
|
const response = await this.authStartRaw(requestParameters, initOverrides);
|
|
return await response.value();
|
|
}
|
|
|
|
/**
|
|
* Returns the JSON Web Key Set for token verification
|
|
* Get JWKS
|
|
*/
|
|
async getJWKSRaw(
|
|
initOverrides?: RequestInit | runtime.InitOverrideFunction,
|
|
): Promise<runtime.ApiResponse<DtoJWKS>> {
|
|
const queryParameters: any = {};
|
|
|
|
const headerParameters: runtime.HTTPHeaders = {};
|
|
|
|
let urlPath = `/.well-known/jwks.json`;
|
|
|
|
const response = await this.request(
|
|
{
|
|
path: urlPath,
|
|
method: "GET",
|
|
headers: headerParameters,
|
|
query: queryParameters,
|
|
},
|
|
initOverrides,
|
|
);
|
|
|
|
return new runtime.JSONApiResponse(response, (jsonValue) =>
|
|
DtoJWKSFromJSON(jsonValue),
|
|
);
|
|
}
|
|
|
|
/**
|
|
* Returns the JSON Web Key Set for token verification
|
|
* Get JWKS
|
|
*/
|
|
async getJWKS(
|
|
initOverrides?: RequestInit | runtime.InitOverrideFunction,
|
|
): Promise<DtoJWKS> {
|
|
const response = await this.getJWKSRaw(initOverrides);
|
|
return await response.value();
|
|
}
|
|
|
|
/**
|
|
* Revoke refresh token family (logout everywhere)
|
|
*/
|
|
async logoutRaw(
|
|
requestParameters: LogoutRequest,
|
|
initOverrides?: RequestInit | runtime.InitOverrideFunction,
|
|
): Promise<runtime.ApiResponse<void>> {
|
|
if (requestParameters["body"] == null) {
|
|
throw new runtime.RequiredError(
|
|
"body",
|
|
'Required parameter "body" was null or undefined when calling logout().',
|
|
);
|
|
}
|
|
|
|
const queryParameters: any = {};
|
|
|
|
const headerParameters: runtime.HTTPHeaders = {};
|
|
|
|
headerParameters["Content-Type"] = "application/json";
|
|
|
|
let urlPath = `/auth/logout`;
|
|
|
|
const response = await this.request(
|
|
{
|
|
path: urlPath,
|
|
method: "POST",
|
|
headers: headerParameters,
|
|
query: queryParameters,
|
|
body: DtoLogoutRequestToJSON(requestParameters["body"]),
|
|
},
|
|
initOverrides,
|
|
);
|
|
|
|
return new runtime.VoidApiResponse(response);
|
|
}
|
|
|
|
/**
|
|
* Revoke refresh token family (logout everywhere)
|
|
*/
|
|
async logout(
|
|
requestParameters: LogoutRequest,
|
|
initOverrides?: RequestInit | runtime.InitOverrideFunction,
|
|
): Promise<void> {
|
|
await this.logoutRaw(requestParameters, initOverrides);
|
|
}
|
|
|
|
/**
|
|
* Rotate refresh token
|
|
*/
|
|
async refreshRaw(
|
|
requestParameters: RefreshRequest,
|
|
initOverrides?: RequestInit | runtime.InitOverrideFunction,
|
|
): Promise<runtime.ApiResponse<DtoTokenPair>> {
|
|
if (requestParameters["body"] == null) {
|
|
throw new runtime.RequiredError(
|
|
"body",
|
|
'Required parameter "body" was null or undefined when calling refresh().',
|
|
);
|
|
}
|
|
|
|
const queryParameters: any = {};
|
|
|
|
const headerParameters: runtime.HTTPHeaders = {};
|
|
|
|
headerParameters["Content-Type"] = "application/json";
|
|
|
|
let urlPath = `/auth/refresh`;
|
|
|
|
const response = await this.request(
|
|
{
|
|
path: urlPath,
|
|
method: "POST",
|
|
headers: headerParameters,
|
|
query: queryParameters,
|
|
body: DtoRefreshRequestToJSON(requestParameters["body"]),
|
|
},
|
|
initOverrides,
|
|
);
|
|
|
|
return new runtime.JSONApiResponse(response, (jsonValue) =>
|
|
DtoTokenPairFromJSON(jsonValue),
|
|
);
|
|
}
|
|
|
|
/**
|
|
* Rotate refresh token
|
|
*/
|
|
async refresh(
|
|
requestParameters: RefreshRequest,
|
|
initOverrides?: RequestInit | runtime.InitOverrideFunction,
|
|
): Promise<DtoTokenPair> {
|
|
const response = await this.refreshRaw(requestParameters, initOverrides);
|
|
return await response.value();
|
|
}
|
|
}
|