mirror of
https://github.com/Unleash/unleash.git
synced 2025-01-25 00:07:47 +01:00
eafba10cac
## About the changes The deprecated /api/admin/features endpoint supported querying with tag and namePrefix parameters. This PR adds this functionality to /api/admin/projects/<project>/features as well, allowing to replicate queries that used to work. Closes #2306 ### Important files src/lib/db/feature-strategy-store.ts src/test/e2e/stores/feature-strategies-store.e2e.test.ts ## Discussion points I'm extending our query parameters support for /api/admin/projects/<projectId>/features endpoint. This will be reflected in our open-api spec, so I also made an adminFeaturesQuerySchema for this. Also, very open for something similar to what we did for the modifyQuery for the archived parameter, but couldn't come up with a good way to support subselects using the query builder, it just ended up blowing the stack. If anyone has a suggestion, I'm all ears. Co-authored-by: Thomas Heartman <thomas@getunleash.ai>
31 lines
869 B
TypeScript
31 lines
869 B
TypeScript
import { FromSchema } from 'json-schema-to-ts';
|
|
|
|
export const adminFeaturesQuerySchema = {
|
|
$id: '#/components/schemas/adminFeaturesQuerySchema',
|
|
type: 'object',
|
|
additionalProperties: false,
|
|
properties: {
|
|
tag: {
|
|
type: 'array',
|
|
items: {
|
|
type: 'string',
|
|
pattern: '\\w+:\\w+',
|
|
},
|
|
description:
|
|
'Used to filter by tags. For each entry, a TAGTYPE:TAGVALUE is expected',
|
|
example: ['simple:mytag'],
|
|
},
|
|
namePrefix: {
|
|
type: 'string',
|
|
description:
|
|
'A case-insensitive prefix filter for the names of feature toggles',
|
|
example: 'demo.part1',
|
|
},
|
|
},
|
|
components: {},
|
|
} as const;
|
|
|
|
export type AdminFeaturesQuerySchema = FromSchema<
|
|
typeof adminFeaturesQuerySchema
|
|
>;
|