Commit Graph

257 Commits

Author SHA1 Message Date
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