* Add log in with Google
* Fix merge conflicts
* Merge branch 'main' into feature/copy-add-identity-provider
# Conflicts:
# pages/api/auth/[...nextauth].tsx
# pages/api/auth/forgot-password.ts
# pages/settings/security.tsx
# prisma/schema.prisma
# public/static/locales/en/common.json
* WIP: SAML login
* fixed login
* fixed verified_email check for Google
* tweaks to padding
* added BoxyHQ SAML service to local docker-compose
* identityProvider is missing from the select clause
* user may be undefined
* fix for yarn build
* Added SAML configuration to Settings -> Security page
* UI tweaks
* get saml login flag from the server
* UI tweaks
* moved SAMLConfiguration to a component in ee
* updated saml migration date
* fixed merge conflict
* fixed merge conflict
* lint fixes
* check-types fixes
* check-types fixes
* fixed type errors
* updated docker image for SAML Jackson
* added api keys config
* added default values for SAML_TENANT_ID and SAML_PRODUCT_ID
* - move all env vars related to saml into a separate file for easy access
- added SAML_ADMINS comma separated list of emails that will be able to configure the SAML metadata
* cleanup after merging main
* revert mistake during merge
* revert mistake during merge
* set info text to indicate SAML has been configured.
* tweaks to text
* tweaks to text
* i18n text
* i18n text
* tweak
* use a separate db for saml to avoid Prisma schema being out of sync
* use separate docker-compose file for saml
* padding tweak
* Prepare for implementing SAML login for the hosted solution
* WIP: Support for SAML in the hosted solution
* teams view has changed, adjusting saml changes accordingly
* enabled SAML only for PRO plan
* if user was invited and signs in via saml/google then update the user record
* WIP: embed saml lib
* 302 instead of 307
* no separate docker-compose file for saml
* - ogs cleanup
- type fixes
* fixed types for jackson
* cleaned up cors, not needed by the oauth flow
* updated jackson to support encryption at rest
* updated saml-jackson lib
* allow only the required http methods
* fixed issue with latest merge with main
* - Added instructions for deploying SAML support
- Tweaked SAML audience identifier
* fixed check for hosted Cal instance
* Added a new route to initiate Google and SAML login flows
* updated saml-jackson lib (node engine version is now 14.x or above)
* moved SAML instructions from Google Docs to a docs file
* moved randomString to lib
* comment SAML_DATABASE_URL and SAML_ADMINS in .env.example so that default is SAML off.
* fixed path to randomString
* updated @boxyhq/saml-jackson to v0.3.0
* fixed TS errors
* tweaked SAML config UI
* fixed types
* added e2e test for Google login
* setup secrets for Google login test
* test for OAuth login buttons (Google and SAML)
* enabled saml for the test
* added test for SAML config UI
* fixed nextauth import
* use pkce flow
* tweaked NextAuth config for saml
* updated saml-jackson
* added ability to delete SAML configuration
* SAML variables explainers and refactoring
* Prevents constant collision
* Var name changes
* Env explainers
* better validation for email
Co-authored-by: Omar López <zomars@me.com>
* enabled GOOGLE_API_CREDENTIALS in e2e tests (Github Actions secret)
* cleanup (will create an issue to handle forgot password for Google and SAML identities)
Co-authored-by: Chris <76668588+bytesbuffer@users.noreply.github.com>
Co-authored-by: Omar López <zomars@me.com>
* [CAL-770] add new integration architecture revamp
* Type fixes
* Type fixes
* [CAL-770] Remove tsconfig.tsbuildinfo
* [CAL-770] add integration test
* Improve google calendar test integration
* Remove console.log
* Change response any to void in the deleteEvent method
* Remove unnecesary const
* Add tsconfig.tsbuildinfo to the .gitignore
* Remove process env variables as const
Co-authored-by: Edward Fernández <edwardfernandez@Edwards-Mac-mini.local>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
Co-authored-by: zomars <zomars@me.com>
Co-authored-by: Edward Fernandez <edward.fernandez@rappi.com>
* Email input UX improvements
* Makes email queries case insensitive
* Lowercases all emails
* Type fixes
* Re adds lowercase email to login
* Removes citext dependency
* Updates schema
* Migration fixes
* Added failsafes to team invites
* Team invite improvements
* Deleting the index, lowercasing
```
calendso=> UPDATE users SET email=LOWER(email);
ERROR: duplicate key value violates unique constraint "users.email_unique"
DETAIL: Key (email)=(free@example.com) already exists.
```
vs.
```
calendso=> CREATE UNIQUE INDEX "users.email_unique" ON "users" (email);
ERROR: could not create unique index "users.email_unique"
DETAIL: Key (email)=(Free@example.com) is duplicated.
```
I think it'll be easier to rectify for users if they try to run the migrations if the index stays in place.
Co-authored-by: Alex van Andel <me@alexvanandel.com>
* E2E video adjustments
* Adds test to add Stripe integration
* Type fix
* WIP: Payment troubleshooting
* Paid bookings shouldn't be confirmed by default
* Runs stripe test only if installed
* BookingListItem Adjustments
* Pending paid bookings should be unconfirmed
* Attempt to fix paid bookings
* Type fixes
* Type fixes
* Tests fixes
* Adds paid booking to seeder
* Moves stripe tests to own file
* Matches app locale to Stripe's
* Fixes minimun price for testing
* Stripe test fixes
* Fixes stripe frame test
* Added some Stripe TODOs
- dropdown improvements
- Improve performance of team availability
- Fix default timezone
- Allow team admins to edit event types
- Change team availability slot input to dropdown select (15,30,60)
- Prevent teams from access if not pro user
* [WIP] checkpoint before pull & merge
- Added teams to sidebar
- Refactored team settings
- Improved team list UI
This code will be partly reverted next commit.
* [WIP]
- Moved team code back to components
- Removed team link from sidebar
- Built new team manager screen based on Event Type designs
- Component-ized frequently reused code (SettingInputContainer, FlatIconButton)
* [WIP]
- Created LinkIconButton as standalone component
- Added functionality to sidebar of team settings
- Fixed type bug on public team page induced by my normalization of members array in team query
- Removed teams-old which was kept as refrence
- Cleaned up loose ends
* [WIP]
- added create team model
- fixed profile missing label due to my removal of default label from component
* [WIP]
- Fixed TeamCreateModal trigger
- removed TeamShell, it didn't make the cut
- added getPlaceHolderAvatar
- renamed TeamCreate to TeamCreateModal
- removed deprecated UsernameInput and replaced uses with suggested TextField
* fix save button
* [WIP]
- Fixed drop down actions on team list
- Cleaned up state updates
* [WIP] converting teams to tRPC
* [WIP] Finished refactor to tRPC
* [WIP] Finishing touches
* [WIP] Team availability beginning
* team availability mvp
* - added validation to change role
- modified layout of team availability
- corrected types
* fix ui issue on team availability screen
* - added virtualization to team availability
- added flexChildrenContainer boolean to Shell to allow for flex on children
* availability style fix
* removed hard coded team type as teams now use inferred type from tRPC
* Removed unneeded vscode settings
* Reverted prisma schema
* Fixed migrations
* Removes unused dayjs plugins
* Reverts type regression
* Type fix
* Type fixes
* Type fixes
* Moves team availability code to ee
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
Co-authored-by: zomars <zomars@me.com>
Given the credentials are loaded based on userId, sort is not consistent.
Without this, events are booked on whichever calendar credential is loaded first.
813eaa83b7/lib/events/EventManager.ts (L240-L244)
Co-authored-by: Bailey Pumfleet <pumfleet@hey.com>
* Needs more testing, but looks functional
* Add metadata feature to booking create payload
* Forward URL parameters given in link
* Moved stringifying of custom inputs to backend
* WIP, WIP, WIP, WIP
* Adds missing types
* Type fixes for useSlots
* Type fixes
* Fixes periodType 500 error when updating
* Adds missing dayjs plugin and type fixes
* An attempt was made to fix tests
* Save work in progress
* Added UTC overflow to days
* Update lib/availability.ts
Co-authored-by: Alex Johansson <alexander@n1s.se>
* No more magic numbers
* Fixed slots.test & added getWorkingHours.test
* Tests pass, simpler logic, profit?
* Timezone shifting!
* Forgot to unskip tests
* Updated the user page
* Added American seed user, some fixes
* tmp fix so to continue testing availability
* Removed timeZone parameter, fix defaultValue auto-scroll
Co-authored-by: Omar López <zomars@me.com>
Co-authored-by: Alex Johansson <alexander@n1s.se>
* Fixed#1015 - Teams user registration is broken
* Type fixes for avilability form in onboarding
* Re adds missing strings
* Updates user availability in one query
Tested and working correctly
* Fixes seeder and tests
Co-authored-by: Omar López <zomars@me.com>
* Refactored Schedule component
* Merge branch 'main' into feature/availability-page-revamp
* wip
* Turned value into number, many other TS tweaks
* NodeJS 16x works 100% on my local, but out of scope for this already massive PR
* Fixed TS errors in viewer.tsx and schedule/index.ts
* Reverted next.config.js
* Fixed minor remnant from moving types to @lib/types
* schema comment
* some changes to form handling
* add comments
* Turned ConfigType into number; which seems to be the value preferred by tRPC
* Fixed localized time display during onboarding
* Update components/ui/form/Schedule.tsx
Co-authored-by: Alex Johansson <alexander@n1s.se>
* Added showToast to indicate save success
* Converted number to Date, and also always establish time based on current date
* prevent height flickering of availability
by removing mb-2 of input field
* availabilty: re-added mb-2 but added min-height
* Quite a few bugs discovered, but this seems functional
Co-authored-by: KATT <alexander@n1s.se>
Co-authored-by: Bailey Pumfleet <pumfleet@hey.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* updated event title message
* 4 arguments replaced by an object
* translations
* requested changes
* further requested changes
* test fix and other minor changes
* lint fix
* fix: rejected bookings should be displayed in cancelled bookings tab
* fix: add migration to update status of rejected bookings
* unrelated fix
Co-authored-by: Alex van Andel <me@alexvanandel.com>
* fix: type errors and translate ee pages
* fix: translation key for composed string
* type fixes
Co-authored-by: Omar López <zomars@me.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
* Fixes error types
* Type fixes
* Refactors video meeting handling
* More type fixes
* Type fixes
* More fixes
* Makes language non optional
* Adds missing translations
* Apply suggestions from code review
Co-authored-by: Alex Johansson <alexander@n1s.se>
* Feedback
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
Co-authored-by: Alex Johansson <alexander@n1s.se>