Jérémy M
4e993316a6
feat: conditional schema based on column map instead of column field ( #1978 )
...
* feat: wip conditional schema based on column map instead of column field
* feat: conditionalSchema columnMap and singular plural
* fix: remove uuid fix
* feat: add name and label (singular/plural) drop old tableColumnName
2023-10-12 18:28:27 +02:00
Jérémy M and Charles Bochet
017a0b1563
feat: refactor custom object ( #1887 )
...
* chore: drop old universal entity
* feat: wip refactor graphql generation custom object
* feat: refactor custom object resolvers
fix: tests
fix: import
---------
Co-authored-by: Charles Bochet <charles@twenty.com >
2023-10-10 10:50:54 +02:00
Jérémy M
047bb8014b
feat: add custom object create and update ( #1869 )
2023-10-05 14:33:13 +02:00
Jérémy M
7e8e3ac1de
fix: typeorm migration datasource directory change ( #1848 )
2023-10-03 17:44:58 +02:00
Jérémy M
d3b39cad97
feat: add env security in dynamic resolvers ( #1812 )
...
* feat: add env security in dynamic resolvers
* fix: tests
2023-10-02 17:17:42 +02:00
629bdbbf50
feat: dynamic graphQL schema generation based on user workspace ( #1725 )
...
* wip: refacto and start creating custom resolver
* feat: findMany & findUnique of a custom entity
* feat: wip pagination
* feat: initial metadata migration
* feat: universal findAll with pagination
* fix: clean small stuff in pagination
* fix: test
* fix: miss file
* feat: rename custom into universal
* feat: create metadata schema in default database
* Multi-tenant db schemas POC
fix tests and use query builders
remove synchronize
restore updatedAt
remove unnecessary import
use queryRunner
fix camelcase
add migrations for standard objects
Multi-tenant db schemas POC
fix tests and use query builders
remove synchronize
restore updatedAt
remove unnecessary import
use queryRunner
fix camelcase
add migrations for standard objects
poc: conditional schema at runtime
wip: try to create resolver in Nest.JS context
fix
* feat: wip add pg_graphql
* feat: setup pg_graphql during database init
* wip: dynamic resolver
* poc: dynamic resolver and query using pg_graphql
* feat: pg_graphql use ARG in Dockerfile
* feat: clean findMany & findOne dynamic resolver
* feat: get correct schema based on access token
* fix: remove old file
* fix: tests
* fix: better comment
* fix: e2e test not working, error format change due to yoga
* remove typeorm entity generation + fix jwt + fix search_path + remove anon
* fix conflict
---------
Co-authored-by: Charles Bochet <charles@twenty.com >
Co-authored-by: corentin <corentin@twenty.com >
2023-09-28 16:27:34 +02:00
Jérémy M
a4cde44b13
feat: add cooldown to refresh token security ( #1736 )
2023-09-27 15:03:50 +02:00
fc820f47b2
Feat/disable flexible backend ( #1673 )
...
* wip: refacto and start creating custom resolver
* feat: findMany & findUnique of a custom entity
* feat: wip pagination
* feat: initial metadata migration
* feat: universal findAll with pagination
* fix: clean small stuff in pagination
* fix: test
* fix: miss file
* feat: rename custom into universal
* feat: enable/disable flexible backend from env
---------
Co-authored-by: Charles Bochet <charles@twenty.com >
Co-authored-by: Charles Bochet <charlesBochet@users.noreply.github.com >
2023-09-20 17:25:45 -07:00
Jérémy M and Charles Bochet
b1171e22a3
feat: add findAll and findUnique resolver for universal objects ( #1576 )
...
* wip: refacto and start creating custom resolver
* feat: findMany & findUnique of a custom entity
* feat: wip pagination
* feat: initial metadata migration
* feat: universal findAll with pagination
* fix: clean small stuff in pagination
* fix: test
* fix: miss file
* feat: rename custom into universal
* feat: create metadata schema in default database
---------
Co-authored-by: Charles Bochet <charles@twenty.com >
2023-09-20 17:24:13 -07:00
Jérémy M
08b56ec7e2
fix: can't set ARR of company to empty ( #1474 )
2023-09-06 11:22:42 +02:00
Jérémy M
cbcb49cd1e
fix: allow null value for number and date ( #1472 )
2023-09-06 11:03:12 +02:00
Jérémy M
c05d24d249
fix: table view dropdown should have a minimum width ( #1467 )
2023-09-06 10:37:02 +02:00
Jérémy M
85c8139c05
fix: double text chip show null value ( #1460 )
2023-09-05 17:55:29 +02:00
Jérémy M
aad4f99f52
fix: view dropdown incorrect button position and floating icon button doesn't match design ( #1458 )
...
* fix: view dropdown incorrect button position
* fix: className instead of style drill down
* fix: view drop down width
2023-09-05 17:45:05 +02:00
Jérémy M
21e3f6ecb2
fix: drop down menu should be of 160px size ( #1459 )
...
* fix: drop down menu should be of 160px size
* fix: typing
* fix: remove debug
2023-09-05 17:38:07 +02:00
Jérémy M
0ec4b78aee
feat: add recoil debug observer ( #1446 )
...
* feat: add recoil debug observer
* fix: convention
2023-09-05 10:00:19 +02:00
Jérémy M
732b5a5ddf
fix: avatar disappear when editing a person ( #1440 )
2023-09-05 09:52:06 +02:00
Jérémy M
421066c4b8
fix: Boolean editable field not align properly ( #1444 )
2023-09-05 09:50:23 +02:00
Jérémy M
33c67214d6
fix: tasks "Done" not visible ( #1445 )
2023-09-05 09:46:14 +02:00
Jérémy M
2eac5df05b
fix: big view name is not handled ( #1439 )
...
* fix: big view name is not handled
* fix: smaller max size
2023-09-04 17:47:32 +02:00
Jérémy M
6cf46cfdf5
fix: just change the order to match design ( #1410 )
...
* fix: just change the order to match design
* fix: view field definition change
2023-09-04 17:46:24 +02:00
Jérémy M
4889a69751
fix: DatePicker cut in DropDownMenu ( #1437 )
...
* fix: DatePicker cut in DropDownMenu
* fix: better solution
2023-09-04 17:42:46 +02:00
Jérémy M
85156ce9ae
fix: allow zero value on number field ( #1436 )
...
* fix: allow zero value on number field
* fix: test
2023-09-04 17:03:31 +02:00
Jérémy M
3a0f02f2f2
feat: table virtualization ( #1408 )
...
* feat: poc table virtualization
* feat: table virtualization
* feat: add overscan of 15
* fix: increase overscan to 50
* fix: dead code
* fix: debug mode
* feat: styled space
2023-09-04 13:33:02 +02:00
Jérémy M
c0cb3a47f3
Fix/csv import ( #1397 )
...
* feat: add ability to enable or disable header selection
* feat: limit to max of 200 records for now
* fix: bigger modal
* feat: add missing standard fields for company
* fix: person fields
* feat: add hotkeys on dialog
* feat: mobile device
* fix: company import error
* fix: csv import crash
* fix: use scoped hotkey
2023-09-04 11:50:12 +02:00
Jérémy M
8863bb0035
Import company and person from csv file ( #1236 )
...
* feat: wip implement back-end call csv import
* fix: rebase IconBrandTwitter missing
* feat: person and company csv import
* fix: test & clean
* fix: clean & test
2023-08-16 14:18:16 -07:00
Jérémy M and Charles Bochet
56cada6335
feat: wip import csv [part 1] ( #1033 )
...
* feat: wip import csv
* feat: start implementing twenty UI
* feat: new radio button component
* feat: use new radio button component and fix scroll issue
* fix: max height modal
* feat: wip try to customize react-data-grid to match design
* feat: wip match columns
* feat: wip match column selection
* feat: match column
* feat: clean heading component & try to fix scroll in last step
* feat: validation step
* fix: small cleaning and remove unused component
* feat: clean folder architecture
* feat: remove translations
* feat: remove chackra theme
* feat: remove unused libraries
* feat: use option button to open spreadsheet & fix stories
* Fix lint and fix imports
---------
Co-authored-by: Charles Bochet <charles@twenty.com >
2023-08-15 15:12:47 -07:00
Jérémy M
f111440e00
feat: implement user impersonation feature ( #976 )
...
* feat: wip impersonate user
* feat: add ability to impersonate an user
* fix: remove console.log
* fix: unused import
2023-07-31 15:47:29 -07:00
Jérémy M
3daebd0e0c
feat: search activities ( #972 )
2023-07-28 10:02:56 -07:00
Jérémy M
44a9c2687f
fix: front not running properly ( #971 )
2023-07-28 11:36:27 +02:00
Jérémy M and Charles Bochet
d0641084f9
feat: rename comment thread into activity ( #939 )
...
* feat: rename commentThread into activity server
* feat: rename commentThread into activity front
* feat: migration only create tables
feat: migration only create tables
* Update activities
* fix: rebase partial fix
* fix: all rebase problems and drop activity target alter
* fix: lint
* Update migration
* Update migration
* Fix conflicts
* Fix conflicts
---------
Co-authored-by: Charles Bochet <charles@twenty.com >
2023-07-27 23:22:16 -07:00
Jérémy M and Charles Bochet
157e5b9a2e
feat: implement e2e test for CompanyResolver ( #944 )
...
* feat: wip e2e server test
* feat: use github action postgres & use infra for local
* feat: company e2e test
* feat: add company e2e test for permissions
* Simplify server e2e test run
* Fix lint
---------
Co-authored-by: Charles Bochet <charles@twenty.com >
2023-07-27 09:48:40 -07:00
Jérémy M
e90f44bbfb
feat: increase upload size limit ( #962 )
2023-07-27 09:07:38 -07:00
Jérémy M
58530be78b
feat: upload profile picture from google ( #964 )
...
* feat: upload profile picture from google
* fix: only add profile picture if user don't have any
2023-07-27 09:06:50 -07:00
51cfc0d82c
feat: refactoring casl permission checks for recursive nested operations ( #778 )
...
* feat: nested casl abilities
* fix: remove unused packages
* Fixes
* Fix createMany broken
* Fix lint
* Fix lint
* Fix lint
* Fix lint
* Fixes
* Fix CommentThread
* Fix bugs
* Fix lint
* Fix bugs
* Fixed auto routing
* Fixed app path
---------
Co-authored-by: Charles Bochet <charles@twenty.com >
Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com >
2023-07-25 16:37:22 -07:00
Jérémy M and Charles Bochet
b2f4108d89
feat: rename commentThread into activity migration ( #876 )
...
* feat: rename commentThread into activity migration
* fix: migration
* Only apply creation migration
---------
Co-authored-by: Charles Bochet <charles@twenty.com >
2023-07-24 14:28:42 -07:00
Jérémy M and Lucas Bordeau
872ec9e6bb
feat: disable atomic operation on nestjs graphql models ( #751 )
...
* feat: no atomic
* feat: update front not atomic operations
* feat: optional fields for person model & use proper gql type
* Fix bug display name
* Fix bug update user
* Fixed bug avatar URL
* Fixed display name on people cell
* Fix lint
* Fixed storybook display name
* Fix storybook requests
---------
Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com >
2023-07-20 19:23:35 +00:00
Jérémy M
ce3e023a00
feat: server lint import & order ( #750 )
2023-07-19 14:01:32 +02:00
Jérémy M and Lucas Bordeau
19e165fc05
feat: implementing experience page ( #718 )
...
* feat: add color scheme toggle
* feat: colorScheme stored in UserSettings model
* feat: add stories
* fix: AnimatePresence exit not working
---------
Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com >
2023-07-18 17:47:27 +00:00
Jérémy M and Emilien
4ec93d4b6a
feat: default pipeline provisioning at workspace creation ( #728 )
...
* feat: default pipeline and pipeline stage on workspace creation
* Create seed data files, typo
* Naming
---------
Co-authored-by: Emilien <emilien.chauvet.enpc@gmail.com >
2023-07-18 10:30:59 -07:00
Jérémy M
4d37270e74
fix: background ugly white dot ( #730 )
2023-07-18 15:00:57 +02:00
Jérémy M
03364330d1
feat: snack-bar component ( #626 )
...
* feat: SnackBarProvider and queuing
* feat: use snack bar on onboarding errors
* feat: workspace copy use snackBar
* fix: remove magic number
2023-07-14 04:27:09 +00:00
Jérémy M and Charles Bochet
e7d48d5373
Add validation on onboarding flow inputs ( #556 )
...
* feat: wip react-hook-form
* feat: use react-hook-form for password login
* feat: clean regex
* feat: add react-hook-form on create workspace
* feat: add react-hook-form on create profile page
* fix: clean rebased code
* fix: rebase issue
* fix: add new stories to go over 65%
---------
Co-authored-by: Charles Bochet <charles@twenty.com >
2023-07-12 16:53:48 -07:00
Jérémy M
718ad721cf
feat: auth race condition & optimize ApolloFactory & too many pageview ( #602 )
2023-07-11 19:50:25 +02:00
Jérémy M and Emilien
3079747c83
feat: colored avatar ( #554 )
...
* feat: colored avatar
* fix: use id instead of name & remove unused
* fix: remove unused
* Allow empty ID to avoid empty string
* Fix tests
* Add person chip story
---------
Co-authored-by: Emilien <emilien.chauvet.enpc@gmail.com >
2023-07-10 11:24:09 -07:00
Jérémy M and Emilien
c9292365c0
feat: workspace update name and logo ( #553 )
...
* feat: workspace update name and logo
* fix: remove logs
* fix: disable warning until refacto
* Fix text
---------
Co-authored-by: Emilien <emilien.chauvet.enpc@gmail.com >
2023-07-10 11:23:58 -07:00
Jérémy M
c529c49ea6
Workspace member ( #552 )
...
* fix: clean small back-end issues
* fix: apollo factory causing infinite loop on token renew
* feat: small refactor and add ability to remove workspace member
* fix: test
2023-07-10 09:25:11 +00:00
Jérémy M and Charles Bochet
1144bd13ed
feat: onboarding & profile edition ( #507 )
...
* feat: wip onboarding
* fix: generate graphql front
* wip: onboarding
* feat: login/register and edit profile
* fix: unused import
* fix: test
* Use DEBUG_MODE instead of STAGE and mute typescript depth exceed errors
* Fix seeds
* Fix onboarding when coming from google
* Fix
* Fix lint
* Fix ci
* Fix tests
---------
Co-authored-by: Charles Bochet <charles@twenty.com >
2023-07-06 17:05:15 -07:00
Jérémy M
0b7a023f3d
fix: missing client query ( #524 )
2023-07-05 17:20:12 +02:00
Jérémy M
2961fed932
feat: refactor storage module ( #521 )
...
* feat: refactor storage module
* fix: folder need to be kebab case
* fix: comment wrong auth
2023-07-05 14:34:39 +00:00
Jérémy M
6fc416da76
fix: displayName return undefined and drop displayName from user table ( #505 )
2023-07-04 20:08:15 +02:00
Jérémy M
5e1fc1ad11
feat: upload module ( #486 )
...
* feat: wip upload module
* feat: local storage and serve local images
* feat: protect against injections
* feat: server local and s3 files
* fix: use storage location when serving local files
* feat: cross field env validation
2023-07-04 14:02:44 +00:00
Jérémy M
f08ff68530
fix: google auth issue ( #485 )
2023-06-30 13:43:04 +02:00
Jérémy M
19a1f2b9f8
feat: ui settings ( #465 )
2023-06-30 09:35:01 +00:00
Jérémy M
91608a37f2
fix: fix auth in prod env ( #481 )
2023-06-30 09:34:45 +00:00
Jérémy M
cca36cf50f
fix: rename event module into analytics and clean ( #482 )
2023-06-30 09:24:05 +00:00
Jérémy M
7893d5dba5
fix: remove not working part ( #484 )
2023-06-30 11:55:35 +03:00
Jérémy M
8e319900d0
fix: github actions ( #483 )
...
fix: test unused
2023-06-30 11:35:59 +03:00
Jérémy M
433962321a
feat: onboarding ui flow ( #464 )
...
* feat: onboarding ui flow
* fix: route naming and auth
* fix: clean unused imports
* fix: remove react.fc
* fix: infra dev remove package.json
* fix: remove usefull memoization
* fix: button stories
* fix: use type instead of interface
* fix: remove debug
2023-06-30 06:26:06 +00:00
Jérémy M
097b278b11
fix: add firstName and lastName to user model ( #473 )
...
* fix: add firstname and lastanme to user model
* fix: avoid undefined in displayName resolve field
* fix: user firstName and lastName instead of firstname lastname
* fix: person table proper naming firstName lastName
* fix: migrate front with firstName and lastName
* fix: make front-graphql-generate not working
2023-06-29 15:11:15 +00:00
Jérémy M
d9af205ccb
feat: clean prisma file, add validation, add prisma editor ( #472 )
2023-06-29 15:41:58 +02:00
Jérémy M
c9038bb93a
Front small ui fixes ( #428 )
...
* fix: add ellipsis in all table cells
* fix: workspace click redirect to home
* fix: add company chip story and edit comment cell story
* fix: remove cursor pointer on workspace name
* fix: snoop pill height
* fix: rebase
2023-06-27 17:56:48 +02:00
Jérémy M and Charles Bochet
edee69bc07
Fix double Run CI ( #459 )
...
Co-authored-by: Charles Bochet <charles@twenty.com >
2023-06-27 17:55:07 +02:00
Jérémy M and Charles Bochet
31145c5518
feat: align auth api with front convention ( #370 )
...
* feat: align auth api with front convention
* fix: email password auth
* fix: proper file naming
* Fix login
---------
Co-authored-by: Charles Bochet <charles@twenty.com >
2023-06-23 22:43:54 -07:00
Jérémy M
c6708b2c1f
feat: rewrite auth ( #364 )
...
* feat: wip rewrite auth
* feat: restructure folders and fix stories and tests
* feat: remove auth provider and fix tests
2023-06-23 08:49:50 -07:00
Jérémy M
c4ad0171b0
feat: add missing abilities ( #354 )
...
feat: add all missing abilities rules on resolvers
2023-06-22 11:09:17 -07:00
Jérémy M
cd70209502
fix: workspace shouldn't be hidden in the output ( #358 )
2023-06-22 13:50:52 +00:00
Jérémy M
06acfb8aab
fix: token expires in not set properly ( #357 )
2023-06-22 15:15:04 +02:00
Jérémy M
ca283a2196
feat: prisma typed select ( #347 )
...
* feat: wip prisma gql select
* feat: stronger api using decorator
* feat: add PrismaSelect everywhere
* fix: remove unused
* fix: remove seed debug
2023-06-22 11:17:31 +02:00
Jérémy M
b179d1f1f0
feat: wip casl policies ( #334 )
...
* feat: wip casl policies
* feat: add ability guard on pipeline resolvers
* fix: test
2023-06-20 19:31:11 -07:00
Jérémy M and Charles Bochet
299ca293a8
feat: refactoring auth & add email password login ( #318 )
...
* feat: wip
* fix: issues
* feat: clean controllers and services
* fix: test
* Fix auth
---------
Co-authored-by: Charles Bochet <charles@twenty.com >
2023-06-17 13:42:02 +02:00
Jérémy M
2cd081234f
chore: refacto NestJS in modules ( #308 )
...
* chore: wip refacto in modules
* fix: rollback port
* fix: jwt guard in wrong folder
* chore: rename folder exception-filter in filters
* fix: tests are running
* fix: excessive stack depth comparing types
* fix: auth issue
* chore: move createUser in UserService
* fix: test
* fix: guards
* fix: jwt guard don't handle falsy user
2023-06-16 10:38:11 +02:00
Jérémy M
467a1618f0
Update doc & split prisma generate ( #299 )
...
* feat: split prisma generate
* fix: update doc
2023-06-15 12:15:57 +02:00