Skip to content

Commit 9bd2b89

Browse files
committed
[server, db] Fix BlockedRepository.delete
1 parent 51eae90 commit 9bd2b89

File tree

6 files changed

+8
-37
lines changed

6 files changed

+8
-37
lines changed

components/gitpod-db/src/blocked-repository-db.spec.db.ts

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -35,26 +35,6 @@ class BlockedRepositoryDBSpec {
3535
expect(blockedRepository.blockUser).eq(true);
3636
}
3737

38-
@test(timeout(10000))
39-
public async canDeleteABlockedRepository() {
40-
const blockedRepository = await this.blockedRepositoryDb.createBlockedRepository("github.com/bob/*/", true);
41-
42-
const result = await this.blockedRepositoryDb.deleteBlockedRepository(blockedRepository.id);
43-
44-
expect(result).eq(true);
45-
expect(await this.blockedRepositoryDb.findBlockedRepositoryByURL("github.com/bob/some-repo")).undefined;
46-
}
47-
48-
@test(timeout(10000))
49-
public async canNotDeleteABlockedRepositoryWithAnIdThatDoesNotExist() {
50-
await this.blockedRepositoryDb.createBlockedRepository("github.com/bob/*/", true);
51-
52-
const result = await this.blockedRepositoryDb.deleteBlockedRepository(9999);
53-
54-
expect(result).eq(false);
55-
expect(await this.blockedRepositoryDb.findBlockedRepositoryByURL("github.com/bob/some-repo")).not.undefined;
56-
}
57-
5838
@test(timeout(10000))
5939
public async checkRepositoryIsBlocked() {
6040
await this.blockedRepositoryDb.createBlockedRepository("github.com/bob/.*", true);

components/gitpod-db/src/blocked-repository-db.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,5 +23,5 @@ export interface BlockedRepositoryDB {
2323

2424
createBlockedRepository(urlRegexp: string, blockUser: boolean): Promise<BlockedRepository>;
2525

26-
deleteBlockedRepository(id: number): Promise<boolean>;
26+
deleteBlockedRepository(id: number): Promise<void>;
2727
}

components/gitpod-db/src/typeorm/blocked-repository-db-impl.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,10 @@ export class TypeORMBlockedRepositoryDBImpl implements BlockedRepositoryDB {
2929
return await blockedRepositoryRepo.save({ urlRegexp: urlRegexp, blockUser: blockUser, deleted: false });
3030
}
3131

32-
public async deleteBlockedRepository(id: number): Promise<boolean> {
32+
public async deleteBlockedRepository(id: number): Promise<void> {
3333
const blockedRepositoryRepo = await this.getBlockedRepositoryRepo();
3434

35-
const result = await blockedRepositoryRepo.delete(id);
36-
return !!result.affected;
35+
await blockedRepositoryRepo.update(id, { deleted: true });
3736
}
3837

3938
public async findAllBlockedRepositories(

components/gitpod-protocol/src/admin-protocol.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ export interface AdminServer {
2222
adminModifyPermanentWorkspaceFeatureFlag(req: AdminModifyPermanentWorkspaceFeatureFlagRequest): Promise<User>;
2323

2424
adminCreateBlockedRepository(urlRegexp: string, blockUser: boolean): Promise<BlockedRepository>;
25-
adminDeleteBlockedRepository(id: number): Promise<boolean>;
25+
adminDeleteBlockedRepository(id: number): Promise<void>;
2626
adminGetBlockedRepositories(
2727
req: AdminGetListRequest<BlockedRepository>,
2828
): Promise<AdminGetListResult<BlockedRepository>>;

components/server/ee/src/workspace/gitpod-server-impl.ts

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -662,24 +662,16 @@ export class GitpodServerEEImpl extends GitpodServerImpl {
662662

663663
await this.guardAdminAccess("adminCreateBlockedRepository", { urlRegexp, blockUser }, Permission.ADMIN_USERS);
664664

665-
try {
666-
return await this.blockedRepostoryDB.createBlockedRepository(urlRegexp, blockUser);
667-
} catch (e) {
668-
throw new ResponseError(ErrorCodes.INTERNAL_SERVER_ERROR, e.toString());
669-
}
665+
return await this.blockedRepostoryDB.createBlockedRepository(urlRegexp, blockUser);
670666
}
671667

672-
async adminDeleteBlockedRepository(ctx: TraceContext, id: number): Promise<boolean> {
668+
async adminDeleteBlockedRepository(ctx: TraceContext, id: number): Promise<void> {
673669
traceAPIParams(ctx, { id });
674670
await this.requireEELicense(Feature.FeatureAdminDashboard);
675671

676672
await this.guardAdminAccess("adminDeleteBlockedRepository", { id }, Permission.ADMIN_USERS);
677673

678-
try {
679-
return await this.blockedRepostoryDB.deleteBlockedRepository(id);
680-
} catch (e) {
681-
throw new ResponseError(ErrorCodes.INTERNAL_SERVER_ERROR, e.toString());
682-
}
674+
await this.blockedRepostoryDB.markDeleted(id);
683675
}
684676

685677
async adminModifyRoleOrPermission(ctx: TraceContext, req: AdminModifyRoleOrPermissionRequest): Promise<User> {

components/server/src/workspace/gitpod-server-impl.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2665,7 +2665,7 @@ export class GitpodServerImpl implements GitpodServerWithTracing, Disposable {
26652665
throw new ResponseError(ErrorCodes.EE_FEATURE, `Admin support is implemented in Gitpod's Enterprise Edition`);
26662666
}
26672667

2668-
adminDeleteBlockedRepository(ctx: TraceContext, id: number): Promise<boolean> {
2668+
adminDeleteBlockedRepository(ctx: TraceContext, id: number): Promise<void> {
26692669
throw new ResponseError(ErrorCodes.EE_FEATURE, `Admin support is implemented in Gitpod's Enterprise Edition`);
26702670
}
26712671

0 commit comments

Comments
 (0)