Commit Graph

205 Commits

Author SHA1 Message Date
1e91c985df Add a dedicated GQL server for metadata available on /meta (#1820) 2023-10-03 10:17:13 +02:00
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
a4cde44b13 feat: add cooldown to refresh token security (#1736) 2023-09-27 15:03:50 +02:00
8639cb921e Chore: corrects syntax for type only imports (#1716)
* chore: removes replaces 'import type xxx from 'xxx'' with 'import { type xxx} from 'xxx'''

* chore: remove typed imports

* chore: remove typed imports

* chore: cleanup

---------

Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com>
2023-09-26 11:47:35 +02:00
26de4bab35 Chore(server): I should be able to define deal amount's currency (#1724)
I should be able to define deal amount's currency

Co-authored-by: v1b3m <vibenjamin6@gmail.com>
2023-09-26 11:40:23 +02:00
f60c209e39 Chore(backend): Enable attaching attachments to companies and people (backend) (#1726)
Enable attaching attachments to companies and people (backend)

Co-authored-by: v1b3m <vibenjamin6@gmail.com>
2023-09-26 11:39:13 +02:00
189bf4a627 Feature: add createCustomField resolver (#1698)
* Feature: add createCustomField resolver

* update mocks

* fix import

* invalidate workspace datasource cache after migration

* fix typo
2023-09-21 12:59:11 -07:00
2d758c990b Fix merge issue flexible backend (#1685)
* Fix merge issue flexible backend

* Fix tests

* Try fix tests

* Try fix tests
2023-09-20 19:11:21 -07:00
19365f6639 Add metadata migration setup (#1674)
* Add metadata migration setup

* add migration generator

* fix missing 'mocks'

---------

Co-authored-by: Charles Bochet <charlesBochet@users.noreply.github.com>
2023-09-20 17:27:07 -07: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
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
8c21dc8bba Refactor fast follow on column move feature (#1665)
* Refactor fast follow on column move feature

* Fix lint
2023-09-19 16:42:11 -07:00
321488ad3c feat: Column title menus (#1616)
* view field index to float

* gql codegen and package.json

* list implementation

* db call

* reposition logic

* lint fix

* edge case fix

* review changes

* handleColumnMove refactor

* dropdown recoil scope

* rename props

* Update server/src/database/migrations/20230727124244_add_view_fields_table/migration.sql

---------

Co-authored-by: Charles Bochet <charlesBochet@users.noreply.github.com>
2023-09-19 15:27:02 -07:00
ec90c77ec1 Refactor tenant ORM integration (#1650)
* Refactor tenant ORM integration

* fix tests
2023-09-19 17:58:28 +02:00
dba6f93826 Fix tests server 2023-09-17 08:41:46 -07:00
84eaa45027 fix: Migrate all rules from eslint-plugin-twenty to eslint-plugin-twenty-ts (#1618)
* migrate rules

* fix

* final

* final
2023-09-17 08:13:05 -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
549335054a Chore: Duplicate certain user fields to workspaceMember (#1514)
* Move certain user fields to workspaceMember

Co-authored-by: v1b3m <vibenjamin6@gmail.com>
Co-authored-by: chiazokam <chiazokamecheta@gmail.com>

* Merge main

Co-authored-by: v1b3m <vibenjamin6@gmail.com>
Co-authored-by: chiazokam <chiazokamecheta@gmail.com>

* Refactor according to review

Co-authored-by: v1b3m <vibenjamin6@gmail.com>
Co-authored-by: chiazokam <chiazokamecheta@gmail.com>

* Refactor according to review

Co-authored-by: v1b3m <vibenjamin6@gmail.com>
Co-authored-by: chiazokam <chiazokamecheta@gmail.com>

* Refactor according to review

Co-authored-by: v1b3m <vibenjamin6@gmail.com>
Co-authored-by: chiazokam <chiazokamecheta@gmail.com>

* Update the generated GraphQL

Co-authored-by: v1b3m <vibenjamin6@gmail.com>
Co-authored-by: chiazokam <chiazokamecheta@gmail.com>

* Update hooks

Co-authored-by: v1b3m <vibenjamin6@gmail.com>
Co-authored-by: chiazokam <chiazokamecheta@gmail.com>

* Refactor according to review

Co-authored-by: v1b3m <vibenjamin6@gmail.com>
Co-authored-by: chiazokam <chiazokamecheta@gmail.com>

* Refactor according to review

Co-authored-by: v1b3m <vibenjamin6@gmail.com>
Co-authored-by: chiazokam <chiazokamecheta@gmail.com>

* Refactor according to review

Co-authored-by: v1b3m <vibenjamin6@gmail.com>
Co-authored-by: chiazokam <chiazokamecheta@gmail.com>

* Refactor according to review

Co-authored-by: v1b3m <vibenjamin6@gmail.com>
Co-authored-by: chiazokam <chiazokamecheta@gmail.com>

* Refactor according to review

Co-authored-by: v1b3m <vibenjamin6@gmail.com>
Co-authored-by: chiazokam <chiazokamecheta@gmail.com>

* Rework typing

* Fix tests

* Remove console logs

---------

Co-authored-by: v1b3m <vibenjamin6@gmail.com>
Co-authored-by: chiazokam <chiazokamecheta@gmail.com>
Co-authored-by: Charles Bochet <charles@twenty.com>
2023-09-15 17:32:58 -07:00
6462505a86 Fix CI: remove import for metadata POC (#1577)
Fix CI: remote import for metadata POC
2023-09-14 12:03:20 -07:00
d98ddc3dbe multi tenant schemas poc (#1569)
* 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

* add metadata

* add comments

* remove migrations for now

* do not allow connection to public schema for non-remote workspace connection

* rename getLastDataSourceMetadataFromWorkspaceIdOrFail

* remove schema creation

* remove module import
2023-09-14 14:39:37 +02:00
509ffddc57 Hotfix abusive throw 2023-09-11 15:23:32 -07:00
7621854d4b Complete Sentry integration (#1546) 2023-09-11 15:07:30 -07:00
35bcef5090 Add Sentry for Backend (#1403)
* - added sentry

* - renamed env var

* - logger driver

* - add breadcrumb and category

* - fix driver
2023-09-11 12:22:30 -07:00
cfbeac9c56 Enable port to be overridden (#1527)
Enable port to be overriden
2023-09-09 17:59:56 -07:00
5c7660f588 feat: create default opportunities view on workspace creation + add seed data (#1461)
Closes #1314
2023-09-06 12:05:33 +02:00
d866c0e3bc fix: fix table columns update (#1435)
Closes #1434
2023-09-05 09:50:53 +02:00
96a0f30e98 feat: delete pipeline stage (#1412)
* feat: delete pipeline stage

Closes #1396

* refactor: code review

- Use string literal instead of enum

* docs: disable CircularProgressBar Chromatic snapshots
2023-09-04 16:39:01 +02:00
f29d843db9 feat: add board options dropdown and pipeline stage creation (#1399)
* feat: add board options dropdown and pipeline stage creation

Closes #1395

* refactor: code review

- remove useCallback
2023-09-04 11:37:31 +02:00
ae072b6ce5 refactor: index ViewField by viewId and key (#1416)
* refactor: index ViewField by viewId and key

Closes #1413

* refactor: rename ViewField properties
2023-09-04 10:55:03 +02:00
6eadd1d132 refactor: create/update/delete one view instead of many (#1384)
Closes #1359
2023-08-30 15:35:18 +02:00
4aae22ab34 feat: allow adding available pre-defined table columns to views (#1371)
* feat: allow adding available pre-defined table columns to views

Closes #1360

* fix: allow creating views with the same name for the same table

* refactor: code review

- rename things
- move handleColumnVisibilityChange to useTableColumns hook
2023-08-30 11:33:21 +02:00
037d071896 Fix: Wrong type in env variables front support (#1368) 2023-08-29 11:35:45 +02:00
2b3e96b9ea fix: do not allow removal of last table view (#1366)
Closes #1358
2023-08-29 10:03:56 +02:00
36cbafe4cc Unset companies and owners (#1185)
* unselect users and companies

* Icon now works with theme

---------

Co-authored-by: vboxuser <vboxuser@Ubu.myguest.virtualbox.org>
Co-authored-by: Charles Bochet <charlesBochet@users.noreply.github.com>
2023-08-25 21:28:17 +02:00
209e8b64d9 feat: create default views on workspace creation + add views seed (#1313)
Closes #1311
2023-08-25 21:17:28 +02:00
baf92d6d65 Chore: New standard fields on Companies (#1276)
* New standard fields on Companies

Co-authored-by: Thiago Nascimbeni <tnascimbeni@gmail.com>
Co-authored-by: Matheus <matheus_benini@hotmail.com>

* New standard fields on Companies

Co-authored-by: v1b3m <vibenjamin6@gmail.com>
Co-authored-by: Thiago Nascimbeni <tnascimbeni@gmail.com>
Co-authored-by: Matheus <matheus_benini@hotmail.com>

* Add requested changes

Co-authored-by: Thiago Nascimbeni <tnascimbeni@gmail.com>
Co-authored-by: v1b3m <vibenjamin6@gmail.com>
Co-authored-by: Matheus <matheus_benini@hotmail.com>

* Make some fields hidden by default

Co-authored-by: Thiago Nascimbeni <tnascimbeni@gmail.com>
Co-authored-by: v1b3m <vibenjamin6@gmail.com>
Co-authored-by: Matheus <matheus_benini@hotmail.com>

* Add minor refactors

Co-authored-by: Thiago Nascimbeni <tnascimbeni@gmail.com>
Co-authored-by: v1b3m <vibenjamin6@gmail.com>
Co-authored-by: Matheus <matheus_benini@hotmail.com>

---------

Co-authored-by: Thiago Nascimbeni <tnascimbeni@gmail.com>
Co-authored-by: Matheus <matheus_benini@hotmail.com>
Co-authored-by: v1b3m <vibenjamin6@gmail.com>
2023-08-24 17:36:12 +02: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
a24e1e4dc9 feat: delete views from views dropdown (#1234)
Closes #1129

Co-authored-by: Charles Bochet <charlesBochet@users.noreply.github.com>
2023-08-16 14:27:03 -07:00
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
4e654654da feat: add views dropdown (list, add & edit views) (#1220)
Closes #1218
2023-08-15 12:08:02 -07:00
7a330b4a02 Add foreign key constraints and perform on Cascade Delete (#1219) 2023-08-15 11:52:23 -07:00
8f7044207d On Company Show, in team section, I can detach a person from a company (#1202)
* On Company Show, in team section, I can detach a person from a company

Co-authored-by: v1b3m <vibenjamin6@gmail.com>
Co-authored-by: RubensRafael <rubensrafael2@live.com>

* On Company Show, in team section, I can detach a person from a company

Co-authored-by: v1b3m <vibenjamin6@gmail.com>
Co-authored-by: RubensRafael <rubensrafael2@live.com>

* Temporary fix disconnect optional relations

Co-authored-by: v1b3m <vibenjamin6@gmail.com>
Co-authored-by: RubensRafael <rubensrafael2@live.com>

* Refactor the PR logic

Co-authored-by: v1b3m <vibenjamin6@gmail.com>
Co-authored-by: RubensRafael <rubensrafael2@live.com>

* Add requested changes

Co-authored-by: v1b3m <vibenjamin6@gmail.com>
Co-authored-by: RubensRafael <rubensrafael2@live.com>

* Refactor the dropdown

Co-authored-by: v1b3m <vibenjamin6@gmail.com>
Co-authored-by: RubensRafael <rubensrafael2@live.com>

---------

Co-authored-by: v1b3m <vibenjamin6@gmail.com>
Co-authored-by: RubensRafael <rubensrafael2@live.com>
2023-08-15 08:40:25 -07:00
35ea6b5a2f Remove activityType and Id (#1179)
* Remove activityType and Id

* Fix tests

* Fix tests
2023-08-11 17:31:54 -07:00
007e42a2e6 Re-add constraints (#1177) 2023-08-11 15:04:01 -07:00
285bf773de Integrate favorites into release (#1168) 2023-08-10 15:42:58 -07: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
fb0f9b7807 Fixes before deploy (#1167) 2023-08-11 00:09:52 +02:00
5300952b1a Remove breaking change foreign key 2023-08-10 12:55:40 -07:00
80a562d90d feat: persist view sorts (#1154)
Closes #1122
2023-08-10 10:10:02 -07:00