* 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>
* Web workers for crypto functions. Crypto key storage in db.
* First prototype appointment service and api
* Basic flows für clients.
* Staff crypto
* Browser crypto functions
* Get appointments from a date range
* API docs
* Schedule API, fixed schedule errors
* Tests and bugfixes
* Formatting
* enhanced and unified Browser-Crypto-Utilities
trying to create a new tunnel when tenant has no users now results in an error.
user creation now has a confirmation state.
* Staff API, getting and updating tunnel data.
* Tests for staff endpoints
Fixed for confirmationState
Fixed tests
* Moved logic to staff service
* Moved logic to appoointment service
* calendar route for staff members. schedule route for clients.
* Fix client access to certain routes
* Update src/routes/api/tenants/[id]/staff/__tests__/staff-api.test.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update src/routes/api/tenants/[id]/staff/[staffId]/public-key/__tests__/public-key.test.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update src/routes/api/tenants/[id]/appointments/tunnels/add-staff-key-shares/+server.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Security fixes for staff-crypto key retrieval.
* LInting errors
* DB Migrations
* Removed isEncrypted property
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* BUG fix. Refresh route should properly refresh the token and be callable when cookie token is no longer valid.
* Use old session id from old token for refresh. Refresh offset set to ten minutes.