Christopher Kolstad
54d28471f7
fix: openapi spec should only include base path once ( #1755 )
...
* fix: openapi spec should only include base path once
2022-06-27 15:39:08 +02:00
Nuno Góis
a792594e98
refactor: add OpenAPI schema to simple-password-provider controller ( #1734 )
...
* refactor: add OpenAPI schema to simple-password-provider controller
* finish implementation after merge
* refactor: address PR comments
2022-06-23 08:40:25 +01:00
olav
ac3f076a31
refactor: add schemas to strategy controller ( #1744 )
...
* refactor: avoid duplicate feature strategy operationIds
* refactor: fix flaky feature tests
* refactor: remove duplicate controller error handling
* refactor: unify feature strategy schemas
* refactor: add schemas to strategy controller
2022-06-23 08:10:20 +02:00
olav
e013a72ddd
refactor: add missing tokenUserSchema fields ( #1742 )
2022-06-22 15:37:26 +02:00
olav
ab75d4085e
refactor: add schemas to user admin controller ( #1692 )
...
* refactor: add schemas to user admin controller
* refactor: remove unused SessionService
* refactor: fix search query type confusion
* refactor: add schemas to user controller (#1693 )
* refactor: add schemas to user controller
* refactor: fix getAllUserSplashes method name
* refactor: name and email should not be required on create
* refactor: only some user fields may be updated
* refactor: should not require any fields on user update (#1730 )
* refactor: send 400 instead of 500 on missing username and email
* refactor: should not require any fields for user update
* refactor: note that earlier versions required name or email
* refactor: merge roleDescriptionSchema and roleSchema
2022-06-22 14:55:43 +02:00
andreas-unleash
66452e2860
open-api addon controller ( #1721 )
...
* open-api addon controller
* bug fixes
* bug fixes
* resolve merge conflict
* bug fix
* bug fix
* bug fix
* PR comments
* PR comments
* Resolve merge conflics
* Resolve merge conflics
* bug and tests
2022-06-22 13:49:18 +03:00
olav
7ee8892704
fix: add missing environments field to uiConfigSchema ( #1736 )
...
* fix: add missing environment field to uiConfigSchema
* refactor: avoid throwing when unleash-server is a dependency in dev mode
2022-06-21 09:34:07 +02:00
Christopher Kolstad
32399291e0
task: add OpenApi spec to metrics route ( #1725 )
...
* task: add OpenApi spec to metrics route
2022-06-21 09:12:40 +02:00
Nuno Góis
123991d28f
refactor: add OpenAPI schema to health-check controller ( #1732 )
...
* refactor: add OpenAPI schema to health-check controller
* refactor: address PR comments
* add type to health-check-schema
* fix: update snap
2022-06-20 11:22:41 +01:00
olav
adface17c7
refactor: add OpenAPI schema to environments controller ( #1682 )
...
* refactor: normalize controller file names
* refactor: throw invalid responses in dev mode
* refactor: add OpenAPI schema to environments controller
* refactor: improve JSON schema prop removal code
* refactor: fix empty response specs
2022-06-10 10:04:56 +02:00
Dennis Szczepanski
7ead887147
fix: Issue #1444 - API import with drop=true deletes existing client keys ( #1668 )
...
* fix: Does not delete api_tokens on drop-Import
* feat: Cleans unused apiTokens on environment import
* refactor: Moves ALL_PROJECTS and ALL_ENVIRONMENTS to constants
* refactor: Renames migration 20220528143630 for a more precise name
* refactor: Removes unecessary console.log
* fix: Adds correct down-script for migration 20220528143630
2022-06-09 15:56:13 +01:00
olav
138300ab22
refactor: add OpenAPI schema to feature types controller ( #1684 )
...
* refactor: fix feature types id type
* refactor: fix error-hiding Controller imports
* refactor: add OpenAPI schema to feature types controller
2022-06-09 13:17:13 +02:00
olav
6adcf103f0
fix: clone segments when cloning a toggle ( #1678 )
...
* refactor: merge segment test files
* fix: clone segments when cloning a toggle
2022-06-08 15:41:02 +02:00
olav
04c107a26e
refactor: add OpenAPI schemas to more controllers ( #1680 )
2022-06-08 15:31:34 +02:00
olav
13ef025fab
refactor: add soft response schema validation ( #1657 )
...
* refactor: remove most schema refs
* refactor: generalize request/response schemas
* refactor: simplify schema date formats
* refactor: add soft response schema validation
* refactor: fix emptySchema definition
* refactor: update json-schema-to-ts and use refs
2022-06-08 08:01:14 +02:00
olav
dadbc3addc
fix: add missing segment-deleted event data ( #1677 )
2022-06-07 14:06:45 +02:00
Thomas Heartman
fa74f81aa5
fix: env drop event data.name + /api/admin/events docs ( #1662 )
...
* docs: add all /events endpoints and query params
* docs: events page skeleton structure
* docs: correct description of event payloads
* docs: add table with event properties.
* docs: remove duplicate table.
* docs: sort property table
* docs: more work on adding events: feature events
* docs: add examples for most feature events
Still missing are: events that require imports, and
feature-project-change
* docs: scaffold out all events descriptions
* docs: normalize casing
* docs: add brief descriptions to strategy and context events
* docs: Add remaining non-import event descriptions and examples
* docs: add code sample annotations for all example events.
* docs: remove all references to myself
* docs: change "toggle" -> "feature", adjust headings
The headings aren't semantic for this doc yet. We'll need to create a
new document for this.
* docs: update event type description table
* docs: change header level of event type section
* docs: add details around feature-project-change event
* docs: add import type events
* docs: use a better `createdBy` name
* docs: "sort" events so that they're in a consistent order.
* docs: remove reference to ID in addon-config-created event
* fix: drop-environments data.name all-projects -> all-environments
This is probably a bug. Should be double checked.
* docs: clarify that `data.name` is always `all-x` on drop events
* Apply suggestions from code review
Co-authored-by: sighphyre <liquidwicked64@gmail.com>
Co-authored-by: sighphyre <liquidwicked64@gmail.com>
2022-06-07 11:33:30 +01:00
olav
ee35c7ad74
refactor: replace ts-ignore with ts-expect-error ( #1675 )
...
* refactor: replace ts-ignore with ts-expect-error
* refactor: remove unused ts-expect-errors
2022-06-07 11:49:17 +02:00
olav
7e3f0329ab
refactor: avoid inlining segments for supported clients ( #1640 )
...
* refactor: add semver lib types
* refactor: avoid inlining segments for supported clients
* refactor: fix FeatureController tests
* refactor: use spec version instead of client version
* refactor: improve header validation errors
2022-06-02 14:07:46 +02:00
Christopher Kolstad
00c84f3c75
fix: use getCreatedBy to set created by on events stored ( #1648 )
2022-06-02 13:52:10 +02:00
olav
224b9cb229
refactor: move segment limits to env vars ( #1642 )
...
* refactor: improve env var helpers
* refactor: remove unused segments client API
* refactor: remove experimental segment flags
* refactor: move segment limits to env vars
* refactor: add segment limits to UIConfig response
* refactor: fix type name casing
2022-06-02 10:44:45 +02:00
andreas-unleash
1a27bffe4d
Complete open api schemas for project features controller ( #1563 )
...
* Completed OpenAPI Schemas for ProjectFeatures Controller
Completed OpenAPI Schemas for Feature Controller (tags)
* Completed OpenAPI Schemas for ProjectFeatures Controller
Completed OpenAPI Schemas for Feature Controller (tags)
* bug fix
* bug fix
* fix merge conflicts, some refactoring
* fix merge conflicts, some refactoring
* fix merge conflicts, some refactoring
* added emptyResponse, patch feature operation schemas and request
* added emptyResponse, patch feature operation schemas and request
* patch strategy
* patch strategy
* update strategy
* update strategy
* fix pr comment
* fix pr comments
* improvements
* added operationId to schema for better generation
* fix pr comment
* fix pr comment
* fix pr comment
* improvements to generated and dynamic types
* improvements to generated and dynamic types
* improvements to generated and dynamic types
* Update response types to use inferred types
* Update addTag response status to 201
* refactor: move schema ref destructuring into createSchemaObject
* made serialize date handle deep objects
* made serialize date handle deep objects
* add `name` to IFeatureStrategy nad fix tests
* fix pr comments
* fix pr comments
* Add types to IAuthRequest
* Sync StrategySchema for FE and BE - into the rabbit hole
* Sync model with OAS spec
* Completed OpenAPI Schemas for ProjectFeatures Controller
Completed OpenAPI Schemas for Feature Controller (tags)
* Completed OpenAPI Schemas for ProjectFeatures Controller
Completed OpenAPI Schemas for Feature Controller (tags)
* bug fix
* bug fix
* fix merge conflicts, some refactoring
* fix merge conflicts, some refactoring
* fix merge conflicts, some refactoring
* added emptyResponse, patch feature operation schemas and request
* added emptyResponse, patch feature operation schemas and request
* patch strategy
* patch strategy
* update strategy
* update strategy
* fix pr comment
* fix pr comments
* improvements
* added operationId to schema for better generation
* fix pr comment
* fix pr comment
* fix pr comment
* improvements to generated and dynamic types
* improvements to generated and dynamic types
* improvements to generated and dynamic types
* Update response types to use inferred types
* Update addTag response status to 201
* refactor: move schema ref destructuring into createSchemaObject
* made serialize date handle deep objects
* made serialize date handle deep objects
* add `name` to IFeatureStrategy nad fix tests
* fix pr comments
* fix pr comments
* Add types to IAuthRequest
* Sync StrategySchema for FE and BE - into the rabbit hole
* Sync model with OAS spec
* Completed OpenAPI Schemas for ProjectFeatures Controller
Completed OpenAPI Schemas for Feature Controller (tags)
* Completed OpenAPI Schemas for ProjectFeatures Controller
Completed OpenAPI Schemas for Feature Controller (tags)
* bug fix
* bug fix
* fix merge conflicts, some refactoring
* fix merge conflicts, some refactoring
* fix merge conflicts, some refactoring
* added emptyResponse, patch feature operation schemas and request
* added emptyResponse, patch feature operation schemas and request
* patch strategy
* patch strategy
* update strategy
* update strategy
* fix pr comment
* fix pr comments
* improvements
* added operationId to schema for better generation
* fix pr comment
* fix pr comment
* fix pr comment
* improvements to generated and dynamic types
* improvements to generated and dynamic types
* improvements to generated and dynamic types
* Update response types to use inferred types
* Update addTag response status to 201
* refactor: move schema ref destructuring into createSchemaObject
* made serialize date handle deep objects
* made serialize date handle deep objects
* add `name` to IFeatureStrategy nad fix tests
* fix pr comments
* fix pr comments
* Add types to IAuthRequest
* Sync StrategySchema for FE and BE - into the rabbit hole
* Sync model with OAS spec
* Completed OpenAPI Schemas for ProjectFeatures Controller
Completed OpenAPI Schemas for Feature Controller (tags)
* Completed OpenAPI Schemas for ProjectFeatures Controller
Completed OpenAPI Schemas for Feature Controller (tags)
* bug fix
* bug fix
* fix merge conflicts, some refactoring
* fix merge conflicts, some refactoring
* fix merge conflicts, some refactoring
* added emptyResponse, patch feature operation schemas and request
* added emptyResponse, patch feature operation schemas and request
* patch strategy
* patch strategy
* update strategy
* update strategy
* fix pr comment
* fix pr comments
* improvements
* added operationId to schema for better generation
* fix pr comment
* fix pr comment
* fix pr comment
* improvements to generated and dynamic types
* improvements to generated and dynamic types
* improvements to generated and dynamic types
* Update response types to use inferred types
* Update addTag response status to 201
* refactor: move schema ref destructuring into createSchemaObject
* made serialize date handle deep objects
* made serialize date handle deep objects
* add `name` to IFeatureStrategy nad fix tests
* fix pr comments
* fix pr comments
* Add types to IAuthRequest
* Sync StrategySchema for FE and BE - into the rabbit hole
* Sync model with OAS spec
* revert
* revert
* revert
* revert
* revert
* mapper
* revert
* revert
* revert
* remove serialize-dates.ts
* remove serialize-dates.ts
* remove serialize-dates.ts
* remove serialize-dates.ts
* remove serialize-dates.ts
* revert
* revert
* add mappers
* add mappers
* fix pr comments
* ignore report.json
* ignore report.json
* Route permission required
Co-authored-by: olav <mail@olav.io>
2022-05-18 16:17:09 +03:00
olav
8c1d4838b8
fix: require equal environments when moving toggles ( #1595 )
...
* fix: apply query from checkProjectsCompatibility
* fix: require equal environments when moving toggles
* refactor: clean up project service tests
* refactor: add test for project compatibility check
* refactor: improve arraysHaveSameItems name
2022-05-18 11:07:01 +02:00
Wilco Schoneveld
c30e92dc49
Added ability to set additional transport options to email service ( #1589 )
...
Co-authored-by: Wilco Schoneveld <wilco.schoneveld@politie.nl>
2022-05-13 09:06:10 +02:00
olav
56615e91f0
fix: validate the type and length of parameter values ( #1559 )
...
* refactor: coerce primitive types in OpenAPI requests
* refactor: avoid broken array args to serializeDates
* refactor: avoid some spec refs to improve generated types
* refactor: remove debug logging
* refactor: fix IExpressOpenApi interface name prefix
* refactor: ensure that parameter values are strings
* refactor: test that parameter values are coerced to strings
2022-05-04 15:16:18 +02:00
Nuno Góis
7e938a21b4
feat: show archived toggles on a project level ( #1555 )
...
* feat: show archived toggles on a project level
* refactor: split behaviour in 2 separate routes and methods for clarity
* add e2e test
2022-05-04 07:45:29 +01:00
olav
36922d156d
refactor: fix a few eslint module boundary type overrides ( #1542 )
2022-04-28 12:40:38 +02:00
Christopher Kolstad
3e40cb935e
task: Use make-fetch-happen ( #1500 )
...
closes #739
2022-04-28 10:57:52 +02:00
olav
fdebeef929
feat: add OpenAPI validation to a few endpoints ( #1409 )
...
* feat: add OpenAPI validation to a few endpoints (2)
* refactor: use package version as the OpenAPI version
* refactor: keep the existing OpenAPI page for now
* refactor: add snapshots tests for the OpenAPI output
* refactor: validate Content-Type by default
* refactor: update vulnerable deps
* refactor: fix documentation URL to match schema
* refactor: improve external type declaration
* refactor: remove unused package resolutions
* refactor: try express-openapi fork
* Update package.json
* Update src/lib/services/openapi-service.ts
* Update src/lib/types/openapi.d.ts
* Update src/lib/types/openapi.d.ts
Co-authored-by: Ivar Conradi Østhus <ivarconr@gmail.com>
2022-04-25 14:17:59 +02:00
renovate[bot]
f52f1cadac
chore(deps): update dependency eslint-config-airbnb-typescript to v16.1.0 ( #1147 )
...
* chore(deps): update dependency eslint-config-airbnb-typescript to v16.1.0
* chore: Update a few places with eslint-ignore due to new linter rules for optional parameters
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: sighphyre <liquidwicked64@gmail.com>
Co-authored-by: Ivar Conradi Østhus <ivarconr@gmail.com>
2022-04-25 13:14:43 +02:00
Ivar Conradi Østhus
14694fdf04
fix: allow missing instanceId in client metrics ( #1522 )
...
* fix: allow missing instanceId in client metrics
* fix: remove ts-ignore
2022-04-22 13:52:27 +02:00
olav
e38f7cf7c2
feat: add context value descriptions ( #1496 )
...
* feat: add context value descriptions
* refactor: upcase SQL keywords
* refactor: allow blank descriptions
2022-04-19 08:40:07 +02:00
sighphyre
c9b44b6546
Merge pull request #1476 from Unleash/feat/multi-project-tokens
...
feat: Implement multi token support for client tokens
2022-04-08 11:51:31 +02:00
Nuno Góis
794327f8e0
fix: reject duplicate segment names ( #1475 )
...
* fix: reject duplicate segment names
* refactor: remove unnecessary comment
* refactor: improve validateName logic with existsByName
* fix: removed unused NotFoundError import
2022-04-06 14:01:50 +01:00
sighphyre
e889d8e29c
feat: Implement multi token support for client tokens
...
This adds support for multi project tokens to be created. Backward compatibility is handled at 3 different layers here:
- The API is made backwards compatible though a permissive data type that accepts either a project?: string or projects?: string[] property, validation is done through JOI here, which ensures that projects and project are not set together. In the case of neither, this defaults to the previous default of ALL_PROJECTS
- The service layer method to handle adding tokens has been made tolerant to either of the above case and has been deprecated, a new method supporting only the new structure of using projects has been added
- Existing compatibility for consumers of Unleash as a library should not be affected either, the ApiUser constructor is now tolerant to the the first input and will internally map to the new cleaned structure
2022-04-06 08:11:41 +02:00
olav
9f7d878422
fix: add missing awaits ( #1472 )
...
* refactor: silence expected console.error call
* fix: add missing access service awaits
* fix: add missing constraint validation await
2022-04-01 11:10:21 +02:00
olav
1da38781d5
feat: add segment limits ( #1469 )
...
* feat: add segment limits
* refactor: move segment limits to constants
2022-04-01 10:53:52 +02:00
olav
cf06b562f9
fix: allow instance ID to be empty for metrics ( #1471 )
2022-04-01 10:34:22 +02:00
olav
66d9d7a6d2
feat: add segments ( #1426 )
...
* refactor: fix missing tsconfig path in .eslintrc
* refactor: require contextName and operator
* refactor: fix crash on missing feature strategies
* feat: add segments schema
* feat: add segments client API
* feat: add segments permissions
* refactor: fail migration if things exist
* refactor: remove strategy IDs from responses
* refactor: allow empty description
* refactor: add segment import/export
* refactor: add perf scripts
* refactor: add get segment fn
* refactor: move constraint validation endpoint
* refactor: use a separate id for segment updates
* refactor: use PERF_AUTH_KEY for artillery
* refactor: adjust segment seed size
* refactor: add missing event data await
* refactor: improve method order
* refactor: remove request body limit override
2022-03-29 14:59:14 +02:00
Youssef Khedher
d11d0e712b
refactor: block creating token for disabled environment ( #1464 )
...
* refactor: block creating token for disabled environment
Co-authored-by: olav <mail@olav.io>
* refactore: remove unused deps
Co-authored-by: olav <mail@olav.io>
2022-03-24 11:26:00 +01:00
olav
1cc43c0a4a
refactor: always add values to constraints ( #1448 )
2022-03-17 12:32:04 +01:00
sighphyre
8f60dd6958
Merge pull request #1431 from Unleash/enabled-environments-override
...
Add enabled environments override flag
2022-03-16 14:45:55 +02:00
Fredrik Strand Oseberg
a236a61623
Fix/user added event ( #1437 )
...
* 4.9.0-beta.1
* chore: update unleash frontend
* 4.9.0-beta.2
* fix: add user email to project user events
2022-03-16 08:44:30 +01:00
sighphyre
8410a8e3ac
feat: enabled environments override now also moves projects and toggles to new environments
2022-03-11 15:52:13 +02:00
sighphyre
c3b064adfc
feat: Add environment variable to set override enabled environments
2022-03-11 11:16:58 +02:00
Fredrik Strand Oseberg
55469801cf
feat: validate strategies ( #1429 )
...
* feat: validate strategies
* fix: optional coalescing on constraints
* fix: update test
2022-03-10 14:43:53 +01:00
Fredrik Strand Oseberg
6f075e4d1c
Feat/new constraint operators ( #1397 )
...
* feat: add migration for currentTime context field
* feat: add tests for number validator
* feat: add validation fields for constraint
* feat: add validation for semver, date and legalvalues
* fix: import paths
* fix: only allow specified operators
* fix: add operator test
* fix: reset db
* fix: remove unused import
* fix: set semver as dependency
2022-03-04 17:29:42 +01:00
Youssef
d4521a1c0c
fix: changeRole to assign roles without existing members
...
Co-authored-by: Christopher Kolstad <chriswk@getunleash.ai>
2022-03-03 14:33:32 +01:00
Ivar Conradi Østhus
d514356030
fix: avoid scope issues
2022-03-03 08:52:44 +01:00
Ivar Conradi Østhus
017bd75c9c
Update src/lib/services/project-service.ts
...
Co-authored-by: Fredrik Strand Oseberg <fredrik.no@gmail.com>
2022-03-03 08:52:44 +01:00