* Add mutation for adding project member
* Add GQL client method for add project member
* Handle review comments
* Integrate add project member GQL client method
* Handle cascades for project members and user organizations
* Add null type to user.name and domain.redirectTo
---------
Co-authored-by: neeraj <neeraj.rtly@gmail.com>
* Make use of domain id for redirecting domains
* Add checks in backend to prevent chain redirecting and editing redirected domain
* Add self relation to domain entity and use it to create and edit domains
* Add self referencing relation to initialize db script
* Add redirectToId column in domain entity
* Remove isRedirected flag from domain entity
* Refactor edit domain dialog box
* Use dummy data for repository
---------
Co-authored-by: neeraj <neeraj.rtly@gmail.com>
* Add mutation to update permissions of project member
* Use update project member permission client method in UI
* Handle review changes
---------
Co-authored-by: neeraj <neeraj.rtly@gmail.com>
* Use react-oauth-popup for github authentication popup
* Fetch auth token and use in app to fetch list of repositories
* Get client id and secret from config
* Use GitHub search API for fetching repos
* Use debounce for searching repos and projects
* Change environment field to enum instead of array
* Update gql client for get environment variables query
---------
Co-authored-by: neeraj <neeraj.rtly@gmail.com>
* Refactor to remove use of organization project
* Remove organization project from member tab panel
* Handle review changes
---------
Co-authored-by: neeraj <neeraj.rtly@gmail.com>
* Add and use createdBy field in deployment entity
* Use updated get deployments client method in UI
---------
Co-authored-by: neeraj <neeraj.rtly@gmail.com>
* Use rollback deployment client in UI
* Check if deployements domain is undefined
* Fix typo
* Rename variable to current deployment
* Handle deployment domain relation on rollback
---------
Co-authored-by: neeraj <neeraj.rtly@gmail.com>
* Pass data for all domains in edit domain dialog box
* Add mutation to update domain by id
* implement front end and gql client method to edit domain
* Rename arguments of resolver function to update domain and project
---------
Co-authored-by: neeraj <neeraj.rtly@gmail.com>
* Add mutation to create new domain
* Update mutation to create two domains for www and non-www variant
* Add gql-client method and frontend to create domain
* Display fetched domains in domains tab panel using project id
* Fix graphql type for fetching domains
---------
Co-authored-by: neeraj <neeraj.rtly@gmail.com>
* Show project owner in member tab panel
* Implement mutation for rollback deployment
* Fix project members count
---------
Co-authored-by: neeraj <neeraj.rtly@gmail.com>
* Implement delete project functionality
* Use delete project client method in UI
* Refetch projects information on deleting project
* Use project's current deployment domain name for url
* Handle review changes
---------
Co-authored-by: neeraj <neeraj.rtly@gmail.com>
* Fix deployment creation time and hard coded title
* Add delete database script
* Use database file path from config file
---------
Co-authored-by: neeraj <neeraj.rtly@gmail.com>
* Add graphql mutation to redeploy deployment to production
* Implement frontend to redeploy deployment to production
---------
Co-authored-by: neeraj <neeraj.rtly@gmail.com>
* Use update project gql client method in UI
* Handle save project button based on form change
* Fix import order
---------
Co-authored-by: neeraj <neeraj.rtly@gmail.com>
* Add mutation to update deployment to production
* Implement gql client mutation and frontend to update deployment to production
* Add toast message when deployment is changed to production
* Throw error from init db script if db aleardy exists
---------
Co-authored-by: neeraj <neeraj.rtly@gmail.com>
* Find projects based on search text
* Use get search projects client method in UI
* Fetch searched projects inside useCombobox hook
* Get searched project from project entity
* Remove non required search projects filtering
* Fetch projects if user is owner or project member
---------
Co-authored-by: neeraj <neeraj.rtly@gmail.com>
* Add mutation to add environment variables by project id
* Add checks while removing project members
---------
Co-authored-by: neeraj <neeraj.rtly@gmail.com>
* Add mutation to remove project member by member id
* Add query to fetch project members by project id
* Handle review changes
---------
Co-authored-by: neeraj <neeraj.rtly@gmail.com>
* Create fixture data for remaining entities and load it in db
* Rename currProject to currentProject in frontend package
* Handle review changes
* Update readme for loading fixtures
---------
Co-authored-by: neeraj <neeraj.rtly@gmail.com>
* Add fixture data and populate database with it
* Use node to run commands in package scripts
* Move test directory out of src directory
* Save projects with user and organization relation
* Refactor and add generalized function to load data
* Populate userOrganization entity with test data
* Change project id type from number to string
---------
Co-authored-by: neeraj <neeraj.rtly@gmail.com>
* Update root readme and setup depcheck
* Use fetched domain data in edit domain dialog box
* Use fetched project data in general tab
* Rename files in gql-client package
---------
Co-authored-by: neeraj <neeraj.rtly@gmail.com>
* Use fetched domains data and use it in domains page
* Add record field to fetched domain data
---------
Co-authored-by: neeraj <neeraj.rtly@gmail.com>
* Refactor to fetch organization details in the parent component
* Fetch and use deployment details for a project
* Remove deployment field from ProjectDetails type
---------
Co-authored-by: neeraj <neeraj.rtly@gmail.com>
* Add resolver function for fetching all deployments for a project
* Fetch project members while fetching organization data
* Map db project member and deployment entity to graphql type
* Fetch environment variables data while fetching organizations
* Add domain field in deployment
---------
Co-authored-by: neeraj <neeraj.rtly@gmail.com>
* Integrate gql-client in frontend app
* Populate home page information using gql-client
* Remove non required fields from organizations query
---------
Co-authored-by: neeraj <neeraj.rtly@gmail.com>
* Add resolver method for getting organizations
* Fetch project data along with organizations from db
* Refactor code to map db project entity to graphql type
---------
Co-authored-by: neeraj <neeraj.rtly@gmail.com>
* Setup backend package with express server (#11)
* Setup backend package with express server
* Rename ts.config.json to tsconfig.json
* Update lint setup in backend package
* Add a dummy typeorm entity
* Remove dummy entity
---------
Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
* Setup database connection (#13)
* Setup database connection
* Refactor database initialization into separate function
* Rename index.ts to server.ts
* Use debug package for logging
---------
Co-authored-by: neeraj <neeraj.rtly@gmail.com>
* Create entities for ER models (#14)
* Add entity for domain
* Add entity for environment variable
* Add entity for project
* Add entity for deployment
* git ignore db directory
* Add entity for organization
* Add entity for user organization and project member
* Add foreign key user and organization to project
---------
Co-authored-by: neerajvijay1997 <111040298+neerajvijay1997@users.noreply.github.com>
Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
Co-authored-by: neeraj <neeraj.rtly@gmail.com>
* Implement add member dialog
* Fix typo
* Display the added pending member
* Seperate form submit handler for add member dialog
* Enable production branch input on repo connected
* Refactor project to include members permissions
* Refactor add member handler
---------
Co-authored-by: neeraj <neeraj.rtly@gmail.com>