* Partial push of new filters
* Let's always return the passed host array when a filter doesn't need to be applied
* fix: isFixed typing in same round robin host check
* Add main bulk of rewritten logic for routed fairness support
* Remove console.log
* Add getAttributeWithEnabledWeights to AttributeRepository
* Add OOO entry repository
* Use getOrderedListOfLuckyUsers in lead threshold filtering
* Shortfall already includes weight
* test against minShortfall
* first attempt to fix fallbacks
* Added testcase updates
* Partially fix filterHosts test
* Some test updates
* Removed email field from normalization
* fix no available users found error
* fix unit test
* remove fallback from same host reschedule return
* fixes and improvements for findQualifiedHosts
* include fallback logic in handleNewBooking
* use fallback in handleNewBooking
* fix for contact owner in handleNewBooking
* WIP - comment
* pass routingFormResponseId
* fix type error
* pass routingFormResponse
* fixes in treshold logic
* remove reason
* merge qualified and fallback availabilities
* fix type error
* add and fix tests
* clean up test file
* fix filterHostsBySameRoundRobinHost tests
* fix findQualifiedHosts.test.ts
* fix getRoutedUsers.test.ts
* fix tests
* fix isRerouting check
* fix start time for two weeks check
* fix fallback hosts
* fix test
* fallback hosts should also include qualified hosts
* fix type error
* fix typos
* add contact owner to fallbacks
* fix typo
* fix qualifiedRRUsers
* set fixed users when no hosts
* add tets + code clean up
* add test for reschedule with same host
* fix typo
* add more tests for findQualifiedHosts
* remove skip from test
* add comment
* remove unused code
* fix fallback users in loadAndValidateUsers
* improve naming for fallback
* rename missed fallback variable
* fix reschedule with same rr host in handleNewBooking
* fixes for fallback slots
* add more tests + small fixes for contact owner
* fix tests and type errors
* add logs for fallback
* add type:json to logger
* Fix small merge issue
* fix end time if two weeks are cut off
* add more tests for contact owner availability check
* add new logic for two weeks fallback
* fix reschedule same RR host test
---------
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: Carina Wollendorfer <30310907+CarinaWolli@users.noreply.github.com>
* Create `createUser` method in `userCreationService`
* Refactor `UserRepository` create method to accept prisma input and remove business logic
* API use `UserCreationService`
* Move slugify to service
* Use hashPassword instead
* Type fixes in `UserCreationService`
* Add `userCreationService` tests
* API accept data object
* Type fixes
* Add user _post test
* Add test for locked user
* Add locked param to log
* Add user repository tests
* Do not return locked status
* Explicitly pass `locked` prop
* Fix tests when locked isn't returned
* Fix tests
* Pass locked prop
* Edit test name
* Use logger
* Fix passing hashed password
* Reapply "fix: Multiple rr-hosts combine to create erroneous availability (#18772)"
This reverts commit 5dbc6d9ca6.
* Only thing left is a diff to show which slots are removed
* Add logging around time slot results
* Setup logging through axiom
* .... forgot
* fix: type errors
* Only log when there are differences
* Updated from old which had a failing test to new logic
* wip: Open draft PR with passing test (should fail)
* Fix aggregatedAvailability by not merging rr host availability
* Added test for validating fixed host behaviour
* Add test for combined rr and fixed hosts
* Check date-ranges arent returned multiple times when offered by multiple rr hosts
* Also sort date ranges
* Adding failing test that should result in 5 slots, but returns 7 as it returns the same slots twice.
* Slots returns duplicate slots for overlapping date ranges
* As mergeOverlappingDateRanges enabled the unified start time, we need to reproduce this
* Do not 'prettify' slots to the same degree if they fall on different days
* Added test to prove an end date before start also works
* Use a string instead of number as key
* chore: Deprecate organizerTimeZone, effectively unused
* Adjust all dateRanges similarly
* Bring back eventTimeZone
* Remove adjustDateRanges in favour of slot generation changes
* Convert to tz after all logic is finished.
* clearer code flow
* Remove console.log + add failing test due to inverse order
* Address issue with inversion when date ranges are given out of order
* feat: add option to disable sending transcription emails
* fix: types and tests
* fix: type error
* fix: type err
* fix: type err
---------
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: Keith Williams <keithwillcode@gmail.com>
* perf: don't fetch all the hosts
* fix: type err
* use appschema only when necessary
* Variable casing change and type fixes
* Another missing ts fix
* chore: update variable name
* chore: remove from personal event types
* chore: remove limitHostsToThree
* chore: make it a variable
* chore: move it below
* chore: change name to firstThreeHosts
* chore: update to first three users
* fix: type error
* chore: add firstThreeHosts
* fix: type error
* fix: type error
* fix: support users
* chore: update metadata
* fix: API v2 build error
* chore: change var name
* chore: remove cursorrules
* chore: undo API v2 changes
* chore: add type
---------
Co-authored-by: Hariom <hariombalhara@gmail.com>
Co-authored-by: Keith Williams <keithwillcode@gmail.com>
* Okta fixes
* Fix username and name in case of sync from Okta
* Fix username and name in case of sync from Okta
* Add test
* cleanup code and add tests
* fix err msg and add more description
* improvements
* fix cause
* add warn logs for when failing to specific limit checks
* typefix
* safestringify log
* improve error
* test fix and log min booking notice
* adds out of bounds error code
* test fix
* fix
* update booker atom for routing form
* remove logs
* hide routing form properties from docs
* fixup
* add comments to explain why certain fields are not defined for routing forms in v2
* chore: routing for handler return team and org id
* bump libraries platform
* fixup! bump libraries platform
* chore: get routing form params to embed
* logs to remove
* fix import path
* chore: handle routing form params in booker embed
* wip need router api v2 endpoint
* resolve merge conflicts
* fixup
* fixup! Merge branch 'main' into remove-redirect-on-success-for-platform
* fixup! fixup! Merge branch 'main' into remove-redirect-on-success-for-platform
* router atom
* fix libraries version
* cleanup
* remove console logs
* bump libraries
---------
Co-authored-by: Morgan Vernay <morgan@cal.com>
Co-authored-by: Morgan <33722304+ThyMinimalDev@users.noreply.github.com>
* migration and init to accept creationSource for new bookings
* V1 create booking
* V1 user creation
* webapp booking + V1 user
* user creation in V1, V2 and webapp
* booking source V2 and fix for v1 user
* fit type
* --fix type
* add test -- WIP
* fix type
* fix type
* ^
* Need more sleep zzz
* -_-
* bump libraries platform
* adds for v2 recurring booking
* fix lint
* instant meetings
* fix: api v2 creation source
* fixup! fix: api v2 creation source
* bump libraries
* add user
* fix test
* fixup! fix test
* add more source
* more source...
* fix type & test --1
* fix type & test --2
* typefix
* fixup test
---------
Co-authored-by: Morgan Vernay <morgan@cal.com>
* Create `checkIfTeamHasActivePlan` method on `stripe-billing-service`
* Add `checkIfTeamPlanIsActive` to `InternalTeamBilling`
* Create `hasActiveTeamPlan` trpc endpoint
* Check for active team plan when updating workflows
* Create `useHasActiveTeamPlan` hook
* Use `useHasActiveTeamPlan` on workflow edit page
* Type fixes
* Type fix
* Add `accepted` to team query
* add delete to redis service
* auto lock + tests
* changes to autolock in api/book call
* remove log clutter
* add detection in api v1
* tpye changes
* throw error and add tests for API
* add response logic on locked + tests
* type response properly i hope?
* type fix
* add tests for counter not existing + redis errors
* remove IP - add sentry to track
* rename symbol
* fix type error
* fix tests
* remove sentry call spy
* fix type on sentry setUser call
---------
Co-authored-by: Alex van Andel <me@alexvanandel.com>
* feat: split name booking field in v2
* fix: booker atom handle split name
* fix: after and before start dates bookings filter
* chore: bump platform libraries
* chore: save progress
* feat: support phone based booking using API v2
* chore: change name of the variable
* fix: update event types and booking fields for improved validation and new properties
- Updated imports in input and output event types services to use the correct library version.
- Added new `avatarUrl` and `successRedirectUrl` properties to the Swagger documentation for user and booking schemas.
- Enhanced booking fields validation by changing the `required` property to a boolean type.
- Improved descriptions and examples in the OpenAPI specifications for better clarity.
- Refactored booking fields input and output classes to include new properties and ensure proper validation.
* fix: booking with phone number
* test: add event type update test
* test: add test for creating booking
* chore: update unit test
* fix: tests
* fix: add turbo
* chore: remove emial
* refactor: make email optional and move it to service
* fix: test
* chore: bump platform-libraries
* fix: e2e test
---------
Co-authored-by: supalarry <laurisskraucis@gmail.com>