diff options
author | zeripath <art27@cantab.net> | 2019-01-14 02:29:58 +0000 |
---|---|---|
committer | techknowlogick <hello@techknowlogick.com> | 2019-01-13 21:29:58 -0500 |
commit | 6868378673f5bb21eac54719d719557b32448db6 (patch) | |
tree | 561ad952fa24332823d1288b1ff364206f1e4caf /models/org.go | |
parent | 656456441ca09de27ffb44d7a8042db811ff989e (diff) | |
download | gitea-6868378673f5bb21eac54719d719557b32448db6.tar.gz gitea-6868378673f5bb21eac54719d719557b32448db6.zip |
Ensure that sessions are passed into queries that could use the database to prevent deadlocks (#5718)
* Fixed deadlock in CreateComment
* Fix possible deadlock in UpdateIssueDeadline from createDeadlineComment
* Ensure that calls to IsTimeTracker enabled are called within session
Signed-off-by: Andrew Thornton <art27@cantab.net>
* Ensure that calls to reactionList are also called within session
Signed-off-by: Andrew Thornton <art27@cantab.net>
* Ensure all calls in NewPullRequest with the session are called within the session
Signed-off-by: Andrew Thornton <art27@cantab.net>
* Deal with potential deadlocks in repo
Signed-off-by: Andrew Thornton <art27@cantab.net>
* Ensure that isStaring is checked within our transaction
Signed-off-by: Andrew Thornton <art27@cantab.net>
* Fix mistake in isOrganizationMember
Sorry.
Diffstat (limited to 'models/org.go')
-rw-r--r-- | models/org.go | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/models/org.go b/models/org.go index 81542f0e60..a98a1bd894 100644 --- a/models/org.go +++ b/models/org.go @@ -314,7 +314,11 @@ func IsOrganizationOwner(orgID, uid int64) (bool, error) { // IsOrganizationMember returns true if given user is member of organization. func IsOrganizationMember(orgID, uid int64) (bool, error) { - return x. + return isOrganizationMember(x, orgID, uid) +} + +func isOrganizationMember(e Engine, orgID, uid int64) (bool, error) { + return e. Where("uid=?", uid). And("org_id=?", orgID). Table("org_user"). |