685d342170
Migrate view field to new data model - Part 2 ( #2270 )
...
* Migrate view field to new data model
* Migrate view fields to new model
2023-10-28 19:13:48 +02:00
d61511262e
2060 create a new api key ( #2206 )
...
* Add folder for api settings
* Init create api key page
* Update create api key page
* Implement api call to create apiKey
* Add create api key mutation
* Get id when creating apiKey
* Display created Api Key
* Add delete api key button
* Remove button from InputText
* Update stuff
* Add test for ApiDetail
* Fix type
* Use recoil instead of router state
* Remane route paths
* Remove online return
* Move and test date util
* Remove useless Component
* Rename ApiKeys paths
* Rename ApiKeys files
* Add input text info testing
* Rename hooks to webhooks
* Remove console error
* Add tests to reach minimum coverage
2023-10-24 16:14:54 +02:00
e9092162e0
2049 timebox 1j zapier integration 4 define and implement a first trigger for zapier app ( #2132 )
...
* Add create company trigger
* Refactor
* Add operation in subscribe
* Add create hook api endpoint
* Add import of hook module
* Add a test for hook subscribe
* Add delete hook api endpoint
* Add delete hook test
* Add findMany hook route
---------
Co-authored-by: Charles Bochet <charles@twenty.com >
2023-10-19 22:48:34 +02:00
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
8fbad7d3ba
1043 timebox prepare zapier integration ( #1967 )
...
* Add create api-key route
* Import module
* Remove required mutation parameter
* Fix Authentication
* Generate random key
* Update Read ApiKeyAbility handler
* Add findMany apiKey route
* Remove useless attribute
* Use signed token for apiKeys
* Authenticate with api keys
* Fix typo
* Add a test for apiKey module
* Revoke token when api key does not exist
* Handler expiresAt parameter
* Fix user passport
* Code review returns: Add API_TOKEN_SECRET
* Code review returns: Rename variable
* Code review returns: Update code style
* Update apiKey schema
* Update create token route
* Update delete token route
* Filter revoked api keys from listApiKeys
* Rename endpoint
* Set default expiry to 2 years
* Code review returns: Update comment
* Generate token after create apiKey
* Code review returns: Update env variable
* Code review returns: Move method to proper service
---------
Co-authored-by: martmull <martmull@hotmail.com >
2023-10-12 18:07:44 +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
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
00a3c8ca2b
Change to using arrow functions ( #1603 )
...
* Change to using arrow functions
Co-authored-by: v1b3m <vibenjamin6@gmail.com >
Co-authored-by: Matheus <matheus_benini@hotmail.com >
* Add lint rule
---------
Co-authored-by: v1b3m <vibenjamin6@gmail.com >
Co-authored-by: Matheus <matheus_benini@hotmail.com >
Co-authored-by: Charles Bochet <charles@twenty.com >
2023-09-15 18:41:10 -07:00
74ab0142c7
feat: persist view filters and sorts on Update View button click ( #1290 )
...
* feat: add viewFilters table
Closes #1121
* feat: add Update View button + Create View dropdown
Closes #1124 , #1289
* feat: add View Filter resolvers
* feat: persist view filters and sorts on Update View button click
Closes #1123
* refactor: code review
- Rename recoil selectors
- Rename filters `field` property to `key`
2023-08-23 18:20:43 +02:00
0490c6b6ea
feat: Favorites ( #1094 )
...
* Adding the favorite button
* favorites services and resolvers
* favorites schema
* favorite ability handler
* favorite module export
* front end UI
* front end graphql additions
* server ability handlers
* server resolvers and services
* css fix
* Adding the favorite button
* favorites services and resolvers
* favorites schema
* favorite ability handler
* favorite module export
* front end UI
* front end graphql additions
* server ability handlers
* server resolvers and services
* css fix
* delete favorites handler and resolver
* removed favorite from index list
* chip avatar size props
* index list additions
* UI additions for favorites functionality
* lint fixes
* graphql codegen
* UI fixes
* favorite hook addition
* moved to ~/modules
* Favorite mapping to workspaceMember
* graphql codegen
* cosmetic changes
* camel cased methods
* graphql codegen
2023-08-10 15:24:45 -07:00
0f364cc9e7
feat: add views and viewSorts tables ( #1131 )
...
* feat: add views table
Closes #1120
* feat: add viewSorts table
Closes #1120
2023-08-10 09:14:28 -07:00
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
9027406fdf
feat: create ViewField model ( #961 )
...
* feat: create ViewField model
- Created ViewField prisma model
- Added ViewField server resolvers for findMany/updateOne
- Added getViewFields/updateViewField graphql queries
Closes #849
* chore: update node version in .nvmrc files
2023-07-27 09:12:26 -07:00
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
ce3e023a00
feat: server lint import & order ( #750 )
2023-07-19 14:01:32 +02:00
10f7b08fdc
Add attachments ( #733 )
...
* Add attachments v1
* Refacto
* Add Policy checks
* Fix tests
* Remove generated files from git
---------
Co-authored-by: Charles Bochet <charles@twenty.com >
2023-07-18 15:24:03 -07:00
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
26b033abc9
Refactor client config ( #529 )
...
* Refactor client config
* Fix server tests
* Fix lint
2023-07-07 11:10:42 -07:00
6fc416da76
fix: displayName return undefined and drop displayName from user table ( #505 )
2023-07-04 20:08:15 +02:00
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
eb7fb2ba8e
Add Telemetry ( #466 )
...
* Telemetry v1
* Add package-lock.json to gitignore
2023-06-29 17:36:48 -07:00
c4ad0171b0
feat: add missing abilities ( #354 )
...
feat: add all missing abilities rules on resolvers
2023-06-22 11:09:17 -07:00
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
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