* Do not apply shortname for system tenant generateBaseUrl
Do not remove domain name parts if hostname already is a subdomain
* Use domain instead of shortName for tenant domain
* Fixed tests
* Obfuscate error output
* Create access tokens for clients from the challenge.
* Bootstrap tokens for new clients. Use jti on client tokens.
Secure my-appointments with token.
* If client exists staff does not need to retrieve staff key shares (since tunnel is already encrypted)
* Lint and check fixes
* Format fixes
---------
Co-authored-by: Karl Ludwig Weise <ludwig@ludwigweise.de>
* Added flow for staff members to create appointments
* Add calendar page title
* Remove security check npm audit for pull-requests
* Fix docker build to be multi-platform
* Attempt to fix tests
* Remove obsolete test
* Refresh session every 3 minutes
---------
Co-authored-by: Karl Ludwig Weise <ludwig@ludwigweise.de>
* Staff: Grant access to existing clients front-end implementation -wip
* WIP
* Use correct keyhsare when decrypting tunnels for new users.
* Set ACCESS_GRANTED even when all tunnel keys are already there
* Finalized granting access to staff members
* Fix lint
* Re-added logs
---------
Co-authored-by: Karl Ludwig Weise <ludwig@ludwigweise.de>
Co-authored-by: Hendrik Belitz <hendrik@innovation-through-understanding.de>
* Added poc of new email renderer
* Completed email renderer poc for appointment confirmation
* Changed phone description in add-personal-data-form
* Added used email types to new email system
* Switched email templates to the new template engine.
---------
Co-authored-by: Karl Ludwig Weise <ludwig@ludwigweise.de>
Co-authored-by: Hendrik Belitz <hendrik@innovation-through-understanding.de>
* Adding book appointment workflow -wip
* Load channels
* Added channel and agent selection
* Provide optional filter criteria for agents and channels in schedule endpoint.
Return agent info for free schedule slots.
* Select slot
* Added personal data form
* Added login and register step
* Empty PIN input when crypto fails
* Added summary and complete steps
* Format errors in otp component
* Format error in otp component
* Store staff keypairs for appointment encryption
* storeStaffKeyPair during passkey setup
* Fix lint
* Allow access to tenants for tenant admins
* Removed centralised route-based authorization.
* Use setupState from back-end
* First tenant admin is ACCESS_GRANTED.
* load local argon2 directly in central html file
* Make sure cookie is deleted on logout
* Allow WASM execution
* Staff key is base64 encoded, not hex encoded
* Fix proceeding to summary
* Fix TunnelId. Fix Appointment Date. Fix missing AgentId for Tunnel Creation call.
* Fix book appoint flow for new users
* Fix design issues
* Show only slots that have not passed
* Reimplemented ShamirsSecretSharing with Laplacian Interpolation
* Check for existing users before creating new client tunnels. Corrected base64 decoding of challenge.
* Properly deal with existing client errors (422)
* Use new shamir implementation for shard construction and key reconstruction.
* Fix lint and check
* Fix csp header test
* Fixed tests
---------
Co-authored-by: Karl Ludwig Weise <ludwig@ludwigweise.de>
Co-authored-by: Hendrik Belitz <hendrik@innovation-through-understanding.de>
* Added basic staff functions -wip
* Fix: Use proper route for staff member creation
* Fixed errors in confirm, invite and register routes.
* Also return invited staff members when getting staff members
* Updated error handling
* Allow global admin to add other global admins
* Sort staff members by name
* Added dummy implementation of granting access to staff members
* Render tenant logo, if set
* Fix delete
* Make invited but not confirmed user entries deletable.
* Added staff onboarding with passkey -wip
* Fix delete route
* Fix passkey setup flow for staff
* Fix lint
* Fix lint
* Fix some unit tests
* Updated docs
* Refactored staff-service, fixed tests
* Setup state db migrations
---------
Co-authored-by: Karl Ludwig Weise <ludwig@ludwigweise.de>
Co-authored-by: Hendrik Belitz <hendrik@innovation-through-understanding.de>
* Added public tenant api
* Moved public channels to their own endpoint and creator public api path
---------
Co-authored-by: Karl Ludwig Weise <ludwig@ludwigweise.de>
* Fix session refresh
* Hardened passkey implementation
* Go to logout if session cannot be retrieved
---------
Co-authored-by: Karl Ludwig Weise <ludwig@ludwigweise.de>
* Added dashboard screens
* Fix lint
* Fix lint
* Fixed fetching user data on reload
---------
Co-authored-by: Karl Ludwig Weise <ludwig@ludwigweise.de>