* refactor: define inputs and outputs by separating default and custom fields
* refactor: event type api <-> internal transformers
* refactor: v2 use refactored libraries to transform input and output booking fields
* refactor: dont allow custom slugs with default reserved slugs
* refactor: input service store only specific default system fields
* refactor: atoms display only specific default system fields
* refactor: delete unused system field constants
* fix: tests
* fix: old event types
* fix: imports
* fix: import
* chore: release libraries and use v2 with them
* fix: unit tests
* refactor: push email in case of missing phone
* refactor: satisfies check for event-type locations
* update calendar logic to handle multiple calendars
* add method to link calendar to credential
* remove logs
* update platform libraries
* update calendar logic to handle multiple calendars
* update credentials repository
* add selected calendars repository to destination calendars module
* add method to get user selected calendars and rename fn
* chore: PR feedback
* resolve merge conflicts
* fixup
* make sure we cover all edge cases for apple calendar
---------
Co-authored-by: Morgan <33722304+ThyMinimalDev@users.noreply.github.com>
* add class-transformer package to type
* update input dtos for get busy times and fix type issue
* fixup
---------
Co-authored-by: Keith Williams <keithwillcode@gmail.com>
* added lockedSMS to future routes
* add orgMigrations routes to future
* correct metadata
* small fix
* add orgMigrations to future
* Move components to client components
* Remove tRPC element from edit user RSC
* Get username for meta
* Remove suspense query
* Remove orgMigrations from app router
* Type fix
* Revert "Remove suspense query"
This reverts commit eadd814f6e4a5d6856d9218342b7909c22fe62c6.
* Handle suspenseQuery in app router
* User edit page, fetch data server side
* Update yarn.lock
* Export getFixedT
* Set PageWrapper as root layout for settings
* Settings Layout accepts strings for shell heading
* Add OOO to app router settings
* Refactor layout for my-account pages
* Remove instances of pages router from my-account
* Refactor security pages
* Add billing to app router
* Add admin API link to layout
* Add api keys page
* Webhooks WIP
* Refactor SettingsHeader to client component
* Add webhook pages
* Refactor API keys page
* Add admin app page
* Type fix
* fix types
* fix developer/webhooks/[id] param value type error
* remove unnecessary code
* do not pass t prop to CreateNewWebhookButton
* fix type errors in webhook-edit-view
* fix the remaining type errors
* do not use prisma directly in generateMetadata
* remove use client if unnecessary
* Remove unused shell heading from SettingsLayoutAppDir
* improve metadata
* fix billing page
* fix import in settings/teams
* Use next `notFound()`
* fix type check
* fix type check
* remove unused code
* Fix calendar setting page
* Separate settings pages into route groups
* Refactor admin settings pages
* Remove meta instance from billing page route
* Update settings layoutAppDir
* Refactor developer settings pages
* Refactor out of office
* Refactor my account settings
* Refactor admin api page
* Refactor security pages
* Type fix
* fix styling in settings layout
---------
Co-authored-by: Somay Chauhan <somaychauhan98@gmail.com>
Co-authored-by: Omar López <zomars@me.com>
Co-authored-by: Benny Joo <sldisek783@gmail.com>
* fix: use `userPhone` instead of `phone` for switch case
Currently this switch case never gets to the last case ("phone") as the type expected is wrong.
Here the type may have value `userPhone` and not `phone`.
* fix another case
---------
Co-authored-by: Anik Dhabal Babu <81948346+anikdhabal@users.noreply.github.com>
* feat: Add rescheduledBy & canceledBy fields in the DB
* fix: type check
* fix: type check
* fix: use session user email for reschedule
* fix: unit test
* feat: db field email validation
* feat: rescheduledBy and cancelledBy in webhooks
* revert unrelated changes.
* make session user secondary, default to Anonymous
* if condition not required
* Make cancelledBy optional
Co-authored-by: Syed Ali Shahbaz <52925846+alishaz-polymath@users.noreply.github.com>
* update cancel booking type
* fix: update cancelledBy in db when requesting reschedule
* remove default value for fields
* fix: type check
* feat: manage fields via api v1
* fix: add fields in booking read api v1
* test: expand to cover new fields
* fix: use cancelledBy param on booking page
---------
Co-authored-by: Anik Dhabal Babu <81948346+anikdhabal@users.noreply.github.com>
Co-authored-by: Syed Ali Shahbaz <52925846+alishaz-polymath@users.noreply.github.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* refactor: have system and user booking fields schemas and united schema
* fix: event-types output service filter out system booking fields for response
* chore: v2 update platform-libraries to 0.0.25
* chore: platform-libraries export types and update changelog
* chore: add updated lock file
* chore: platform-libraries export updateNewTeamMemberEventTypes
* chore: platform-libraries export updateNewTeamMemberEventTypes
* chore: v2 api bump platform-libraries to 0.0.22
* fix: add created managed user to assignAllMembers: true team event-types
* fix: add created organizations user to assignAllMembers: true team event-types
* refactor: organization teams chose if team creator is auto-accepted
* refactor: managed users have only 2 default event types with video
* refactor: lowercase schedulingType for creating team event-types
* refactor: lowercase schedulingType for creating team event-types
* feat: separate platform teams by OAuth client
* swagger regenerate
* refactor: delete platform team when oauth client deleted
* revert: keep 4 default event-types
* fix: tests && merge of main into this branch
* fix: typecheck
---------
Co-authored-by: Morgan <33722304+ThyMinimalDev@users.noreply.github.com>
* fix: dont check OrganizationSettings.orgAutoAcceptEmail uniqueness for platform teams
* feat: display organizationId in OAuthClientCard
* feat: ApiAuthStrategy handle oauth credentials
* refactor: clean up ApiAuthStrategy test
* refactor: use ApiAuthGuard in OauthClientsUsersController and OAuthFlowController
* fix: copying org id
* refactor: more specific error message when api auth
* refactor: auto accept team creator membership
* feat: useTeamEventType and useTeamEventTypes hooks
* refactor: make team event-types public & searchable by eventSlug
* feat: include host name in team event-types hosts response
* fix: isFixed=true by default for COLLECTIVE event hosts
* fix: useTeamEventType eventSlug access
* feat: BookerPlatformWrapper enable team events by exposting orgId and teamId props
* refactor: provide orgId in atoms context
* refactor: use orgId from context in team event-types hooks
* refactor: return teams in useMe
* chore: examples app teams setup
* Revert "refactor: return teams in useMe"
This reverts commit de992ddc9af6ee9a2111938069f5b9c34cc2d8ea.
* Revert "chore: examples app teams setup"
This reverts commit 0766aa21acc25efa2361d38c3f87ddba773a0245.
* feat: useTeams hook
* chore: setup examples app with team event-type
* fix: small fixes
* swagger
* Revert "refactor: provide orgId in atoms context"
This reverts commit f053a498ee6f8fa8ece5ec8d8630c59eda8873e3.
* feat: orgId in atoms context
* feat: PlatformBilling guard
* chore: delete test of the deleted oauth-client-credentials.guard
* refactor: org event-types collective events isFixed always true and priority medium
* refactor: org event-types COLLECTIVE response ignore isFixed and priority as they are same
* fix: organizations event-types e2e
* fix: billing guard
* refactor: tests cleanup
* fix: platform plan guard spec
* refactor: e2e test cleanup
* seed error if not team
* refactor: rename authenticateApiKey to authenticateBearerToken
* refactor: transforming response hosts
* refactor: rename findUniqueByMatchingAutoAcceptEmail to findUniqueNonPlatformOrgsByMatchingAutoAcceptEmail
* refactor: rename findUniqueByMatchingAutoAcceptEmail to findUniqueNonPlatformOrgsByMatchingAutoAcceptEmail
---------
Co-authored-by: Morgan <33722304+ThyMinimalDev@users.noreply.github.com>
* refactor: event-types CREATE, UPDATE accept scheduleId and return scheduleId
* chore: enable passing scheduleId to event-types create handler
* chore: use platform-libraries at version 0.0.20
* fix: remove team output schedule
* finish merge main into this branch
* fix: dont allow adding scheduleId to event-type if user does not own schedule
* fix: event-types input service transform length property
* feat: create organizations event-types controller, service and repository
* feat: enable organizations event types
* fix: create team request user isOrgAdmin check
* refactor: hosts array required in team input and output
* chore: use platform-libraries at version 0.0.19
* tests: test organizations event-types
* feat: enable managed event-types
* chore: fix main merge into this branch
* feat: assign all team members for managed event-types
* refactor: gathering managed event-type users ids
* chore: include assignAllTeamMembers in team event response
* test: assign all team members db event
* chore: delete unused files
* docs: swagger create and update request body objects
* revert: event-types platform-libraries update
* refactor: organisations event-types endpoints accessible by TEAM_ADMIN and up
* fix: managed event types output hosts array empty
* fix: dont allow creating event-type for non-team member
* chore: delete unused variables
* tests: negative tests
* chore: finish main merge
* update to display availability page as per weekstart setting
* update to accomodate any day
* update for AvailabilityTab
* reusable and tests added
* update test description
---------
Co-authored-by: Amit Sharma <74371312+Amit91848@users.noreply.github.com>