Create new deployment on changing preview deployment to production (#61)

* Create new deployment when changing to production

* Remove unnecessary todos

* Move deployment id and url creation in database method

* Display correct details in deployment dialog box

* Rename relativeTime function to relativeTimeISO

* Refactor resolver methods to service class

* Refactor to move github app to service class

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
This commit is contained in:
2024-02-08 14:59:19 +05:30
committed by GitHub
co-authored by neeraj
parent e0001466e0
commit bd6a6b330c
13 changed files with 83 additions and 60 deletions
@@ -9,7 +9,7 @@ import {
Typography,
} from '@material-tailwind/react';
import { relativeTime } from '../../utils/time';
import { relativeTimeISO } from '../../utils/time';
import { ProjectDetails } from '../../types/project';
interface ProjectCardProps {
@@ -45,7 +45,7 @@ const ProjectCard: React.FC<ProjectCardProps> = ({ project }) => {
{project.latestCommit.message}
</Typography>
<Typography variant="small" color="gray">
{relativeTime(project.latestCommit.createdAt)} on{' '}
{relativeTimeISO(project.latestCommit.createdAt)} on{' '}
{project.latestCommit.branch}
</Typography>
</div>
@@ -3,7 +3,7 @@ import { useNavigate, useParams } from 'react-router-dom';
import { Chip, IconButton } from '@material-tailwind/react';
import { relativeTime } from '../../../utils/time';
import { relativeTimeISO } from '../../../utils/time';
import { GitRepositoryDetails } from '../../../types/project';
import { useGQLClient } from '../../../context/GQLClientContext';
@@ -24,7 +24,6 @@ const ProjectRepoCard: React.FC<ProjectRepoCardProps> = ({ repository }) => {
const { addProject } = await client.addProject(orgSlug!, {
name: `${repository.owner!.login}-${repository.name}`,
// TODO: Get organization id from context or URL
prodBranch: repository.default_branch!,
repository: repository.full_name,
});
@@ -50,7 +49,7 @@ const ProjectRepoCard: React.FC<ProjectRepoCardProps> = ({ repository }) => {
/>
)}
</div>
<p>{repository.updated_at && relativeTime(repository.updated_at)}</p>
<p>{repository.updated_at && relativeTimeISO(repository.updated_at)}</p>
</div>
<div className="hidden group-hover:block">
<IconButton size="sm">{'>'}</IconButton>
@@ -2,7 +2,7 @@ import React from 'react';
import { Typography, IconButton } from '@material-tailwind/react';
import { relativeTime } from '../../../utils/time';
import { relativeTimeISO } from '../../../utils/time';
import { GitCommitDetails } from '../../../types/project';
interface ActivityCardProps {
@@ -17,7 +17,8 @@ const ActivityCard = ({ activity }: ActivityCardProps) => {
<div className="grow">
<Typography>{activity.commit.author?.name}</Typography>
<Typography variant="small" color="gray">
{relativeTime(activity.commit.author!.date!)} ^ {activity.branch.name}
{relativeTimeISO(activity.commit.author!.date!)} ^{' '}
{activity.branch.name}
</Typography>
<Typography variant="small" color="gray">
{activity.commit.message}
@@ -3,7 +3,7 @@ import React from 'react';
import { Typography, Chip, Card } from '@material-tailwind/react';
import { color } from '@material-tailwind/react/types/components/chip';
import { DeploymentDetails } from '../../../../types/project';
import { relativeTime } from '../../../../utils/time';
import { relativeTimeMs } from '../../../../utils/time';
interface DeploymentDialogBodyCardProps {
deployment: DeploymentDetails;
@@ -28,14 +28,14 @@ const DeploymentDialogBodyCard = ({
/>
)}
<Typography variant="small" className="text-black">
{deployment.title}
{deployment.url}
</Typography>
<Typography variant="small">
^ {deployment.branch} ^ {deployment.commitHash}{' '}
{deployment.commit.message}
</Typography>
<Typography variant="small">
^ {relativeTime(deployment.updatedAt)} ^ {deployment.author}
^ {relativeTimeMs(deployment.createdAt)} ^ {deployment.createdBy.name}
</Typography>
</Card>
);