* refactor: UserAvatarGroupWithOrg.tsx remove unecessary profile prop
* chore: define event-type types in platform/types
* feat: event-type transformes in lib and re-exported through platform-libraries
* chore: define user types in platform/types
* chore: add users endpoint to platform-constants
* refactor: app-store use narrowed down booker event type
* chore: version old event-types module
* fix: old event-types e2e test
* fix: libraries add missing export
* fix: reset libraries version to 0
* feat: new event-types module and users endpoints
* feat: make booker atom work with v2 event-types
* updating event type
* refactor: remove guard for get event-types
* refactor: move private hook to public
* Revert "refactor: remove guard for get event-types"
This reverts commit d41204069f1d5bb1305b388ce53399f9175f4249.
* Revert "refactor: move private hook to public"
This reverts commit 09322e8fba102e57104959f79ed6bfa9a677dc9d.
* refactor: get by username and slug in /event-types
* remove console log
* feat: locations handle displayEventPublicly
* test e2e event-types
* revert: user output from types
* refactor: event-types hooks have private and public folders
* refactor: require event-type.slug in input
* refactor: demand that all labels of booking fields are unique
* refactor: remove unused import
* refactor: only have email and name by default in booker
* refactor: add booking field slug
* fix: display event-type location publicly / hide it in booker
* fix: display event-type location publicly / hide it in booker
* fix: packages/lib tests
* fix: typescript in e2e test
* fix: dynamic event types input
* refactor: use IsIn instead of IsEnum
* refactor: simplify getEventTypes
* fix: use ApiAuthGuard instead of AccessTokenGuard
* chore: export more stuff from libraries
* refactor: SchedulingTypeEnum and Type
---------
Co-authored-by: Morgan <33722304+ThyMinimalDev@users.noreply.github.com>
* chore: enable apiv2 auth with api keys
* chore: enable apiv2 auth with api keys
* chore: enable apiv2 auth with api keys
* chore: enable apiv2 auth with api keys
* chore: enable apiv2 auth with api keys
* fixup! chore: enable apiv2 auth with api keys
* fixup! Merge branch 'chore-apiv2-auth-api-key' of github.com:calcom/cal.com into chore-apiv2-auth-api-key
* fixup! fixup! Merge branch 'chore-apiv2-auth-api-key' of github.com:calcom/cal.com into chore-apiv2-auth-api-key
* fixup! fixup! fixup! Merge branch 'chore-apiv2-auth-api-key' of github.com:calcom/cal.com into chore-apiv2-auth-api-key
* set status code
* Add tests
* Update apps/api/v1/lib/helpers/rateLimitApiKey.test.ts
* Update apps/api/v1/lib/helpers/rateLimitApiKey.test.ts
---------
Co-authored-by: Keith Williams <keithwillcode@gmail.com>
* chore: Upgrade Sentry in v1, v2 & web
* fix: Keep ./instrument to be the first line
* Remove eslint-plugin-import (fixed in prettier)
* Optimistic removal pending some feedback
* Simplified and fixed sentry wrapper
* Create instrumentation.ts also in APIv1
* sentry key in main nextConfig is deprecated
* refactor: platform-types schedule types
* refactor: lib add bidirectional schedule transformers api <-> atom
* refactor: trpc handlers use renamed lib transformers
* refactor: platform-libraries export new bi-directional transformers
* chore: v2 update platform-libraries
* chore: enable also old platform-libraries
* fix: platform-types support previous types
* refactor: versioning date
* chore: version old schedules as schedules_2024_04_15 module
* chore: version old schedules as schedules_2024_04_15 module
* feat: new 2024_06_11 schedules module
* feat: atoms use refactored schedule api
* refactor: remove ?for=atom in schedules hooks
* fix: unit test
* chore: Remove deprecated logo/avatar/away fields
* Use right variables for accounts-step-card
* Remove more deprecated logo/avatar usage
* Dont drop the fields until all usages are gone
* Remove the avatar/logo drops for staggered release
* fix: Typescript blindspot (unvalidated include fields)
* fix: Further updates (mostly to API) typescript missed
---------
Co-authored-by: Udit Takkar <53316345+Udit-takkar@users.noreply.github.com>
Co-authored-by: Bailey Pumfleet <bailey@pumfleet.co.uk>
Co-authored-by: Carina Wollendorfer <30310907+CarinaWolli@users.noreply.github.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: Keith Williams <keithwillcode@gmail.com>
* feat: API v2 subversioning
* Update app.ts
* Added multiple versions to existing controllers
* Updated the slots controller
* chore: version platform library package with npm package alias
* chore: use consts to version
* chore: use consts to version
* chore: version api for cal provider
* chore: remove timezone controller subversion poc
* fixup! Merge branch 'main' into feat/api-v2-subversioning
---------
Co-authored-by: Morgan <33722304+ThyMinimalDev@users.noreply.github.com>
Co-authored-by: Morgan Vernay <morgan@cal.com>
* init endpoints for office 365 syncing
* get web app url for oauth
* update typings
* nethods for office 365 calendar
* update office 365 connect endpoint
* update packages
* add calendar type and if office 365 calendar
* add SelectedCalendarsRepository and TokensModule
* add functions for getting oauth credentials, getting default calendars and redirect url for office 365 calendar
* update controllers
* e2e tests for office 365 calendar endpoints
* fixup! Merge branch 'main' into rajiv/cal-3544-outlookoffice365-integration-connect-atom
* fixup! fixup! Merge branch 'main' into rajiv/cal-3544-outlookoffice365-integration-connect-atom
* fix merge conflict
* update typings
* abstract microsoft outlook into its own module
* add one common interface for calendar apps
* make calendars dynamic
* abstract every calendar app into its own service
* cleanup
* make all calendar endpoints dynamic
* calendar app constants
* cleanup
* remove unused repositories
* rename microsoft calendar type
* fix typings
* add google and outlook calendar service to calendars module
* fixup
* some more e2e tests including google calendar
* chore: small type change and apple calendar not implemented yet
---------
Co-authored-by: Morgan <33722304+ThyMinimalDev@users.noreply.github.com>
Co-authored-by: Morgan Vernay <morgan@cal.com>
Co-authored-by: Rajiv Sahal <rajivsahal@Rajivs-MacBook-Pro.local>
* api: createSchedule refactor - still need to handle overrides
* createSchedule: handle overrides
* createSchedule: default schedule e2e test fix and pad hours:minutes
* get default schedule, by id and all schedules
* update schedule
* refactor: update handler delete only if overrides or availabilities given
* remove comment
* refactor: move schedules inputs, outputs to platform-types + e2e tests refactor
* refactor e2e
* fix: overrides and test
* fix managed user create
* my brain is fried but refactor good
* WIP: transform api schedule for atom
* WIP: transform api schedule for atom
* WIP: transform api schedule for atom
* fix: re-export atom transformer from lib
* fix: format schedule for api from atom
* fix ts ignore
* refactor: move schedule hooks into hooks/schedules
* feat: useSchedules hook to get count of user schedules
* tests: setup atom tests & test transformScheduleForAtom
* rename transformers
* test transformAtomScheduleForApi
* reset scheduel update handler for trpc
* fix: import path
* refactor: transformers
* swagger docs fix
* get rid of unused availabilities module
* get rid of eslint-disable-next-line in schedules repository
* refactor: remove crypto from atoms vite rollupOptions
* refactor: comment schedules repository update logic
* chore: open disableGuests for eventtypes apiv2
* fixup! chore: open disableGuests for eventtypes apiv2
* fixup! fixup! chore: open disableGuests for eventtypes apiv2
* chore: add disableGuests to create handler
* add endpoint to fetch managed user from client id
* update typings
* minor tweaks
* custom hook to fetch managed users from client id
* add translations for platform onboarding
* add isPlatformOrg boolean to figure out which is platform and which is not
* set isPlatform hook based on data obtained from org
* add limitWidth prop to control component width
* add props to shell to make sidebar display different tabs based on if the shell isPlattform or not
* platform related pages
* fix merge conflicts
* fix merge conflicts
* platform oauth client form and card
* remove everything related to platform from organization
* update oauth client card and form
* fixup
* fix imports and remove logs
* fixup
* update redirect url
* split oauth client form into separate update and create forms
* separate forms for create and edit oauth clients
* fixup
* fixup
* dynamic routes for oauth client edit page
* fixup fixup
* fix to not show error when redirect uri is empty
* refactor create handler for org
* cleaup comments
* add custom hook to check user billing
* export managed user type
* refactor platform index page
* refactor edit and create pages
* dashboard component containing oauth client list and managed user
* common oauth client form used for create and edit form
* platform pricing helper
* platform pricing component
* fix typing and data response for billing
* use custom hook to check team billing info
* fix type checks
* upgrade conditional rendering for upgrade to org banner
* add isLoading prop to check button loading state
* pass in button handler
* add custom hook to subscribe to stripe and typings
* update typings
* fix incorrect endpoint
* pass in team id as prop
* fix type check
* update stripe success and cancel redirect url
* add and pass redirect url param to custom hook
* custom hooks for platform
* cleanup
* update imports
* fix merge conflicts
* fixup
* fixup fixup
* fixup
* merge conflicts fixup
* merge conlficts battle :(
* minor fixes
* skip admin checks for a platform client
* fix typo
* append slug with _platform for a platform user
* PR feedback
* dashboard refactor
* bring back org form to its orginal state
* add platform folder to ee
* update typings
* use new create platform form
* fixup
* fix typo and update plans
* simplifying rendering
* remove managed users endpoint since it already exists
* url for endpoint
* rename tabs
* pr feedback
* managed users endpoint
* update endpoint
* remove form
---------
Co-authored-by: Morgan <33722304+ThyMinimalDev@users.noreply.github.com>
Co-authored-by: exception <erik@erosemberg.com>
Co-authored-by: Carina Wollendorfer <30310907+CarinaWolli@users.noreply.github.com>
Co-authored-by: Keith Williams <keithwillcode@gmail.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* refactor: create, update user inputs use types instead of custom validators
* fix: save weekStart, timeFormat, timeZone when creating user
* fix: save weekStart, timeFormat, timeZone when creating user
* e2e: fix env variables and test weekStart, timeZone and timeFormat during user create
* feat: setup usePublicEvent with orgSlug and duration
* feat: setup useAvailableSlots with eventTypeSlug and orgSlug
* fix & feat: fix TS issues and allow passing multiple users to Booker
* refactor: dont show [15min] [30min] [60min] [1h30min] picker
* fix: pass orgSlug to handleNewBooking -> loadUsers -> findUsersByUsername to not return empty users[]
* refactor: display attendees in booking confirmation screen
* fix: getting slots get orgSlug from props not event
* revert: Booker username use props instead of hardcoded values
* refactor: setup BookerStore org and use it for selectedTime + isDynamic logic
* refactor: hide 'what is this meeting about' input in final booking step
* fix: TS error
* revert: what is the meeting about field hiding
* revert: make org as org? in booker store
* revert: createNewBooking -> loadUsers -> get forced orgSlug from header not body
* refactor: useHandleBookEvent get orgSlug from booker store not props
* fix: if entity undefined dont access orgSlug
* refactor: add isDynamic prop as queryKey for usePublicEvent
* refactor: remove unused prop
* re-add docs
* fix: typescript error
* fix: force platform orgSlug in handleNewBooking.ts
* fix: remove duplicate setSelectedDuration declaration
* refactor: destructure properies from body instead of req.body
* fix: entity optional and hide event members
---------
Co-authored-by: Morgan <33722304+ThyMinimalDev@users.noreply.github.com>
Co-authored-by: Morgan Vernay <morgan@cal.com>
* chore: Billing Service
* chore: others
* chore: don't type
* chore: typo
* chore: use proper wh secret
* chore: updates
* chore: lockfile
* chore: docs and comment out
* chore: updates and include plan
* chore: config
* chore: bring back alias
* chore: update lockfile
* chore: refactor
* chore: default none plan in db
* chore: read from env vars
* chore: feedback
* chore: remove json config
* chore: proper type
* feat: Add linting rule to recursively check for Prisma includes using only 'true'
* Fixing linting errors
* More linting fixes
* Disabled linting for forms
* Update recommended.ts
* Removed ignores
* Fixed warning
* Type fix
---------
Co-authored-by: Keith Williams <keithwillcode@gmail.com>