Commit Graph

376 Commits

Author SHA1 Message Date
martmull
0b889ef089
43 add billing portal link (#4318)
* Add create billing portal session endpoint

* Rename checkout to checkoutSession

* Add billig portal query in twenty-front

* Add billing menu item

* WIP: add menu page

* Code review returns

* Rename request files

* Unwip: add menu page

* Add billing cover image

* Fix icon imports

* Rename parameter

* Add feature flag soon pill
2024-03-05 17:40:58 +01:00
bosiraphael
9fc421876f
4282 create calendarchannel data model (#4314)
* create model

* add connected account relation

* fix import

* relation is working

* remove isNullable
2024-03-05 16:12:56 +01:00
martmull
28a093d495
42 add billing portal endpoint (#4315)
* Add create billing portal session endpoint

* Rename checkout to checkoutSession

* Code review returns
2024-03-05 15:28:45 +01:00
rostaklein
f2099d339f
feat: change condition of duplicate check (#4273)
* change condition of duplicate check

* fix: review comments addressed
2024-03-05 12:11:37 +01:00
Aditya Pimpalkar
caa4dcf893
feat: adding metadata open-api endpoints and updating docs (#4170)
* initialise metadata schema for open-api

* remove "soon" label on metadata rest-api

* open-api fetch paths

* remove parameter type for metadata schema

* add REST module to open-api

* metadata schema components

* metadata paths

* refactor and /open-api route fix
2024-03-05 11:37:16 +01:00
Félix Malfait
9035762d43
Fix telemetry (#4303) 2024-03-04 19:04:55 +01:00
bosiraphael
735e75b3b1
Fix domain name parsing on company creation (#4297)
* add domain parsing library

* change package for psl

* trying to fix error

* fix

* update

* remove unused function
2024-03-04 17:50:41 +01:00
AutoComput
aa7fa3acfa
Update .env.example (#4177)
* Update .env.example

this .env file will now work with the docker-compose example provided.

* Update .env.example

* Update doc and reset env example

---------

Co-authored-by: Thomas Trompette <thomast@twenty.com>
2024-03-04 17:17:40 +01:00
Félix Malfait
6d70540cdc
Add sentry tracing (#4279)
* Add sentry tracign

* Improve Sentry loggin
2024-03-04 16:31:15 +01:00
Aditya Pimpalkar
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
Weiko
3c63584ef8
[messaging] add more details in exceptions (#4256)
[messaging] add more logs in exceptions
2024-03-04 14:05:01 +01:00
martmull
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
gitstart-app[bot]
aa7ead3e8c
TWNTY-3942 - Enable Attachments on Custom Objects (#4253)
* Enable Attachments on Custom Objects

Co-authored-by: v1b3m <vibenjamin6@gmail.com>

* Revert changes to the client

Co-authored-by: v1b3m <vibenjamin6@gmail.com>

---------

Co-authored-by: gitstart-twenty <gitstart-twenty@users.noreply.github.com>
Co-authored-by: v1b3m <vibenjamin6@gmail.com>
2024-03-01 16:39:40 +01:00
bosiraphael
4242b546b6
Handle error 429 during partial sync (#4258)
handle error 429
2024-03-01 14:41:42 +01:00
Charles Bochet
0c2c57ab9b
Fix blocklist standard object being unhealthy (#4255)
Fix blocklist standard object unhealthy
2024-03-01 10:39:22 +01:00
Charles Bochet
5e261783da Fix default value being set to null when not provider to fieldMetadataUpdate 2024-03-01 08:58:19 +01:00
Charles Bochet
ad4b3d0d59
Fix enum defaultValue broken (#4251)
* Fix enum defaultValue broken

* Fix

* Fix
2024-02-29 19:35:00 +01:00
bosiraphael
72ae6e44b3
Remove Gate decorator IS_BLOCKLIST_ENABLED from BlocklistObjectMetadata (#4250)
* Remove Gate decorator from BlocklistObjectMetadata

* check if blocklist is enabled

* wip

* done
2024-02-29 19:25:11 +01:00
Charles Bochet
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
bosiraphael
773f698faf
Add error handling in GmailPartialSyncService (#4248)
* Add error handling in GmailPartialSyncService

* improve typing
2024-02-29 18:11:53 +01:00
Thomas Trompette
11434fc1c6
Handle multiple orderBy sorting (#4246)
Co-authored-by: Thomas Trompette <thomast@twenty.com>
2024-02-29 17:36:22 +01:00
Weiko
8a669cc540
[messaging] add better logs to messaging sync jobs (#4245) 2024-02-29 17:30:42 +01:00
bosiraphael
bc11cf80fa
4209 speed up gmail full sync by using search params to query only the relevant emails (#4213)
* create blocklist service

* blocklist is working on email import in full sync

* add log

* add blocklist to partial sync

* define rule for blocklist imports

* gmail filter is working

* correct typo

* fix bugs

* getCompanyNameFromDomainName

* renaming

* remove unused service

* add transaction
2024-02-29 12:26:58 +01:00
bosiraphael
8c08f1b603
Remove html from messages (#4229)
* remove html

* remove html

* remove html from db
2024-02-29 12:01:01 +01:00
Charles Bochet
f52a4141c9
Fix nullable being set to null for text field (#4239) 2024-02-29 11:29:17 +01:00
martmull
9ca3dbeb70
39 create subscription and success modale (#4208)
* Init add choose your plan page component

* Update price format

* Add billing refund trial duration env variable

* Add billing benefits

* Add Button

* Call checkout endpoint

* Fix theme color

* Add Payment success modale

* Add loader to createWorkspace submit button

* Fix lint

* Fix dark mode

* Code review returns

* Use a resolver for front requests

* Fix 'create workspace' loader at sign up

* Fix 'create workspace' with enter key bug
2024-02-28 19:51:04 +01:00
Charles Bochet
e0bf8e43d1
Update relation cascade on standard objects favorite, attachment, activityTargets (#4227) 2024-02-28 17:49:45 +01:00
bosiraphael
fcfc6796f7
Add pagination to partial sync and add logs (#4223)
* update gmail partial sync to add pagination

* adding logs

* update

* improve readability
2024-02-28 14:55:54 +01:00
Weiko
47656479ba
[messaging] fix empty history (#4218) 2024-02-28 14:32:05 +01:00
bosiraphael
a19de71fad
4017 improve queries on messages write (#4207)
* modify code to reduce nested loops and improve performances

* is working

* fix lastSyncHistoryId

* create new service to share it betweent partial sync and full sync

* update partial sync

* update batch limit

* renaming

* adding logs

* update logs

* update logs

* update logs

* delete messages if error while saving the participants

* refactoring

* improving logs

* update logs

* delete historyId if outdated
2024-02-27 16:06:19 +01:00
Charles Bochet
16fe79b044
Fix demo workspace seed (#4211) 2024-02-27 14:11:52 +01:00
Weiko
214807588a
[messaging] clean orphan threads and messages after connected account deletion (#4195)
* [messaging] add connected account associated data delete

* add threadCleanerService

* fix

* fix import

* add thread cleaner import

* remove log
2024-02-26 21:29:44 +01:00
Charles Bochet
6a1abba9ea
Ignore defaultValue update for select fields (#4193)
* Ignore defaultValue update for select fields

* Fix tests
2024-02-26 18:41:29 +01:00
Charles Bochet
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
Aditya Pimpalkar
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
rostaklein
1b04dfe3c6
feat: find duplicate objects init (#4038)
* feat: find duplicate objects backend init

* refactor: move duplicate criteria to constants

* fix: correct constant usage after type change

* feat: skip query generation in case its not necessary

* feat: filter out existing duplicate

* feat: FE queries and hooks

* feat: show duplicates on FE

* refactor: should-skip-query moved to workspace utils

* refactor: naming improvements

* refactor: current record typings/parsing improvements

* refactor: throw error if existing record not found

* fix: domain -> domainName duplicate criteria

* refactor: fieldNames -> columnNames

* docs: add explanation to duplicate criteria collection

* feat: add person linkedinLinkUrl as duplicate criteria

* feat: throw early when bot id and data are empty

* refactor: trying to improve readability of filter criteria query

* refactor: naming improvements

* refactor: remove shouldSkipQuery

* feat: resolve empty array in case of empty filter

* feat: hide whole section in case of no duplicates

* feat: FE display list the same way as relations

* test: basic unit test coverage

* Refactor Record detail section front

* Use Create as input argument of findDuplicates

* Improve coverage

* Fix

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
2024-02-24 19:12:21 +01:00
martmull
05c206073d
38 add billing webhook endpoint (#4158)
* Add self billing feature flag

* Add two core tables for billing

* Remove useless imports

* Remove graphql decorators

* Rename subscriptionProduct table

* WIP: Add stripe config

* Add controller to get product prices

* Add billing service

* Remove unecessary package

* Simplify stripe service

* Code review returns

* Use nestjs param

* Rename subscription to basePlan

* Rename env variable

* Add checkout endpoint

* Remove resolver

* Merge controllers

* Fix security issue

* Handle missing url error

* Add workspaceId in checkout metadata

* Add BILLING_STRIPE_WEBHOOK_SECRET env variable

* WIP: add webhook endpoint

* Fix body parser

* Create Billing Subscription on payment success

* Set subscriptionStatus active on webhook

* Add useful log

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
2024-02-24 17:30:32 +01:00
martmull
c96e210ef1
47 add stripe checkout endpoint (#4147)
* Add self billing feature flag

* Add two core tables for billing

* Remove useless imports

* Remove graphql decorators

* Rename subscriptionProduct table

* WIP: Add stripe config

* Add controller to get product prices

* Add billing service

* Remove unecessary package

* Simplify stripe service

* Code review returns

* Use nestjs param

* Rename subscription to basePlan

* Rename env variable

* Add checkout endpoint

* Remove resolver

* Merge controllers

* Fix security issue

* Handle missing url error

* Add workspaceId in checkout metadata
2024-02-24 17:19:51 +01:00
Mohamed Houssein Douici
0fe838d320
fix: forbid creation of objects or fields with certain characters or with forbidden keywords that clashes with pg_graphql (#3957)
* fix: forbid creation of objects or fields with certain characters or with forbidden keywords that clashes with pg_graphql

* refactor: add a decorator for name validation and use it on fields
2024-02-24 12:32:01 +01:00
Thomas Trompette
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
bosiraphael
06c4665a44
4150 i should be able to view my emails even if ive set my account visibility to metadata (#4156)
* improve timeline messaging to allow users to view the threads to which they participated

* working

* improvement

* improvements

* improvements

* fix

* remove unnecessary type
2024-02-23 17:07:49 +01:00
bosiraphael
35a2178cde
4020 timebox improve performances on messages read (#4140)
* adding console.time to monitor queries time

* improve query by removing unnecessary JOIN

* improve queries by removing unnecessary JOINs

* improve queries by removing unnecessary JOINs

* remove console.time

* remove logs

* use groupBy from lodash

* modify SELECT

* Revert "use groupBy from lodash"

This reverts commit 852fd3c193.

* use WorkspaceDataSourceModule
2024-02-23 10:18:16 +01:00
Thomas Trompette
67e27a69ff
Handle relations between same objects (#4137)
* Handle relations between same objects

* Simplify conditions

---------

Co-authored-by: Thomas Trompette <thomast@twenty.com>
2024-02-23 09:51:42 +01:00
martmull
679456e819
46 add stripe product endpoint (#4133)
* Add self billing feature flag

* Add two core tables for billing

* Remove useless imports

* Remove graphql decorators

* Rename subscriptionProduct table

* WIP: Add stripe config

* Add controller to get product prices

* Add billing service

* Remove unecessary package

* Simplify stripe service

* Code review returns

* Use nestjs param

* Rename subscription to basePlan

* Rename env variable
2024-02-22 20:11:26 +01:00
Weiko
d5e8844521
Fix referential_constraints health check (#4139) 2024-02-22 16:33:19 +01:00
Weiko
70511dc860
Add writeLog for relation update sync metadata (#4136)
* Add writeLog for relation update sync metadata

* fix health check
2024-02-22 16:02:13 +01:00
bosiraphael
4e798ba2a3
3933 filter non work email from auto contact creation (#4131)
* use isWorkEmail

* working

* improvement

* Refactor lodash import in create-companies-and-contacts.service.ts

* refactor lodash import
2024-02-22 15:25:14 +01:00
Charles Bochet
fa02a478a5 Fix server import case 2024-02-22 11:51:18 +01:00
Weiko
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
Jérémy M
e69c462b70
feat: allow backend to rename field of custom object (#4097)
* feat: allow backend to rename field of custom object

* feat: allow custom field label edition in Settings

Closes #4080

* fix: avoid renaming standard fields

---------

Co-authored-by: Thaïs Guigon <guigon.thais@gmail.com>
2024-02-21 18:59:51 +01:00
martmull
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
Thomas Trompette
161d02620a
Fix developers url and remove webhook url error (#4120)
Fix developers url + remove webhook url error

Co-authored-by: Thomas Trompette <thomast@twenty.com>
2024-02-21 16:25:35 +01:00
Jérémy M
e3e940327e
fix: workspace health undefined relation (#4107) 2024-02-21 15:36:18 +01:00
bosiraphael
ee7c1fbf5c
4008 dont create a contact company if it matches the persons domain (#4088)
* Add SettingsAccountsEmailsBlocklistInput story

* prevent contact creation from the same company

* add todo

* improvements

* Delete packages/twenty-front/src/modules/settings/accounts/components/__stories__/SettingsAccountsEmailsBlocklistInput.stories.tsx

* refactor

* modify after review

* improve code

* create utils

* fix

* Fix getAllByWorkspaceId to throw NotFoundException when no workspace member found

* fix after merge

* use map

* modify after review
2024-02-21 13:22:01 +01:00
Thaïs
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
Charles Bochet
4552e98b7f Fix workspace enum migration bug 2024-02-20 18:48:10 +01:00
Jérémy M
3914e8d77c
fix: sync and health (#4095)
* fix: throw error if we try to create a migration without columnName

* fix: typeorm save for update breaking everything
2024-02-20 17:55:23 +01:00
Weiko
8c46e66cf5
Fix delete with no result should not throw (#4091)
* Fix delete with no result should not throw

* add logs

* Delete packages/twenty-server/src/database/typeorm/metadata/migrations/1708442904165-addOnDeleteActionToRelationMetadata.ts
2024-02-20 17:27:31 +01:00
Jérémy M
22e8a3ba77
fix: unwanted comment on graphQL input (#4071) 2024-02-20 16:13:18 +01:00
Aditya Pimpalkar
9d9ba97fb7
feat: REST endpoints for metadata API (#3912)
* parse metadata path

* metadata rest api

* add queryAction condition and return object singular/plural

* handle GET endpoint for metadata

* FindOne and FindMany query for metadata endpoint

* Request all objects and nest fields in object request

---------

Co-authored-by: martmull <martmull@hotmail.fr>
2024-02-20 15:17:41 +01:00
Thaïs
ec20117e80
chore: make twenty-server nest command scripts depend on twenty-email… (#4055)
chore: make twenty-server nest command scripts depend on twenty-emails build

Closes #4013
2024-02-20 14:35:09 +01:00
bosiraphael
09783912f3
4008 dont create a contact company if it matches the persons domain (#4057)
* Add SettingsAccountsEmailsBlocklistInput story

* prevent contact creation from the same company

* add todo

* improvements

* Delete packages/twenty-front/src/modules/settings/accounts/components/__stories__/SettingsAccountsEmailsBlocklistInput.stories.tsx

* refactor

* modify after review

* improve code
2024-02-19 18:46:49 +01:00
bosiraphael
e34e341ddc
3938 change email auto import to contact ive sent email to (#3995)
* done

* working

* wip

* merge main

* almost done

* improvement
2024-02-19 17:29:38 +01:00
Jérémy M
2f9e503a8b
fix: ignore enum options sync for now (#4056) 2024-02-19 17:29:30 +01:00
Jérémy M
e293abe332
Fix/workspace health type (#4053)
* fix: memory issue with truncate command

* fix: LINK doesn't have any default value

* fix: Cannot convert LINK to column type.

* fix: handle old column type and add a warn to fix them manually
2024-02-19 17:28:40 +01:00
Charles Bochet
ba050cd33d
Release 0.3.1 (#4031) 2024-02-16 20:11:38 +01:00
martmull
0ee512a983
3959 create a activationstatus in coreworkspace and use it in front to redirect properly (#3989)
* Add computed field to workspace entity

* Add activationStatus to front requests

* Update Selector

* Use activation status

* Stop using selector for mock values

* Remove isCurrentWorkspaceActiveSelector

* Use activation status

* Fix typo

* Use activation status

* Create hook for sign in up navigate

* Update hook to handle profile creation

* Use varaible

* Use more readable boolean function
2024-02-16 16:00:39 +01:00
Charles Bochet
6f2b0f2068
Resolve bugs tied to record creations on table (#4011)
* Resolve bugs tied to record creations on table

* Fix according to PR

* Fix tests
2024-02-16 15:03:57 +01:00
brendanlaschke
595b2f9e6f
Webhook Docs (#3966)
* add webhook docs, openapi v3.1, stoplight v8

* *.*
2024-02-16 15:01:37 +01:00
brendanlaschke
547145389c
Docs include field description (#3973)
- include field description
2024-02-16 14:38:39 +01:00
Charles Bochet
a5ecbf7df5
Integrations: design fixes and remove feature flag (#4003)
* Integrations: design fixes and remove feature flag

* Fix
2024-02-16 13:35:45 +01:00
Weiko
8e3723b88e
Fix update on delete record (#3996) 2024-02-16 13:08:24 +01:00
Jérémy M
44ac16c82e
fix: impact too many records (#3993)
* fix: impact too many records

* fix: change env name

* fix: remove env name from error
2024-02-16 11:17:37 +01:00
Jérémy M
c2c14d79a9
fix: workspace cache version (#3999) 2024-02-16 11:06:51 +01:00
Jérémy M
f47159d84d
fix: invalidate cache when no record inside workspace cache version (#3994)
* fix: invalidate cache when no record inside workspace cache version

* fix: use getVersion
2024-02-16 10:37:25 +01:00
Jérémy M
34d02cf4ed
feat: add default value for some type of fields (#3991)
feat: add default value for some kind of fields
2024-02-16 10:34:42 +01:00
Jérémy M
990cb107a1
feat: workspace health target column map fix (#3932)
* feat: workspace health fix target column map

* fix: remove log

* feat: refactor health fixer

* fix: default-value issue and health check not working with composite

* fix: enhance target column map fix

* feat: create workspace migrations for target-column-map issues

* feat: enhance workspace-health issue detection
2024-02-15 18:04:12 +01:00
bosiraphael
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
Weiko
4b3eeac333
[messaging] add defaultValue to isContactAutoCreationEnabled (#3992) 2024-02-15 16:42:03 +01:00
Weiko
62058dd0e9
[worker] add more logs to queue-worker (#3982) 2024-02-14 21:28:17 +01:00
Weiko
49cc01d7d8
[messaging] fix add messageParticipant not in a transaction (#3981) 2024-02-14 19:28:25 +01:00
Weiko
2055f64acd
fix CreateCompaniesAndContactsAfterSyncJobData import (#3979) 2024-02-14 18:58:49 +01:00
bosiraphael
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
Weiko
0b2ffb0ee6
add rimraf to server dependencies (#3977) 2024-02-14 16:56:37 +01:00
bosiraphael
7d80610428
3814 create blocklist data model (#3927)
* wip

* wip

* wip

* working
2024-02-14 16:38:16 +01:00
Kanav Arora
7b88e5bdaf
3865-Add-Integrations (#3870)
* initial commit setup

* ui done

* added links

* changed brand logos

* Twenty logo fix

* Windmill logo fix

* Fix typo

* Add feature flag

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
2024-02-13 23:11:05 +01:00
Thaïs
e011ecbd6f
POC: generate twenty-server package.json with Nx (#3654)
* POC: generate twenty-server package.json with Nx

* Re-add passport

* Fix instal

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
2024-02-13 22:16:21 +01:00
Weiko
1afe8aecd0
Fix missing feature flag on messaging listeners (#3952)
* Fix missing feature flag on messaging listeners

* Update workspace-query-runner.service.ts
2024-02-13 20:23:09 +01:00
Jérémy M
8ce7020b12
feat: sync metadata can alter and update a field (#3944) 2024-02-13 19:36:58 +01:00
Weiko
87fafae9be
[messaging] Removing TO requirement for email import (#3949) 2024-02-13 19:19:57 +01:00
Weiko
458e8c839f
Add workspacePreQueryHook module (#3879)
* rebase

* reorganise messaging folders

* fix

* fix after review

* fix yarn lock
2024-02-13 18:23:29 +01:00
Weiko
36b69a8625
[messaging] Fix messaging import with no person skipped email (#3941) 2024-02-13 16:55:06 +01:00
Weiko
7f122a4671
[messaging] Remove ids from enqueued jobs (#3936)
* [messaging] Fix import message participant uppercase

* fix job not enqueuing
2024-02-13 16:13:34 +01:00
Weiko
b6a86ebf96
[messaging] Fix import message participant uppercase (#3934) 2024-02-13 16:03:44 +01:00
Brody Over
52bb33b566
Disable buffered logs (#3892)
* Update main.ts

* Update command.ts

* Update queue-worker.ts

* Enable users to disable log buffering

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
2024-02-13 14:50:25 +01:00
bosiraphael
ec48e66eeb
3921 delete messagethreads after deleting connectedaccount (#3925)
* created listener

* working

---------

Co-authored-by: Weiko <corentin@twenty.com>
2024-02-13 14:36:55 +01:00
bosiraphael
1d1976ef22
3807 auto creation of contact when importing emails (#3888)
* Add CreateContactService to messaging services

* Add logic to create a contact if it doesn't exist

* Add name

* Improvements

* contact creation working

* fix bug

* Add IsPersonEmailService to check if an email is personal or not

* filter is working

* improve filter

* create companies and people

* Refactor createContactFromHandleAndDisplayName to createContactAndCompanyFromHandleAndDisplayName

* improve regex

* reorganizing services

* updates

* reorganize folders

* wip

* use transaction

* wip

* wip

* wip

* batch queries

* almost working

* working
2024-02-13 14:24:28 +01:00
martmull
d016e5ff03
BUG FIX: Create workspace member if inviteHash exists (#3917)
Create workspace member if inviteHash exists
2024-02-12 17:43:26 +01:00
Jérémy M
35fce6a6b4
feat: health check enum (#3913)
* feat: health check enum

* fix: cleaner if condition
2024-02-12 17:32:05 +01:00
Jérémy M
b0b033aec9
fix: workspace health (#3916)
* fix: workspace health applying migrations multiple times

* fix: remove log

* fix: use logger
2024-02-12 16:17:17 +01:00
Weiko
c13e55a753
Fix bull-mq retry option and exceptions not being captured for jobs (#3905)
* Fix bull-mq retry option

* fix exception inside worker

* add logs

* fix after review
2024-02-12 15:12:52 +01:00
Charles Bochet
a15128df36 Remove virtual fieldType Relation from fieldMetadata sync 2024-02-11 10:23:37 +01:00
Thaïs
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
Deepak Kumar
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
bosiraphael
11d1c4c161
3808 auto creation of company when importing emails (#3881)
* create service

* wip

* use raw queries

* creating companies is working

* Fix participant handle domain name extraction

* Add HTTP service to fetch company info from domain name

* Handle 404

* Fix missing parameter in INSERT query

* wip

* renaming

* Add typing
2024-02-09 15:28:35 +01:00
Thomas Trompette
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
Charles Bochet
0185c2a36e
Fix logger behavior (#3897) 2024-02-09 14:43:36 +01:00
Jérémy M
2560ce25e0
feat: workspace health default-value fix (#3894)
* feat: workspace health default-value fix

* fix: rename function regarding review
2024-02-09 14:16:11 +01:00
martmull
9299ad1432
Fix delete incomplete workspaces (#3893)
* Fix delete incomplete workspaces

* Add multiple workspace filtering option
2024-02-09 12:26:10 +01:00
martmull
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 1701c30eb1.

* Add defaultAvatarUrl to core user

This reverts commit 1701c30eb1.

* 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 8aa20a3436.

* Fix

* Revert "Fix"

This reverts commit 2df7e9b656.

* Revert "Revert "Clean Mock Requests""

This reverts commit 3aefef8e96.

* Revert "Fix tentative"

This reverts commit 13e7748d6f.

* Update filename

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
2024-02-09 12:06:11 +01:00
Charles Bochet
3fc18aeec1 Fix twenty-server build 2024-02-09 11:18:58 +01:00
Charles Bochet
3d7b5902e6 Fix twenty-server build 2024-02-09 11:14:02 +01:00
Jérémy M
7ec968d5a2
feat: workspace health type fix (#3890)
* feat: workspace health type fix

* Fix

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
2024-02-08 18:59:17 +01:00
Jérémy M
d3fe1b9e31
feat: workspace:health nullable fix (#3882) 2024-02-08 18:22:29 +01:00
Weiko
99e2dd6899
[messaging] Add messageParticipant matching once people emails are updated (#3887)
* poc nest event emitter

* add match message participant listener

* add workspacemember listener

* fix after review

* fix deep-equal
2024-02-08 17:42:33 +01:00
brendanlaschke
c53b593ea6
Custom swagger endpoint for docs (#3869)
* custom swagger endpoint
metadata graphql
remove /rest from endpoint

* fixed pseudo scheme creation

* move graphql playground creation to own file, added navbar to change baseurl and token

* add schema switcher, fix changing url not applied, add invalid overlay

* fix link color

* removed path on Graphql Playground, naming fixes subdoc

* - fixed overflow issue Rest docs

* history replace & goBack

* Small fix GraphQL playground broken

---------

Co-authored-by: Félix Malfait <felix.malfait@gmail.com>
2024-02-08 16:54:20 +01:00
Thomas Trompette
719da29795
Store compact view status (#3850)
* Store compact view status

* Rename to isCompact

* Fixes

---------

Co-authored-by: Thomas Trompette <thomast@twenty.com>
Co-authored-by: Charles Bochet <charles@twenty.com>
2024-02-08 16:33:52 +01:00
Thomas Trompette
6ee179442a
Add one to many relation between opportunity and attachment (#3866)
* Add one to many relation between opportunity and attachment

* Fix opportunity type

---------

Co-authored-by: Thomas Trompette <thomast@twenty.com>
2024-02-08 15:22:52 +01:00
martmull
bcc62596f6
Add defaultAvatarUrl to core user (#3883)
* Add defaultAvatarUrl to core user

This reverts commit 1701c30eb1.

* Fix

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
2024-02-08 14:46:37 +01:00
martmull
7001ca83d1
3491 launch cleaning cron (#3872)
* Add command to delete incomplete workspaces

* Inject command dependencies

* Fix command

* Do not delete core.workspace

* Reorganize files

* Delete src/workspace/cron

* Fix

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
2024-02-07 18:52:48 +01:00
Jérémy M
6e3a8e3461
Feat/workspace health core fix (#3863)
* feat: add deletion support on sync metadata command

* fix: remove debug

* feat: wip workspace health command add --fix option

fix: remove test

* feat: core of --fix option for workspace-health
2024-02-07 18:27:35 +01:00
Joe S
850eab8f8f
Add rate limiting in the server using built in Nest.js capability (#3566)
* Add rate limiting in the server using built in Nest.js capability

* Generatekey based on ip address when an http request is sent

* Update env var types to number for ttl and limit

* Remove unused env variables

* Use getRequest utility function

* fix: remove dist from path

* fix: adding .env variables

* fix: remove unused functions

* feat: throttler plugin

* Fix according to review

---------

Co-authored-by: Jérémy Magrin <jeremy.magrin@gmail.com>
Co-authored-by: Charles Bochet <charles@twenty.com>
2024-02-07 18:11:32 +01:00
bosiraphael
3831ddc002
3803 use email visibility to display only the shared information backend (#3871)
* update dto

* wip

* compute thread visibility

* fix bugs

* fix bug

* improve typing

* working

* update according to comments

* use string
2024-02-07 16:35:19 +01:00
Jérémy M
a908353955
feat: add deletion support on sync metadata command (#3826)
* feat: add deletion support on sync metadata command

* fix: remove debug
2024-02-07 15:38:23 +01:00
Thomas Trompette
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
Weiko
0096e60489
[messaging] add cronjob for workspaces messages partial sync (#3800)
* [messaging] add cronjob for workspaces messages partial sync

* run cron every 10 minutes

* use logger
2024-02-05 17:15:11 +01:00
brendanlaschke
3a9007b2d4
Member card fix email display (#3555)
* member card fix email display

* lint

* on signup save userEmail
2024-02-05 15:02:57 +01:00
Félix Malfait
a5989a470c
Improve Documentation (#3795)
* Begin docs improvement

* Keep improving documentation

* Upgrade Docusarus

* Fix broken links
2024-02-05 15:01:37 +01:00
Charles Bochet
8692e5d1ca
Release 0.3.0 (#3793) 2024-02-03 09:05:11 +01:00
Charles Bochet
7b084ba46e
Enable Rating Field (#3792) 2024-02-03 08:55:29 +01:00
Weiko
729e2dc651
[Messaging] Delete empty threads after message deletion import (#3716)
* [Messaging] Delete empty threads after message deletion import

* fix
2024-02-02 18:13:41 +01:00
Weiko
ae5f82df59
[messaging] add fallback if lastHistoryId has been invalidated (#3782) 2024-02-02 15:28:38 +01:00
Jérémy M
5fd982b009
feat: execute pending migrations command (#3767) 2024-02-02 11:10:26 +01:00
Jérémy M
25f4a80c7c
fix: exception handler (#3768)
* fix: user is not sent to sentry

* fix: too much exceptions thrown
2024-02-02 09:26:48 +01:00
Charles Bochet
edeb824884 Fix record creation broken 2024-02-02 08:16:25 +01:00
Thomas Trompette
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
Jérémy M
9799326533
fix: logs folder doesn't exist (#3759) 2024-02-01 16:47:36 +01:00
Jérémy M
3c89a97a9f
feat: add dry-run option to sync-metadata command (#3758)
* feat: add dry-run option to sync-metadata command

* feat: save metadata logs in dry-run mode
2024-02-01 16:35:32 +01:00
Jérémy M
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
Weiko
142affbeea
[messaging] reorder messages desc to asc (#3755) 2024-02-01 15:28:00 +01:00
Jérémy M
8abd5be4b5
fix: sync metadata shouldn't remove non custom fields (#3750)
* fix: sync metadata shouldn't remove non custom fields

* fix: filter out custom relations
2024-02-01 14:25:50 +01:00
Jérémy M
fc01c8cd4f
fix: grapQL errors are not detailed enough (#3622) 2024-02-01 09:45:58 +01:00
Weiko
e787b4e3b8
[messaging] add more logs to gmail full-sync (#3728) 2024-01-31 17:03:11 +01:00
Weiko
82d99afe2f
Fix workspace-sync when alter with relation (#3721) 2024-01-31 15:50:54 +01:00
Weiko
03e5c792f0
[messaging] fix message-channel-message-association field name as dependencies (#3712) 2024-01-30 19:35:41 +01:00
Weiko
64b2ef3dc2
Delete message when no more association (#3701)
* Delete message when no more association

* remove unused injections

* rename methods

* fix after review
2024-01-30 17:58:36 +01:00
Jérémy M
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
Jérémy M
da8dd671d1
fix: rating type issues (#3638)
* fix: rating type issues

* fix: rebase

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
2024-01-30 09:57:30 +01:00
Weiko
a9349f9fea
Add deleteOneObject mutation (#3682)
* Add deleteOneObject mutation

* codegen

* move relationToDelete to dedicated file

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
2024-01-30 09:47:58 +01:00
bosiraphael
c5ea2dfe1e
3675 inbox count is wrong in emailthreads (#3677)
* add type

* query total number of threads

* graphql data generate

* wip

* wip

* Fix fetch more

* fix

---------

Co-authored-by: Thomas Trompette <thomast@twenty.com>
2024-01-29 18:23:09 +01:00