From 48eacfebfce2b15df715317827e0515b2f589895 Mon Sep 17 00:00:00 2001 From: Bosn Date: Fri, 20 Apr 2018 13:23:21 +0800 Subject: [PATCH] fix access bug --- src/service/repository.ts | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/service/repository.ts b/src/service/repository.ts index 4264afe..731a8f2 100644 --- a/src/service/repository.ts +++ b/src/service/repository.ts @@ -1,10 +1,18 @@ -import { Repository } from "../models" +import { Repository, RepositoriesMembers } from "../models" import OrganizationService from "./organization"; export default class RepositoryService { public static async canUserAccessRepository(userId: number, repositoryId: number): Promise { const repo = await Repository.findById(repositoryId) + if (!repo) return false if (repo.creatorId === userId || repo.ownerId === userId) return true + const memberExistsNum = await RepositoriesMembers.count({ + where: { + userId, + repositoryId, + } + }) + if (memberExistsNum > 0) return true return OrganizationService.canUserAccessOrganization(userId, repo.organizationId) } } \ No newline at end of file