Add GQL mutation for updating domain (#50)

* 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>
This commit is contained in:
2024-02-01 11:37:57 +05:30
committed by Ashwin Phatak
co-authored by neeraj
parent a34e2286a6
commit fdf06f9bd0
9 changed files with 111 additions and 28 deletions
+12
View File
@@ -365,4 +365,16 @@ export class Database {
return domains;
}
async updateDomainById (domainId: string, updates: DeepPartial<Domain>): Promise<boolean> {
const domainRepository = this.dataSource.getRepository(Domain);
const updateResult = await domainRepository.update({ id: Number(domainId) }, updates);
if (updateResult.affected) {
return updateResult.affected > 0;
} else {
return false;
}
}
}
+12 -2
View File
@@ -153,9 +153,9 @@ export const createResolvers = async (db: Database): Promise<any> => {
}
},
updateProject: async (_: any, { projectId, updateProject }: { projectId: string, updateProject: { name: string, description: string } }) => {
updateProject: async (_: any, { projectId, projectDetails }: { projectId: string, projectDetails: { name: string, description: string } }) => {
try {
return db.updateProjectById(projectId, updateProject);
return db.updateProjectById(projectId, projectDetails);
} catch (err) {
log(err);
return false;
@@ -198,6 +198,16 @@ export const createResolvers = async (db: Database): Promise<any> => {
log(err);
return false;
}
},
updateDomain: async (_: any, { domainId, domainDetails }: { domainId: string, domainDetails: {name?: string, isRedirected?: boolean, branch?: string }}) => {
try {
await db.updateDomainById(domainId, domainDetails);
return true;
} catch (err) {
log(err);
return false;
}
}
}
};
+8 -1
View File
@@ -129,11 +129,12 @@ type Mutation {
removeMember(memberId: String!): Boolean!
addEnvironmentVariables(projectId: String!, environmentVariables: [AddEnvironmentVariableInput!]): Boolean!
updateDeploymentToProd(deploymentId: String!): Boolean!
updateProject(projectId: String!, updateProject: UpdateProjectInput): Boolean!
updateProject(projectId: String!, projectDetails: UpdateProjectInput): Boolean!
redeployToProd(deploymentId: String!): Boolean!
deleteProject(projectId: String!): Boolean!
rollbackDeployment(projectId: String!, deploymentId: String!): Boolean!
addDomain(projectId: String!, domainDetails: AddDomainInput!): Boolean!
updateDomain(domainId: String!, domainDetails: UpdateDomainInput!): Boolean!
}
input AddEnvironmentVariableInput {
@@ -150,3 +151,9 @@ input UpdateProjectInput {
input AddDomainInput {
name: String!
}
input UpdateDomainInput {
name: String
isRedirected: Boolean
branch: String
}