* 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>
* feat: Improve API v2 docs
* Consistency
* Made the descriptions complete sentences with period
* Update apps/api/v2/src/ee/schedules/schedules_2024_06_11/controllers/schedules.controller.ts
* chore: Add summaries for all API v2 endpoints
* Updated to Get all calendars
* Fix build issues
* Removed unneeded Swagger UI options
* Fix issues with OpenAPI spec
* 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>
* modules for platform plans and billing pages
* add platform billing and plans related pages
* update platform navigation to include billing tab
* custom hook to upgrade team subscription
* refactors
* export cta row component
* fixup
* only pass in subscription id instead of whole subscription
* refactor :teamId/subscribe endpoint logic, add endpoint for upgrading stripe and shift all webhooks logic into services
* refactor team subscription logic, add logic for upgrading stripe and webhooks logic from billing controller
---------
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* refactor: make manageg user input name required
* refactor: return managed user name in output
* refactor: store provided user name
* test: check managed user name in input and output
* docs: update swagger
* 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
* 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>
* 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>
* WIP
* services
* controllers + outputs
* unit tests for repositories
* use hard coded enum type
* use prisma import
* remove redunant input file
* fix packagejson
* rename to spec files
* fix typo in option service file name
* move membership call to org membership service
* move logic to service > repo
* fix membership query
* attribute controller e2e spec
* add options e2e test
* add jest watch for e2e
---------
Co-authored-by: Morgan Vernay <morgan@cal.com>
* fix: api v2 booking controller with api key
* add test
* fixup! add test
* fixup! Merge branch 'fix-booking-controller-api-key' of github.com:calcom/cal.com into fix-booking-controller-api-key
* fixup! Merge branch 'fix-booking-controller-api-key' of github.com:calcom/cal.com into fix-booking-controller-api-key
* chore: Add replexica for AI i18n
* Add write permission
* moved i18n to repo root
* Added checkout to i18n job
* Added contents:read
* Added actions: write for testing
* Updated contents: write
* feat: add missing translations
* Checking out the i18n files from PR head sha
* Added the rest of the languages
* Added i18n to list of required checks
* Added a comment explaining the custom common.json checkout
* Commented out languages to not crush Replexica usage
* Add a fetch-depth: 2
* Supporting fetch of external fork branch
* Put back the dynamic sha
* Added a check for null so this can run manually and not just on PRs
* Removed comments
* feat: update translations
* Reverted de and fr to re-run with new settings
* feat: update translations
* Reverted de and fr to re-run with new settings
* feat: update translations
* Removed crowdin
* Limited languages to major ones for 1st pass
* feat: update translations
* Fixing es test
* Reverted yarn.lock changes
---------
Co-authored-by: Replexica <support@replexica.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>
* feat:add prefilcheck check box in the field creation
* chore:formatted the li8 translations
* feat:add e2e test case for this feature
* refactor:reanmed the key from prefilledCheck to disableOnPrefill and moved the readOnly logic to formbuilderField
* chore:fixed the type check
* fix:if prefilled has error. do not disabble it
* chore:removed the e2e tests for prefill in e2e
* chore:revert back to old changes
* chore:remove unwanted code frome2e
* Support name field as well
* refactor:handled the feedback changes. still unit test cases pending
* feat: add unit tests for disable field on prefill logic
* chore: resolved the type check and typos
* chore:renamed the files and type clean up
* Apply suggestions from code review
* chore:renaming test files and moving the disableonprefill hook to formbuilderFeild.
* refactor: add unit test for serach params and form values check and minor code formatting and file name changes
* fix: validating the input value partially at the intialising phase. so that form response values and from ui values are same and making sure invalid data not sent to backend on submit.
* chore:fix the type check issue
* fix: field value valdiation at initilisation and add the unit test cases for that change
* chore:add comments to the tests
* chore:resolve type check
* chore: moved the tests to the formBuilder
* Simplify codebase by ensuring select and multiselect changes the value when no option is found
* Relocate and refactor tests
* handle special cases
* Dont disable for dirty fields
* Update schema.prisma
---------
Co-authored-by: Anik Dhabal Babu <81948346+anikdhabal@users.noreply.github.com>
Co-authored-by: Hariom <hariombalhara@gmail.com>