diff --git a/packages/cli/src/Server.ts b/packages/cli/src/Server.ts index 39fb76cc18..eab3123cd1 100644 --- a/packages/cli/src/Server.ts +++ b/packages/cli/src/Server.ts @@ -108,6 +108,7 @@ import * as querystring from 'querystring'; import * as Queue from '../src/Queue'; import { OptionsWithUrl } from 'request-promise-native'; import { Registry } from 'prom-client'; +import { ITagDb } from './Interfaces'; class App { @@ -710,6 +711,20 @@ class App { })); + // Retrieves all tags + this.app.get(`/${this.restEndpoint}/tags`, ResponseHelper.send(async (req: express.Request, res: express.Response): Promise => { + + const findQuery = { + select: ['id', 'name'], + } as FindManyOptions; + + if (req.query.filter) { + findQuery.where = JSON.parse(req.query.filter as string); + } + + return await Db.collections.Tag?.find(findQuery) ?? []; + })); + // Returns parameter values which normally get loaded from an external API or // get generated dynamically this.app.get(`/${this.restEndpoint}/node-parameter-options`, ResponseHelper.send(async (req: express.Request, res: express.Response): Promise => {