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