mirror of
https://github.com/snowball-tools/snowballtools-base
synced 2025-08-08 14:24:07 +00:00
Handle review comments
This commit is contained in:
parent
3d36f58599
commit
2d73abc0c2
@ -205,42 +205,29 @@ export class Database {
|
||||
const projectMemberRepository = this.dataSource.getRepository(ProjectMember);
|
||||
const userRepository = this.dataSource.getRepository(User);
|
||||
|
||||
const user = await userRepository.findOneBy({
|
||||
let user = await userRepository.findOneBy({
|
||||
email: data.email
|
||||
});
|
||||
|
||||
if (user) {
|
||||
const newProjectMember = await projectMemberRepository.save({
|
||||
project: {
|
||||
id: projectId
|
||||
},
|
||||
permissions: data.permissions,
|
||||
isPending: true,
|
||||
member: {
|
||||
id: Number(user.id)
|
||||
}
|
||||
});
|
||||
|
||||
return Boolean(newProjectMember);
|
||||
} else {
|
||||
const newUser = await userRepository.save({
|
||||
if (!user) {
|
||||
user = await userRepository.save({
|
||||
email: data.email,
|
||||
isVerified: false
|
||||
});
|
||||
|
||||
const newProjectMember = await projectMemberRepository.save({
|
||||
project: {
|
||||
id: projectId
|
||||
},
|
||||
permissions: data.permissions,
|
||||
isPending: true,
|
||||
member: {
|
||||
id: newUser.id
|
||||
}
|
||||
});
|
||||
|
||||
return Boolean(newProjectMember);
|
||||
}
|
||||
|
||||
const newProjectMember = await projectMemberRepository.save({
|
||||
project: {
|
||||
id: projectId
|
||||
},
|
||||
permissions: data.permissions,
|
||||
isPending: true,
|
||||
member: {
|
||||
id: user.id
|
||||
}
|
||||
});
|
||||
|
||||
return Boolean(newProjectMember);
|
||||
}
|
||||
|
||||
async addEnvironmentVariablesByProjectId (projectId: string, environmentVariables: {
|
||||
|
@ -30,7 +30,7 @@ export class Deployment {
|
||||
@PrimaryGeneratedColumn()
|
||||
id!: number;
|
||||
|
||||
@ManyToOne(() => Project, { onDelete: 'CASCADE' })
|
||||
@ManyToOne(() => Project)
|
||||
@JoinColumn({ name: 'projectId' })
|
||||
project!: Project;
|
||||
|
||||
|
@ -24,7 +24,7 @@ export class Domain {
|
||||
@Column('varchar')
|
||||
projectId!: string;
|
||||
|
||||
@ManyToOne(() => Project, { onDelete: 'CASCADE' })
|
||||
@ManyToOne(() => Project)
|
||||
@JoinColumn({ name: 'projectId' })
|
||||
project!: Project;
|
||||
|
||||
|
@ -21,7 +21,7 @@ export class EnvironmentVariable {
|
||||
@PrimaryGeneratedColumn()
|
||||
id!: number;
|
||||
|
||||
@ManyToOne(() => Project, { onDelete: 'CASCADE' })
|
||||
@ManyToOne(() => Project)
|
||||
@JoinColumn({ name: 'projectId' })
|
||||
project!: Project;
|
||||
|
||||
|
@ -23,11 +23,15 @@ export class ProjectMember {
|
||||
@PrimaryGeneratedColumn()
|
||||
id!: number;
|
||||
|
||||
@ManyToOne(() => User, (user) => user.projectMembers, { cascade: true })
|
||||
@ManyToOne(() => User, (user) => user.projectMembers, {
|
||||
cascade: ['remove']
|
||||
})
|
||||
@JoinColumn({ name: 'userId' })
|
||||
member!: User;
|
||||
|
||||
@ManyToOne(() => Project, (project) => project.projectMembers, { onDelete: 'CASCADE' })
|
||||
@ManyToOne(() => Project, (project) => project.projectMembers, {
|
||||
cascade: ['remove']
|
||||
})
|
||||
@JoinColumn({ name: 'projectId' })
|
||||
project!: Project;
|
||||
|
||||
@ -36,7 +40,7 @@ export class ProjectMember {
|
||||
})
|
||||
permissions!: Permission[];
|
||||
|
||||
@Column('boolean')
|
||||
@Column('boolean', { default: false })
|
||||
isPending!: boolean;
|
||||
|
||||
@CreateDateColumn()
|
||||
|
@ -24,7 +24,7 @@ export class User {
|
||||
@Column('varchar', { nullable: true })
|
||||
gitHubToken!: string | null;
|
||||
|
||||
@Column('boolean')
|
||||
@Column('boolean', { default: false })
|
||||
isVerified!: boolean;
|
||||
|
||||
@CreateDateColumn()
|
||||
|
@ -22,11 +22,15 @@ export class UserOrganization {
|
||||
@PrimaryGeneratedColumn()
|
||||
id!: number;
|
||||
|
||||
@ManyToOne(() => User, { onDelete: 'CASCADE' })
|
||||
@ManyToOne(() => User, {
|
||||
cascade: ['remove']
|
||||
})
|
||||
@JoinColumn({ name: 'userId' })
|
||||
member!: User;
|
||||
|
||||
@ManyToOne(() => Organization, { onDelete: 'CASCADE' })
|
||||
@ManyToOne(() => Organization, {
|
||||
cascade: ['remove']
|
||||
})
|
||||
@JoinColumn({ name: 'organizationId' })
|
||||
organization!: Organization;
|
||||
|
||||
|
@ -124,7 +124,7 @@ export const createResolvers = async (db: Database, app: OAuthApp): Promise<any>
|
||||
assert(memberProject);
|
||||
|
||||
if (isUserOwner(String(context.userId), String(memberProject.owner.id))) {
|
||||
return db.removeProjectMemberById(projectMemberId);
|
||||
return await db.removeProjectMemberById(projectMemberId);
|
||||
} else {
|
||||
throw new Error('Invalid operation: not authorized');
|
||||
}
|
||||
@ -141,7 +141,7 @@ export const createResolvers = async (db: Database, app: OAuthApp): Promise<any>
|
||||
}
|
||||
}) => {
|
||||
try {
|
||||
return db.updateProjectMemberById(projectMemberId, data);
|
||||
return await db.updateProjectMemberById(projectMemberId, data);
|
||||
} catch (err) {
|
||||
log(err);
|
||||
return false;
|
||||
@ -157,8 +157,7 @@ export const createResolvers = async (db: Database, app: OAuthApp): Promise<any>
|
||||
}) => {
|
||||
try {
|
||||
// TODO: Send invitation
|
||||
const isAdded = await db.addProjectMember(projectId, data);
|
||||
return isAdded;
|
||||
return await db.addProjectMember(projectId, data);
|
||||
} catch (err) {
|
||||
log(err);
|
||||
return false;
|
||||
@ -167,7 +166,7 @@ export const createResolvers = async (db: Database, app: OAuthApp): Promise<any>
|
||||
|
||||
addEnvironmentVariables: async (_: any, { projectId, environmentVariables }: { projectId: string, environmentVariables: { environments: string[], key: string, value: string}[] }) => {
|
||||
try {
|
||||
return db.addEnvironmentVariablesByProjectId(projectId, environmentVariables);
|
||||
return await db.addEnvironmentVariablesByProjectId(projectId, environmentVariables);
|
||||
} catch (err) {
|
||||
log(err);
|
||||
return false;
|
||||
@ -179,7 +178,7 @@ export const createResolvers = async (db: Database, app: OAuthApp): Promise<any>
|
||||
value: string
|
||||
}}) => {
|
||||
try {
|
||||
return db.updateEnvironmentVariable(environmentVariableId, environmentVariable);
|
||||
return await db.updateEnvironmentVariable(environmentVariableId, environmentVariable);
|
||||
} catch (err) {
|
||||
log(err);
|
||||
return false;
|
||||
@ -188,7 +187,7 @@ export const createResolvers = async (db: Database, app: OAuthApp): Promise<any>
|
||||
|
||||
removeEnvironmentVariable: async (_: any, { environmentVariableId }: { environmentVariableId: string}) => {
|
||||
try {
|
||||
return db.deleteEnvironmentVariable(environmentVariableId);
|
||||
return await db.deleteEnvironmentVariable(environmentVariableId);
|
||||
} catch (err) {
|
||||
log(err);
|
||||
return false;
|
||||
@ -197,7 +196,7 @@ export const createResolvers = async (db: Database, app: OAuthApp): Promise<any>
|
||||
|
||||
updateDeploymentToProd: async (_: any, { deploymentId }: { deploymentId: string }) => {
|
||||
try {
|
||||
return db.updateDeploymentById(deploymentId, {
|
||||
return await db.updateDeploymentById(deploymentId, {
|
||||
environment: Environment.Production
|
||||
});
|
||||
} catch (err) {
|
||||
@ -217,8 +216,7 @@ export const createResolvers = async (db: Database, app: OAuthApp): Promise<any>
|
||||
|
||||
redeployToProd: async (_: any, { deploymentId }: { deploymentId: string }, context: any) => {
|
||||
try {
|
||||
await db.redeployToProdById(context.userId, deploymentId);
|
||||
return true;
|
||||
return await db.redeployToProdById(context.userId, deploymentId);
|
||||
} catch (err) {
|
||||
log(err);
|
||||
return false;
|
||||
@ -227,7 +225,7 @@ export const createResolvers = async (db: Database, app: OAuthApp): Promise<any>
|
||||
|
||||
deleteProject: async (_: any, { projectId }: { projectId: string }) => {
|
||||
try {
|
||||
return db.deleteProjectById(projectId);
|
||||
return await db.deleteProjectById(projectId);
|
||||
} catch (err) {
|
||||
log(err);
|
||||
return false;
|
||||
@ -236,8 +234,7 @@ export const createResolvers = async (db: Database, app: OAuthApp): Promise<any>
|
||||
|
||||
deleteDomain: async (_: any, { domainId }: { domainId: string }) => {
|
||||
try {
|
||||
await db.deleteDomainById(domainId);
|
||||
return true;
|
||||
return await db.deleteDomainById(domainId);
|
||||
} catch (err) {
|
||||
log(err);
|
||||
return false;
|
||||
@ -246,7 +243,7 @@ export const createResolvers = async (db: Database, app: OAuthApp): Promise<any>
|
||||
|
||||
rollbackDeployment: async (_: any, { projectId, deploymentId }: {deploymentId: string, projectId: string }) => {
|
||||
try {
|
||||
return db.rollbackDeploymentById(projectId, deploymentId);
|
||||
return await db.rollbackDeploymentById(projectId, deploymentId);
|
||||
} catch (err) {
|
||||
log(err);
|
||||
return false;
|
||||
@ -255,8 +252,7 @@ export const createResolvers = async (db: Database, app: OAuthApp): Promise<any>
|
||||
|
||||
addDomain: async (_: any, { projectId, domainDetails }: { projectId: string, domainDetails: { name: string } }) => {
|
||||
try {
|
||||
await db.addDomainByProjectId(projectId, domainDetails);
|
||||
return true;
|
||||
return await db.addDomainByProjectId(projectId, domainDetails);
|
||||
} catch (err) {
|
||||
log(err);
|
||||
return false;
|
||||
@ -265,8 +261,7 @@ export const createResolvers = async (db: Database, app: OAuthApp): Promise<any>
|
||||
|
||||
updateDomain: async (_: any, { domainId, domainDetails }: { domainId: string, domainDetails: DeepPartial<Domain>}) => {
|
||||
try {
|
||||
await db.updateDomainById(domainId, domainDetails);
|
||||
return true;
|
||||
return await db.updateDomainById(domainId, domainDetails);
|
||||
} catch (err) {
|
||||
log(err);
|
||||
return false;
|
||||
|
Loading…
Reference in New Issue
Block a user