diff --git a/types/node-red__runtime/index.d.ts b/types/node-red__runtime/index.d.ts index 0e5eadee2934a9..364db064b1e852 100644 --- a/types/node-red__runtime/index.d.ts +++ b/types/node-red__runtime/index.d.ts @@ -237,7 +237,7 @@ declare namespace runtime { strategy: Strategy; options: object; }; - users: UsernamePermissions[]; + users: UsernamePermissions[] | ((username: string) => Promise); } | undefined; diff --git a/types/node-red__runtime/node-red__runtime-tests.ts b/types/node-red__runtime/node-red__runtime-tests.ts index 5adede8558e64a..ab687b407c7c3e 100644 --- a/types/node-red__runtime/node-red__runtime-tests.ts +++ b/types/node-red__runtime/node-red__runtime-tests.ts @@ -1,6 +1,35 @@ import runtime = require("@node-red/runtime"); +import editorApi from "@node-red/editor-api"; +import { Server } from "https"; async function runtimeTests() { + const httpServer = new Server(); + runtime.init( + { + adminAuth: { + type: "strategy", + strategy: { + name: "customStrategy", + label: "Custom Strategy", + icon: "path/to/icon.png", + strategy: { + authenticate: () => {}, + }, + options: {}, + }, + users: async (username) => { + return { + username, + permissions: ["*"], + }; + }, + }, + uiPort: 18880, + uiHost: "localhost", + }, + httpServer, + editorApi, + ); await runtime.start(); await runtime.stop();