All files / olz-website/src/Api/client OlzApi.ts

66.66% Statements 10/15
100% Branches 0/0
50% Functions 1/2
66.66% Lines 8/12

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24  1x 1x 1x   1x 27x   1x                       1x   1x  
import {OlzApiEndpoint, OlzApiRequests, OlzApiResponses} from './generated_olz_api_types';
import {Api} from 'php-typescript-api';
import {codeHref} from '../../Utils/constants';
import {getErrorOrThrow} from '../../Utils/generalUtils';
 
export class OlzApi extends Api<OlzApiEndpoint, OlzApiRequests, OlzApiResponses> {
    public baseUrl = `${codeHref}api`;
 
    public async getResult<T extends OlzApiEndpoint>(
        endpoint: T,
        request: OlzApiRequests[T],
    ): Promise<[Error, null]|[null, OlzApiResponses[T]]> {
        try {
            const response = await this.call(endpoint, request);
            return [null, response];
        } catch (unk: unknown) {
            const err = getErrorOrThrow(unk);
            return [err, null];
        }
    }
}
 
export const olzApi = new OlzApi();