/**
 * Copyright Super iPaaS Integration LLC, an IBM Company 2024
 */
/* eslint-disable @typescript-eslint/no-explicit-any */
import { BaseAsset } from "../../model/assets-model.js";
import { OPEN_API, SWAGGER } from "../../constants/app-constants.js";

const isOpenAPI = (
  api: any
): api is { openapi: string; paths: Record<string, any> } => {
  return typeof api === "object" && OPEN_API in api && "paths" in api;
};

const isSwaggerAPI = (
  api: any
): api is { swagger: string; paths: Record<string, any> } => {
  return typeof api === "object" && SWAGGER in api && "paths" in api;
};

const isValidRestAPI = (api: BaseAsset): boolean => {
  return isOpenAPI(api) || isSwaggerAPI(api);
};

export { isValidRestAPI };
