Commit changes
This commit is contained in:
@@ -1,229 +1,155 @@
|
||||
// DO NOT EDIT: generated by fsdgenjs
|
||||
|
||||
import {
|
||||
HttpClientUtility,
|
||||
type IServiceResult,
|
||||
type IHttpClientOptions,
|
||||
} from "facility-core";
|
||||
import type {
|
||||
IOapApiV1Client,
|
||||
IGetApplicationsRequest,
|
||||
IGetApplicationsResponse,
|
||||
ICreateApplicationRequest,
|
||||
ICreateApplicationResponse,
|
||||
IGetApplicationRequest,
|
||||
IGetApplicationResponse,
|
||||
IUpdateApplicationRequest,
|
||||
IUpdateApplicationResponse,
|
||||
IApplication,
|
||||
IApplicationCreateSet,
|
||||
IApplicationChangeSet,
|
||||
IApplicationTermsCreateSet,
|
||||
IApplicationTerms,
|
||||
ApplicationStatus,
|
||||
} from "./oapApiV1ClientTypes";
|
||||
export * from "./oapApiV1ClientTypes";
|
||||
import { HttpClientUtility, IServiceResult, IHttpClientOptions } from 'facility-core';
|
||||
import { IOapApiV1Client, IGetApplicationsRequest, IGetApplicationsResponse, ICreateApplicationRequest, ICreateApplicationResponse, IGetApplicationRequest, IGetApplicationResponse, IUpdateApplicationRequest, IUpdateApplicationResponse, IApplication, IApplicationCreateSet, IApplicationChangeSet, IApplicationTermsCreateSet, IApplicationTerms, ApplicationStatus } from './oapApiV1ClientTypes';
|
||||
export * from './oapApiV1ClientTypes';
|
||||
|
||||
/** Provides access to OapApiV1Client over HTTP via fetch. */
|
||||
export function createHttpClient({
|
||||
fetch,
|
||||
baseUri,
|
||||
}: IHttpClientOptions): IOapApiV1Client {
|
||||
export function createHttpClient({ fetch, baseUri }: IHttpClientOptions): IOapApiV1Client {
|
||||
return new OapApiV1ClientHttpClient(fetch, baseUri);
|
||||
}
|
||||
|
||||
const { fetchResponse, createResponseError, createRequiredRequestFieldError } =
|
||||
HttpClientUtility;
|
||||
const { fetchResponse, createResponseError, createRequiredRequestFieldError } = HttpClientUtility;
|
||||
type IFetch = HttpClientUtility.IFetch;
|
||||
type IFetchRequest = HttpClientUtility.IFetchRequest;
|
||||
|
||||
class OapApiV1ClientHttpClient implements IOapApiV1Client {
|
||||
constructor(fetch: IFetch, baseUri?: string) {
|
||||
if (typeof fetch !== "function") {
|
||||
throw new TypeError("fetch must be a function.");
|
||||
if (typeof fetch !== 'function') {
|
||||
throw new TypeError('fetch must be a function.');
|
||||
}
|
||||
if (typeof baseUri === "undefined") {
|
||||
baseUri = "https://oaprotection.org/api/v1";
|
||||
if (typeof baseUri === 'undefined') {
|
||||
baseUri = 'https://oaprotection.org/api/v1';
|
||||
}
|
||||
if (/[^\/]$/.test(baseUri)) {
|
||||
baseUri += "/";
|
||||
baseUri += '/';
|
||||
}
|
||||
this._fetch = fetch;
|
||||
this._baseUri = baseUri;
|
||||
}
|
||||
|
||||
/** Gets applications for the current user. */
|
||||
public getApplications(
|
||||
request: IGetApplicationsRequest,
|
||||
context?: unknown
|
||||
): Promise<IServiceResult<IGetApplicationsResponse>> {
|
||||
let uri = "applications";
|
||||
public getApplications(request: IGetApplicationsRequest, context?: unknown): Promise<IServiceResult<IGetApplicationsResponse>> {
|
||||
let uri = 'applications';
|
||||
const query: string[] = [];
|
||||
request.status == null || query.push("status=" + request.status);
|
||||
request.limit == null ||
|
||||
query.push("limit=" + request.limit.toString());
|
||||
request.nextToken == null ||
|
||||
query.push("nextToken=" + encodeURIComponent(request.nextToken));
|
||||
request.status == null || query.push('status=' + request.status);
|
||||
request.limit == null || query.push('limit=' + request.limit.toString());
|
||||
request.nextToken == null || query.push('nextToken=' + encodeURIComponent(request.nextToken));
|
||||
if (query.length) {
|
||||
uri = uri + "?" + query.join("&");
|
||||
uri = uri + '?' + query.join('&');
|
||||
}
|
||||
const fetchRequest: IFetchRequest = {
|
||||
method: "GET",
|
||||
method: 'GET',
|
||||
};
|
||||
return fetchResponse(
|
||||
this._fetch,
|
||||
this._baseUri + uri,
|
||||
fetchRequest,
|
||||
context
|
||||
).then((result) => {
|
||||
const status = result.response.status;
|
||||
let value: IGetApplicationsResponse | null = null;
|
||||
if (status === 200) {
|
||||
if (result.json) {
|
||||
value = result.json as IGetApplicationsResponse | null;
|
||||
return fetchResponse(this._fetch, this._baseUri + uri, fetchRequest, context)
|
||||
.then(result => {
|
||||
const status = result.response.status;
|
||||
let value: IGetApplicationsResponse | null = null;
|
||||
if (status === 200) {
|
||||
if (result.json) {
|
||||
value = result.json as IGetApplicationsResponse | null;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!value) {
|
||||
return createResponseError(
|
||||
status,
|
||||
result.json
|
||||
) as IServiceResult<IGetApplicationsResponse>;
|
||||
}
|
||||
return { value: value };
|
||||
});
|
||||
if (!value) {
|
||||
return createResponseError(status, result.json) as IServiceResult<IGetApplicationsResponse>;
|
||||
}
|
||||
return { value: value };
|
||||
});
|
||||
}
|
||||
|
||||
/** Creates a new application for the current user. */
|
||||
public createApplication(
|
||||
request: ICreateApplicationRequest,
|
||||
context?: unknown
|
||||
): Promise<IServiceResult<ICreateApplicationResponse>> {
|
||||
const uri = "applications/";
|
||||
public createApplication(request: ICreateApplicationRequest, context?: unknown): Promise<IServiceResult<ICreateApplicationResponse>> {
|
||||
const uri = 'applications/';
|
||||
if (!request.applicationCreateSet) {
|
||||
return Promise.resolve(
|
||||
createRequiredRequestFieldError("applicationCreateSet")
|
||||
);
|
||||
return Promise.resolve(createRequiredRequestFieldError('applicationCreateSet'));
|
||||
}
|
||||
const fetchRequest: IFetchRequest = {
|
||||
method: "POST",
|
||||
headers: { "Content-Type": "application/json" },
|
||||
body: JSON.stringify(request.applicationCreateSet),
|
||||
method: 'POST',
|
||||
headers: { 'Content-Type': 'application/json' },
|
||||
body: JSON.stringify(request.applicationCreateSet)
|
||||
};
|
||||
return fetchResponse(
|
||||
this._fetch,
|
||||
this._baseUri + uri,
|
||||
fetchRequest,
|
||||
context
|
||||
).then((result) => {
|
||||
const status = result.response.status;
|
||||
let value: ICreateApplicationResponse | null = null;
|
||||
if (status === 200) {
|
||||
if (result.json) {
|
||||
value = {
|
||||
application: result.json,
|
||||
} as ICreateApplicationResponse;
|
||||
return fetchResponse(this._fetch, this._baseUri + uri, fetchRequest, context)
|
||||
.then(result => {
|
||||
const status = result.response.status;
|
||||
let value: ICreateApplicationResponse | null = null;
|
||||
if (status === 200) {
|
||||
if (result.json) {
|
||||
value = { application: result.json } as ICreateApplicationResponse;
|
||||
}
|
||||
}
|
||||
} else if (status === 201) {
|
||||
value = {};
|
||||
}
|
||||
if (!value) {
|
||||
return createResponseError(
|
||||
status,
|
||||
result.json
|
||||
) as IServiceResult<ICreateApplicationResponse>;
|
||||
}
|
||||
return { value: value };
|
||||
});
|
||||
else if (status === 201) {
|
||||
value = {};
|
||||
}
|
||||
if (!value) {
|
||||
return createResponseError(status, result.json) as IServiceResult<ICreateApplicationResponse>;
|
||||
}
|
||||
return { value: value };
|
||||
});
|
||||
}
|
||||
|
||||
/** Gets the specified application for the current user. */
|
||||
public getApplication(
|
||||
request: IGetApplicationRequest,
|
||||
context?: unknown
|
||||
): Promise<IServiceResult<IGetApplicationResponse>> {
|
||||
public getApplication(request: IGetApplicationRequest, context?: unknown): Promise<IServiceResult<IGetApplicationResponse>> {
|
||||
const uriPartId = request.id != null && encodeURIComponent(request.id);
|
||||
if (!uriPartId) {
|
||||
return Promise.resolve(createRequiredRequestFieldError("id"));
|
||||
return Promise.resolve(createRequiredRequestFieldError('id'));
|
||||
}
|
||||
const uri = `applications/${uriPartId}`;
|
||||
const fetchRequest: IFetchRequest = {
|
||||
method: "GET",
|
||||
method: 'GET',
|
||||
};
|
||||
return fetchResponse(
|
||||
this._fetch,
|
||||
this._baseUri + uri,
|
||||
fetchRequest,
|
||||
context
|
||||
).then((result) => {
|
||||
const status = result.response.status;
|
||||
let value: IGetApplicationResponse | null = null;
|
||||
if (status === 200) {
|
||||
if (result.json) {
|
||||
value = {
|
||||
application: result.json,
|
||||
} as IGetApplicationResponse;
|
||||
return fetchResponse(this._fetch, this._baseUri + uri, fetchRequest, context)
|
||||
.then(result => {
|
||||
const status = result.response.status;
|
||||
let value: IGetApplicationResponse | null = null;
|
||||
if (status === 200) {
|
||||
if (result.json) {
|
||||
value = { application: result.json } as IGetApplicationResponse;
|
||||
}
|
||||
}
|
||||
} else if (status === 304) {
|
||||
value = { notModified: true };
|
||||
}
|
||||
if (!value) {
|
||||
return createResponseError(
|
||||
status,
|
||||
result.json
|
||||
) as IServiceResult<IGetApplicationResponse>;
|
||||
}
|
||||
let headerValue: string | null | undefined;
|
||||
headerValue = result.response.headers.get("eTag");
|
||||
if (headerValue != null) {
|
||||
value.eTag = headerValue;
|
||||
}
|
||||
return { value: value };
|
||||
});
|
||||
else if (status === 304) {
|
||||
value = { notModified: true };
|
||||
}
|
||||
if (!value) {
|
||||
return createResponseError(status, result.json) as IServiceResult<IGetApplicationResponse>;
|
||||
}
|
||||
let headerValue: string | null | undefined;
|
||||
headerValue = result.response.headers.get('eTag');
|
||||
if (headerValue != null) {
|
||||
value.eTag = headerValue;
|
||||
}
|
||||
return { value: value };
|
||||
});
|
||||
}
|
||||
|
||||
/** Updates the application. */
|
||||
public updateApplication(
|
||||
request: IUpdateApplicationRequest,
|
||||
context?: unknown
|
||||
): Promise<IServiceResult<IUpdateApplicationResponse>> {
|
||||
public updateApplication(request: IUpdateApplicationRequest, context?: unknown): Promise<IServiceResult<IUpdateApplicationResponse>> {
|
||||
const uriPartId = request.id != null && encodeURIComponent(request.id);
|
||||
if (!uriPartId) {
|
||||
return Promise.resolve(createRequiredRequestFieldError("id"));
|
||||
return Promise.resolve(createRequiredRequestFieldError('id'));
|
||||
}
|
||||
const uri = `applications/${uriPartId}`;
|
||||
if (!request.applicationChangeSet) {
|
||||
return Promise.resolve(
|
||||
createRequiredRequestFieldError("applicationChangeSet")
|
||||
);
|
||||
return Promise.resolve(createRequiredRequestFieldError('applicationChangeSet'));
|
||||
}
|
||||
const fetchRequest: IFetchRequest = {
|
||||
method: "PATCH",
|
||||
headers: { "Content-Type": "application/json" },
|
||||
body: JSON.stringify(request.applicationChangeSet),
|
||||
method: 'PATCH',
|
||||
headers: { 'Content-Type': 'application/json' },
|
||||
body: JSON.stringify(request.applicationChangeSet)
|
||||
};
|
||||
return fetchResponse(
|
||||
this._fetch,
|
||||
this._baseUri + uri,
|
||||
fetchRequest,
|
||||
context
|
||||
).then((result) => {
|
||||
const status = result.response.status;
|
||||
let value: IUpdateApplicationResponse | null = null;
|
||||
if (status === 200) {
|
||||
if (result.json) {
|
||||
value = {
|
||||
application: result.json,
|
||||
} as IUpdateApplicationResponse;
|
||||
return fetchResponse(this._fetch, this._baseUri + uri, fetchRequest, context)
|
||||
.then(result => {
|
||||
const status = result.response.status;
|
||||
let value: IUpdateApplicationResponse | null = null;
|
||||
if (status === 200) {
|
||||
if (result.json) {
|
||||
value = { application: result.json } as IUpdateApplicationResponse;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!value) {
|
||||
return createResponseError(
|
||||
status,
|
||||
result.json
|
||||
) as IServiceResult<IUpdateApplicationResponse>;
|
||||
}
|
||||
return { value: value };
|
||||
});
|
||||
if (!value) {
|
||||
return createResponseError(status, result.json) as IServiceResult<IUpdateApplicationResponse>;
|
||||
}
|
||||
return { value: value };
|
||||
});
|
||||
}
|
||||
|
||||
private _fetch: IFetch;
|
||||
|
||||
Reference in New Issue
Block a user