* Add `hideCalendarEventDetails` to DB
Co-authored-by: Alex van Andel <emrysal@users.noreply.github.com>
* Add option to hide calendar event details
* Pass `hideCalendarEventDetails` to event object
* Add to API
* Add to CalendarEvent class
* Pass `hideCalendarEventDetails` to calendar services
* Adjust test
* fix: move `hideCalendarEventDetails` to `api/v2/event-types_2024_06_14` and remove from older versions
- Added `hideCalendarEventDetails` to `api/v2/event-types_2024_06_14`
- Removed `hideCalendarEventDetails` from `api/v1` and `api/v2/event-types_2024_04_15`
* fix: calEventRaw is undefined (use event instead)
* chore: Remove debug artifact
* fix: description id + update to copy
* fix: Attempt at fixing type error
* Add hideCalendarEventDetails to test builder
---------
Co-authored-by: Alex van Andel <emrysal@users.noreply.github.com>
Co-authored-by: Somay Chauhan <somaychauhan98@gmail.com>
Co-authored-by: Alex van Andel <me@alexvanandel.com>
* added bookerLayouts
* added requiresConfirmation
* added tests
* undo extra changes
* undo extra change
* fixed imports
* added requiresBookerEmailVerification
* added hideCalendarNotes
* added lockTimeZoneToggleOnBookingPage
* added eventTypeColor
* undo extra changes
* added seats
* added requiresConfirmationWillBlockSlot to requiresConfirmation
* refactor: Implement BaseEventType class to avoid duplication across EventType input/output classes
## D-R-Y ##
* temp-fix: will revert later
* Correct placement of users array from EventTypeOutput to TeamEventTypeOutput
* Refactor: Shifted transformation logic to controllers using interceptors and pipes for a cleaner service layer.
* small fix
* Refactor: Moved transformation logic from service to controller using interceptors and pipes
** organisations/event-types
* feat: adde tests for `validateEventTypeInputs`
* fix: failing test
* fix: layout validator
* renamed blockCalendarForUnconfirmedBookings to blockUnconfirmedBookingsInBooker
* testing changes
* added disabled state
* fix merege conflict
* renamed requiresConfirmation to confirmationPolicy
* renamed OutputEventTypesResponseInterceptor to OutputTeamEventTypesResponseInterceptor
* renamed `darkThemeColor` -> `darkThemeHex` and `lightThemeColor` -> `lightThemeHex`
* renamed `eventTypeColor` -> `color`
* changed `requiresConfirmation` -> `confirmationPolicy`
* added tests for disabled state
* added class-validators to `disabled?: false`
* Revert: Split create and update input/output classes
* feat: Refactor responses to use DTOs with plainToClass for explicit property control
• Updated all endpoints to return response DTOs (e.g., CreateTeamEventTypeOutput, GetTeamEventTypeOutput) to ensure consistent Swagger documentation generation.
• Introduced plainToClass for transforming responses, enabling explicit control over which properties are returned in the response, following Morgan’s recommendation.
• Replaced generic HandlerResponse type with class-validator based DTOs for each endpoint, ensuring TypeScript enforces correct response structure.
• Applied strategy: "excludeAll" to limit response properties to only those explicitly defined in the DTO, preventing unintended fields from being included in the API responses.
* added pipes to transform output data
* add clean script to platform-types package.json
* added customName
* added destination calendar
* fixed type errors
* added useDestinationCalendarEmail
* refactor: api-reqest and api-response
* Update event-type.output.ts
* fixed errors
* Update yarn.lock
* added some missed properties to output
* Update constants.ts
* removed return type
* fixed some type errors
* reuse types
* Improve readability of validation functions
* Update CHANGELOG.md
* chore: post publish platform libraries
* Update documentation.json
* fix: reset platform libraries to 0.0.0
* fixup! fix: reset platform libraries to 0.0.0
* Update event-type.tranformed.ts
---------
Co-authored-by: supalarry <laurisskraucis@gmail.com>
Co-authored-by: Morgan Vernay <morgan@cal.com>
* add booking booking to team settings
* add update mutation
* add missing export
* fix dirty state
* first version of global team limits in getUserAvailability
* add test setup
* create seperate test file for global limits
* add tests for all units
* move limitManager and booking limit functions outside of getUserAvailability
* add migration
* clean up code
* move yearly booking count to booking repository
* code clean up
* don't count rescheduling booking
* add test for getSchedule
* fix type error
* fix type error
* fix type error
* fix from and end date for fetching bookings
* reuse functions
* allow null for bookingLimits
* remove bookings from managed event type
* fix type error
* code clean up
* small fixes form clean up
* fix type issue
* same fixes in teams/_post
* fix existing tz issue
* tests for fix
* adds missingn await
* imrove description
* remove spreading
* fix reschedule issue with booking limits
* fix reschedule error with booking durations
* remove useeffect
* undo commit
* add bookingLimits to UpdateOrgTeamDto
* fix unit tests
* Prepare view for app router migration
* throw error if not in ascending order
* fix disabled update button
---------
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
Co-authored-by: Joe Au-Yeung <j.auyeung419@gmail.com>
Co-authored-by: Joe Au-Yeung <65426560+joeauyeung@users.noreply.github.com>
* fix: Flakyness on pages that use a hard refres
Signed-off-by: zomars <zomars@me.com>
* Update Shell.tsx
---------
Signed-off-by: zomars <zomars@me.com>
* 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 version
* fix button to match new spec
* migrate tests to objectContaining
* fix tests
* update RTL
* yarn.lock update
* bump fetch mock to latest vitest version
* update deep mock to use vitest 2.0
* fix mock prisma type cast
* meet base test fn singature for V2
* remove console.log from next test
* feat: remove dropdown from app-store and redirect to new-app-install-flow
* removed extra code
* fix: account select loading issue
* removed getPaymentCredential (unused)
* fix: only redirect after the app has been added to all the event-types
* remove overflowIndicatorStyles
* refactor getUserAdminTeams
* send teamId instead of id
* seperate locations component
* for conferencing apps skip select account page
* refactor InstallAppButtonChild
* installing conferencing apps shows locations dropdown in configure step
* send location data to the handler
* send location data to the handler
* add the newly installed to the locations dropdown (prefillLocation)
* fix: type errors
* fix: handle es-lint errors
* fix: app is added again on submit
* only add app if not already added
* fix: type erros
* filter out managed events for now
* fix: show installed count badge
* remove 2 toast message
* feat: added tests for conferencing apps
* fix: loading indicator
* Update apps/web/pages/apps/installation/[[...step]].tsx
Co-authored-by: Joe Au-Yeung <65426560+joeauyeung@users.noreply.github.com>
* Update apps/web/pages/apps/installation/[[...step]].tsx
Co-authored-by: Joe Au-Yeung <65426560+joeauyeung@users.noreply.github.com>
* move `getUserAdminTeams` to `UserRepository`
* fix: zoom and jelly not redirecting to the new app install flow
* fix: typo
* add `installableOnTeams` prop
* split `configureStepCard` into smaller components
* fix: step count
* fix: show loading indicator until the new page is loaded
* fix: organizer_default_conferencing_app not visible in a team
* Introduce QueryClient to app card tests
* fix: typo
* add installableOnTeams prop
* fix: tests
* seated events shouldn't have multiple locations #15174
* fix: o365 callback
* fix: office365_video not redirecting to event-types step
* Revert "fix: o365 callback"
This reverts commit bba841035ea34f8c31201b64c77221b8d8c3e626.
* add TEAM_SELECT_STEP
* add apps to orgs and their sub-teams initial commit
* undo team select step
* small ui fix
* fix: wrong step numbers
* fix: dont allow app installation without cretendialId
* fix: don't show acme team as it cannot have any events
* refactor useAddAppMutation
* removed console.log
* added comment
* added comment
* move locationOptions from getServerSideProps a trpc query
* fix: failing tests
* Update conferencingApps.e2e.ts
* refactor useAddAppMutation
* refactor useAddAppMutation 2
* fix: test failing
* fix: unit test
* Revert "fix: unit test"
This reverts commit 6d74032211d094478c6d7cf9aedbce696dfb768d.
* fix: failing test
* Increase test timeout for conferencing app tests
* fix: write separate tests for each conferencing app to prevent hitting 6000 ms timeout
* improved tests naming
* fix: correct message and translation key #15657
* fix: write separate tests for each analytics app to prevent hitting 6000 ms timeout
* fix: analytics apps test
* attempt to fix failing tests
* fix typo
* refactor
* update: replace text-gray with text-stuble
- works with light mode too
* update: use userRepository.getUserAdminTeams
* Merge branch 'main' into feat/org-team-app-install-2
* fix: after merge conflict from app router migration
* remove consoles
---------
Co-authored-by: Omar López <zomars@me.com>
Co-authored-by: Joe Au-Yeung <65426560+joeauyeung@users.noreply.github.com>
Co-authored-by: Joe Au-Yeung <j.auyeung419@gmail.com>
Co-authored-by: Udit Takkar <53316345+Udit-takkar@users.noreply.github.com>
* FEAT: Implement Dub.co for conversion tracking
* add link creation, @vercel/functions
* use refer.cal.com/:username instead of go.cal.com/r/:username
* sale conversion tracking
* add copy referral link
* limit to IS_CALCOM only
* Update yarn.lock
* fix DubAnalytics
* use workaround for isNewUser
* pass req to getOptions
* Update next-auth-options.ts
* fix ts errors
* only show DubAnalytics outside EU
* add Dub Analytics to /signup
* use WEBSITE_URL instead
* on-demand generate links
* add migration
* add check for existing link + change fetch method to poast
* remove refer.cal.com from PoweredByCal
* limit DubAnalytics to /signup only
* simplify generate-referral-link
* restore yarn.lock
* add yarn with dub sdk in
* add yarn with dub sdk in
* yarn
* Update yarn.lock
---------
Co-authored-by: sean <sean@brydon.io>
Co-authored-by: Peer Richelsen <peer@cal.com>
* wip
* add method to OrganizationRepository
* server side fetching for availability
* fix error
* server side fetching finish
* remove log
* fix
* fix
* fix type
* no need to export
* fix type
* address nit comments
* 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>
* feat: Create team event on a new team creation
* fix
* fixed failed tests
* move team event type form
* fix type error
* requested chnages
* update
* some update and refactor
* fix e2e test
* Update useCreateEventType.ts
* update
* fix type error
* fix e2e
* update
---------
Co-authored-by: Somay Chauhan <somaychauhan98@gmail.com>
Co-authored-by: Hariom Balhara <hariombalhara@gmail.com>
Co-authored-by: Keith Williams <keithwillcode@gmail.com>
Co-authored-by: Udit Takkar <53316345+Udit-takkar@users.noreply.github.com>
* feat: block pending meetings for requires confirmation
* add i18n
* fix:typecheck
* fix(requires-confirmation-block): Fixes type error
* fix(requires-confirmation-block): Fixes type error
* Tweak to set BookingWhereInput as the explicit type instead of as
* fix: type error
---------
Co-authored-by: Alex van Andel <me@alexvanandel.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>