mirror of
https://github.com/gitpod-io/gitpod.git
synced 2025-12-08 17:36:30 +00:00
* Init prebuilds list * Text size and color tweaks * Dropdown filtering UI * wip changes * File renames and such * Filter by state * fix path * Add configuration ID filtering * Prebuild list error state * Protobuf sorting definition * API-level sorting * Simplify pagination * Fix undefined inference * Dashboard adopt sort behavior * make sorting required * Move ordering 🤷♂️ This will most definetely not solve anything, but... * Hopefully fix sorting 🤷♂️ * less `as` * Simplify state check * Repeated sorting * Sort out sorting Sorry :/ * Configuration dropdown WIP * Make configuration filter disableable * Use in in SQL * Minor styling adjustements * Nav item * Rename menu item * Const 🤷♂️ * Always display filter reset opt * Add prebuild link to prebuild settings * Simplify * Don't throw errors All my homies hate throwing in `server` * FF hook * Name failed to load state * typo * Better unknown inference * Add ConfigurationField component to display repository name and link * Do not retry configuration load * Move prebuild utils * Unify sort types * Refactor PrebuildTable to use arrow function syntax for mapping prebuilds * fix imports * Widen triggered column * Widen even more * Shorten status labels * Init ws db tests * Rename list item comp accordingly T'was an oopsie doopsie * Test configuration ids and branches filtering
Gitpod-db
Contains all the database related functionality, implemented using typeorm.
Working on gitpod-protocol component
When you are making changes to gitpod-protocol component, make sure to run yarn build in gitpod-protocol folder to make sure your changes will be rebuild. Also consider running yarn watch so that any changes are rebuilt in realtime.
Adding a new table
- Create a migration - use the baseline as an exemplar
- Create a new entity that implements the requisite interface or extend an existing entity as required - see db-user.ts
- If it is a new table, create the matching injectable ORM implementation and interface (if required) - see user-db-impl.ts and user-db.ts. Otherwise extend the existing interface and implementation as required.
- Add the injectable implementation to the DB container module, binding the interface and implementation as appropriate, otherwise it will not be instantiated correctly e.g.
bind(TypeORMUserDBImpl).toSelf().inSingletonScope();
bind(UserDB).toService(TypeORMUserDBImpl);
- Add the new ORM as an injected component where required e.g. in user-controller.ts
@inject(UserDB) protected readonly userDb: UserDB;