Skip to content
Merged
152 changes: 120 additions & 32 deletions src/internal/api/authApi.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ import localVarRequest from 'request';
import http from 'http';

/* tslint:disable:no-unused-locals */
import { AcceptAccountRequestResponseModel } from '../model/acceptAccountRequestResponseModel';
import { IssueApiKeyRequest } from '../model/issueApiKeyRequest';
import { IssueApiKeyResponse } from '../model/issueApiKeyResponse';
import { IssueJWTResponse } from '../model/issueJWTResponse';
Expand Down Expand Up @@ -109,6 +110,121 @@ export class AuthApi {
this.interceptors.push(interceptor);
}

/**
* 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.
* @summary Accept an account request
* @param id ID of the account request to accept
* @param xUserPassword Password of the admin or superadmin user
* @param xUserEmail Email of an admin or superadmin user
*/
public async authControllerAcceptAccountRequest(
id: string,
xUserPassword?: string,
xUserEmail?: string,
options: { headers: { [name: string]: string } } = { headers: {} }
): Promise<{
response: http.IncomingMessage;
body: AcceptAccountRequestResponseModel;
}> {
const localVarPath =
this.basePath +
'/auth/account-request/{id}/accept'.replace(
'{' + 'id' + '}',
encodeURIComponent(String(id))
);
let localVarQueryParameters: any = {};
let localVarHeaderParams: any = (<any>Object).assign(
{},
this._defaultHeaders
);
const produces = ['application/json'];
// give precedence to 'application/json'
if (produces.indexOf('application/json') >= 0) {
localVarHeaderParams.Accept = 'application/json';
} else {
localVarHeaderParams.Accept = produces.join(',');
}
let localVarFormParams: any = {};

// verify required parameter 'id' is not null or undefined
if (id === null || id === undefined) {
throw new Error(
'Required parameter id was null or undefined when calling authControllerAcceptAccountRequest.'
);
}

localVarHeaderParams['X-User-Password'] = ObjectSerializer.serialize(
xUserPassword,
'string'
);
localVarHeaderParams['X-User-Email'] = ObjectSerializer.serialize(
xUserEmail,
'string'
);
(<any>Object).assign(localVarHeaderParams, options.headers);

let localVarUseFormData = false;

let localVarRequestOptions: localVarRequest.Options = {
method: 'POST',
qs: localVarQueryParameters,
headers: localVarHeaderParams,
uri: localVarPath,
useQuerystring: this._useQuerystring,
json: true,
};

let authenticationPromise = Promise.resolve();
if (this.authentications.API_Key.accessToken) {
authenticationPromise = authenticationPromise.then(() =>
this.authentications.API_Key.applyToRequest(localVarRequestOptions)
);
}
authenticationPromise = authenticationPromise.then(() =>
this.authentications.default.applyToRequest(localVarRequestOptions)
);

let interceptorPromise = authenticationPromise;
for (const interceptor of this.interceptors) {
interceptorPromise = interceptorPromise.then(() =>
interceptor(localVarRequestOptions)
);
}

return interceptorPromise.then(() => {
if (Object.keys(localVarFormParams).length) {
if (localVarUseFormData) {
(<any>localVarRequestOptions).formData = localVarFormParams;
} else {
localVarRequestOptions.form = localVarFormParams;
}
}
return new Promise<{
response: http.IncomingMessage;
body: AcceptAccountRequestResponseModel;
}>((resolve, reject) => {
localVarRequest(localVarRequestOptions, (error, response, body) => {
if (error) {
reject(error);
} else {
if (
response.statusCode &&
response.statusCode >= 200 &&
response.statusCode <= 299
) {
body = ObjectSerializer.deserialize(
body,
'AcceptAccountRequestResponseModel'
);
resolve({ response: response, body: body });
} else {
reject(new HttpError(response, body, response.statusCode));
}
}
});
});
});
}
/**
* Allows a prospective user to submit a request for a new account. The request is stored and can be reviewed by an admin.
Comment thread
aakashg00 marked this conversation as resolved.
Outdated
* @summary Submit a new account request
Expand Down Expand Up @@ -335,8 +451,8 @@ export class AuthApi {
*/
public async authControllerDeleteAccountRequest(
id: string,
xUserPassword: string,
xUserEmail: string,
xUserPassword?: string,
xUserEmail?: string,
options: { headers: { [name: string]: string } } = { headers: {} }
): Promise<{
response: http.IncomingMessage;
Expand Down Expand Up @@ -369,20 +485,6 @@ export class AuthApi {
);
}

// verify required parameter 'xUserPassword' is not null or undefined
if (xUserPassword === null || xUserPassword === undefined) {
throw new Error(
'Required parameter xUserPassword was null or undefined when calling authControllerDeleteAccountRequest.'
);
}

