* feat: installing the app works
* Update yarn.lock
* feat: /api/callback now gets user auth info from basecamp
* feat: updated basecamp logo
* feat: added project dropdown on event apps page
* feat: basecamp event creation and deletion working
* feat: basecamp event rescheduling now works
* refactor(CalendarService): basecamp CaldendarService code clean up
* refactor: code cleanup for basecamp app API
* feat: updated event summary text sent to basecamp
* chore: updated basecamp images and contact info
* fix: fixed typescript errors and added logic to refresh tokens on event settings
* refactor(CaldendarService): used refreshAccessToken from helpers.ts instead
* chore: updated basecamp description
* fix: fixed incorrect import
* fix: accidentally deleted props to toggle app for event
* chore: updated .env.appStore.example and added README for app
* Update .env.appStore.example
Co-authored-by: Leo Giovanetti <hello@leog.me>
* feat: added basecamp userAgent in env instead of hardcoded value
* feat: updated README to include how to set basecamp user agent env
* fix: removed unused import
* feat: used URLSearchParams to construct url params
* fix: fixed typescript errors
* chore: updated README to include an example on how to set basecamp user-agent
* feat: using TRPC instead of REST
* chore: removed old projects REST code
---------
Co-authored-by: Leo Giovanetti <hello@leog.me>
* Remove unused code in InstalledAppsLayout
* Add new app categories "crm", "conferencing" and "messaging"
* Sort getAppCategories entries alphabetically
* Fix 404s on new category pages (and remove hardcoded category lists)
* Fix admin apps list not showing "no available apps" for new categories
* Recategorise apps
* Sync seed-app-store categories with config files
* Replace unnecessary seed-app-store.config.json with appStoreMetadata
* Copy video.svg to conferencing.svg
* Add messaging.svg
* Remove web3 from getAppCategories (used by installed apps, admin apps)
* Fix app-store-cli categories
- Add conferencing
- Add CRM
- Remove video
- Remove web3
* Remove outdated web3 comment in seed-app-store
* Update apps/web/public/static/locales/en/common.json
* Add cron script to keep db apps in sync with app metadata
* Add redirect for app category "video" to "conferencing"
* Fix up "video" category overrides to apply to conferencing
* Fix conferencing apps not showing as a location for non-team users
* Restore "installed_app" string for conferencing apps
* Make linter happier
* Remove my "installed_app_conferencing_description" as this was fixed upstream
* Quick tidy up
* Add dry-run to syncAppMeta via CRON_ENABLE_APP_SYNC env
* Replace console.log with logger in syncAppMeta
---------
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: alannnc <alannnc@gmail.com>
Co-authored-by: Hariom Balhara <hariombalhara@gmail.com>
Co-authored-by: Omar López <zomars@me.com>
* Initial commit
* Adding feature flag
* feat: Orgs Schema Changing `scopedMembers` to `orgUsers` (#9209)
* Change scopedMembers to orgMembers
* Change to orgUsers
* Letting duplicate slugs for teams to support orgs
* Covering null on unique clauses
* Supporting having the orgId in the session cookie
* feat: organization event type filter (#9253)
Signed-off-by: Udit Takkar <udit.07814802719@cse.mait.ac.in>
* Missing changes to support orgs schema changes
* feat: Onboarding process to create an organization (#9184)
* Desktop first banner, mobile pending
* Removing dead code and img
* WIP
* Adds Email verification template+translations for organizations (#9202)
* First step done
* Merge branch 'feat/organizations-onboarding' of github.com:calcom/cal.com into feat/organizations-onboarding
* Step 2 done, avatar not working
* Covering null on unique clauses
* Onboarding admins step
* Last step to create teams
* Moving change password handler, improving verifying code flow
* Clearing error before submitting
* Reverting email testing api changes
* Reverting having the banner for now
* Consistent exported components
* Remove unneeded files from banner
* Removing uneeded code
* Fixing avatar selector
* Using meta component for head/descr
* Missing i18n strings
* Feedback
* Making an org avatar (temp)
* Check for subteams slug clashes with usernames
* Fixing create teams onsuccess
* feedback
* Making sure we check requestedSlug now
---------
Co-authored-by: sean-brydon <55134778+sean-brydon@users.noreply.github.com>
* feat: [CAL-1816] Organization subdomain support (#9345)
* Desktop first banner, mobile pending
* Removing dead code and img
* WIP
* Adds Email verification template+translations for organizations (#9202)
* First step done
* Merge branch 'feat/organizations-onboarding' of github.com:calcom/cal.com into feat/organizations-onboarding
* Step 2 done, avatar not working
* Covering null on unique clauses
* Onboarding admins step
* Last step to create teams
* Moving change password handler, improving verifying code flow
* Clearing error before submitting
* Reverting email testing api changes
* Reverting having the banner for now
* Consistent exported components
* Remove unneeded files from banner
* Removing uneeded code
* Fixing avatar selector
* Using meta component for head/descr
* Missing i18n strings
* Feedback
* Making an org avatar (temp)
* Check for subteams slug clashes with usernames
* Fixing create teams onsuccess
* Covering users and subteams, excluding non-org users
* Unpublished teams shows correctly
* Create subdomain in Vercel
* feedback
* Renaming Vercel env vars
* Vercel domain check before creation
* Supporting cal-staging.com
* Change to have vercel detect it
* vercel domain check data message error
* Remove check domain
* Making sure we check requestedSlug now
* Feedback and unneeded code
* Reverting unneeded changes
* Unneeded changes
---------
Co-authored-by: sean-brydon <55134778+sean-brydon@users.noreply.github.com>
* Vercel subdomain creation in PROD only
* Making sure we let localhost still work
* Feedback
* Type check fixes
* feat: Organization branding in side menu (#9279)
* Desktop first banner, mobile pending
* Removing dead code and img
* WIP
* Adds Email verification template+translations for organizations (#9202)
* First step done
* Merge branch 'feat/organizations-onboarding' of github.com:calcom/cal.com into feat/organizations-onboarding
* Step 2 done, avatar not working
* Covering null on unique clauses
* Onboarding admins step
* Last step to create teams
* Moving change password handler, improving verifying code flow
* Clearing error before submitting
* Reverting email testing api changes
* Reverting having the banner for now
* Consistent exported components
* Remove unneeded files from banner
* Removing uneeded code
* Fixing avatar selector
* Org branding provider used in shell sidebar
* Using meta component for head/descr
* Missing i18n strings
* Feedback
* Making an org avatar (temp)
* Using org avatar (temp)
* Not showing org logo if not set
* User onboarding with org branding (slug)
* Check for subteams slug clashes with usernames
* Fixing create teams onsuccess
* feedback
* Feedback
* Org public profile
* Public profiles for team event types
* Added setup profile alert
* Using org avatar on subteams avatar
* Making sure we show the set up profile on org only
* Profile username availability rely on org hook
* Update apps/web/pages/team/[slug].tsx
Co-authored-by: sean-brydon <55134778+sean-brydon@users.noreply.github.com>
* Update apps/web/pages/team/[slug].tsx
Co-authored-by: sean-brydon <55134778+sean-brydon@users.noreply.github.com>
---------
Co-authored-by: sean-brydon <55134778+sean-brydon@users.noreply.github.com>
* feat: Organization support for event types page (#9449)
* Desktop first banner, mobile pending
* Removing dead code and img
* WIP
* Adds Email verification template+translations for organizations (#9202)
* First step done
* Merge branch 'feat/organizations-onboarding' of github.com:calcom/cal.com into feat/organizations-onboarding
* Step 2 done, avatar not working
* Covering null on unique clauses
* Onboarding admins step
* Last step to create teams
* Moving change password handler, improving verifying code flow
* Clearing error before submitting
* Reverting email testing api changes
* Reverting having the banner for now
* Consistent exported components
* Remove unneeded files from banner
* Removing uneeded code
* Fixing avatar selector
* Org branding provider used in shell sidebar
* Using meta component for head/descr
* Missing i18n strings
* Feedback
* Making an org avatar (temp)
* Using org avatar (temp)
* Not showing org logo if not set
* User onboarding with org branding (slug)
* Check for subteams slug clashes with usernames
* Fixing create teams onsuccess
* feedback
* Feedback
* Org public profile
* Public profiles for team event types
* Added setup profile alert
* Using org avatar on subteams avatar
* Processing orgs and children as profile options
* Reverting change not belonging to this PR
* Making sure we show the set up profile on org only
* Removing console.log
* Comparing memberships to choose the highest one
---------
Co-authored-by: sean-brydon <55134778+sean-brydon@users.noreply.github.com>
* Type errors
* Refactor and type fixes
* Update orgDomains.ts
* Feedback
* Reverting
* NIT
* fix issue getting org slug from domain
* Improving orgDomains util
* Host comes with port
* Update useRouterQuery.ts
* Feedback
* Feedback
* Feedback
* Feedback: SSR for user event-types to have org context
* chore: Cache node_modules (#9492)
* Adding check for cache hit
* Adding a separate install step first
* Put the restore cache steps back
* Revert the uses type for restoring cache
* Added step to restore nm cache
* Removed the cache-hit check
* Comments and naming
* Removed extra install command
* Updated the name of the linting step to be more clear
* Removes the need for useEffect here
* Feedback
* Feedback
* Cookie domain needs a dot
* Type fix
* Update apps/web/public/static/locales/en/common.json
Co-authored-by: Omar López <zomars@me.com>
* Update packages/emails/src/templates/OrganizationAccountVerifyEmail.tsx
* Feedback
---------
Signed-off-by: Udit Takkar <udit.07814802719@cse.mait.ac.in>
Co-authored-by: Joe Au-Yeung <65426560+joeauyeung@users.noreply.github.com>
Co-authored-by: Udit Takkar <53316345+Udit-takkar@users.noreply.github.com>
Co-authored-by: sean-brydon <55134778+sean-brydon@users.noreply.github.com>
Co-authored-by: zomars <zomars@me.com>
Co-authored-by: Efraín Rochín <roae.85@gmail.com>
Co-authored-by: Keith Williams <keithwillcode@gmail.com>
* Start by moving what we have to _templates
* WIP
* WIP
* Add create/edit/delete template commands
* Type fixes cli
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: zomars <zomars@me.com>
* Abstract app category navigation
* Send key schema to frontend
Co-authored-by: Omar López <zomars@users.noreply.github.com>
* Render keys for apps on admin
* Add enabled col for apps
* Save app keys to DB
* Add checks for admin role
* Abstract setup components
* Add AdminAppsList to setup wizard
* Migrate to v10 tRPC
* Default hide keys
* Display enabled apps
* Merge branch 'main' into admin-apps-ui
* Toggle calendars
* WIP
* Add params and include AppCategoryNavigation
* Refactor getEnabledApps
* Add warning for disabling apps
* Fallback to cal video when a video app is disabled
* WIP send disabled email
* Send email to all users of event types with payment app
* Disable Stripe when app is disabled
* Disable apps in event types
* Send email to users on disabled apps
* Send email based on what app was disabled
* WIP type fix
* Disable navigation to apps list if already setup
* UI import fixes
* Waits for session data before redirecting
* Updates admin seeded password
To comply with admin password requirements
* Update yarn.lock
* Flex fixes
* Adds admin middleware
* Clean up
* WIP
* WIP
* NTS
* Add dirName to app metadata
* Upsert app if not in db
* Upsert app if not in db
* Add dirName to app metadata
* Add keys to app packages w/ keys
* Merge with main
* Toggle show keys & on enable
* Fix empty keys
* Fix lark calendar metadata
* Fix some type errors
* Fix Lark metadata & check for category when upserting
* More type fixes
* Fix types & add keys to google cal
* WIP
* WIP
* WIP
* More type fixes
* Fix type errors
* Fix type errors
* More type fixes
* More type fixes
* More type fixes
* Feedback
* Fixes default value
* Feedback
* Migrate credential invalid col default value "false"
* Upsert app on saving keys
* Clean up
* Validate app keys on frontend
* Add nonempty to app keys schemas
* Add web3
* Listlocale filter on categories / category
* Grab app metadata via category or categories
* Show empty screen if no apps are enabled
* Fix type checks
* Fix type checks
* Fix type checks
* Fix type checks
* Fix type checks
* Fix type checks
* Replace .nonempty() w/ .min(1)
* Fix type error
* Address feedback
* Added migration to keep current apps enabled
* Update apps.tsx
* Fix bug
* Add keys schema to Plausible app
* Add appKeysSchema to zod.ts template
* Update AdminAppsList.tsx
Co-authored-by: Omar López <zomars@users.noreply.github.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: zomars <zomars@me.com>
Co-authored-by: sean-brydon <55134778+sean-brydon@users.noreply.github.com>
* WIP
* warnings and errors, and working app
* Refresh token now usable
* Correcting env.appStore.example
* Reverting changes that will come from Sendgrid App PR
* Resetting with main
* Renaming all othercalendars
* Fixing types
* Renaming leftovers
* More renaming stuff
* Format readme
* Adds prettier override for website wordlist
* Omit salesforce app in this PR
* Revert "Omit salesforce app in this PR"
This reverts commit 22c09fe535.
* Update yarn.lock
Co-authored-by: Leo Giovanetti <hello@leog.me>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
* WIP
* warnings and errors, and working app
* Refresh token now usable
* Correcting env.appStore.example
* Reverting changes that will come from Sendgrid App PR
* Resetting with main
* Renaming all othercalendars
* Fixing types
* Renaming leftovers
* More renaming stuff
* Format readme
* Adds prettier override for website wordlist
* Omit salesforce app in this PR
* Cleanup
* Update AppSettings.tsx
* Revert "Cleanup"
This reverts commit 41f94c52c3.
* Update yarn.lock
Co-authored-by: Leo Giovanetti <hello@leog.me>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
* Sendgrid app and code simplification
* Applying app-store-cli + impl
* Fixing types
* Adding features to readme
* Fixing unit tests
* A few last tweaks regarding UX and env vars
* Applying feedback
* Using calcom icons
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* wip commit
* Finished new algorithm for fetching the least recently booked user
* ROUND_ROBIN fix
* Removed redundant import
* Prisma dependency turned getLuckyUser into a server-only function
* DRY avatars
* Properly passThrough
* name can be undefined.
* Remove debug artefact
* Add Embed ModalBox for routing forms
* Add duplicate form support
* Fix duplication logic
* Change to feathericons everywhere and other fixes
* Dont allow routes for fallback route
* Fix all TS issues
* Fix tests
* Support routing using query params
* Support multiselect in router endpoint
* Fix the issue where app goes in embed mode after viewing embed once
* Add router url tests
* Add Responses download and form toggling tests
* Add required validation test
* Change Icons everywhere
* App typeform app
* Improvements in cli
* Add typeform how-to-use page
* Add typeform how-to-use page and screenshots
* Fix TS error
* Add missing image
* Update CliApp.tsx
* Revert unexpected zapier change
* Revert yarn.lock, not sure why it was modified
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
* Support dark theme in routing form
* Fix Embed detection
* Add routing form embed example
* Better rendering support in dark mode for react-select
* Fix more theme issues
* Added test for Routing Form Embed
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
* Add Routing logic to Query builder
* Make a working redirect
* Make it an app
* Move pages and components to App
* Integrate all pages in the app
* Integrate prisma everywhere
* Fix Routing Link
* Add routing preview
* Fixes
* Get deplouyed on preview with ts disabled
* Fix case
* add reordering for routes
* Move away from react DnD
* Add sidebar
* Add sidebar support and select support
* Various fixes and improvements
* Ignore eslint temporarly
* Route might be falsy
* Make CalNumber support required validation
* Loader improvements
* Add SSR support
* Fix few typescript issues
* More typesafety, download csv, bug fiees
* Add seo friendly link
* Avoid seding credebtials to frontend
* Self review fixes
* Improvements in app-store
* Cahnge Form layout
* Add scaffolding for app tests
* Add playwright tests and add user check in serving data
* Add CI tests
* Add route builder test
* Styling
* Apply suggestions from code review
Co-authored-by: Agusti Fernandez Pardo <6601142+agustif@users.noreply.github.com>
* Changes as per loom feedback
* Increase time for tests
* Fix PR suggestions
* Import CSS only in the module
* Fix codacy issues
* Move the codebbase to ee and add PRO and license check
* Add Badge
* Avoid lodash import
* Fix TS error
* Fix lint errors
* Fix bug to merge conflicts resolution - me query shouldnt cause the Shell to go in loading state
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
Co-authored-by: zomars <zomars@me.com>
Co-authored-by: Agusti Fernandez Pardo <6601142+agustif@users.noreply.github.com>
* add invite link and toaster to zapier setup page
* create env variable for invite link and save in database
* fetch invite link form getStaticProps
* add getStaticPath method
* clean code
* Moves app setup and index page
* Moves Loader to ui
* Trying new way to handle dynamic app store pages
* Cleanup
* Update tailwind.config.js
* zapier invite link fixes
* Tests fixes
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
Co-authored-by: zomars <zomars@me.com>
* Add vital integration
* Tidy up client_user_id creation
* Rename vital app to vitalother to follow name rules
* Added env var
* App vital reschedule
* Fix on app structure and api calls
* Implemented user identification from webhook
* WIP fix api call and read me
* Save vital settings via api
* Now saving userVitalSettings and trigger reschedule on selected param
* Added translations
* Fix type for vitalSettings
* Using api to get env vars required for url, fix display of vital settings
* Fix hours placeholder, translation not working
* Renames vital app
* Update seed-app-store.ts
* Update package.json
* Update yarn.lock
* Refactored env variables
* Update README.md
* Migrates to api_keys
* Extracts AppConfiguration
* vitalClient fixes
* Update index.ts
* Update metadata.ts
* Update index.ts
* Update metadata.ts
* Added namespace vital for translations
Co-authored-by: Maitham <maithamdib@gmail.com>
Co-authored-by: zomars <zomars@me.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>