Implement functionality to add and delete Deploy webhooks (#47)

* Add mutation to add webhooks

* Implement frontend to add webhooks and refactor code to use updateProject resolver

* Implement functionality to delete webhooks

* Refactor webhook card component

* Update readme for frontend env GitHub OAuth client ID

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
This commit is contained in:
2024-02-01 14:04:07 +05:30
committed by GitHub
co-authored by neeraj
parent aa49bb0de2
commit 7e2a313012
9 changed files with 80 additions and 83 deletions
+3 -11
View File
@@ -9,6 +9,7 @@ import { deploymentToGqlType, projectMemberToGqlType, projectToGqlType, environm
import { Environment } from './entity/Deployment';
import { Permission } from './entity/ProjectMember';
import { Domain } from './entity/Domain';
import { Project } from './entity/Project';
const log = debug('snowball:database');
@@ -188,9 +189,9 @@ export const createResolvers = async (db: Database, app: OAuthApp): Promise<any>
}
},
updateProject: async (_: any, { projectId, projectDetails }: { projectId: string, projectDetails: { name: string, description: string } }) => {
updateProject: async (_: any, { projectId, projectDetails }: { projectId: string, projectDetails: DeepPartial<Project> }) => {
try {
return db.updateProjectById(projectId, projectDetails);
return await db.updateProjectById(projectId, projectDetails);
} catch (err) {
log(err);
return false;
@@ -273,15 +274,6 @@ export const createResolvers = async (db: Database, app: OAuthApp): Promise<any>
log(err);
return false;
}
},
updateProdBranch: async (_: any, { projectId, prodBranch }: {projectId: string, prodBranch: string }) => {
try {
return await db.updateProjectById(projectId, { prodBranch });
} catch (err) {
log(err);
return (false);
}
}
}
};
+2 -1
View File
@@ -139,7 +139,6 @@ type Mutation {
updateEnvironmentVariable(environmentVariableId: String!, environmentVariable: UpdateEnvironmentVariableInput!): Boolean!
updateDeploymentToProd(deploymentId: String!): Boolean!
updateProject(projectId: String!, projectDetails: UpdateProjectInput): Boolean!
updateProdBranch(projectId: String!, prodBranch: String!): Boolean!
redeployToProd(deploymentId: String!): Boolean!
deleteProject(projectId: String!): Boolean!
deleteDomain(domainId: String!): Boolean!
@@ -159,6 +158,8 @@ input AddEnvironmentVariableInput {
input UpdateProjectInput {
name: String
description: String
prodBranch: String
webhooks: [String!]
}
input AddDomainInput {