Commit Graph

256 Commits

Author SHA1 Message Date
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
Weiko
d66d8c9907
[Messaging] Gmail Full sync pagination (#3664) 2024-01-29 11:57:54 +01:00
Thaïs
a654205dbc
chore: set up twenty-emails config so build isn't needed in development (#3619)
* chore: set up twenty-emails config so build isn't needed in development

* fix: fix script dependency

* chore: use @vitejs/plugin-react-swc

* Remove useless dependancy

* Fix typing

* chore: use baseUrl in twenty-emails

* chore: fix docker server prod build

* refactor: optimize Docker file and tsconfig

* fix: fix WORKDIR in docker

---------

Co-authored-by: martmull <martmull@hotmail.fr>
2024-01-29 06:17:12 -03:00
Charles Bochet
d6f117c688
Display RecordBoardCards on new board (#3657)
* Before remove saveEditModeValue logic

* Fixes

* Fix tests

* Fix tests
2024-01-27 15:55:45 +01:00
Weiko
9053769616
[Messaging] Fix gmail connected account creation redirect url (#3653) 2024-01-26 18:28:06 +01:00
bosiraphael
ebfa1bea99
fix-threads-pagination (#3639) 2024-01-26 14:24:27 +01:00
martmull
b49a8b84db
Remove error when new_psw==old_psw (#3637) 2024-01-26 12:11:46 +01:00
bosiraphael
b0c14ba5b9
3571 remove reply quotations from emails (#3630)
* lib is working

* update

* plural
2024-01-25 18:26:29 +01:00
Charles Bochet
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
martmull
ca6250286a
Reset workspaces to delete between executions (#3625) 2024-01-25 18:06:53 +01:00
Lakshay saini
e0405edb38
feat: added webhook list section and updated api key section (#3567)
* feat: added webhook list section and updated api key ui

* Fix style

* Fix webhook style

* Update setting path

* Add soon pill on not developped features

* Code review returns

---------

Co-authored-by: Lakshay saini <lakshay.saini@finmo.net>
Co-authored-by: martmull <martmull@hotmail.fr>
2024-01-25 17:39:17 +01:00
bosiraphael
6004969096
3263 modify timeline messagingservice to allow the frontend to get multiple participants in a thread (#3611)
* wip

* wip

* add pagination

* wip

* wip

* wip

* update resolver

* wip

* wip

* endpoint is working but there is still work to do

* merge main

* wip

* subject is now first subject

* number of messages is working

* improving query

* fix bug

* fix bug

* added parameter

* pagination introduced a bug

* pagination is working

* fix type

* improve typing

* improve typing

* fix bug

* add displayName

* display displayName in the frontend

* move entities

* fix

* generate metadata

* add avatarUrl

* modify after comments on PR

* updates

* remove email mocks

* remove console log

* move files

* remove mock

* use constant

* use constant

* use fragments

* remove console.log

* generate

* changes made

* update DTO

* generate
2024-01-25 17:04:51 +01:00
Jérémy M
6f98d1847f
Fix/nested filter (#3624)
* fix: typo

* fix: relation type shouldn't be exposed in filter
2024-01-25 16:15:46 +01:00
Weiko
6d997edabb
[Messaging] Fix duplicate messageChannelMessage (#3616)
* [Messaging] Fix duplicate channelMessageChannel

* add messageChannelMessage check before querying gmail

* rename messageChannelMessage to messageChannelMessageAssociation
2024-01-25 14:15:57 +01:00
Deepak Kumar
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
martmull
8ffd958a3c
Fix twenty-emails build (#3608) 2024-01-24 17:41:38 +01:00
Alexandru Serban
7488a9605e
Allow underscores in PG_DATABASE_URL (#3599)
We are working on a Twenty template for Easypanel.io. We need Twenty to allow underscores in order to be compatible with the generated Postgres database service Easypanel creates.
2024-01-24 16:31:10 +01:00
Weiko
c811206c47
Fix message table plural name (#3604) 2024-01-24 14:33:08 +01:00
Charles Bochet
afc36c7329
Introduce new board feature flag (#3602) 2024-01-24 14:24:02 +01:00
martmull
b991790f62
Update clean inactive workspaces (#3600)
* Fix typo

* Add dry-run option in clean inactive workspaces

* Add logs

* Chunk workspace metadata

* Add BCC to clean workspace notification email

* Send workspace to delete ids in one email

* Update example

* Update function naming
2024-01-24 12:51:42 +01:00
Weiko
c7ad6a0de7
[messaging] Rename body to text (#3595)
* Store HTML message

* remove console log

* [messaging] rename body to text

* use CoreObjectNameSingular
2024-01-23 19:56:42 +01:00
Weiko
d176ba95d3
Store HTML message (#3594)
* Store HTML message

* remove console log

* fix html label/description
2024-01-23 19:40:05 +01:00
Charles Bochet
d6dfd0ce05 Use npx for ts-node execution in twenty-server commands 2024-01-23 18:26:48 +01:00
Weiko
dc7fccb0a8
Merge messages and threads #1 (#3583)
* Merge messages and threads

* rename messageChannelSync to messageChannelMessage

* add merge logic

* remove deprecated methods

* restore enqueue GmailFullSyncJob after connectedAccount creation
2024-01-23 17:28:14 +01:00
Charles Bochet
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
martmull
e358d677f9
Move emails to dedicated package (#3542)
* Add new package

* Add twenty-emails package

* Use generated files from twenty-emails in twenty-server

* Fix deleted file

* Import emails templates properly
2024-01-22 16:21:56 +01:00
martmull
e45a825a3a
Update logging for smtp emails (#3536) 2024-01-22 16:06:10 +01:00
Thomas Trompette
f1b3d1537a
Load views on user load and read in cache (#3552)
* WIP

* Poc

* Use cached root query + remove proloaded views state

* Fix storybook test + fix codegen

* Return default schema if token is absent, unauthenticated if token is invalid

* Use enum instead of bool

---------

Co-authored-by: Thomas Trompette <thomast@twenty.com>
Co-authored-by: Charles Bochet <charles@twenty.com>
2024-01-22 16:00:16 +01:00
Charles Bochet
894f63a16f
Standard Object prefill updates (#3570) 2024-01-22 11:13:43 +01:00
Charles Bochet
58d4fd43c8 Fix healthcheck command performance 2024-01-19 17:26:33 +01:00
Charles Bochet
2cf4bd746a
Improve health check command (#3553)
* Improve health check command

* Fix health check

* Fix health check
2024-01-19 16:54:43 +01:00
Charles Bochet
aa8d689e3e Fix demo workspace seed 2024-01-18 10:59:48 +01:00
Charles Bochet
2628ee0f27 Revert blocknote upgrade because it's breakind design 2024-01-18 10:56:39 +01:00
brendanlaschke
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
Jérémy M
4b7e42c38e
feat: workspace health relation (#3466)
feat: add check relation health
2024-01-17 17:05:35 +01:00
Weiko
64110c591a
Add performance logs to object metadata query (#3463) 2024-01-17 17:04:16 +01:00
Weiko
f3c9854be3
Add select type to field metadata decorator (#3471)
* Add select type to field metadata decorator

* add option id generation for new field
2024-01-17 15:03:11 +01:00
Thaïs
96d990e275
feat: set field as custom object label identifier in Object Detail (#3360)
* feat: set field as custom object label identifier in Object Detail

Closes #3302

* feat: prevent disabling Object label identitifer field in back-end

* refactor: review - extract isLabelIdentifier variable
2024-01-17 12:19:41 +01:00
Charles Bochet
4316950cf9
Bump version to 0.2.3 (#3506) 2024-01-17 11:57:13 +01:00
Charles Bochet
f3f20ad974
Improve opportunity behavior (#3487)
* Fix opportunity relation

* Fix

* Fix

* Fix tests

* Fix

* Fix

* Fix opportunities

* Fix Opportunity standard object and apply maxWidth to text ellipsis

* Update packages/twenty-front/src/modules/ui/field/display/components/EllipsisDisplay.tsx

Co-authored-by: Thaïs <guigon.thais@gmail.com>

* Fix

---------

Co-authored-by: Thaïs <guigon.thais@gmail.com>
2024-01-16 15:43:19 +01:00
martmull
bb91917ff8
Improve webhook (#3459)
* Add trigger record

* Merge triggers

* Merge creates

* Fix libraries

* Fix create merged key

* Rename file

* Remove list Record Ids

* Revert "Rename file"

This reverts commit 2e72e05793.

* Revert "Revert "Rename file""

This reverts commit e2d93fa027.

* Revert "Remove list Record Ids"

This reverts commit 6653fb6ccd.

* Remove namePlural field

* Use name singular for webhooks

* Send webhook metadata

* Extract resource from zapier webhook

* Fix package.json

* Fix package.json

* Update payload

* Fix package.json

* Update payload

* Update payload

* Rename file

* Use wildcard in webhook events

* Fix nameSingular

* Code review returns

* Code review returns
2024-01-16 15:31:09 +01:00
Charles Bochet
fb93bb69fb
Fix opportunity relation (#3478)
* Fix opportunity relation

* Fix

* Fix

* Fix tests

* Fix

* Fix
2024-01-16 14:39:48 +01:00
bosiraphael
4695e99458
3369 rename messagerecipients table into messageparticipants (#3457)
* renaming

* renaming
2024-01-15 16:55:19 +01:00
bosiraphael
8682f3c0c0
3441 modify message table change date to receivedat (#3452)
* changed date to receivedAt

* update saving messages

* update custom resolver
2024-01-15 14:48:25 +01:00
Weiko
ed6458e833
Fix: check if relation creates existing field name (#3433)
* Fix: check if relation creates existing field name

* fix rebase

* add object name to performance log
2024-01-15 14:13:57 +01:00
Charles Bochet
16a24c5f0c
Rework relations (#3431)
* Rework relations

* Fix tests
2024-01-15 12:07:23 +01:00
Charles Bochet
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
Charles Bochet
a8efc17fff Fix post merge conflict 2024-01-13 12:06:37 +01:00
martmull
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 fe062dd051.

* Add email theme 2

* Revert "Revert "Remove test files""

This reverts commit 6c6471273a.

* Revert "Revert "Revert "Remove test files"""

This reverts commit f851333c24.

* Revert "Revert "Revert "Revert "Remove test files""""

This reverts commit 7838e19e88.

* 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
bosiraphael
5a61e34f4c
3239 create a command to do a partial sync with the gmail api using the historyid (#3405)
* create utils service

* getLastSyncHistoryId

* getHistory

* add historyTypes messageAdded and messageDeleted

* getMessageIdsAndThreadIdsNotInDatabase

* wip

* fix messageThreadId null

* no need to fetch threads anymore

* get messagesAdded in partial sync

* adding errors

* save lastSyncHistoryId

* improve

* renaming

* create partial sync job

* improve partial sync

* adding messages with partial sync is working

* now adding messages with partial sync is working

* deleting messages and empty threads is working

* wip

* wip

* fix bug to delete threads

* update partial sync to cover edge cases

* renaming

* modify ambiguous naming

* renaming
2024-01-12 17:46:55 +01:00
Jérémy M
3e8f4ec2c5
fix: auth user decorator cannot destruct property of undefined (#3394)
* fix: auth user decorator cannot destruct property of undefined

* fix: change naming
2024-01-12 12:12:33 +01:00
Jérémy M
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
Charles Bochet
10fd67ba32
Fix relation creation bug + enable favorite for custom objects (#3392)
* Fix relation creation bug

* Fix vale CI

* Fix comment bug
2024-01-11 22:46:43 +01:00
martmull
b3d9bed91d
Enforce email templating (#3355)
* 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 fe062dd051.

* Add email theme 2

* Revert "Revert "Remove test files""

This reverts commit 6c6471273a.

* Revert "Revert "Revert "Remove test files"""

This reverts commit f851333c24.

* Revert "Revert "Revert "Revert "Remove test files""""

This reverts commit 7838e19e88.

* Fix theme
2024-01-11 20:29:20 +01:00
Weiko
0a77a376fd
Import messages after connected-account creation (#3389) 2024-01-11 20:05:08 +01:00
Jérémy M
5f0c9f67c9
feat: workspace health (#3344)
* feat: wip workspace health

* feat: split structure and metadata check

* feat: check default value structure health

* feat: check targetColumnMap structure health

* fix: composite types doesn't have default value properly defined

* feat: check default value structure health

* feat: check options structure health

* fix: verbose option not working properly

* fix: word issue

* fix: tests

* fix: remove console.log

* fix: TRUE and FALSE instead of YES and NO

* fix: fieldMetadataType instead of type
2024-01-11 16:41:25 +01:00
Arthur EICHELBERGER
c6ae480856
feat(signup): allow to block signup (#3209)
* feat(signup): allow to block signup

* feat(signup): update environment variable documentation

* test: update auth service tests

* feat(signup): prevent user from reaching out the sign up page

* Fix lint

* Fixes

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
2024-01-11 11:48:14 +01:00
Jérémy M
1aa0f86724
feat: use apollo playground in debug mode (#3295) 2024-01-11 10:21:51 +01:00
Weiko
22047fa2bf
Fix metadata exception handler #2 (#3357) 2024-01-10 17:02:54 +01:00
Charles Bochet
69b558e03d
Fix bug on relation on custom object (#3336) 2024-01-09 17:49:05 +01:00
Weiko
6c00aa92a4
Fix capture exception for metadata and core (#3335) 2024-01-09 17:46:16 +01:00
bosiraphael
4ebb487fa1
3236 add syncproviderconfig to connectedaccount model (#3328)
* add Last sync history ID

* add is nullable

* fix errors

* modification
2024-01-09 14:48:10 +01:00
bosiraphael
bdd0a7ed95
3242 all message recipients should be stored (#3320)
* saveMessageRecipients

* update

* workspaceMemberId is working

* merge

* get direction of the message

* fix

* improve code

* modify GmailMessage type
2024-01-09 14:14:32 +01:00
Thaïs
0b505288f2
feat: add Relation field card feature flag (#3311)
Related to #3123
2024-01-09 12:46:03 +01:00
martmull
361446d79c
Add cron mechanism (#3318)
* Add cron to message queue interfaces

* Add command to launch cron job

* Add command to stop cron job

* Update clean inactive workspaces job

* Isolate cron mechanism

* Code review returns

* Remove useless object.assign

* Add MessageQueuCronJobData interface

* Rename cron job utils

* Fix typing
2024-01-09 12:23:45 +01:00
Charles Bochet
67b14824a4
Implement select v1 (#3312)
* Implement select v1

* Implement select v1
2024-01-08 20:55:45 +01:00
Weiko
ea2cb8938f
Add fetch connected account job (#3313)
* Add fetch connected account job

* add featureFlag check
2024-01-08 18:24:39 +01:00
martmull
d2e8df52cf
Add doc link in env file (#3277) 2024-01-08 10:42:03 +01:00
martmull
ae5558d8b5
Add mail driver (#3205)
* Add node mailer packages

* Init mailer module

* Add logger transport

* Use env variable to get transport

* Revert "Add node mailer packages"

This reverts commit 3fb954f0ca.

* Add nodemailer

* Use driver pattern

* Use logger

* Fix yarn install

* Code review returns

* Add configuration examples for smtp

* Fix merge conflict

* Add missing packages

* Fix ci
2024-01-05 16:08:19 +01:00
Charles Bochet
f7034d6e7d
Embrace nx monorepo structure with root package.json (#3255)
* Upgrade to node 18.17.1 and regroup dependencies in root package.json

* Sort package.json

* Fix lint

* Migrate zapier
2024-01-05 14:59:58 +01:00
martmull
f35b40c428
Fix create trigger called twice (#3243)
* Fix create trigger called twice

* Add Zapier update action

* Add Zapier delete action

* Update description

* Add dropDown for ids
2024-01-05 11:44:47 +01:00
Thaïs
db46dd4497
feat: add RecordRelationFieldCardSection (#3176)
Closes #3123

Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com>
2024-01-05 11:02:02 +01:00
Lucas Bordeau
b112b74022
Feat/activities custom objects (#3213)
* WIP

* WIP - MultiObjectSearch

* WIP

* WIP

* Finished working version

* Fix

* Fixed and cleaned

* Fix

* Disabled files and emails for custom objects

* Cleaned console.log

* Fixed attachment

* Fixed

* fix lint

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
2024-01-05 09:08:33 +01:00
Charles Bochet
c15e138d72
Fix nx lint setup (#3234)
* Fix nx lint setup

* Fixes

* Fixes

* Add missing metadata

Fixes

Fix

Fixes

* Fix
2024-01-04 16:39:57 +01:00
Weiko
4fddafceed
Fix Event core object (#3232) 2024-01-04 13:40:34 +01:00
bosiraphael
54c1d245ab
3218 make the function fetchworkspacememberthreads idempotent (#3230)
* wip

* fetch only the messages which are not in the db

* fetch only the messages and threads which are not in the db

* fix bugs

* merge

* remove eslint-plugins-twenty

* get saved message thread ids and message ids at the same time
2024-01-04 13:36:37 +01:00
Thaïs
8483cf0b4b
POC: chore: use Nx workspace lint rules (#3163)
* chore: use Nx workspace lint rules

Closes #3162

* Fix lint

* Fix lint on BE

* Fix tests

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
2024-01-03 23:07:25 +01:00
Aditya Pimpalkar
5413513554
fix: updatedAt parameter (#3208)
* fix: updatedAt param

* lint fix
2024-01-03 19:52:10 +01:00
martmull
65250839fb
2248 zapier integration implement typeorm eventsubscribers (#3122)
* Add new queue to twenty-server

* Add triggers to zapier

* Rename webhook operation

* Use find one or fail

* Use logger

* Fix typescript templating

* Add dedicated call webhook job

* Update logging

* Fix error handling
2024-01-03 18:09:57 +01:00
bosiraphael
4ebaacc306
3216 request a new access token for the gmail api when it expires (#3224)
* refresh access token

* refresh and save access token

* update module

* refreshing access token before fetching the emails

* remove log
2024-01-03 18:00:31 +01:00
Charles Bochet
90f89e31a6
Render on latest image (#3223)
* Update render setup to use latest images

* Update render setup to use latest images

* Fixes

* Migrate demo seeds to json

* Update plans

* Update plans
2024-01-03 16:17:35 +01:00
bosiraphael
67fca68480
3202 fetch emails by threads (#3214)
* change fetchAllByBatches and fetchBatch to allow messages and threads to be fetched by batches

* wip

* format threads batches

* command is working

* command is working

* fix typing

* updates
2024-01-03 15:01:22 +01:00
martmull
ea06f04350
3207 fix render self deploy (#3221)
* Fix paths and commands for render deploy

* Remove breaking change

* Use twentycrm postgres image for postgres

* Fix render script

* Specify docker image version

* Fix postgres user

* Update setup command
2024-01-03 14:25:24 +01:00
bosiraphael
526a3d7d9a
3019 timebox add typing and checks in workspacemessagingservices (#3112)
* throw error

* fetchWorkspaceMessages fetches messages and threads

* renaming

* improve typing

* improve typing and error handling

* improve typing and error handling

* improve typing and error handling

* improve fetch-batch

* fix bug

* replace return types

* imporving typing and error handling

* improve typing and error handling

* improve typing and error handling

* improve typing and error handling

* improve typing and error handling

* remove console log
2023-12-26 18:07:40 +01:00
Félix Malfait
5ef5bbdc4d
Marketing website POC (#3139)
First website POC
2023-12-23 10:08:55 +01:00
Charles Bochet
68a6250757 Bump version 2023-12-21 23:52:45 +01:00
Deepak Kumar
46ab88cb9c
GH-2829 Add Sentry on frontend (#3111)
* GH-2829 pass sentry dsn key from backend in ClientConfig

* GH-2829 add Sentry library on frontend

* GH-2829 fetch dsnKey in GQL and add a state

* GH-2829 initialize Sentry on frontend

* GH-2829 fix linting issues

* Update yarn.lock

* GH-2829 update graphql schema for clientConfig

* GH-2829 remove Sentry comments

* GH-2829 rename sentry state

* GH-2829 rename dsnKey to dsn

* GH-2829 refactor to use componentEffect for sentry initialization

* GH-2829 fix linting issues

* GH-2829 update Graphql types

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
2023-12-21 23:50:24 +01:00
Charles Bochet
756b30815e
Fix various bugs before 0.2.2 (#3118)
* Fix various bugs before 0.2.2 release

* Additional fixes

* More fixes

* Fixes
2023-12-21 23:48:52 +01:00
Cao Z.H
794cf87b43
feat: record batch deleteMany (#3096)
feat: support record batch deleteMany

Co-authored-by: Charles Bochet <charles@twenty.com>
2023-12-21 19:55:40 +01:00
Jérémy M
d532f22fbb
feat: migration can be applied on a specific schema & some enhancements (#2998)
* fix: remove old metadata seed files

* feat: wip standard to core relation

* fix: lint

* fix: merge

* fix: remove debug files

* feat: add feature flag for core object metadata

* fix: remove debug

* feat: always disable the standard core relation

* fix: missing feature flag

* fix: remove debug

* fix: feature flag doesn't seems to disable relation

* fix: delete .vscode folder, change this in another PR

* Update packages/twenty-server/src/workspace/workspace-sync-metadata/reflective-metadata.factory.ts

Co-authored-by: Weiko <corentin@twenty.com>

* Update packages/twenty-server/src/workspace/workspace-sync-metadata/reflective-metadata.factory.ts

Co-authored-by: Weiko <corentin@twenty.com>

* Update packages/twenty-server/src/workspace/workspace-sync-metadata/workspace-sync.metadata.service.ts

Co-authored-by: Weiko <corentin@twenty.com>

* fix: remove optional fields from metadata entities

* fix: renamed variable

* fix: put back CursorScalarType

* fix: delete test command

* fix: remove unused workspace standard migration command

* fix: drop core object metadata declaration

* fix: rename variable

* fix: drop creation of core datasource

* fix: remove feature flag

* fix: drop support of standard to core relations

* feat: add user email field on workspace-member standard object

* fix: update seed accordingly

* fix: missing remove command file

* fix: datasource label should remain nullable

* fix: better asserts

* Remove unused code

* Remove unused code

---------

Co-authored-by: Weiko <corentin@twenty.com>
Co-authored-by: Charles Bochet <charles@twenty.com>
2023-12-21 19:15:05 +01:00
Jérémy M
3234134a30
fix: composite type migrations not well formatted (#3088) 2023-12-21 19:00:33 +01:00
bosiraphael
1b7580476d
2929 fetch emails from backend and display them in the UI (#3092)
* sending mock data from the resolver

* add sql raw query to the resolver

* improve query

* fix email component css

* fix query

* css adjustments

* create hard limit for mail display

* fix display name ellipsis

* add service

* fetching email on company page is working

* graphql generate

* move queries into separate files

* add types

* renaming

* add early return

* modified according to comments

* graphql data generate

* fix bug after renaming

* fix issue with mock data
2023-12-21 18:21:07 +01:00
Weiko
e67f6873d3
Fix missing isNullable for object creation activity target (#3109) 2023-12-21 16:32:04 +01:00
Weiko
0d00e3d62d
send pg graphql exception to sentry + fix missing nullable for relations (#3101)
* Send pg_graphql errors to sentry

* Send pg_graphql errors to sentry

* fix

* fix

* fix

* fix relation nullable
2023-12-21 16:07:25 +01:00
brendanlaschke
c4fecb0a1a
Upload image for use in blocknote editor (#3044)
* - upload image to use in blocknote editor
- fix local-storage not in gitignore

* fix lint

* fix runtime config
add tests for body parsing notes and tasks

* lint
2023-12-20 15:16:19 +01:00
Ruslan
351dc6488c
feat(workspace-resolver): prevent deletion of demo workspaces (#2207) (#3068)
* feat(workspace-resolver): prevent deletion of demo workspaces (#2207)

* ForbiddenException instead of Error

* Optimize user and workspace deletion checks and clarify exception messages (#2207)

- ForbiddenException messages for attempts to delete users and workspaces associated with demo accounts
2023-12-20 14:52:44 +01:00
Lucas Bordeau
d70cb23f30
Added rimraf to yarn build (#3089) 2023-12-20 14:50:10 +01:00
Jérémy M
d59a37129f
fix: sentry doesn't catch exceptions from flexible backend (#3074)
* fix: sentry doesn't catch exceptions from flexible backend

* fix: send remaining errors to Sentry

* fix: missing debug

* feat: use an util exception handler instead of Nest.JS class
2023-12-20 12:04:59 +01:00
martmull
ed7bd0ba26
2914 graphql api documentation (#3065)
* Remove dead code

* Create playground component

* Remove useless call to action

* Fix graphiql theme

* Fix style

* Split components

* Move headers to headers form

* Fix nodes in open-api components

* Remove useless check

* Clean code

* Fix css differences

* Keep carret when fetching schema
2023-12-20 12:01:55 +01:00
Weiko
4637a92f09
Fix queue setup (#3075)
fix bullmq setup
2023-12-19 17:12:22 +01:00
bosiraphael
5afcab4e78
3011 fill the messagerecipient table when fetching messages (#3073)
* wip

* trying to parse display names and emails

* add nodemailer mailparser

* mail parsing is working

* add personId and workspaceMemberId

* add date to messages

* Fix PR

* Run tsc on bigger machine

* Fix lint

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
2023-12-19 17:08:54 +01:00
Weiko
e799c84233
Add sync driver for queue messages (#3070)
* Add sync driver for queue messages

* rename moduleRef

* use switch instead
2023-12-19 13:30:40 +01:00
Félix Malfait
fff51a2d91
Basic data enrichment (#3023)
* Add Enrich to frontend

* Naive backend implementation

* Add work email check

* Rename Enrich to Quick Action

* Refactor logic to a separate service

* Refacto to separate IntelligenceService

* Small fixes

* Missing Break statement

* Address PR comments

* Create company interface

* Improve edge case handling

* Use httpService instead of Axios

* Fix server tests
2023-12-18 15:45:30 +01:00
martmull
576492f3c0
3035 improve rest api syntax (#3047) 2023-12-18 13:46:21 +01:00
Deepak Kumar
2507da1b25
feat: Add feature flags to Select & Rating custom fields (#3037)
* Add feature flag key for select and rating

* Use feature flag boolean to decide if select & rating are enabled

* Enable select and rating in demo & core
2023-12-18 08:38:25 +01:00
martmull
3ac4102c3c
2915 rest api documentation (#3020)
* Init rest-api page

* Add ugly form to fetch open api schema

* Clean code

* Make the form design more acceptable

* Update doc

* Use local storage

* Update design

* Add isLoading

* Fix typo

* Fix long lines

* Code review returns

* Remove staging and local url from servers
2023-12-15 18:13:13 +01:00
bosiraphael
f95c56b1cb
2880 timebox create a poc to fetch emails from the gmail api (#2993)
* create empty service

* getting threads is working

* insert message channel

* save threads in the db

* clean

* fetch messages

* create a service to fetch a batch of messages

* batch messages

* use httpService instead

* parse batch

* base 64 decoding working

* solve parsing bug

* saving messages is working

* bug to fix in fetchAllByBatches

* fetching all messages is working but not saving yet

* fecth 500 messages and threads is working

* remove unused package and console log

* set direction to incoming

* fix bug after merging main
2023-12-15 16:35:56 +01:00
Charles Bochet
3659f12fba
Fix ExceptionHandler requiring httpAdapter (#3021) 2023-12-15 16:07:35 +01:00
Charles Bochet
064e47b59a
Fix CIs (#3004)
* Fix CIs

* Fix docs

* Fix eslint-build

* Move file

* Move back

* Fix server ci

* Fix server ci

* Fix server ci

* Fix server ci

* Deactivate e2e tests

* Fix front

* Fix front

* Fix front

* Add twenty-zapier and twenty-utils to the yarn project

* fix

* fix

* Remove pull_request trigger
2023-12-15 15:40:04 +01:00
Weiko
36164ab59b
Add pg-boss worker poc (#2991)
* Add pg-boss worker poc

* add Example job

* add retry limit

* rename MessageQueue
2023-12-14 18:57:25 +01:00
Thaïs
a10f353a4c
feat: redirect to Plan Required page if subscription status is not active (#2981)
* feat: redirect to Plan Required page if subscription status is not active

Closes #2934

* feat: navigate to Plan Required in PageChangeEffect

* feat: add Twenty logo to Plan Required modal

* test: add Storybook story

* Fix lint

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
2023-12-14 12:39:22 +01:00
martmull
e3e42be723
Add generate openapi schema for rest api (#2923)
* Add generate openapi schema for rest api

* Split method in utils

* Add paramters

* Add error response

* Update description of filter and order by

* Add get/id routes

* Add delete route

* Use components

* Fix Typo

* Add tags

* Add create query

* Add required field

* Add update query

* Add body request example

* Add 201 on create request

* Add servers

* Fix failing test

* Add open-api endpoint

* Update description

* Return base schema if no auth

* Code review returns

* Use open-api/types

* Fix tag

* Use components for parameters

* Improve response examples

* Improve axios error message

* Fix tests
2023-12-13 14:58:34 +01:00
martmull
366ae0d448
2893 add data wrapper for mysql (#2970)
* Add mysql_fdw to postgres dockerfile

* Name and run detached docker containers

* Fix naming
2023-12-13 14:56:52 +01:00
Charles Bochet
08599f3d1c Fix build linter issues 2023-12-12 23:18:16 +01:00
bosiraphael
6594055317
Create empty command (#2963)
* create empty command

* update description

* rebase

---------

Co-authored-by: corentin <corentin@twenty.com>
2023-12-12 18:22:19 +01:00
Weiko
f126bd95d6
Add featureFlag gateDecorator for sync-metadata (#2956)
* Add featureFlag gateDecorator for sync-metadata

* remove gate exampels

* gate messaging objects

* gate messaging recipient object

* add missing gate
2023-12-12 17:34:59 +01:00
bosiraphael
6977fd4ce2
2812 create message recipient data model (#2961)
* create message-recipient

* connections with other models

* add to index

* fix file name
2023-12-12 17:05:09 +01:00
bosiraphael
a21fc4976b
2811 create message thread data model (#2955)
* create message thread

* link message threads and message

* add ton index.ts

* finished models

* header mail id

* update icon

* modifications

* update externalId
2023-12-12 16:08:51 +01:00
Jérémy M
8381869c7f
fix: workspace migration isNullable (#2939) 2023-12-12 15:18:37 +01:00
bosiraphael
6bc7a58902
2813 create message channel data model (#2952)
* create model

* finished model

* modidied visibility type to select

* changed back to TEXT

* handle instead of email

* handle instead of email

* handle instead of email

* modified according to comment
2023-12-12 15:14:18 +01:00
Jérémy M
44f1fe54e1
fix: use proper variable name (#2938) 2023-12-12 14:57:42 +01:00