* Guard Organization Info route - Owners only
* Guard TwoFactor route - Owners only and Organization must be able to use 2FA
* Update guards to use function syntax
---------
Co-authored-by: Addison Beck <hello@addisonbeck.com>
* [deps] Tools: Update electron to v31
* Bump version in electron-builder
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* Add empty state for invoices
* Make cards on create client dialog tabbable
* Add space in $ / month per member
* Mute text, remove (Monthly) and right align menu on clients table
* Made used seats account for all users and fixed column sort for used/remaining
* Resize pricing cards
* Rename assignedSeats to occupiedSeats
* fix: handle undefined value in migration 66
* fix: the if-statement was typo
* feat: duplicate error behavior in fake storage service
* feat: fix all migrations that were setting undefined values
* feat: add test for disabled fingrint in migration 66
* fix: default single user state saving undefined value to state
* revert: awaiting floating promise
gonna fix this in a separate PR
* Revert "feat: fix all migrations that were setting undefined values"
This reverts commit 034713256c.
* feat: automatically convert save to remove
* Revert "fix: default single user state saving undefined value to state"
This reverts commit 6c36da6ba5.
Electron builder modifies the .plist in the extension which causes issues with the signing process. Copying and re-signing manually avoids this because it bypasses the electron builder for the extension
* initial add of card details section
* add card number
* update card brand when the card number changes
* add year and month fields
* add security code field
* hide number and security code by default
* add `id` for all form fields
* update select options to match existing options
* make year input numerical
* only display card details for card ciphers
* use style to set input height
* handle numerical values for year
* update heading when a brand is available
* remove unused ref
* use cardview types for the form
* fix numerical input type
* disable card details when in partial-edit mode
* remove hardcoded height
* update types for formBuilder
* Document the `org-permissions` guard in code
* Restructure the `org-permissions` guard to be Angular 17+ compliant
* Update the `org-permissions` guard to use `ToastService`
* Simplify callback function sigantures
* Remove unused test object
* Fix updated route from merge
* Document that `is-paid-org` guard in code
* Remove unused `MessagingService` dependency
* Make assertions about the way the is-paid-org guard should behave
* Restructure the `is-paid-org` guard to be Angular 17+ compliant
* Random commit to get the build job moving
* Undo previous commit
* Document the `org-redirect` guard in code
* Make assertions about the way the `org-redirect` guard should behave
* Restructure the `org-redirect` guard to be Angular 17+ compliant
* Convert data parameter to function parameter
* Convert a data parameter to a function parameter that was missed
* Pass redirect function to default organization route
* Introduce `verificationType`
* Update template to use `verificationType`
* Implement a path for `verificationType = 'custom'`
* Delete `clientSideOnlyVerification`
* Update `EnrollMasterPasswordResetComponent` to include a server-side hash check
* Better describe the custom scenerio through comments
* Add an example of the custom verficiation scenerio
* Move execution of verification function into try/catch
* Migrate existing uses of `clientSideOnlyVerification`
* Use generic type option instead of casting
* Change "given" to "determined" in a comment
* Replace PlatformUtilsService with ToastService
* Remove unneeded templates
* Implement table filtering function
* Move member-only methods from base class to subclass
* Move utility functions inside new MemberTableDataSource
* Rename PeopleComponent to MembersComponent