Commit Graph

233 Commits (35bf584a9ccd02e60447844b287fda259b8ae13a)

Author SHA1 Message Date
Erik Montnemery d6ee10a543
Make FlowHandler.context a typed dict (#126291)
* Make FlowHandler.context a typed dict

* Adjust typing

* Adjust typing

* Avoid calling ConfigFlowContext constructor in hot path
2024-10-08 12:18:45 +02:00
J. Nick Koston 0f29fd3e10
Switch to using fast cached_property implementation in propcache (#127339) 2024-10-03 13:11:02 -05:00
Erik Montnemery 252ce2c95b
Improve FlowManager.async_finish_flow docstring (#126178)
* Improve FlowManager.async_finish_flow docstring

* Fix typos
2024-09-18 18:19:13 +02:00
J. Nick Koston 185b6e5908
Allow non-admins to subscribe to newer registry update events (#123267) 2024-08-07 09:13:23 +02:00
Robert Resch a0b604f98c
Improve add user error messages (#120909) 2024-07-01 18:27:40 +02:00
Joost Lekkerkerker 1fdd056c0e
Fix ruff manual-dict-comprehension PERF403 (#120723)
* Fix PERF403

* Fix

* Fix
2024-06-28 14:17:47 +02:00
Robert Resch 9f4bf6f11a
Create repair when HA auth provider is running in legacy mode (#119975) 2024-06-26 09:00:33 +02:00
Robert Resch 641507a45a
Add change username endpoint (#109057) 2024-06-24 18:51:19 +02:00
Robert Resch bae008b0e2
Remove legacy_api_password auth provider (#119976) 2024-06-19 22:46:30 +02:00
Erik Montnemery 27fe00125d
Fix typo in auth (#119388) 2024-06-11 14:01:23 +02:00
Robert Resch e087abe802
Add ws endpoint to remove expiration date from refresh tokens (#117546)
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-05-29 09:09:59 +02:00
Robert Resch cb62f4242e
Remove strict connection (#117933) 2024-05-24 15:50:22 +02:00
Marc Mueller 87bb7ced79
Use PEP 695 for simple type aliases (#117633) 2024-05-17 14:42:21 +02:00
Marc Mueller 8f614fb06d
Use HassKey for helpers (2) (#117013) 2024-05-07 11:24:13 -05:00
J. Nick Koston a57f4b8f42
Index auth token ids to avoid linear search (#116583)
* Index auth token ids to avoid linear search

* async_remove_refresh_token

* coverage
2024-05-05 16:47:26 -04:00
J. Nick Koston 76cd498c44
Replace utcnow().timestamp() with time.time() in auth_store (#116879)
utcnow().timestamp() is a slower way to get time.time()
2024-05-05 16:25:27 -04:00
Robert Resch 348e1df949
Add strict connection (#112387)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-04-12 14:47:46 +02:00
Sid 9cbed10372
Enable Ruff PYI041 (#115229) 2024-04-08 09:29:05 -10:00
Marc Mueller a0e6fd6ec5
Add improved typing for event fire and listen methods (#114906)
* Add EventType implementation

* Update integrations for EventType

* Change state_changed to EventType

* Fix tests

* Remove runtime impact

* Add tests

* Move to stub file

* Apply pre-commit to stub files

* Fix ruff PYI checks

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-04-07 13:28:24 -10:00
Sid 8e98ba7312
Add first batch of Ruff PYI rules (#115100)
Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
2024-04-07 11:30:50 -10:00
J. Nick Koston 32004973c8
Simplify invalidating the User cache (#115074) 2024-04-07 12:17:18 +02:00
Marc Mueller 816ce116bf
Remove unnecessary functools.cached_property backport (#114239) 2024-04-04 11:24:26 +02:00
J. Nick Koston 4341b21a61
Migrate auth to use async_import_module to avoid blocking I/O in the event loop (#113387) 2024-03-14 10:44:36 +01:00
Joost Lekkerkerker 05172d8e4d
Improve loops and lists (#113269)
* Enable PERF

* Enable PERF rule

* Enable PERF rule

* Don't enable flag yet
2024-03-14 10:22:20 +01:00
J. Nick Koston 4882fed939
Avoid saving auth right after we load it during startup (#112008) 2024-03-09 11:03:22 -10:00
Marc Mueller aa16a9d707
Add empty line after module docstring (3) (#112750) 2024-03-08 20:38:34 +01:00
Marc Mueller 19ab3d6daf
Add empty line after module docstring [helpers + other] (#112707) 2024-03-08 10:36:11 -05:00
Erik Montnemery 82efb3d35b
Make FlowResult a generic type (#111952) 2024-03-07 12:41:14 +01:00
Erik Montnemery 3d3e9900c3
Add TypeVar default for FlowResult (#112345)
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2024-03-05 22:52:11 +01:00
Erik Montnemery a0e558c457
Add generic classes BaseFlowHandler and BaseFlowManager (#111814)
* Add generic classes BaseFlowHandler and BaseFlowManager

* Migrate zwave_js

* Update tests

* Update tests

* Address review comments
2024-02-29 16:52:39 +01:00
Michael bb8828c86f
Address late review on auth (#108852) 2024-01-25 18:15:35 +01:00
Michael f5d439799b
Add expiration of unused refresh tokens (#108428)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-01-24 13:24:22 -10:00
J. Nick Koston 2eea658fd8
Convert getting and removing access tokens to normal functions (#108670) 2024-01-22 20:51:33 -10:00
J. Nick Koston 7c86ab14c3
Refactor service enumeration methods to better match existing use cases (#108671) 2024-01-22 14:21:17 -10:00
J. Nick Koston 740209912c
Small performance improvements to handing revoke token callbacks (#108625)
- Use a set to avoid linear search for remove
- Avoid recreating the unregister function each time
2024-01-21 22:49:06 -05:00
J. Nick Koston ec15b0def2
Always load auth storage at startup (#108543) 2024-01-20 16:16:43 -10:00
J. Nick Koston 3c6e7b188e
Remove OrderedDict from auth_store (#108546)
normal dicts keep track of insert order now so this should
no longer be needed
2024-01-20 20:36:43 -05:00
J. Nick Koston b1d0c6a4f1
Refactor User attribute caching to be safer and more efficient (#96723)
* Cache construction of is_admin

This has to be checked for a lot of api calls and the websocket
every time the call is made

* Cache construction of is_admin

This has to be checked for a lot of api calls and the websocket
every time the call is made

* Cache construction of is_admin

This has to be checked for a lot of api calls and the websocket
every time the call is made

* modernize

* coverage

* coverage

* verify caching

* verify caching

* fix type

* fix mocking
2024-01-13 15:10:50 -05:00
Aarni Koskela 706add4a57
Switch formatting from black to ruff-format (#102893)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-11-27 14:38:59 +01:00
Robert Resch cf9b0e804f
Deprecate legacy api auth provider (#104409)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-11-27 14:16:18 +01:00
Robert Resch 852fb58ca8
Extend `auth/providers` endpoint and add `/api/person/list` endpoint for local ip requests (#103906)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-11-24 17:11:54 +01:00
Hejki 65a2f5bcd5
Support for group into command_line auth provider (#92906)
Co-authored-by: Franck Nijhof <git@frenck.dev>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-11-24 13:19:25 +01:00
J. Nick Koston 1a6184a9aa
Allow non-admins to subscribe to the issue registry updated event (#103145) 2023-10-31 16:29:22 -05:00
J. Nick Koston 93f10cdce8
Move event permissions out of the websocket api into auth (#101975) 2023-10-15 23:14:19 +02:00
J. Nick Koston 2dfc8b9d7f
Avoid conversion of timestamps in jwt auth (#101856) 2023-10-13 14:11:17 +02:00
Marc Mueller 0b2b486754
Update mypy to 1.6.0 (#101780) 2023-10-11 13:25:11 +02:00
Franck Nijhof c3936e6f14
Replace isort with ruff (#94302) 2023-06-08 23:43:56 +02:00
Patrick Li 46103f56c4
Fix trusted_users group schema (#92847)
* Fix trusted_users group schema

* Add tests for CONFIG_SCHEMA
2023-05-23 20:11:25 +02:00
J. Nick Koston 32b70ea133
Bump PyJWT to 2.7.0 (#93128) 2023-05-16 10:26:04 +02:00
J. Nick Koston ca576d45ac
Cache decode of JWT tokens (#90013) 2023-03-22 16:03:41 -10:00