| 1234567891011121314151617181920212223242526272829303132333435363738 | 
							- // Copyright 2022 The Gogs Authors. All rights reserved.
 
- // Use of this source code is governed by a MIT-style
 
- // license that can be found in the LICENSE file.
 
- package db
 
- import (
 
- 	"context"
 
- 	"gorm.io/gorm"
 
- )
 
- // OrgUsersStore is the persistent interface for organization-user relations.
 
- //
 
- // NOTE: All methods are sorted in alphabetical order.
 
- type OrgUsersStore interface {
 
- 	// CountByUser returns the number of organizations the user is a member of.
 
- 	CountByUser(ctx context.Context, userID int64) (int64, error)
 
- }
 
- var OrgUsers OrgUsersStore
 
- var _ OrgUsersStore = (*orgUsers)(nil)
 
- type orgUsers struct {
 
- 	*gorm.DB
 
- }
 
- // NewOrgUsersStore returns a persistent interface for organization-user
 
- // relations with given database connection.
 
- func NewOrgUsersStore(db *gorm.DB) OrgUsersStore {
 
- 	return &orgUsers{DB: db}
 
- }
 
- func (db *orgUsers) CountByUser(ctx context.Context, userID int64) (int64, error) {
 
- 	var count int64
 
- 	return count, db.WithContext(ctx).Model(&OrgUser{}).Where("uid = ?", userID).Count(&count).Error
 
- }
 
 
  |