@digi-frontend/dgate-api-documentation 1.0.33 → 1.0.35

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"layout.helper.js","sources":["../../../src/helpers/layout.helper.ts"],"sourcesContent":["import { TransformedPathsArray } from '@entities/layout.type'\r\nimport { OpenAPIFile, SecurityScheme } from '@entities/openApi'\r\nimport { TransformedOpenApi } from '@entities/transformedOpenApi'\r\n\r\nexport const transformOpenApiObject = (openApiJson: OpenAPIFile): TransformedOpenApi => {\r\n if (openApiJson.components && openApiJson.components.securitySchemes) {\r\n const authKey = Object.keys(openApiJson.components.securitySchemes)?.at(0)\r\n if (authKey) {\r\n openApiJson.components.securitySchemes[authKey].type =\r\n openApiJson?.components?.securitySchemes?.[\r\n authKey\r\n ]?.type?.toUpperCase() as SecurityScheme['type']\r\n }\r\n } else {\r\n openApiJson.components = {\r\n securitySchemes: {\r\n Public: {\r\n type: 'http',\r\n scheme: 'public',\r\n },\r\n },\r\n }\r\n }\r\n\r\n if (!openApiJson.tags) {\r\n openApiJson.tags = []\r\n }\r\n\r\n return {\r\n ...openApiJson,\r\n paths: transformPathsToArray(openApiJson.paths),\r\n } as TransformedOpenApi\r\n}\r\n\r\nexport const transformOpenApiObjectToOrigin = (values: TransformedOpenApi): OpenAPIFile => {\r\n const object = {\r\n ...values,\r\n paths: transformPathsArrayToOrigin(values.paths),\r\n }\r\n if (object.components && object.components.securitySchemes) {\r\n const authKey = Object.keys(object.components.securitySchemes)?.at(0)\r\n if (authKey) {\r\n if (object.components.securitySchemes[authKey].type.toLowerCase() == 'APIKEY'.toLowerCase()) {\r\n object.components.securitySchemes[authKey].in = object.components.securitySchemes[\r\n authKey\r\n ].in.toUpperCase() as SecurityScheme['in']\r\n }\r\n object.components.securitySchemes[authKey].type = object?.components?.securitySchemes?.[\r\n authKey\r\n ]?.type?.toUpperCase() as SecurityScheme['type']\r\n }\r\n }\r\n return object\r\n}\r\n\r\nexport const transformPathsToArray = (paths: OpenAPIFile['paths']): TransformedPathsArray | any => {\r\n const transformedPaths = Object.entries(paths).map(([path, methods]) => ({\r\n path,\r\n methods: Object.entries(methods).map(([method, methodProps]) => {\r\n const obj: any = {\r\n ...methodProps,\r\n type: method,\r\n tags: methodProps.tags || [],\r\n responses: Object.entries(methodProps.responses).map(([code, codeProps]) => {\r\n const contentType = Object.keys(codeProps.content || {})[0]\r\n return {\r\n code,\r\n content: {\r\n contentType,\r\n schema: {\r\n ...codeProps.content?.[contentType]?.schema,\r\n properties: JSON.stringify(codeProps.content?.[contentType]?.schema?.properties),\r\n },\r\n },\r\n }\r\n }),\r\n }\r\n // Add parameters if it does not exist in the original JSON\r\n if (!methodProps?.parameters) {\r\n obj.parameters = []\r\n }\r\n\r\n if (method.toLowerCase() != 'get') {\r\n const contentType = Object.keys(methodProps?.requestBody?.content || {})[0]\r\n const reqSchema = methodProps?.requestBody?.content?.schema\r\n const requestBodyData = methodProps?.requestBody?.content?.schema?.properties\r\n ? {\r\n content: {\r\n contentType,\r\n schema: {\r\n ...reqSchema,\r\n properties: reqSchema?.properties ? JSON.stringify(reqSchema?.properties) : '{}',\r\n },\r\n },\r\n }\r\n : {\r\n content: {\r\n contentType: 'application/json',\r\n schema: {\r\n properties: '{}',\r\n type: 'object',\r\n },\r\n },\r\n }\r\n\r\n obj['requestBody'] = requestBodyData\r\n }\r\n\r\n return obj\r\n }),\r\n }))\r\n\r\n return transformedPaths\r\n}\r\n\r\nexport const transformPathsArrayToOrigin = (paths: TransformedPathsArray): OpenAPIFile['paths'] => {\r\n return paths.reduce((acc, { path, methods }) => {\r\n acc[path] = methods.reduce((methodAcc, { type, tags, responses, requestBody, ...rest }) => {\r\n // Initialize the method object\r\n methodAcc[type] = {\r\n ...rest,\r\n tags,\r\n responses: responses.reduce((respAcc, { code, content }) => {\r\n respAcc[code] = {\r\n description: 'Success', // Assuming this is static from the original data\r\n content: content.contentType\r\n ? {\r\n [content.contentType]: {\r\n schema: {\r\n ...(content.schema as object),\r\n properties: JSON.parse((content?.schema as any)?.properties as string),\r\n },\r\n },\r\n }\r\n : {},\r\n }\r\n return respAcc\r\n }, {} as Record<string, any>),\r\n }\r\n\r\n const parsedRequestBodyProps =\r\n type !== 'get' ? JSON.parse(requestBody.content.schema.properties) : {}\r\n // Add requestBody for non-GET methods\r\n if (type !== 'get') {\r\n methodAcc[type].requestBody = {\r\n content: {\r\n [requestBody.content.contentType]: {\r\n schema: {\r\n ...requestBody.content.schema,\r\n properties: parsedRequestBodyProps,\r\n },\r\n },\r\n },\r\n }\r\n }\r\n\r\n return methodAcc\r\n }, {} as Record<string, any>)\r\n\r\n return acc\r\n }, {} as OpenAPIFile['paths'])\r\n}\r\n"],"names":["transformOpenApiObject","openApiJson","components","securitySchemes","authKey","_a","Object","keys","at","type","_e","_d","_b","_c","toUpperCase","Public","scheme","tags","assign","paths","transformPathsToArray","transformOpenApiObjectToOrigin","values","object","transformPathsArrayToOrigin","toLowerCase","in","entries","map","path","methods","method","methodProps","obj","responses","code","codeProps","contentType","content","schema","properties","JSON","stringify","parameters","requestBody","reqSchema","requestBodyData","reduce","acc","methodAcc","rest","__rest","respAcc","description","parse","parsedRequestBodyProps"],"mappings":"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"}
1
+ {"version":3,"file":"layout.helper.js","sources":["../../../src/helpers/layout.helper.ts"],"sourcesContent":["import { TransformedPathsArray } from '@entities/layout.type'\r\nimport { OpenAPIFile, SecurityScheme } from '@entities/openApi'\r\nimport { TransformedOpenApi } from '@entities/transformedOpenApi'\r\n\r\nexport const transformOpenApiObject = (openApiJson: OpenAPIFile): TransformedOpenApi => {\r\n if (openApiJson.components && openApiJson.components.securitySchemes) {\r\n const authKey = Object.keys(openApiJson.components.securitySchemes)?.at(0)\r\n if (authKey) {\r\n openApiJson.components.securitySchemes[authKey].type =\r\n openApiJson?.components?.securitySchemes?.[\r\n authKey\r\n ]?.type?.toUpperCase() as SecurityScheme['type']\r\n }\r\n } else {\r\n openApiJson.components = {\r\n securitySchemes: {\r\n Public: {\r\n type: 'http',\r\n scheme: 'public',\r\n },\r\n },\r\n }\r\n }\r\n\r\n if (!openApiJson.tags) {\r\n openApiJson.tags = []\r\n }\r\n\r\n return {\r\n ...openApiJson,\r\n paths: transformPathsToArray(openApiJson.paths),\r\n } as TransformedOpenApi\r\n}\r\n\r\nexport const transformOpenApiObjectToOrigin = (values: TransformedOpenApi): OpenAPIFile => {\r\n const object = {\r\n ...values,\r\n paths: transformPathsArrayToOrigin(values.paths),\r\n }\r\n if (object.components && object.components.securitySchemes) {\r\n const authKey = Object.keys(object.components.securitySchemes)?.at(0)\r\n if (authKey) {\r\n if (object.components.securitySchemes[authKey].type.toLowerCase() == 'APIKEY'.toLowerCase()) {\r\n object.components.securitySchemes[authKey].in = object.components.securitySchemes[\r\n authKey\r\n ].in.toUpperCase() as SecurityScheme['in']\r\n }\r\n object.components.securitySchemes[authKey].type = object?.components?.securitySchemes?.[\r\n authKey\r\n ]?.type?.toUpperCase() as SecurityScheme['type']\r\n }\r\n }\r\n return object\r\n}\r\n\r\nexport const transformPathsToArray = (paths: OpenAPIFile['paths']): TransformedPathsArray | any => {\r\n const transformedPaths = Object.entries(paths).map(([path, methods]) => ({\r\n path,\r\n methods: Object.entries(methods).map(([method, methodProps]) => {\r\n const obj: any = {\r\n ...methodProps,\r\n type: method,\r\n tags: methodProps.tags || [],\r\n responses: Object.entries(methodProps.responses).map(([code, codeProps]) => {\r\n const contentType = Object.keys(codeProps.content || {})[0]\r\n return {\r\n code,\r\n content: {\r\n contentType,\r\n schema: {\r\n ...codeProps.content?.[contentType]?.schema,\r\n properties: JSON.stringify(codeProps.content?.[contentType]?.schema?.properties),\r\n },\r\n },\r\n }\r\n }),\r\n }\r\n // Add parameters if it does not exist in the original JSON\r\n if (!methodProps?.parameters) {\r\n obj.parameters = []\r\n }\r\n\r\n if (method.toLowerCase() != 'get') {\r\n const contentType = Object.keys(methodProps?.requestBody?.content || {})[0]\r\n const reqSchema = methodProps?.requestBody?.content?.schema\r\n const requestBodyData = methodProps?.requestBody?.content?.schema?.properties\r\n ? {\r\n content: {\r\n contentType,\r\n schema: {\r\n ...reqSchema,\r\n properties: reqSchema?.properties ? JSON.stringify(reqSchema?.properties) : '{}',\r\n },\r\n },\r\n }\r\n : {\r\n content: {\r\n contentType: 'application/json',\r\n schema: {\r\n properties: '{}',\r\n type: 'object',\r\n },\r\n },\r\n }\r\n\r\n obj['requestBody'] = requestBodyData\r\n }\r\n\r\n return obj\r\n }),\r\n }))\r\n\r\n return transformedPaths\r\n}\r\n\r\nconst validateBodyForResponse = (content, method) => {\r\n let _content = JSON.parse((content?.schema as any)?.properties as string)\r\n if (method == 'get') {\r\n if (!_content?.body) {\r\n _content = {\r\n body: _content,\r\n }\r\n }\r\n }\r\n return _content\r\n}\r\n\r\nexport const transformPathsArrayToOrigin = (paths: TransformedPathsArray): OpenAPIFile['paths'] => {\r\n return paths.reduce((acc, { path, methods }) => {\r\n acc[path] = methods.reduce((methodAcc, { type, tags, responses, requestBody, ...rest }) => {\r\n // Initialize the method object\r\n methodAcc[type] = {\r\n ...rest,\r\n tags,\r\n responses: responses.reduce((respAcc, { code, content }) => {\r\n respAcc[code] = {\r\n description: 'Success', // Assuming this is static from the original data\r\n content: content.contentType\r\n ? {\r\n [content.contentType]: {\r\n schema: {\r\n ...(content.schema as object),\r\n properties: validateBodyForResponse(content, type),\r\n },\r\n },\r\n }\r\n : {},\r\n }\r\n return respAcc\r\n }, {} as Record<string, any>),\r\n }\r\n\r\n const parsedRequestBodyProps =\r\n type !== 'get' ? JSON.parse(requestBody.content.schema.properties) : {}\r\n // Add requestBody for non-GET methods\r\n if (type !== 'get') {\r\n methodAcc[type].requestBody = {\r\n content: {\r\n [requestBody.content.contentType]: {\r\n schema: {\r\n ...requestBody.content.schema,\r\n properties: parsedRequestBodyProps,\r\n },\r\n },\r\n },\r\n }\r\n }\r\n\r\n return methodAcc\r\n }, {} as Record<string, any>)\r\n\r\n return acc\r\n }, {} as OpenAPIFile['paths'])\r\n}\r\n"],"names":["transformOpenApiObject","openApiJson","components","securitySchemes","authKey","_a","Object","keys","at","type","_e","_d","_b","_c","toUpperCase","Public","scheme","tags","assign","paths","transformPathsToArray","transformOpenApiObjectToOrigin","values","object","transformPathsArrayToOrigin","toLowerCase","in","entries","map","path","methods","method","methodProps","obj","responses","code","codeProps","contentType","content","schema","properties","JSON","stringify","parameters","requestBody","reqSchema","requestBodyData","validateBodyForResponse","_content","parse","body","reduce","acc","methodAcc","rest","__rest","respAcc","description","parsedRequestBodyProps"],"mappings":"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"}