Commit Graph

275 Commits

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