{"version":3,"file":"server.mjs","sources":["../../../src/assemblers/document/server.ts"],"sourcesContent":["import type { OpenAPIV3_1 } from 'openapi-types';\n\nimport type { Core } from '@strapi/types';\nimport type { DocumentContext } from '../../types';\n\nimport type { Assembler } from '..';\n\nexport interface ServerConfig {\n  url: string;\n  description?: string;\n  variables?: Record<string, OpenAPIV3_1.ServerVariableObject>;\n}\n\nconst DEFAULT_SERVER_URL = 'http://localhost:1337';\n\nexport class DocumentServerAssembler implements Assembler.Document {\n  assemble(context: DocumentContext): void {\n    const { strapi } = context;\n\n    context.output.data.servers = this._getServers(strapi);\n  }\n\n  private _getServers(strapi: Core.Strapi): OpenAPIV3_1.ServerObject[] {\n    const serverConfig = strapi.config.get<ServerConfig[]>('openapi.servers') ?? [];\n\n    if (serverConfig.length > 0) {\n      return serverConfig;\n    }\n\n    const serverUrl = strapi.config.get<string>('server.url') ?? DEFAULT_SERVER_URL;\n\n    return [\n      {\n        url: serverUrl,\n        description: 'Default server',\n      },\n    ];\n  }\n}\n"],"names":["DEFAULT_SERVER_URL","DocumentServerAssembler","assemble","context","strapi","output","data","servers","_getServers","serverConfig","config","get","length","serverUrl","url","description"],"mappings":"AAaA,MAAMA,kBAAAA,GAAqB,uBAAA;AAEpB,MAAMC,uBAAAA,CAAAA;AACXC,IAAAA,QAAAA,CAASC,OAAwB,EAAQ;QACvC,MAAM,EAAEC,MAAM,EAAE,GAAGD,OAAAA;QAEnBA,OAAAA,CAAQE,MAAM,CAACC,IAAI,CAACC,OAAO,GAAG,IAAI,CAACC,WAAW,CAACJ,MAAAA,CAAAA;AACjD,IAAA;AAEQI,IAAAA,WAAAA,CAAYJ,MAAmB,EAA8B;AACnE,QAAA,MAAMK,eAAeL,MAAAA,CAAOM,MAAM,CAACC,GAAG,CAAiB,sBAAsB,EAAE;QAE/E,IAAIF,YAAAA,CAAaG,MAAM,GAAG,CAAA,EAAG;YAC3B,OAAOH,YAAAA;AACT,QAAA;AAEA,QAAA,MAAMI,YAAYT,MAAAA,CAAOM,MAAM,CAACC,GAAG,CAAS,YAAA,CAAA,IAAiBX,kBAAAA;QAE7D,OAAO;AACL,YAAA;gBACEc,GAAAA,EAAKD,SAAAA;gBACLE,WAAAA,EAAa;AACf;AACD,SAAA;AACH,IAAA;AACF;;;;"}