* add org to create workflow button
* add save button for testing in dev mode
* add select all to multi select dropdown
* fix select all
* pass isOrg to WorkflowDetailsPage
* add checkbox to apply to all including future
* fix count text on select
* WIP schema
* shows teams in dropdown
* add team option to UI
* [WIP] refactor for update handler
* filter out "all" from activeOn
* fix type error
* create more helper functions
* create reusable function for scheduling all booking reminders
* finish update workflows for orgs (without testing)
* fix isAuthorized check for orgs
* fix getting newActiveOn
* move all helper functions to util file
* more code clean up
* fix deleting reminders for org workflows
* fix adding and editing steps
* update form data when workflow is saved
* code clean up
* fixing creating/deleting reminders when user is member of several teams
* fix setting activeOn for teams in useffect
* add on delete cascade
* make multiSelectSchenbox searchable
* set activeOn correctly when checkbox true
* WIP
* fix type errors in MultiSelectCheckboxes
* implemented scheduling org-wide workfow notifications (not yet tested)
* fix type errors
* type error
* add missing changes from merge conflict
* remote not needed include statement
* fix type errors
* code clean up + some todo comments
* support org workflows for cancelled workflows
* delete reminders from removed members
* remove reminders if isActiveOnAll is turned off
* fix unti test and type error
* code clean up
* create basis for testing to book org team event
* create org workflow with active team
* fix getting active org workflows on team + test setup
* fix creating workflow step for tests
* fix first org test
* add test for user event type with org workflow active
* use deleteAllWorkflowReminders everywhere
* add test for deleteRemindersFromRemovedActiveOn
* fix type errors
* make all tests pass
* fix type error
* fix getSchedule test
* code clean up
* add missing import
* fix type error
* fix tests
* code clean up
* fix imports
* update reminders when trigger was changed
* check for teamId before userId in reminderScheduler
* move getOrgIdFromMemberOrTeamId to different folder
* code clean up
* fix tests
* test setup for scheduleBookingReminders
* fix typo
* add tests for scheduleBookingReminders
* fix prisma default import
* fix workflowStep type
* add scheduleBookingReminders test for sms
* return dummy sid for scheduleSMS testMode
* clean up + fixes
* add lost changes from merge
* get teamId and userId from incoming evt object
* removing not needed select
* add org support for scheduleMandatory email reminder
* add other teams to dropdown
* move getAllWorkflows to seperate file and call it in parent function
* include org wide workflows in createNewSeat
* some fixes + code clean up
* add new team to select text count when including future teams is checked
* fix upsert and remove sms reminder field
* correctly update activeOn if 'including future ...' is enabled
* list active Org workflows in event workflows settings
* fix sms reminder field in all handlers
* add helper function to check if step was edited
* fix active on badge on workflow
* fix type error
* fix double reminders
* add teamId: null for userWorkflow query
* fix activeOnAll with managed event types
* add missing teamId in getAllWorkflows
* add a dafaut to prisma param
* fix managed event types on select all user workflows
* code clean up
* better variable name
* small fixes in update handler
* fix test name to match function name
* add info badge
* fix workflow count in event type settings
* fix getting bookings from children manged event types
* delete reminders when user is not part of any time no more
* implement feedback
* fix disbale workflow in event type settings
* fix remove member
* create new function getAllWorkflowsFromEventType
* add some removed code
* use promise.allSettled when deleting workflow reminders
* create new function deleteWorkflowRemindersOfRemovedMember.ts
* fix userId param
* delete org worklfows when team is disbanded
* don't trigger active on all workflow if not part of any team
* fix active on count badge
* add test for deleteWorkflowRemidnersOfRemovedMember
* trigger workflow also if not member of any subteam
* fix failing test
* remove unused code
* use testId for go back button
* fixes for managed event types & activateEventTypeHandler
* code clean up
* don't activate workflow on locked managed event type
* fix type error
* type error
* more type fixes
* feedback
---------
Co-authored-by: CarinaWolli <wollencarina@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>
* init apple calendar service
* update apple calendar service logic
* update typing for CalendarApp interface
* add id and type for apple calendar
* fixup: logic for apple calendar service
* update logic for checkIfCalendarConnected function
* add apple calendar service to calendars module
* fixup
* update calendars to include cases for apple calendar
* fix imports
* init frontend for apple calendar connect
* add apple connect atom to connect atom
* fixup
* fixup
* add alias for latest version of platform library
* fix import paths
* custom hook for saving apple calendar credentials
* add apple calendar to examples app
* add interface for credentials syncing calendars
* bring calendars controller to orginal state
* refactor
* update custom hook to sync credentials
* update atom
* resolve merge conflicts
* add endpoint for syncing calendar credentials
* fixup
* update atom
* update useCheck to invalidate queries onSubmit
* fix typo
* fixup
* remove unused tokens respository
* rename controller
* cleanup
* fix: reset react queryClient on access token change
---------
Co-authored-by: Rajiv Sahal <rajivsahal@Rajivs-MacBook-Pro.local>
Co-authored-by: Morgan <33722304+ThyMinimalDev@users.noreply.github.com>
Co-authored-by: Morgan Vernay <morgan@cal.com>
* fix: Error in team members migration during org onboarding
* Add invitationMemberHandler tests
* Add unit tests
* Improve tests and refactor
* Improve tests and refactor
* Fix type issue
* Fix createNewUsersConnectToOrgIfExists args
* Added a log for pull_request
* Added labels logging
* Using labels straight from event PR object
* Converting to JSON
* Switching to use payload
* Fixed issue with undefined pr
* Fixed non-mapping issue
* Removed the types
* Added another cache key segment using the head commit sha
* Added separate workflow for labeled action
* Fixed syntax error
* Fixing payload issue
* Added log
* logging full object
* Put e2e back in the names to help find them
* Limited logging
* fix: v2 even-types versioning
* test: old v2 even-types request with VERSION_2024_06_11
* test: old v2 even-types request with VERSION_2024_04_15
---------
Co-authored-by: Keith Williams <keithwillcode@gmail.com>
* 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