* 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
* 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>
* 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
* 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>
* improve timeline messaging to allow users to view the threads to which they participated
* working
* improvement
* improvements
* improvements
* fix
* remove unnecessary type
* 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
* Fix delete with no result should not throw
* add logs
* Delete packages/twenty-server/src/database/typeorm/metadata/migrations/1708442904165-addOnDeleteActionToRelationMetadata.ts
* 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>
* 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
* 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
* 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