bde148f286
* wip * some extra fixes * stuff kinda works? * need to figure out mocks * need to figure out mocks * fix db listener * gqlgen fix * minor gqlgen watch adjustment * lint fixes * delete old codegen file * converting migrations to ESM * getModuleDIrectory * vitest sort of works * added back ts-vitest * resolve gql double load * fixing test timeout configs * TSC lint fix * fix automate tests * moar debugging * debugging * more debugging * codegen update * server works * yargs migrated * chore(server): getting rid of global mocks for Server ESM (#5046) * got rid of email mock * got rid of comment mocks * got rid of multi region mocks * got rid of stripe mock * admin override mock updated * removed final mock * fixing import.meta.resolve calls * another import.meta.resolve fix * added requested test * nyc ESM fix * removed unneeded deps + linting * yarn lock forgot to commit * tryna fix flakyness * email capture util fix * sendEmail fix * fix TSX check * sender transporter fix + CR comments * merge main fix * test fixx * circleci fix * gqlgen bigint fix * error formatter fix * more error formatting improvements * esmloader added to Dockerfile * more dockerfile fixes * bg jobs fix
26 lines
850 B
TypeScript
26 lines
850 B
TypeScript
import { SpeckleModule } from '@/modules/shared/helpers/typeHelper'
|
|
import { moduleLogger } from '@/observability/logging'
|
|
import { readFile } from 'fs/promises'
|
|
import { getFrontendOrigin } from '@/modules/shared/helpers/envHelper'
|
|
import { fileURLToPath } from 'url'
|
|
|
|
async function getExplorerHtml() {
|
|
const fileBaseContents = await readFile(
|
|
fileURLToPath(import.meta.resolve('#/assets/apiexplorer/templates/explorer.html')),
|
|
{ encoding: 'utf-8' }
|
|
)
|
|
return fileBaseContents.replace(
|
|
'const FRONTEND_ORIGIN = window.location.origin',
|
|
`const FRONTEND_ORIGIN = '${getFrontendOrigin()}'`
|
|
)
|
|
}
|
|
|
|
export const init: SpeckleModule['init'] = ({ app }) => {
|
|
moduleLogger.info('💅 Init graphql api explorer module')
|
|
|
|
// sweet and simple
|
|
app.get('/explorer', async (_req, res) => {
|
|
res.send(await getExplorerHtml())
|
|
})
|
|
}
|