da12710fe9
feat: multi-workspace (frontend) ( #4232 )
...
* select workspace component
* generateJWT mutation
* workspaces state and hooks
* requested changes
* mutation fix
* requested changes
* user workpsace delete call
* migration to drop and createt user workspace
* revert select props
* add DropdownMenu
* seperate multi-workspace dropdown as component
* Signup button displayed accurately
* update seed data for multi-workspace
* lint fix
* lint fix
* css fix
* lint fix
* state fix
* isDefined check
* refactor
* add default workspace constants for logo and name
* update migration
* lint fix
* isInviteMode check on sign-in/up
* removeWorkspaceMember mutation
* import fixes
* prop name fix
* backfill migration
* handle edge cases
* refactor
* remove migration query
* delete user on no-workspace found condition
* emit workspaceMember.deleted
* Fix event class and unrelated fix linked to a previously missing dependency
* Edit migration (I did it in prod manually)
* Revert changes
* Fix tests
* Fix conflicts
---------
Co-authored-by: Félix Malfait <felix.malfait@gmail.com >
2024-03-20 14:43:41 +01:00
4bfb90657f
Add JSON field type and Event object ( #4566 )
...
* Add JSON field type and Event object
* Simplify code
* Adress PR comments and add featureFlag
2024-03-19 21:54:08 +01:00
bdbd77c696
Cleanup default values and leftover methods in environmentService ( #4550 )
...
* Cleanup default values and leftover methods in environmentService
* Adress remainings configService calls
2024-03-18 17:09:39 +01:00
2c09096edd
Refactor backend folder structure ( #4505 )
...
* Refactor backend folder structure
Co-authored-by: Charles Bochet <charles@twenty.com >
* fix tests
* fix
* move yoga hooks
---------
Co-authored-by: Charles Bochet <charles@twenty.com >
2024-03-15 18:37:09 +01:00
38f28de4a6
feat: open event details drawer on event row click ( #4464 )
...
* feat: open event details drawer on event row click
Closes #4294
* feat: review - display Calendar Event details Inline Cells in readonly mode
* fix: fix calendar event field values not being set
* chore: review - reactivate no-extra-boolean-cast eslint rule
2024-03-15 17:37:36 +01:00
21cd38d6fb
Add command to stop demo seed cron ( #4480 )
...
Rename start cron + add stop cron
Co-authored-by: Thomas Trompette <thomast@twenty.com >
2024-03-15 15:23:07 +01:00
94487f6737
feat: refactor folder structure ( #4498 )
...
* feat: wip refactor folder structure
* Fix
* fix position
---------
Co-authored-by: Charles Bochet <charles@twenty.com >
2024-03-15 14:40:58 +01:00
fd06d52a13
Refacto environment service ( #4473 )
...
* Refacto environment service
* Remove environment variable type
2024-03-14 11:51:19 +01:00
d8b370720c
feat: wip sync standard id ( #4373 )
...
* feat: wip sync standard id
feat: implement standardId for sync command
* fix: rebase
* fix: tests
* fix: deterministic uuid
* fix: sync custom not working
* fix: create custom not adding standardId
* fix: readability
2024-03-13 12:06:10 +01:00
62d414ee66
40 remove self billing feature flag ( #4379 )
...
* Define quantity at checkout
* Remove billing submenu when not isBillingEnabled
* Remove feature flag
* Log warning when missing subscription active workspace add or remove member
* Display subscribe cta for free usage of twenty
* Authorize all settings when subscription canceled or unpaid
* Display subscribe cta for workspace with canceled subscription
* Replace OneToOne by OneToMany
* Add a currentBillingSubscriptionField
* Handle multiple subscriptions by workspace
* Fix redirection
* Fix test
* Fix billingState
2024-03-12 18:10:27 +01:00
5287b7c4ab
Add icon, position and key on View ( #4413 )
...
* Add view key field
* Update Prefill demo, seed dev, prefill new workspace
2024-03-11 17:00:19 +01:00
af6ffbcc68
feat: standard fields on custom ( #4332 )
...
* feat: add ability to sync standard fields on custom object
* fix: clean
* fix: wrong compute during object creation
* fix: missing cascade delete
* fix: remove unused injected class
* fix: naming
* fix: rename factory to paramsFactory and clean
* fix: rename ExtendCustomObjectMetadata to BaseCustomObjectMetadata
* fix: partial fix inconsistent label and description
* Fixes
* Fix
---------
Co-authored-by: Charles Bochet <charles@twenty.com >
2024-03-07 17:21:50 +01:00
63d403454c
feat: multi-workspace followup ( #4197 )
...
* Seed UserWorkspace for existing demo/dev users
* add workspaces field to currentUser
* new token generation endpoint for switching workspace
* lint fix
* include dependency
* requested fixes
* resolver test pass
* changing defaultWorkspace and workspaceMember when switching workspaces
* tests fix
* requested changes
* delete user/workspace edge case handled
* after merge
* requested changes
* :wq!
* workspace manytoone relation
* lint fix / import fix
* gql codegen
* Fix migrations and generateJWT
* migration fix
* relations fix
---------
Co-authored-by: martmull <martmull@hotmail.fr >
2024-03-04 16:14:04 +01:00
8f6200be7d
41 update subscription when workspace member changes 2 ( #4252 )
...
* Add loader and disabling on checkout button
* Add Stripe Subscription Item id to subscriptionItem entity
* Handle create and delete workspace members
* Update billing webhook
* Make stripe attribute private
* Fixing webhook error
* Clean migration
* Cancel subscription when deleting workspace
* Fix test
* Add freetrial
* Update navigate after signup
* Add automatic tax collection
2024-03-01 17:29:28 +01:00
fb439e3045
Enable new record board and messaging for all workspaces except demo ( #4243 )
...
* Enable new record board and messaging for all workspaces except demo
* Fix according to PR
2024-02-29 18:22:32 +01:00
16fe79b044
Fix demo workspace seed ( #4211 )
2024-02-27 14:11:52 +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
b1eb0577bc
Build cron for data seed demo ( #4142 )
...
* Migrate command to cron
* Put back command using job as well
* Build service and module + move into folder
---------
Co-authored-by: Thomas Trompette <thomast@twenty.com >
2024-02-24 12:30:12 +01:00
8425ce4987
Add onDeleteAction to RelationMetadata ( #4100 )
...
* Add onDeleteAction to relationMetadata
* rename to SET NULL
* fix migration
* fix migration
* fix after review
2024-02-22 10:27:15 +01:00
d4fac2ea70
45 create billing core tables ( #4096 )
...
* Add self billing feature flag
* Add two core tables for billing
* Remove useless imports
* Remove graphql decorators
* Rename subscriptionProduct table
2024-02-21 18:17:09 +01:00
11581ca9c3
feat: create Settings/Accounts/Calendars page ( #4090 )
...
* feat: create Settings/Accounts/Calendars page
Closes #4059
* docs: add SettingsAccountsCalendars stories
* refactor: add SettingsNavigationDrawerItem component
2024-02-20 19:28:15 +01:00
0b93a6785b
3815 blocklist connect frontend ( #3930 )
...
* wip
* wip
* move blocklist to connectedAccount
* wip
* format date
* fix styling
* renaming
* fix imports
* fix imports
* Rename BlockListItem.ts to BlocklistItem.ts
* Add IS_BLOCKLIST_ENABLED feature flag and remove IS_MESSAGING_ENABLED gate at model creation
* hide blocklist if feature flag is disabled
2024-02-15 17:18:04 +01:00
d28843bb85
feat: order board cards by record position ( #3902 )
...
* feat: order board cards by record position
Closes #3848
* Fix tests
---------
Co-authored-by: Charles Bochet <charles@twenty.com >
2024-02-09 18:09:13 +01:00
9ceff84bbf
Set opportunity stage as editable ( #3838 )
...
* Set opportunity stage as editable
* Fix comments
* Add command for migration
* Fixes
---------
Co-authored-by: Thomas Trompette <thomast@twenty.com >
Co-authored-by: Charles Bochet <charles@twenty.com >
2024-02-09 14:44:11 +01:00
bcc62596f6
Add defaultAvatarUrl to core user ( #3883 )
...
* Add defaultAvatarUrl to core user
This reverts commit 1701c30eb18804558293cc42043aedf96ea888df.
* Fix
---------
Co-authored-by: Charles Bochet <charles@twenty.com >
2024-02-08 14:46:37 +01:00
9f59ddc059
Rename recordPosition into position ( #3864 )
...
* Rename recordPosition into position
* Fix according to review
---------
Co-authored-by: Thomas Trompette <thomast@twenty.com >
Co-authored-by: Charles Bochet <charles@twenty.com >
2024-02-07 09:40:35 +01:00
7b084ba46e
Enable Rating Field ( #3792 )
2024-02-03 08:55:29 +01:00
7b2b70e479
Create record position field ( #3739 )
...
* Create record field on non syst standard objects + on custom objects
* Create workspace migration
* Fix naming and add seed
---------
Co-authored-by: Thomas Trompette <thomast@twenty.com >
2024-02-01 16:56:38 +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
377fd23c90
Display columns on Record Board ( #3626 )
...
* Display columns on Record board
* Fix
* Fix according to review
* Fix
2024-01-25 18:21:15 +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
a7265fa3b4
Remove flag relation select ( #3588 )
...
* Remove feature flag on relation and select
* Move packages back to twenty-server to enable smaller build without using nx
* Fix package.json
2024-01-23 09:59:00 +01:00
f6f4e6c769
Update blocknote ( #3517 )
...
* update blocknote, remove feature flag
* Fix backend
---------
Co-authored-by: Charles Bochet <charles@twenty.com >
2024-01-18 09:40:00 +01:00
fb93bb69fb
Fix opportunity relation ( #3478 )
...
* Fix opportunity relation
* Fix
* Fix
* Fix tests
* Fix
* Fix
2024-01-16 14:39:48 +01:00
16a24c5f0c
Rework relations ( #3431 )
...
* Rework relations
* Fix tests
2024-01-15 12:07:23 +01:00
8893cbc05d
Stop switching to a different datasource per workspace ( #3425 )
...
* Stop switching to a different datasource per workspace
* Add console
* Remove call to metadata
2024-01-14 00:21:21 +01:00
49a9a2c2be
2252 build a script to cleanup inactive workspaces ( #3307 )
...
* Add cron to message queue interfaces
* Add command to launch cron job
* Add command to stop cron job
* Update clean inactive workspaces job
* Add react-email
* WIP
* Fix import error
* Rename services
* Update logging
* Update email template
* Update email template
* Add Base Email template
* Move to proper place
* Remove test files
* Update logo
* Add email theme
* Revert "Remove test files"
This reverts commit fe062dd05166b95125cf99f2165cc20efb6c275a.
* Add email theme 2
* Revert "Revert "Remove test files""
This reverts commit 6c6471273ad765788f2eaf5a5614209edfb965ce.
* Revert "Revert "Revert "Remove test files"""
This reverts commit f851333c24e9cfe3f425c9cbbd1e079efce5c3dd.
* Revert "Revert "Revert "Revert "Remove test files""""
This reverts commit 7838e19e88e269026e24803f26cd52b467b4ef36.
* Fix theme
* Reorganize files
* Update clean inactive workspaces job
* Use env variable to define inactive days
* Remove FROM variable
* Use feature flag
* Fix cron command
* Remove useless variable
* Reorganize files
* Refactor some code
* Update email template
* Update email object
* Remove verbose log
* Code review returns
* Code review returns
* Simplify handle
* Code review returns
* Review
---------
Co-authored-by: Charles Bochet <charles@twenty.com >
2024-01-13 12:03:41 +01:00
d0ed9ee2e0
feat: pagination with total count ( #3384 )
...
* feat: add totalCount
* feat: add command for production to fix existing tables
2024-01-12 10:41:38 +01:00
10fd67ba32
Fix relation creation bug + enable favorite for custom objects ( #3392 )
...
* Fix relation creation bug
* Fix vale CI
* Fix comment bug
2024-01-11 22:46:43 +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
0b505288f2
feat: add Relation field card feature flag ( #3311 )
...
Related to #3123
2024-01-09 12:46:03 +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
d532f22fbb
feat: migration can be applied on a specific schema & some enhancements ( #2998 )
...
* fix: remove old metadata seed files
* feat: wip standard to core relation
* fix: lint
* fix: merge
* fix: remove debug files
* feat: add feature flag for core object metadata
* fix: remove debug
* feat: always disable the standard core relation
* fix: missing feature flag
* fix: remove debug
* fix: feature flag doesn't seems to disable relation
* fix: delete .vscode folder, change this in another PR
* Update packages/twenty-server/src/workspace/workspace-sync-metadata/reflective-metadata.factory.ts
Co-authored-by: Weiko <corentin@twenty.com >
* Update packages/twenty-server/src/workspace/workspace-sync-metadata/reflective-metadata.factory.ts
Co-authored-by: Weiko <corentin@twenty.com >
* Update packages/twenty-server/src/workspace/workspace-sync-metadata/workspace-sync.metadata.service.ts
Co-authored-by: Weiko <corentin@twenty.com >
* fix: remove optional fields from metadata entities
* fix: renamed variable
* fix: put back CursorScalarType
* fix: delete test command
* fix: remove unused workspace standard migration command
* fix: drop core object metadata declaration
* fix: rename variable
* fix: drop creation of core datasource
* fix: remove feature flag
* fix: drop support of standard to core relations
* feat: add user email field on workspace-member standard object
* fix: update seed accordingly
* fix: missing remove command file
* fix: datasource label should remain nullable
* fix: better asserts
* Remove unused code
* Remove unused code
---------
Co-authored-by: Weiko <corentin@twenty.com >
Co-authored-by: Charles Bochet <charles@twenty.com >
2023-12-21 19:15:05 +01:00
2507da1b25
feat: Add feature flags to Select & Rating custom fields ( #3037 )
...
* Add feature flag key for select and rating
* Use feature flag boolean to decide if select & rating are enabled
* Enable select and rating in demo & core
2023-12-18 08:38:25 +01:00
064e47b59a
Fix CIs ( #3004 )
...
* Fix CIs
* Fix docs
* Fix eslint-build
* Move file
* Move back
* Fix server ci
* Fix server ci
* Fix server ci
* Fix server ci
* Deactivate e2e tests
* Fix front
* Fix front
* Fix front
* Add twenty-zapier and twenty-utils to the yarn project
* fix
* fix
* Remove pull_request trigger
2023-12-15 15:40:04 +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
f126bd95d6
Add featureFlag gateDecorator for sync-metadata ( #2956 )
...
* Add featureFlag gateDecorator for sync-metadata
* remove gate exampels
* gate messaging objects
* gate messaging recipient object
* add missing gate
2023-12-12 17:34:59 +01:00
5bdca9de6c
Migrate to a monorepo structure ( #2909 )
2023-12-10 18:10:54 +01:00