### TL;DR
- Still cretaes app if user migrates from page
The PR introduces a new `AddProjectFromTemplate` mutation to facilitate project creation using a repository template. This change centralizes the template project creation logic within the backend, improving code maintainability by removing redundant client-side code.
### What changed?
- Added `AddProjectFromTemplate` input type in `schema.gql` and corresponding TypeScript interfaces.
- Implemented `addProjectFromTemplate` resolver with error handling and Octokit integration for repository creation.
- Updated `service.ts` to include the new `addProjectFromTemplate` method.
- Created new GraphQL `Mutation` for `addProjectFromTemplate` in the GraphQL schema.
- Adjusted the client-side GQLClient to support the new mutation.
- Modified frontend to utilize the new backend mutation for project creation from a template.
### How to test?
1. Ensure your backend server is running.
2. Use a GraphQL client like Postman to call the `addProjectFromTemplate` mutation with appropriate input.
3. Verify that the new project is created using the specified template, and appropriate error messages are returned for failures.
4. Check the frontend flow for creating a project from a template to ensure it is working correctly.
### Why make this change?
This change enhances code maintainability by centralizing template project creation logic within the backend, thereby reducing redundancy and potential inconsistencies in client-side implementations.
---
### TL;DR
Implemented the new `VerifyCodeInput` component and updated the access code validation logic.
### What changed?
1. Added a new reusable `VerifyCodeInput` component for verifying codes in a user-friendly way. This component handles paste events, input changes, and keyboard navigation.
2. Updated the backend route `/accesscode` to accept an arbitrary code for now.
3. Incorporated the `VerifyCodeInput` component into the `AccessCode` page, replacing the generic `Input` component.
4. Updated the access code validation logic to check for a trimmed length of 5 characters instead of 6.
5. Added a slight pause for UX purposes when validating the access code on the frontend.
### How to test?
1. Go to the Access Code page.
2. Try entering an access code with various inputs (keyboard, paste, etc.) to see if it works seamlessly.
3. Verify that only a 5-digit code is considered valid.
4. Check the backend logs to ensure the validation endpoint is working as expected.
### Why make this change?
This change improves the user experience by providing a custom input component for access code verification and ensures that the access code validation meets the new requirements.
---
## What changed?
This Pull Request introduces an access code validation feature to the authentication process. Changes encompass backend route for access code validation, new frontend components for handling access code input, and integration of the access code verification in the signup flow.
### Backend:
- Added POST `/accesscode` route in `auth.ts` for validating access codes.
### Frontend:
- Created `AccessCode` component for access code input and validation.
- Added `AccessSignUp` component that integrates access code verification before signup.
- Updated `SignUp` component to check for valid access code on mount.
- Modified `SnowballAuth` to use new `AccessSignUp` instead of `SignUp`.
- Added `verifyAccessCode` utility function for code verification API call.
## How to test?
1. Run the backend and frontend projects.
2. Navigate to the signup page. You should be prompted to enter an access code.
3. Enter the code `444444` and proceed. Any other code should display an error message.
4. Verify that valid access code routes to the signup component.
## Why make this change?
This change improves authentication by adding an extra layer of security through access code verification.
* Fix format of eth address to display
* Set authority for record name from backend config
* Add functionality to open repo button
* Use commit author image and commit url in activity card
* Handle review changes
* Fix commit author as null
* Add timeout to move to next page on project creation
---------
Co-authored-by: neeraj <neeraj.rtly@gmail.com>
* Create web3 modal provider with SIWE
* Add auth router to handle SIWE authentication
* Use axios instance to make request
* Add button for SIWE authentication
* Add changes to access session in web-app GQL requests
* Add auth check in GQL context and load/create user
* Use authenticated user from context
* Redirect to sign in page if unauthenticated and logout button
* Change sign-in route to login
* Get project domain from config file
* Set user ethAddress column as unique
* Use formatted user name
* Get session secret and origin url from config file
* Add unique constraint for eth address
* Get secure and samesite from origin url
* Get wallet connect id and backend url from env file
* Format user email in member tab panel
* Add backend config isProduction to set trust proxy
* Use only one server url config
* Add tool tip for displaying email
* Add trustProxy and domain in server.session config
* Add SERVER_GQL_PATH constant in frontend
---------
Co-authored-by: neeraj <neeraj.rtly@gmail.com>
* Create application deployment request on new deployment
* Save application deployment request datas in deployment entity
* Add project as dependency
* Use project repo name as record app name
---------
Co-authored-by: neeraj <neeraj.rtly@gmail.com>
* Populate organization and user if db is empty
* Use hardcoded user id from fixtures
* Implement polling for get deployments query
* Handle review changes
---------
Co-authored-by: neeraj <neeraj.rtly@gmail.com>