blob: 34ff5bb1195ca18b8a5f548e0b5254089c71610e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
# frozen_string_literal: true
module Integration
extend ActiveSupport::Concern
class_methods do
def with_custom_integration_for(integration, page = nil, per = nil)
custom_integration_project_ids = Service
.where(type: integration.type)
.where(inherit_from_id: nil)
.distinct # Required until https://gitlab.com/gitlab-org/gitlab/-/issues/207385
.page(page)
.per(per)
.pluck(:project_id)
Project.where(id: custom_integration_project_ids)
end
def ids_without_integration(integration, limit)
services = Service
.select('1')
.where('services.project_id = projects.id')
.where(type: integration.type)
Project
.where('NOT EXISTS (?)', services)
.where(pending_delete: false)
.where(archived: false)
.limit(limit)
.pluck(:id)
end
end
end
|