mirror of
https://github.com/datahub-project/datahub.git
synced 2025-07-19 15:42:09 +00:00
43 lines
1.1 KiB
TypeScript
43 lines
1.1 KiB
TypeScript
/**
|
|
* Defines available api version types
|
|
*/
|
|
import { ApiError } from 'wherehows-web/utils/api/errors/errors';
|
|
|
|
export type ApiVersion = 'v1' | 'v2';
|
|
|
|
/**
|
|
* Defines the root path for wherehows front-end api requests
|
|
* @param {ApiVersion} [version = 'v1'] the
|
|
* @return {string}
|
|
*/
|
|
export const getApiRoot = (version: ApiVersion = 'v1') => `/api/${version}`;
|
|
|
|
/**
|
|
* Defines the literal possible string enum values for the an api response status
|
|
* @type {string}
|
|
*/
|
|
export enum ApiStatus {
|
|
OK = 'ok',
|
|
// Adds support for success response used in api's like /comments, will refactored to use ok
|
|
SUCCESS = 'success',
|
|
FAILED = 'failed',
|
|
ERROR = 'error'
|
|
}
|
|
|
|
/**
|
|
* Enumerates the currently available Api statuses
|
|
* @type {number}
|
|
*/
|
|
export enum ApiResponseStatus {
|
|
NotFound = 404,
|
|
UnAuthorized = 401,
|
|
InternalServerError = 500
|
|
}
|
|
|
|
/**
|
|
* Convenience function to ascertain if an api error is a not found code
|
|
* @param {Error} e
|
|
* @return {boolean}
|
|
*/
|
|
export const notFoundApiError = (e: Error) => e instanceof ApiError && e.status === ApiResponseStatus.NotFound;
|