// verify required parameter 'xUserEmail' is not null or undefined
if (xUserEmail === null || xUserEmail === undefined) {
throw new Error(
'Required parameter xUserEmail was null or undefined when calling authControllerDeleteAccountRequest.'
);
}

localVarHeaderParams['X-User-Password'] = ObjectSerializer.serialize(
xUserPassword,
'string'
Expand Down Expand Up @@ -549,8 +651,8 @@ export class AuthApi {
* @param xUserEmail Email of an admin or superadmin user
*/
public async authControllerGetAllAccountRequests(
xUserPassword: string,
xUserEmail: string,
xUserPassword?: string,
xUserEmail?: string,
options: { headers: { [name: string]: string } } = { headers: {} }
): Promise<{
response: http.IncomingMessage;
Expand All @@ -571,20 +673,6 @@ export class AuthApi {
}
let localVarFormParams: any = {};

// verify required parameter 'xUserPassword' is not null or undefined
if (xUserPassword === null || xUserPassword === undefined) {
throw new Error(
'Required parameter xUserPassword was null or undefined when calling authControllerGetAllAccountRequests.'
);
}

// verify required parameter 'xUserEmail' is not null or undefined
if (xUserEmail === null || xUserEmail === undefined) {
throw new Error(
'Required parameter xUserEmail was null or undefined when calling authControllerGetAllAccountRequests.'
);
}

localVarHeaderParams['X-User-Password'] = ObjectSerializer.serialize(
xUserPassword,
'string'
Expand Down
49 changes: 49 additions & 0 deletions src/internal/model/acceptAccountRequestResponseModel.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
/**
* 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 { RequestFile } from './models';
import { AcceptAccountRequestResponseProject } from './acceptAccountRequestResponseProject';
import { AcceptAccountRequestResponseUser } from './acceptAccountRequestResponseUser';

export class AcceptAccountRequestResponseModel {
/**
* The created user
*/
'user': AcceptAccountRequestResponseUser;
/**
* The created or linked project (if applicable)
*/
'project'?: AcceptAccountRequestResponseProject;

static discriminator: string | undefined = undefined;

static attributeTypeMap: Array<{
name: string;
baseName: string;
type: string;
}> = [
{
name: 'user',
baseName: 'user',
type: 'AcceptAccountRequestResponseUser',
},
{
name: 'project',
baseName: 'project',
type: 'AcceptAccountRequestResponseProject',
},
];

static getAttributeTypeMap() {
return AcceptAccountRequestResponseModel.attributeTypeMap;
}
}
47 changes: 47 additions & 0 deletions src/internal/model/acceptAccountRequestResponseProject.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
/**
* 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 { RequestFile } from './models';

export class AcceptAccountRequestResponseProject {
/**
* Project ID
*/
'id': number;
/**
* Project name
*/
'name': string;

static discriminator: string | undefined = undefined;

static attributeTypeMap: Array<{
name: string;
baseName: string;
type: string;
}> = [
{
name: 'id',
baseName: 'id',
type: 'number',
},
{
name: 'name',
baseName: 'name',
type: 'string',
},
];

static getAttributeTypeMap() {
return AcceptAccountRequestResponseProject.attributeTypeMap;
}
}
82 changes: 82 additions & 0 deletions src/internal/model/acceptAccountRequestResponseUser.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
/**
* 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 { RequestFile } from './models';

export class AcceptAccountRequestResponseUser {
/**
* User ID
*/
'id': number;
/**
* Email
*/
'email': string;
/**
* Name
*/
'name': string;
/**
* User type
*/
'type': AcceptAccountRequestResponseUser.TypeEnum;
/**
* Project IDs the user is linked to
*/
'projectIds'?: Array<number>;

static discriminator: string | undefined = undefined;

static attributeTypeMap: Array<{
name: string;
baseName: string;
type: string;
}> = [
{
name: 'id',
baseName: 'id',
type: 'number',
},
{
name: 'email',
baseName: 'email',
type: 'string',
},
{
name: 'name',
baseName: 'name',
type: 'string',
},
{
name: 'type',
baseName: 'type',
type: 'AcceptAccountRequestResponseUser.TypeEnum',
},
{
name: 'projectIds',
baseName: 'projectIds',
type: 'Array<number>',
},
];

static getAttributeTypeMap() {
return AcceptAccountRequestResponseUser.attributeTypeMap;
}
}

export namespace AcceptAccountRequestResponseUser {
export enum TypeEnum {
Superadmin = <any>'SUPERADMIN',
Admin = <any>'ADMIN',
User = <any>'USER',
}
}
Loading