Commit changes

This commit is contained in:
2024-05-15 19:51:12 -05:00
parent 209d620a09
commit 1063a60814
2 changed files with 279 additions and 353 deletions

View File

@@ -1,81 +1,48 @@
// 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) => {
return fetchResponse(this._fetch, this._baseUri + uri, fetchRequest, context)
.then(result => {
const status = result.response.status;
let value: IGetApplicationsResponse | null = null;
if (status === 200) {
@@ -84,96 +51,69 @@ class OapApiV1ClientHttpClient implements IOapApiV1Client {
}
}
if (!value) {
return createResponseError(
status,
result.json
) as IServiceResult<IGetApplicationsResponse>;
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) => {
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;
value = { application: result.json } as ICreateApplicationResponse;
}
} else if (status === 201) {
}
else if (status === 201) {
value = {};
}
if (!value) {
return createResponseError(
status,
result.json
) as IServiceResult<ICreateApplicationResponse>;
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) => {
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;
value = { application: result.json } as IGetApplicationResponse;
}
} else if (status === 304) {
}
else if (status === 304) {
value = { notModified: true };
}
if (!value) {
return createResponseError(
status,
result.json
) as IServiceResult<IGetApplicationResponse>;
return createResponseError(status, result.json) as IServiceResult<IGetApplicationResponse>;
}
let headerValue: string | null | undefined;
headerValue = result.response.headers.get("eTag");
headerValue = result.response.headers.get('eTag');
if (headerValue != null) {
value.eTag = headerValue;
}
@@ -182,45 +122,31 @@ class OapApiV1ClientHttpClient implements IOapApiV1Client {
}
/** 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) => {
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;
value = { application: result.json } as IUpdateApplicationResponse;
}
}
if (!value) {
return createResponseError(
status,
result.json
) as IServiceResult<IUpdateApplicationResponse>;
return createResponseError(status, result.json) as IServiceResult<IUpdateApplicationResponse>;
}
return { value: value };
});