INNER CODE UNIT · TypeScript

buildContext

colyseus/colyseus · packages/admin/src-backend/index.ts:371

function buildContext(opts: AdminOptions): EndpointContext {
  const database = opts.database ?? GameDatabase.current;
  if (!database) {
    throw new Error(
      '[admin] no GameDatabase available — construct `new GameDatabase(...)` before calling admin(), or pass `database:` explicitly',
    );
  }
  const apiPath = (opts.apiPath ?? '/admin-api').replace(/\/$/, '');
  const uiPath = (opts.uiPath ?? '/admin').replace(/\/$/, '');
  const uiDistDir = opts.uiDistDir ?? path.resolve(import.meta.dirname, '..', 'build');
  const allowDevHeader = opts.allowDevHeader ?? (process.env.NODE_ENV !== 'production');
  const resolveUserId = opts.resolveUserId ?? makeDefaultResolver(allowDevHeader, database);
  const enforceRbac = opts.enforceRbac !== false;
  const logger = opts.logger === null ? null : (opts.logger ?? defaultLogger);

  const resolvedTables = opts.tables ?? database.tables;
  if (!resolvedTables) {
    throw new Error('[admin] no tables provided — pass `tables` or call database.boot() first');

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…