3171d0c87b
feat: address composite field ( #4492 )
...
Added new Address field input type.
---------
Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com >
2024-03-28 16:50:38 +01:00
0cc0929bd0
Rename refreshToken to appToken and add fields ( #4691 )
2024-03-28 14:07:12 +01:00
416eb1eafd
4506 change field labels and field type for calendarevent object metadata to match figma ( #4679 )
...
* update calendarEvent labels and description to match Figma
* modify conferenceUri to conferenceLink with LINK type
* update format-google-calendar-event.util to match new conferenceLink
* update CalendarEventDetails since overriding the fields is no longer needed
* fix mock metadata
* generate new uuid for field conferenceLink
2024-03-27 15:17:45 +01:00
5c40e3608b
[messaing] improve messaging import ( #4650 )
...
* [messaging] improve full-sync fetching strategy
* fix
* rebase
* fix
* fix
* fix rebase
* fix
* fix
* fix
* fix
* fix
* remove deletion
* fix setPop with memory storage
* fix pgBoss and remove unnecessary job
* fix throw
* fix
* add timeout to ongoing sync
2024-03-27 12:44:03 +01:00
d4eb75abff
Add isRemote field on object metadata ( #4668 )
...
Add isRemote field
Co-authored-by: Thomas Trompette <thomast@twenty.com >
2024-03-26 16:49:18 +01:00
c54acb35b6
Update Dev Seeds to use Ids ( #4663 )
2024-03-26 14:19:40 +01:00
d2b237ebf2
#4298 Add emails seed data for demo and dev seeds ( #4513 )
...
* Add message seed data
* Change order of attributes
* add personIds
* fix messageParticipants attributes
* add imports in data-seed-dev-workspace
* Update messageParticipant.ts
Delete comments
---------
Co-authored-by: Charles Bochet <charlesBochet@users.noreply.github.com >
2024-03-25 19:06:05 +01:00
6ab43c608f
feat: create Integrations/IntegrationDetail page ( #4574 )
...
* feat: create Integrations/IntegrationDetail page
Closes #4546
* docs: add Settings/Integrations/Integration Detail page stories
* docs: add Settings/Billing page stories
* refactor: move some Settings components to @/settings
* refactor: move some Settings integrations components to @/settings/integrations
2024-03-25 18:06:46 +01:00
9e70f5b650
Add endpoints to create and delete remote server ( #4606 )
...
* Build remote server
* Add getters
* Migrate to json inputs
* Use extendable type
* Use regex validation
* Remove acronymes
---------
Co-authored-by: Thomas Trompette <thomast@twenty.com >
2024-03-25 15:21:23 +01:00
3fa8c4bace
Add KanbanFieldMetadataId on View standard object ( #4604 )
...
* Add KanbanFieldMetadataId on View standard object
* Deprecate Pipeline step
* Fix
* Use Constants instead of raw ids
* Fix
* Fix query runner
* Fix according to review
* Fix tests
* Fix tests
* Fix tests
2024-03-21 18:08:27 +01:00
8e4123e772
48 add yearly monthly sub switch ( #4577 )
2024-03-21 10:47:25 +01:00
e5c1309e8c
feat: wip server folder structure ( #4573 )
...
* feat: wip server folder structure
* fix: merge
* fix: wrong merge
* fix: remove unused file
* fix: comment
* fix: lint
* fix: merge
* fix: remove console.log
* fix: metadata graphql arguments broken
2024-03-20 16:23:46 +01:00
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