270 Commits

Author SHA1 Message Date
Ivar Conradi Østhus d8478dd928 feat: clean up events (#1089)
Co-authored-by: Christopher Kolstad <chriswk@getunleash.ai>
2021-11-12 13:15:51 +01:00
Martin Lehmann 064599c942 fix: refactor client-metrics list and ttl-list to TypeScript (#1080)
Co-authored-by: Ivar Conradi Østhus <ivarconr@gmail.com>
2021-11-11 20:29:40 +01:00
Ivar Conradi Østhus f0895cf653 fix: prevent deadlock for batchinserting usage metrics (#1100)
* fix: prevent deadlock for batchinserting usage metrics

In client metrics v2 we utilize postgres to count the usage
across a few dimentions (featureName, app_name, environment).

It turns out that if the UPDATE values are not executed in a predictable
order we can end up in a deadlock scenario with postgresql.

In this fix we thus sort the metrics on the feature_name, app_name and
envrionment, to make sure they always are executed in a predictabel
order, and thus avoiding independent inserts colliding in to a deadlock
waiting for eachother.

* fix: tests cannot assume order
2021-11-11 16:05:29 +01:00
Ivar Conradi Østhus 645a8bce05 fix: convert iso-strings from db to date object 2021-11-04 22:16:48 +01:00
Ivar Conradi Østhus 053956b45e fix/projectId cannot change for strategy configs (#1084) 2021-11-04 21:24:55 +01:00
Fredrik Strand Oseberg ec60f4485c fix: disable projects (#1085) 2021-11-04 21:09:52 +01:00
Lennart 759b592d90 fix: update mime library method signature to 2.X (#1078)
Co-authored-by: Ivar Conradi Østhus <ivarconr@gmail.com>
2021-11-02 23:43:16 +01:00
Martin Lehmann b47e228181 fix: be explicit when specifying time & replace moment with date-fns (#1072) 2021-11-02 15:13:46 +01:00
Ivar Conradi Østhus 59f1c6e8e9 fix: add default sort order for built in envs (#1076) 2021-10-29 13:02:05 +02:00
Ivar Conradi Østhus b04b6b3ef7 chore: mute expected test errors 2021-10-29 11:22:40 +02:00
Ivar Conradi Østhus 4fb1bcb524 feat: Disable password based login (#1046)
This commit will introduce a new setting used to disbaled
simple password based authention.

The setting itself is an enterprise setting.
2021-10-29 10:25:42 +02:00
Ivar Conradi Østhus 9e73ed8f47 chore: remvoe console.error for tests expecting error 2021-10-29 09:25:47 +02:00
Ivar Conradi Østhus 0e3813f5f6 fix: lint 2021-10-28 16:32:50 +02:00
Ivar Conradi Østhus 3ef7fd2420 fix: legacy feature stale on/off needs to return full toggle 2021-10-28 15:48:07 +02:00
Ivar Conradi Østhus d0b2ce3170 fix: add enpoint for fetching a single user (#1074)
* fix: add enpoint for fetching a single user

* fix add api docs
2021-10-28 14:24:09 +02:00
Ivar Conradi Østhus 8040abb1c4 fix: reuse message formatter for addons (#1058) 2021-10-28 14:09:11 +02:00
Ivar Conradi Østhus 131eeeaa78 fix: demo-auth should use /auth path 2021-10-26 23:04:44 +02:00
Martin Lehmann 607b2a6657 fix: use date-fns for date/time maths instead of (wrong) Date#setHours (#1070)
Co-authored-by: Ivar Conradi Østhus <ivarconr@gmail.com>
2021-10-26 20:13:30 +02:00
Martin Lehmann 3030666f18 chore: pool min 1, max 4 DB connections & limit Jest workers to 4 (#1069) 2021-10-26 19:50:13 +02:00
Ivar Conradi Østhus 07202a9910 fix: removing a strategy from a toggle should only require UPDATE_FEATURE permission 2021-10-25 11:14:38 +02:00
Christopher Kolstad 6914bd7908 fix: Only trigger environment enabled/disabled events if different f… (#1053)
Co-authored-by: Ivar Conradi Østhus <ivarconr@gmail.com>
2021-10-21 22:33:50 +02:00
Ivar Conradi Østhus 1924961efa fix: simplify how we update projects 2021-10-21 21:06:56 +02:00
Christopher Kolstad f0dfe204ee fix: Remove duplicate FEATURE_METADATA_UPDATED from events list for webhook addon (#1052) 2021-10-21 20:54:03 +02:00
Ivar Conradi Østhus a0d5b04388 fix: only send FEATURE_UPDATED for legacy (#1054)
Co-authored-by: Christopher Kolstad <chriswk@getunleash.ai>
2021-10-21 20:53:39 +02:00
Christopher Kolstad b7b5f0caa0 fix: add constraint for changing project. (#1049)
- In order for a feature toggle to be allowed to change project, the
  target project must have the same enabled environments.
- If the feature toggle has an environment which is not in use that does
  not exist in target project, this is ok.

Co-authored-by: Fredrik Strand Oseberg <fredrik.no@gmail.com>

Co-authored-by: Fredrik Strand Oseberg <fredrik.no@gmail.com>
2021-10-21 10:29:09 +02:00
Ivar Conradi Østhus 3484340cd0 fix: only add project environments if enabled (#1050) 2021-10-21 10:14:35 +02:00
Christopher Kolstad 62b121285c Create a apiuser for demo auth. (#1045)
- If api token middleware is disabled, still allow calls to /api/client with a
  populated fake api user with client access.
2021-10-20 13:16:07 +02:00
Christopher Kolstad 28d0238732 add try-catch to demo auth middleware (#1044)
- Since we validate email used in auth the route function needs to
  handle the possibility that userService.loginUserWithoutPassword can
  throw.
2021-10-19 14:24:23 +02:00
Christopher Kolstad 1f37b0bf4b fix: make hasPermission call handle api tokens (#1041) 2021-10-19 11:34:56 +02:00
Christopher Kolstad 26407cc02e Fix/feature strategies needs project update (#1040)
* Make sure feature_strategies follow feature to new project
2021-10-19 09:49:43 +02:00
Ivar Conradi Østhus 3b925902d7 fix: event-log 2021-10-15 20:11:51 +02:00
Ivar Conradi Østhus 5f6758d8f0 fix: update context field does not await the response (#1027) 2021-10-14 08:30:36 +02:00
Ivar Conradi Østhus ae03390331 fix: add support for experimental flags (#1025) 2021-10-13 20:52:44 +02:00
Ivar Conradi Østhus daba53976d fix: feature_strategies paramter column should not be null (#1024) 2021-10-13 12:42:57 +02:00
Ivar Conradi Østhus 41574e3938 fix: create admin users if enabled and zero users already 2021-10-12 21:39:57 +02:00
Christopher Kolstad 20a4aeff97 Make Appinstance registration include environment (#1014) 2021-10-12 10:39:28 +02:00
Christopher Kolstad d176028a00 Trigger STALE events when patching stale field
- Also moved the patch function into service, instead of performing the
  operation in the controller
2021-10-11 11:27:20 +02:00
Ivar Conradi Østhus fc455811f8 feat/metricsV2 (#1005)
Adds a new way of handling usage metrics where we push it directly to the database and performs aggregation on the fly. All metrics are aggregated in to buckets of hours. We will for now store metrics for the 48 hours with the following dimensions:

- featureName
- projectName
- envrionment
- yes (the actual count)
- no (the actual count)
2021-10-08 10:09:22 +02:00
Ivar Conradi Østhus 3612884501 feat: clone feature toggle API (#1006) 2021-10-08 09:37:27 +02:00
Christopher Kolstad b4b222f4c9 feat: add new more specific feature/environment events to addons (#994)
* feat: add new more specific feature/environment events to addons

* Updated strategy change text

* Update all three addon messages for strategy

* Link to new features view for strategy change text

Co-authored-by: Ivar Conradi Østhus <ivarconr@gmail.com>
2021-10-07 10:22:20 +02:00
Fredrik Strand Oseberg 12245664ad fix: add sort order to environments (#1004)
* fix: add sort order to environments

* fix: lint

* fix: remove display name
2021-10-06 09:39:59 +02:00
Christopher Kolstad a401580228 task: Disables feature_environments without strategies (#1003) 2021-10-06 09:25:34 +02:00
Ivar Conradi Østhus 796f202da3 fix: lint 2021-10-01 22:28:09 +02:00
Ivar Conradi Østhus fa56124b89 fix: do not filter FEATURE_METADATA_UPDATE events 2021-10-01 13:04:00 +02:00
Ivar Conradi Østhus ee660c8eef fix: client api should return feature toggles for disabled environments (#995)
* fix: client api should return feature toggles for disabled environments

* fix: add test

* lint
2021-10-01 12:27:05 +02:00
Ivar Conradi Østhus 54a99460ce fix: add projects api for oss as well 2021-10-01 10:59:43 +02:00
Christopher Kolstad efdbda68e4 fix: reduce data in FEATURE_ENVIRONMENT events 2021-09-29 12:58:02 +02:00
Ivar Conradi Østhus 0a83abe101 fix: add environments to project details (#992) 2021-09-29 12:22:04 +02:00
Christopher Kolstad e3cebb21c8 task: add default environment (#989)
- Adds development and production environments.
- Connects default environment to all projects
- When creating a project connects the project to all enabled
  environments
2021-09-29 11:09:35 +02:00
Christopher Kolstad c870b33ba6 task: remove displayName from environments (#988)
This will require a change in enterprise as well.
2021-09-29 10:23:43 +02:00