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
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
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
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
3d7b5902e6
Fix twenty-server build
2024-02-09 11:14:02 +01:00
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
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
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
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
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 fe062dd05166b95125cf99f2165cc20efb6c275a.
* Add email theme 2
* Revert "Revert "Remove test files""
This reverts commit 6c6471273ad765788f2eaf5a5614209edfb965ce.
* Revert "Revert "Revert "Remove test files"""
This reverts commit f851333c24e9cfe3f425c9cbbd1e079efce5c3dd.
* Revert "Revert "Revert "Revert "Remove test files""""
This reverts commit 7838e19e88e269026e24803f26cd52b467b4ef36.
* 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
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
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 3fb954f0caef94266f96ff5f08de750073ab3491.
* 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
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
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
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
5bdca9de6c
Migrate to a monorepo structure ( #2909 )
2023-12-10 18:10:54 +01:00