Skip to content
Merged
126 changes: 93 additions & 33 deletions src/internal/apis/AuthApi.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@

import * as runtime from '../runtime';
import type {
AcceptAccountRequestResponseModel,
GetAllApiKeysResponse,
IssueApiKeyRequest,
IssueApiKeyResponse,
Expand All @@ -23,6 +24,8 @@ import type {
RequestNewAccountModel,
} from '../models/index';
import {
AcceptAccountRequestResponseModelFromJSON,
AcceptAccountRequestResponseModelToJSON,
GetAllApiKeysResponseFromJSON,
GetAllApiKeysResponseToJSON,
IssueApiKeyRequestFromJSON,
Expand All @@ -39,6 +42,12 @@ import {
RequestNewAccountModelToJSON,
} from '../models/index';

export interface AuthControllerAcceptAccountRequestRequest {
id: string;
xUserPassword?: string;
xUserEmail?: string;
}

export interface AuthControllerCreateAccountRequestRequest {
requestNewAccountModel: RequestNewAccountModel;
}
Expand All @@ -51,8 +60,8 @@ export interface AuthControllerCreateApiKeyRequest {

export interface AuthControllerDeleteAccountRequestRequest {
id: string;
xUserPassword: string;
xUserEmail: string;
xUserPassword?: string;
xUserEmail?: string;
}

export interface AuthControllerDeleteApiKeyByIdRequest {
Expand All @@ -63,8 +72,15 @@ export interface AuthControllerDeleteApiKeyByIdRequest {
}

export interface AuthControllerGetAllAccountRequestsRequest {
xUserPassword: string;
xUserEmail: string;
xUserPassword?: string;
xUserEmail?: string;
}

export interface AuthControllerGetAllApiKeysRequest {
offset?: number;
limit?: number;
xUserPassword?: string;
xUserEmail?: string;
}

export interface AuthControllerGetAllApiKeysRequest {
Expand All @@ -91,6 +107,78 @@ export interface AuthControllerTestAuthRequest {
*
*/
export class AuthApi extends runtime.BaseAPI {
/**
* Accepts a pending account request: creates the user, optionally creates/links a project (for ADMIN requests with a projectName), and deletes the pending request. Requires admin or superadmin credentials.
* Accept an account request
*/
async authControllerAcceptAccountRequestRaw(
requestParameters: AuthControllerAcceptAccountRequestRequest,
initOverrides?: RequestInit | runtime.InitOverrideFunction
): Promise<runtime.ApiResponse<AcceptAccountRequestResponseModel>> {
if (requestParameters['id'] == null) {
throw new runtime.RequiredError(
'id',
'Required parameter "id" was null or undefined when calling authControllerAcceptAccountRequest().'
);
}

const queryParameters: any = {};

const headerParameters: runtime.HTTPHeaders = {};

if (requestParameters['xUserPassword'] != null) {
headerParameters['X-User-Password'] = String(
requestParameters['xUserPassword']
);
}

if (requestParameters['xUserEmail'] != null) {
headerParameters['X-User-Email'] = String(
requestParameters['xUserEmail']
);
}

if (this.configuration && this.configuration.accessToken) {
const token = this.configuration.accessToken;
const tokenString = await token('API_Key', []);

if (tokenString) {
headerParameters['Authorization'] = `Bearer ${tokenString}`;
}
}
const response = await this.request(
{
path: `/auth/account-request/{id}/accept`.replace(
`{${'id'}}`,
encodeURIComponent(String(requestParameters['id']))
),
method: 'POST',
headers: headerParameters,
query: queryParameters,
},
initOverrides
);

return new runtime.JSONApiResponse(response, (jsonValue) =>
AcceptAccountRequestResponseModelFromJSON(jsonValue)
);
}

/**
* Accepts a pending account request: creates the user, optionally creates/links a project (for ADMIN requests with a projectName), and deletes the pending request. Requires admin or superadmin credentials.
* Accept an account request
*/
async authControllerAcceptAccountRequest(
requestParameters: AuthControllerAcceptAccountRequestRequest,
initOverrides?: RequestInit | runtime.InitOverrideFunction
): Promise<AcceptAccountRequestResponseModel> {
const response = await this.authControllerAcceptAccountRequestRaw(
requestParameters,
initOverrides
);
return await response.value();
}

/**
* Allows a prospective user to submit a request for a new account. The request is stored and can be reviewed by an admin.
* Submit a new account request
Expand Down Expand Up @@ -222,20 +310,6 @@ export class AuthApi extends runtime.BaseAPI {
);
}

if (requestParameters['xUserPassword'] == null) {
throw new runtime.RequiredError(
'xUserPassword',
'Required parameter "xUserPassword" was null or undefined when calling authControllerDeleteAccountRequest().'
);
}

if (requestParameters['xUserEmail'] == null) {
throw new runtime.RequiredError(
'xUserEmail',
'Required parameter "xUserEmail" was null or undefined when calling authControllerDeleteAccountRequest().'
);
}

const queryParameters: any = {};

const headerParameters: runtime.HTTPHeaders = {};
Expand Down Expand Up @@ -372,20 +446,6 @@ export class AuthApi extends runtime.BaseAPI {
requestParameters: AuthControllerGetAllAccountRequestsRequest,
initOverrides?: RequestInit | runtime.InitOverrideFunction
): Promise<runtime.ApiResponse<NewAccountRequestsResponse>> {
if (requestParameters['xUserPassword'] == null) {
throw new runtime.RequiredError(
'xUserPassword',
'Required parameter "xUserPassword" was null or undefined when calling authControllerGetAllAccountRequests().'
);
}

if (requestParameters['xUserEmail'] == null) {
throw new runtime.RequiredError(
'xUserEmail',
'Required parameter "xUserEmail" was null or undefined when calling authControllerGetAllAccountRequests().'
);
}

const queryParameters: any = {};

const headerParameters: runtime.HTTPHeaders = {};
Expand Down Expand Up @@ -430,7 +490,7 @@ export class AuthApi extends runtime.BaseAPI {
* Retrieve all account requests
*/
async authControllerGetAllAccountRequests(
requestParameters: AuthControllerGetAllAccountRequestsRequest,
requestParameters: AuthControllerGetAllAccountRequestsRequest = {},
initOverrides?: RequestInit | runtime.InitOverrideFunction
): Promise<NewAccountRequestsResponse> {
const response = await this.authControllerGetAllAccountRequestsRaw(
Expand Down
91 changes: 91 additions & 0 deletions src/internal/models/AcceptAccountRequestResponseModel.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
/* tslint:disable */
/* eslint-disable */
/**
* Juno
* Juno Public API Docs
*
* 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 { mapValues } from '../runtime';
import type { AcceptAccountRequestResponseProject } from './AcceptAccountRequestResponseProject';
import {
AcceptAccountRequestResponseProjectFromJSON,
AcceptAccountRequestResponseProjectFromJSONTyped,
AcceptAccountRequestResponseProjectToJSON,
} from './AcceptAccountRequestResponseProject';
import type { AcceptAccountRequestResponseUser } from './AcceptAccountRequestResponseUser';
import {
AcceptAccountRequestResponseUserFromJSON,
AcceptAccountRequestResponseUserFromJSONTyped,
AcceptAccountRequestResponseUserToJSON,
} from './AcceptAccountRequestResponseUser';

/**
*
* @export
* @interface AcceptAccountRequestResponseModel
*/
export interface AcceptAccountRequestResponseModel {
/**
* The created user
* @type {AcceptAccountRequestResponseUser}
* @memberof AcceptAccountRequestResponseModel
*/
user: AcceptAccountRequestResponseUser;
/**
* The created or linked project (if applicable)
* @type {AcceptAccountRequestResponseProject}
* @memberof AcceptAccountRequestResponseModel
*/
project?: AcceptAccountRequestResponseProject;
}

/**
* Check if a given object implements the AcceptAccountRequestResponseModel interface.
*/
export function instanceOfAcceptAccountRequestResponseModel(
value: object
): value is AcceptAccountRequestResponseModel {
if (!('user' in value) || value['user'] === undefined) return false;
return true;
}

export function AcceptAccountRequestResponseModelFromJSON(
json: any
): AcceptAccountRequestResponseModel {
return AcceptAccountRequestResponseModelFromJSONTyped(json, false);
}

export function AcceptAccountRequestResponseModelFromJSONTyped(
json: any,
ignoreDiscriminator: boolean
): AcceptAccountRequestResponseModel {
if (json == null) {
return json;
}
return {
user: AcceptAccountRequestResponseUserFromJSON(json['user']),
project:
json['project'] == null
? undefined
: AcceptAccountRequestResponseProjectFromJSON(json['project']),
};
}

export function AcceptAccountRequestResponseModelToJSON(
value?: AcceptAccountRequestResponseModel | null
): any {
if (value == null) {
return value;
}
return {
user: AcceptAccountRequestResponseUserToJSON(value['user']),
project: AcceptAccountRequestResponseProjectToJSON(value['project']),
};
}
76 changes: 76 additions & 0 deletions src/internal/models/AcceptAccountRequestResponseProject.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
/* tslint:disable */
/* eslint-disable */
/**
* Juno
* Juno Public API Docs
*
* 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 { mapValues } from '../runtime';
/**
*
* @export
* @interface AcceptAccountRequestResponseProject
*/
export interface AcceptAccountRequestResponseProject {
/**
* Project ID
* @type {number}
* @memberof AcceptAccountRequestResponseProject
*/
id: number;
/**
* Project name
* @type {string}
* @memberof AcceptAccountRequestResponseProject
*/
name: string;
}

/**
* Check if a given object implements the AcceptAccountRequestResponseProject interface.
*/
export function instanceOfAcceptAccountRequestResponseProject(
value: object
): value is AcceptAccountRequestResponseProject {
if (!('id' in value) || value['id'] === undefined) return false;
if (!('name' in value) || value['name'] === undefined) return false;
return true;
}

export function AcceptAccountRequestResponseProjectFromJSON(
json: any
): AcceptAccountRequestResponseProject {
return AcceptAccountRequestResponseProjectFromJSONTyped(json, false);
}

export function AcceptAccountRequestResponseProjectFromJSONTyped(
json: any,
ignoreDiscriminator: boolean
): AcceptAccountRequestResponseProject {
if (json == null) {
return json;
}
return {
id: json['id'],
name: json['name'],
};
}

export function AcceptAccountRequestResponseProjectToJSON(
value?: AcceptAccountRequestResponseProject | null
): any {
if (value == null) {
return value;
}
return {
id: value['id'],
name: value['name'],
};
}
Loading
Loading