From 9d8c8244c2e8fe42fb56dddb950105af2af8f042 Mon Sep 17 00:00:00 2001 From: p-zielinski <82354717+p-zielinski@users.noreply.github.com> Date: Fri, 1 Dec 2023 15:06:51 +0100 Subject: [PATCH] fix --- reference/OpenAPI.json | 6 +- ...ount-important-statistics-about-openapi.ts | 96 +++++++++++-------- 2 files changed, 55 insertions(+), 47 deletions(-) diff --git a/reference/OpenAPI.json b/reference/OpenAPI.json index 2536a694f..864a6bbd9 100644 --- a/reference/OpenAPI.json +++ b/reference/OpenAPI.json @@ -539,10 +539,6 @@ "type": "string", "example": "camp_rRsfatlwN7unSeUIJDCYedal" }, - "ParameterCampaignId": { - "type": "string", - "example": "camp_rRsfatlwN7unSeUIJDCYedal" - }, "ParameterEarningRuleId": { "type": "string", "example": "ern_CFuv1O0IDl8Jgph0ojhMu8bH" @@ -70031,7 +70027,7 @@ "/v1/customers/{customerId}": { "parameters": [ { - "schema": {, + "schema": { "$ref": "#/components/schemas/ParameterCustomerId" }, "name": "customerId", diff --git a/scripts/count-important-statistics-about-openapi.ts b/scripts/count-important-statistics-about-openapi.ts index 53a1c3435..16a2fb874 100644 --- a/scripts/count-important-statistics-about-openapi.ts +++ b/scripts/count-important-statistics-about-openapi.ts @@ -2,64 +2,76 @@ import path from "path"; import fsPromises from "fs/promises"; const main = async () => { - const openApiPath = path.join(__dirname, "../reference/OpenAPI.json"); - const openAPIContent = JSON.parse( - (await fsPromises.readFile(openApiPath)).toString() - ); + const openApiPath = path.join(__dirname, "../reference/OpenAPI.json"); + const openAPIContent = JSON.parse( + (await fsPromises.readFile(openApiPath)).toString() + ); - countResponsesSchemasWithOneOf(openAPIContent); - countParametersWithoutRefs(openAPIContent); - countEndpointsWithParametersThatNotUsingRefs(openAPIContent); -} + countResponsesSchemasWithOneOf(openAPIContent); + countParametersWithoutRefs(openAPIContent); + countEndpointsWithParametersThatNotUsingRefs(openAPIContent); +}; const countResponsesSchemasWithOneOf = (openAPIContent) => { - const schemas = openAPIContent.components.schemas; + const schemas = openAPIContent.components.schemas; - const schemasWithOneOf = Object.keys(schemas) - .filter(schemaName => schemaName.includes("ResponseBody")) - .filter(schemaName => schemas[schemaName].oneOf) + const schemasWithOneOf = Object.keys(schemas) + .filter((schemaName) => schemaName.includes("ResponseBody")) + .filter((schemaName) => schemas[schemaName].oneOf); - console.log("Responses schemas with oneOf = ", schemasWithOneOf); -} + console.log("Responses schemas with oneOf = ", schemasWithOneOf); +}; const countParametersWithoutRefs = (openAPIContent) => { - const parameters = openAPIContent.components.parameters; + const parameters = openAPIContent.components.parameters; - const parametersWithoutRefs = Object.keys(parameters) - .filter(parameterName => !parameters[parameterName].schema.$ref) + const parametersWithoutRefs = Object.keys(parameters).filter( + (parameterName) => !parameters[parameterName].schema.$ref + ); - console.log("Parameters without refs = ", parametersWithoutRefs.length); -} + console.log( + "Parameters without refs = ", + parametersWithoutRefs.length, + parametersWithoutRefs + ); +}; const countEndpointsWithParametersThatNotUsingRefs = (openAPIContent) => { - type PathsWithMethods = Record; - type MethodWithParametersCount = Record; + type PathsWithMethods = Record; + type MethodWithParametersCount = Record; - const paths = openAPIContent.paths; + const paths = openAPIContent.paths; - const result: PathsWithMethods = {} + const result: PathsWithMethods = {}; - Object.keys(paths).forEach(path => { - result[path] = {}; + Object.keys(paths).forEach((path) => { + result[path] = {}; - const methods = Object.keys(paths[path]); - methods.forEach(method => { - const parameters = paths[path][method].parameters; - if(parameters){ - const parametersWithoutRefs = parameters.filter(parameter => !parameter.$ref); + const methods = Object.keys(paths[path]); + methods.forEach((method) => { + const parameters = paths[path][method].parameters; + if (parameters) { + const parametersWithoutRefs = parameters.filter( + (parameter) => !parameter.$ref + ); - if(parametersWithoutRefs.length){ - result[path][method] = parametersWithoutRefs.map(parameter => parameter.name).join(", "); - } - } - }) - - if(!Object.keys(result[path]).length){ - delete result[path]; + if (parametersWithoutRefs.length) { + result[path][method] = parametersWithoutRefs + .map((parameter) => parameter.name) + .join(", "); } - }) + } + }); + + if (!Object.keys(result[path]).length) { + delete result[path]; + } + }); - console.log("Schema and methods that contains parameters without refs = ", result); -} + console.log( + "Schema and methods that contains parameters without refs = ", + result + ); +}; -main() +main();