a108d36040
Refactor sign-up into its own service ( #4173 )
...
* Refactor sign-up into its own service
* Fix tests
2024-02-25 11:51:17 +01:00
b67957bf94
feat: user can have multiple workspaces (backend) ( #4036 )
...
* create user-workspace mapping
* user-workspace service and integration
* invite condition on sign-up/sign-in
* save/update defaultWorkspace on signup
* add unique decorator on user-workspace entity
* remove resolver permissions
* Fixes
* Fixes
* Fix tests
* Fixes
---------
Co-authored-by: Charles Bochet <charles@twenty.com >
2024-02-25 10:58:14 +01:00
49cc01d7d8
[messaging] fix add messageParticipant not in a transaction ( #3981 )
2024-02-14 19:28:25 +01:00
94ad0e33ec
3889 activate settingsaccountsemailsinboxsettings ( #3962 )
...
* update email visibility in settings
* improve styling
* Add contact auto creation toggle to inbox settings
* re
move soonpill
* update Icon
* create job
* Add logic to create contacts and companies for message participants without personId and workspaceMemberId
* add listener
* wip
* wip
* refactoring
* improve structure
* Add isContactAutoCreationEnabled method to MessageChannelService
* wip
* wip
* clean
* add job
* fix bug
* contact creation is working
* wip
* working
* improve code
* improve typing
* resolve conflicts
* fix
* create company repository
* move util
* wip
* fix
2024-02-14 17:30:17 +01:00
458e8c839f
Add workspacePreQueryHook module ( #3879 )
...
* rebase
* reorganise messaging folders
* fix
* fix after review
* fix yarn lock
2024-02-13 18:23:29 +01:00
d016e5ff03
BUG FIX: Create workspace member if inviteHash exists ( #3917 )
...
Create workspace member if inviteHash exists
2024-02-12 17:43:26 +01:00
3cbf958a1c
GH-3652 Add forgot password on sign-in page ( #3789 )
...
* Remove auth guard from password reset email endpoint
* Add arg for GQL mutation and update its usage
* Add forgot password button on sign-in page
* Generate automated graphql queries
* Move utils to dedicated hook
* Remove useless hook function
* Split simple hook methods
* Split workspace hook
* Split signInWithGoogle hook
* Split useSignInUpForm
* Fix error in logs
* Add Link Button UI Component
* Add storybook doc
---------
Co-authored-by: martmull <martmull@hotmail.fr >
2024-02-09 17:37:44 +01:00
7425223f83
3628 timebox separate user creation from workspace creation ( #3737 )
...
* Remove workspace schema creation from signUp
* Set user workspaceMember nullable
* Remove workspace creation
* Handle null workspace in tokens
* Update onboarding status
* Generate types
* Move createWorkspace to workspace resolver
* Create workspace after signup
* Update createWorkspace return type
* Update createWorkspace return type
* Create core.workspace at signup
* WIP
* Fix create workspace
* Fix create workspace
* Clean code
* Remove useless recoil set
* Simplify create workspace request
* Set currentWorkspace at login
* Fix tests
* Create a recoil value for is workspaceSchema created
* Rename createWorkspace to createWorkspaceSchema
* Code review returns
* Use AppPath when possible
* Try without state
* Fix
* Fixes
* Rename createWorkspaceSchema to activateWorkspace
* Remove defaultAvatarUrl from user
* Add defaultAvatarUrl to core user
This reverts commit 1701c30eb18804558293cc42043aedf96ea888df.
* Add defaultAvatarUrl to core user
This reverts commit 1701c30eb18804558293cc42043aedf96ea888df.
* Fix ci
* Fix tests
* Fix storybook
* Fix test
* Remove useless query
* Fix test
* Fix test
* Fix mock data
* Fix test
* Clean Mock Requests
* Fix tentative
* Revert "Clean Mock Requests"
This reverts commit 8aa20a34363ffddfdee24f18fc80b27ea0ad5e1d.
* Fix
* Revert "Fix"
This reverts commit 2df7e9b6569b8bfb53f6a45391db725e28d16a18.
* Revert "Revert "Clean Mock Requests""
This reverts commit 3aefef8e9600d161434a047e845563d1b8e0692e.
* Revert "Fix tentative"
This reverts commit 13e7748d6f3b3858d30fb08adbc8ad347c5556ee.
* Update filename
---------
Co-authored-by: Charles Bochet <charles@twenty.com >
2024-02-09 12:06:11 +01:00
cdc51add7d
feat: add user to sentry ( #3467 )
...
* feat: wip add user to sentry
* feat: wip interceptor
* feat: wip add user to sentry
* feat: add user into sentry errors
* fix: hide stack trace in production
* fix: properly log commands and handle exceptions
* fix: filter command exceptions
* feat: handle jobs errors
2024-02-01 16:14:08 +01:00
73f6876641
feat: workspace sync ( #3505 )
...
* feat: wip workspace sync
* feat: wip lot of debugging
* feat: refactor and fix sync
* fix: clean
fix: clean
* feat: add simple comparator tests
* fix: remove debug
* feat: wip drop table
* fix: main merge
* fix: some issues, and prepare storage system to handle complex deletion
* feat: wip clean and fix
* fix: reflect issue when using array instead of map and clean
* fix: test & sync
* fix: yarn files
* fix: unecesary if-else
* fix: if condition not needed
* fix: remove debug
* fix: replace EQUAL by SKIP
* fix: sync metadata relation not applied properly
* fix: lint issues
* fix: merge issue
2024-01-30 14:40:55 +01:00
9053769616
[Messaging] Fix gmail connected account creation redirect url ( #3653 )
2024-01-26 18:28:06 +01:00
b49a8b84db
Remove error when new_psw==old_psw ( #3637 )
2024-01-26 12:11:46 +01:00
6d997edabb
[Messaging] Fix duplicate messageChannelMessage ( #3616 )
...
* [Messaging] Fix duplicate channelMessageChannel
* add messageChannelMessage check before querying gmail
* rename messageChannelMessage to messageChannelMessageAssociation
2024-01-25 14:15:57 +01:00
46f0eb522f
GH-3245 Change password from settings page ( #3538 )
...
* GH-3245 add passwordResetToken and passwordResetTokenExpiresAt column on user entity
* Add password reset token expiry delay env variable
* Add generatePasswordResetToken mutation resolver
* Update .env.sample file on server
* Add password reset token and expiry migration script
* Add validate password reset token query and a dummy password update (WIP) resolver
* Fix bug in password reset token generate
* add update password mutation
* Update name and add email password reset link
* Add change password UI on settings page
* Add reset password route on frontend
* Add reset password form UI
* sign in user on password reset
* format code
* make PASSWORD_RESET_TOKEN_EXPIRES_IN optional
* add email template for password reset
* Improve error message
* Rename methods and DTO to improve naming
* fix formatting of backend code
* Update change password component
* Update password reset via token component
* update graphql files
* spelling fix
* Make password-reset route authless on frontend
* show token generation wait time
* remove constant from .env.example
* Add PASSWORD_RESET_TOKEN_EXPIRES_IN in docs
* refactor emails module in reset password
* update Graphql generated file
* update email template of password reset
* add space between date and text
* update method name
* fix lint issues
* remove unused code, fix indentation, and email link color
* update test file for auth and token service
* Fix ci: build twenty-emails when running tests
---------
Co-authored-by: martmull <martmull@hotmail.fr >
2024-01-25 10:28:48 +01:00
dc7fccb0a8
Merge messages and threads #1 ( #3583 )
...
* Merge messages and threads
* rename messageChannelSync to messageChannelMessage
* add merge logic
* remove deprecated methods
* restore enqueue GmailFullSyncJob after connectedAccount creation
2024-01-23 17:28:14 +01:00
f1b3d1537a
Load views on user load and read in cache ( #3552 )
...
* WIP
* Poc
* Use cached root query + remove proloaded views state
* Fix storybook test + fix codegen
* Return default schema if token is absent, unauthenticated if token is invalid
* Use enum instead of bool
---------
Co-authored-by: Thomas Trompette <thomast@twenty.com >
Co-authored-by: Charles Bochet <charles@twenty.com >
2024-01-22 16:00:16 +01:00
5a61e34f4c
3239 create a command to do a partial sync with the gmail api using the historyid ( #3405 )
...
* create utils service
* getLastSyncHistoryId
* getHistory
* add historyTypes messageAdded and messageDeleted
* getMessageIdsAndThreadIdsNotInDatabase
* wip
* fix messageThreadId null
* no need to fetch threads anymore
* get messagesAdded in partial sync
* adding errors
* save lastSyncHistoryId
* improve
* renaming
* create partial sync job
* improve partial sync
* adding messages with partial sync is working
* now adding messages with partial sync is working
* deleting messages and empty threads is working
* wip
* wip
* fix bug to delete threads
* update partial sync to cover edge cases
* renaming
* modify ambiguous naming
* renaming
2024-01-12 17:46:55 +01:00
0a77a376fd
Import messages after connected-account creation ( #3389 )
2024-01-11 20:05:08 +01:00
5f0c9f67c9
feat: workspace health ( #3344 )
...
* feat: wip workspace health
* feat: split structure and metadata check
* feat: check default value structure health
* feat: check targetColumnMap structure health
* fix: composite types doesn't have default value properly defined
* feat: check default value structure health
* feat: check options structure health
* fix: verbose option not working properly
* fix: word issue
* fix: tests
* fix: remove console.log
* fix: TRUE and FALSE instead of YES and NO
* fix: fieldMetadataType instead of type
2024-01-11 16:41:25 +01:00
c6ae480856
feat(signup): allow to block signup ( #3209 )
...
* feat(signup): allow to block signup
* feat(signup): update environment variable documentation
* test: update auth service tests
* feat(signup): prevent user from reaching out the sign up page
* Fix lint
* Fixes
---------
Co-authored-by: Charles Bochet <charles@twenty.com >
2024-01-11 11:48:14 +01:00
8483cf0b4b
POC: chore: use Nx workspace lint rules ( #3163 )
...
* chore: use Nx workspace lint rules
Closes #3162
* Fix lint
* Fix lint on BE
* Fix tests
---------
Co-authored-by: Charles Bochet <charles@twenty.com >
2024-01-03 23:07:25 +01:00
fff51a2d91
Basic data enrichment ( #3023 )
...
* Add Enrich to frontend
* Naive backend implementation
* Add work email check
* Rename Enrich to Quick Action
* Refactor logic to a separate service
* Refacto to separate IntelligenceService
* Small fixes
* Missing Break statement
* Address PR comments
* Create company interface
* Improve edge case handling
* Use httpService instead of Axios
* Fix server tests
2023-12-18 15:45:30 +01:00
f95c56b1cb
2880 timebox create a poc to fetch emails from the gmail api ( #2993 )
...
* create empty service
* getting threads is working
* insert message channel
* save threads in the db
* clean
* fetch messages
* create a service to fetch a batch of messages
* batch messages
* use httpService instead
* parse batch
* base 64 decoding working
* solve parsing bug
* saving messages is working
* bug to fix in fetchAllByBatches
* fetching all messages is working but not saving yet
* fecth 500 messages and threads is working
* remove unused package and console log
* set direction to incoming
* fix bug after merging main
2023-12-15 16:35:56 +01:00
a10f353a4c
feat: redirect to Plan Required page if subscription status is not active ( #2981 )
...
* feat: redirect to Plan Required page if subscription status is not active
Closes #2934
* feat: navigate to Plan Required in PageChangeEffect
* feat: add Twenty logo to Plan Required modal
* test: add Storybook story
* Fix lint
---------
Co-authored-by: Charles Bochet <charles@twenty.com >
2023-12-14 12:39:22 +01:00
e3e42be723
Add generate openapi schema for rest api ( #2923 )
...
* Add generate openapi schema for rest api
* Split method in utils
* Add paramters
* Add error response
* Update description of filter and order by
* Add get/id routes
* Add delete route
* Use components
* Fix Typo
* Add tags
* Add create query
* Add required field
* Add update query
* Add body request example
* Add 201 on create request
* Add servers
* Fix failing test
* Add open-api endpoint
* Update description
* Return base schema if no auth
* Code review returns
* Use open-api/types
* Fix tag
* Use components for parameters
* Improve response examples
* Improve axios error message
* Fix tests
2023-12-13 14:58:34 +01:00
6bc7a58902
2813 create message channel data model ( #2952 )
...
* create model
* finished model
* modidied visibility type to select
* changed back to TEXT
* handle instead of email
* handle instead of email
* handle instead of email
* modified according to comment
2023-12-12 15:14:18 +01:00
95002f5f9a
Migrate connected account model ( #2944 )
...
* migrate-connectedAccount-model
* update accountOwerId
* prevent user from connecting multiple times with the same account
* Delete .yarn/releases/yarn-1.22.21.cjs
* Delete .yarnrc
* modified according to comments
* updates
2023-12-12 11:09:20 +01:00
5bdca9de6c
Migrate to a monorepo structure ( #2909 )
2023-12-10 18:10:54 +01:00