Add latest changes from gitlab-org/gitlab@master

This commit is contained in:
GitLab Bot 2022-04-01 21:09:24 +00:00
parent 1c7a88b121
commit 039bf0d863
578 changed files with 4566 additions and 30 deletions

View File

@ -13,16 +13,38 @@ export default {
merge(existing = {}, incoming, { args = {} }) {
let nodes;
const areNodesEqual = isEqual(existing.nodes, incoming.nodes);
const statuses = Array.isArray(args.statuses) ? [...args.statuses] : args.statuses;
const { pageInfo } = incoming;
if (Object.keys(existing).length !== 0 && isEqual(existing?.statuses, args?.statuses)) {
nodes = [...existing.nodes, ...incoming.nodes];
if (areNodesEqual) {
if (incoming.pageInfo.hasNextPage) {
nodes = [...existing.nodes, ...incoming.nodes];
} else {
nodes = [...incoming.nodes];
}
} else {
if (!existing.pageInfo?.hasNextPage) {
nodes = [...incoming.nodes];
return {
nodes,
statuses,
pageInfo,
};
}
nodes = [...existing.nodes, ...incoming.nodes];
}
} else {
nodes = [...incoming.nodes];
}
return {
nodes,
statuses: Array.isArray(args.statuses) ? [...args.statuses] : args.statuses,
pageInfo: incoming.pageInfo,
statuses,
pageInfo,
};
},
},

View File

@ -351,14 +351,16 @@ class Group < Namespace
)
end
def add_user(user, access_level, current_user: nil, expires_at: nil, ldap: false)
Members::Groups::CreatorService.new(self, # rubocop:disable CodeReuse/ServiceClass
user,
access_level,
current_user: current_user,
expires_at: expires_at,
ldap: ldap)
.execute
def add_user(user, access_level, current_user: nil, expires_at: nil, ldap: false, blocking_refresh: true)
Members::Groups::CreatorService.new( # rubocop:disable CodeReuse/ServiceClass
self,
user,
access_level,
current_user: current_user,
expires_at: expires_at,
ldap: ldap,
blocking_refresh: blocking_refresh
).execute
end
def add_guest(user, current_user = nil)

View File

@ -22,6 +22,7 @@ class Member < ApplicationRecord
STATE_AWAITING = 1
attr_accessor :raw_invite_token
attr_writer :blocking_refresh
belongs_to :created_by, class_name: "User"
belongs_to :user
@ -201,7 +202,7 @@ class Member < ApplicationRecord
after_save :log_invitation_token_cleanup
after_commit on: [:create, :update], unless: :importing? do
refresh_member_authorized_projects(blocking: true)
refresh_member_authorized_projects(blocking: blocking_refresh)
end
after_commit on: [:destroy], unless: :importing? do
@ -513,6 +514,13 @@ class Member < ApplicationRecord
error = StandardError.new("Invitation token is present but invite was already accepted!")
Gitlab::ErrorTracking.track_exception(error, attributes.slice(%w["invite_accepted_at created_at source_type source_id user_id id"]))
end
def blocking_refresh
return true unless Feature.enabled?(:allow_non_blocking_member_refresh, default_enabled: :yaml)
return true if @blocking_refresh.nil?
@blocking_refresh
end
end
Member.prepend_mod_with('Member')

View File

@ -0,0 +1,32 @@
# frozen_string_literal: true
module Preloaders
class GroupRootAncestorPreloader
def initialize(groups, root_ancestor_preloads = [])
@groups = groups
@root_ancestor_preloads = root_ancestor_preloads
end
def execute
return unless ::Feature.enabled?(:use_traversal_ids, default_enabled: :yaml)
# type == 'Group' condition located on subquery to prevent a filter in the query
root_query = Namespace.joins("INNER JOIN (#{join_sql}) as root_query ON root_query.root_id = namespaces.id")
.select('namespaces.*, root_query.id as source_id')
root_query = root_query.preload(*@root_ancestor_preloads) if @root_ancestor_preloads.any?
root_ancestors_by_id = root_query.group_by(&:source_id)
@groups.each do |group|
group.root_ancestor = root_ancestors_by_id[group.id].first
end
end
private
def join_sql
Group.select('id, traversal_ids[1] as root_id').where(id: @groups.map(&:id)).to_sql
end
end
end

View File

@ -101,6 +101,8 @@ module Members
else
source.members.build(invite_email: user)
end
@member.blocking_refresh = args[:blocking_refresh]
end
# This method is used to find users that have been entered into the "Add members" field.

View File

@ -0,0 +1,8 @@
---
name: allow_non_blocking_member_refresh
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/83619
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/357281
milestone: '14.10'
type: development
group: group::authentication and authorization
default_enabled: false

View File

@ -0,0 +1,8 @@
---
name: group_projects_api_preload_groups
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/81838
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/354372
milestone: '14.9'
type: development
group: group::authentication and authorization
default_enabled: false

View File

@ -0,0 +1,7 @@
---
table_name: abuse_reports
classes:
- AbuseReport
feature_categories:
- users
description:

View File

@ -0,0 +1,7 @@
---
table_name: agent_activity_events
classes:
- Clusters::Agents::ActivityEvent
feature_categories:
- kubernetes_management
description:

View File

@ -0,0 +1,7 @@
---
table_name: agent_group_authorizations
classes:
- Clusters::Agents::GroupAuthorization
feature_categories:
- kubernetes_management
description:

View File

@ -0,0 +1,7 @@
---
table_name: agent_project_authorizations
classes:
- Clusters::Agents::ProjectAuthorization
feature_categories:
- kubernetes_management
description:

View File

@ -0,0 +1,7 @@
---
table_name: alert_management_alert_assignees
classes:
- AlertManagement::AlertAssignee
feature_categories:
- incident_management
description:

View File

@ -0,0 +1,7 @@
---
table_name: alert_management_alert_metric_images
classes:
- AlertManagement::MetricImage
feature_categories:
- incident_management
description:

View File

@ -0,0 +1,7 @@
---
table_name: alert_management_alert_user_mentions
classes:
- AlertManagement::AlertUserMention
feature_categories:
- incident_management
description:

View File

@ -0,0 +1,7 @@
---
table_name: alert_management_alerts
classes:
- AlertManagement::Alert
feature_categories:
- incident_management
description:

View File

@ -0,0 +1,7 @@
---
table_name: alert_management_http_integrations
classes:
- AlertManagement::HttpIntegration
feature_categories:
- incident_management
description:

View File

@ -0,0 +1,7 @@
---
table_name: allowed_email_domains
classes:
- AllowedEmailDomain
feature_categories:
- users
description:

View File

@ -0,0 +1,7 @@
---
table_name: analytics_cycle_analytics_aggregations
classes:
- Analytics::CycleAnalytics::Aggregation
feature_categories:
- value_stream_management
description:

View File

@ -0,0 +1,7 @@
---
table_name: analytics_cycle_analytics_group_stages
classes:
- Analytics::CycleAnalytics::GroupStage
feature_categories:
- value_stream_management
description:

View File

@ -0,0 +1,7 @@
---
table_name: analytics_cycle_analytics_group_value_streams
classes:
- Analytics::CycleAnalytics::GroupValueStream
feature_categories:
- value_stream_management
description:

View File

@ -0,0 +1,7 @@
---
table_name: analytics_cycle_analytics_issue_stage_events
classes:
- Analytics::CycleAnalytics::IssueStageEvent
feature_categories:
- value_stream_management
description:

View File

@ -0,0 +1,7 @@
---
table_name: analytics_cycle_analytics_merge_request_stage_events
classes:
- Analytics::CycleAnalytics::MergeRequestStageEvent
feature_categories:
- value_stream_management
description:

View File

@ -0,0 +1,7 @@
---
table_name: analytics_cycle_analytics_project_stages
classes:
- Analytics::CycleAnalytics::ProjectStage
feature_categories:
- value_stream_management
description:

View File

@ -0,0 +1,7 @@
---
table_name: analytics_cycle_analytics_project_value_streams
classes:
- Analytics::CycleAnalytics::ProjectValueStream
feature_categories:
- planning_analytics
description:

View File

@ -0,0 +1,7 @@
---
table_name: analytics_cycle_analytics_stage_event_hashes
classes:
- Analytics::CycleAnalytics::StageEventHash
feature_categories:
- value_stream_management
description:

View File

@ -0,0 +1,7 @@
---
table_name: analytics_devops_adoption_segments
classes:
- Analytics::DevopsAdoption::EnabledNamespace
feature_categories:
- devops_reports
description:

View File

@ -0,0 +1,7 @@
---
table_name: analytics_devops_adoption_snapshots
classes:
- Analytics::DevopsAdoption::Snapshot
feature_categories:
- devops_reports
description:

View File

@ -0,0 +1,7 @@
---
table_name: analytics_language_trend_repository_languages
classes:
- Analytics::LanguageTrend::RepositoryLanguage
feature_categories:
- devops_reports
description:

View File

@ -0,0 +1,7 @@
---
table_name: analytics_usage_trends_measurements
classes:
- Analytics::UsageTrends::Measurement
feature_categories:
- devops_reports
description:

7
db/docs/appearances.yml Normal file
View File

@ -0,0 +1,7 @@
---
table_name: appearances
classes:
- Appearance
feature_categories:
- navigation
description:

View File

@ -0,0 +1,7 @@
---
table_name: application_setting_terms
classes:
- ApplicationSetting::Term
feature_categories:
- authentication_and_authorization
description:

View File

@ -0,0 +1,12 @@
---
table_name: application_settings
classes:
- ApplicationSetting
feature_categories:
- continuous_integration
- integrations
- metrics
- pages
- service_ping
- source_code_management
description:

View File

@ -0,0 +1,7 @@
---
table_name: approval_merge_request_rule_sources
classes:
- ApprovalMergeRequestRuleSource
feature_categories:
- source_code_management
description:

View File

@ -0,0 +1,7 @@
---
table_name: approval_merge_request_rules
classes:
- ApprovalMergeRequestRule
feature_categories:
- source_code_management
description:

View File

@ -0,0 +1,6 @@
---
table_name: approval_merge_request_rules_approved_approvers
classes: []
feature_categories:
- source_code_management
description:

View File

@ -0,0 +1,6 @@
---
table_name: approval_merge_request_rules_groups
classes: []
feature_categories:
- source_code_management
description:

View File

@ -0,0 +1,6 @@
---
table_name: approval_merge_request_rules_users
classes: []
feature_categories:
- source_code_management
description:

View File

@ -0,0 +1,7 @@
---
table_name: approval_project_rules
classes:
- ApprovalProjectRule
feature_categories:
- source_code_management
description:

View File

@ -0,0 +1,6 @@
---
table_name: approval_project_rules_groups
classes: []
feature_categories:
- source_code_management
description:

View File

@ -0,0 +1,7 @@
---
table_name: approval_project_rules_protected_branches
classes:
- ApprovalProjectRulesProtectedBranch
feature_categories:
- source_code_management
description:

View File

@ -0,0 +1,6 @@
---
table_name: approval_project_rules_users
classes: []
feature_categories:
- source_code_management
description:

7
db/docs/approvals.yml Normal file
View File

@ -0,0 +1,7 @@
---
table_name: approvals
classes:
- Approval
feature_categories:
- source_code_management
description:

View File

@ -0,0 +1,7 @@
---
table_name: approver_groups
classes:
- ApproverGroup
feature_categories:
- source_code_management
description:

7
db/docs/approvers.yml Normal file
View File

@ -0,0 +1,7 @@
---
table_name: approvers
classes:
- Approver
feature_categories:
- security_orchestration
description:

View File

@ -0,0 +1,6 @@
---
table_name: ar_internal_metadata
classes: []
feature_categories:
- database
description:

View File

@ -0,0 +1,7 @@
---
table_name: atlassian_identities
classes:
- Atlassian::Identity
feature_categories:
- importers
description:

7
db/docs/audit_events.yml Normal file
View File

@ -0,0 +1,7 @@
---
table_name: audit_events
classes:
- AuditEvent
feature_categories:
- audit_events
description:

View File

@ -0,0 +1,7 @@
---
table_name: audit_events_external_audit_event_destinations
classes:
- AuditEvents::ExternalAuditEventDestination
feature_categories:
- audit_events
description:

View File

@ -0,0 +1,7 @@
---
table_name: authentication_events
classes:
- AuthenticationEvent
feature_categories:
- authentication_and_authorization
description:

7
db/docs/award_emoji.yml Normal file
View File

@ -0,0 +1,7 @@
---
table_name: award_emoji
classes:
- AwardEmoji
feature_categories:
- snippets
description:

7
db/docs/aws_roles.yml Normal file
View File

@ -0,0 +1,7 @@
---
table_name: aws_roles
classes:
- Aws::Role
feature_categories:
- kubernetes_management
description:

View File

@ -0,0 +1,7 @@
---
table_name: background_migration_jobs
classes:
- Gitlab::Database::BackgroundMigrationJob
feature_categories:
- database
description:

9
db/docs/badges.yml Normal file
View File

@ -0,0 +1,9 @@
---
table_name: badges
classes:
- Badge
- GroupBadge
- ProjectBadge
feature_categories:
- projects
description:

7
db/docs/banned_users.yml Normal file
View File

@ -0,0 +1,7 @@
---
table_name: banned_users
classes:
- Users::BannedUser
feature_categories:
- authentication_and_authorization
description:

View File

@ -0,0 +1,7 @@
---
table_name: batched_background_migration_job_transition_logs
classes:
- Gitlab::Database::BackgroundMigration::BatchedJobTransitionLog
feature_categories:
- database
description:

View File

@ -0,0 +1,7 @@
---
table_name: batched_background_migration_jobs
classes:
- Gitlab::Database::BackgroundMigration::BatchedJob
feature_categories:
- database
description:

View File

@ -0,0 +1,7 @@
---
table_name: batched_background_migrations
classes:
- Gitlab::Database::BackgroundMigration::BatchedMigration
feature_categories:
- database
description:

View File

@ -0,0 +1,7 @@
---
table_name: board_assignees
classes:
- BoardAssignee
feature_categories:
- team_planning
description:

View File

@ -0,0 +1,7 @@
---
table_name: board_group_recent_visits
classes:
- BoardGroupRecentVisit
feature_categories:
- team_planning
description:

7
db/docs/board_labels.yml Normal file
View File

@ -0,0 +1,7 @@
---
table_name: board_labels
classes:
- BoardLabel
feature_categories:
- team_planning
description:

View File

@ -0,0 +1,7 @@
---
table_name: board_project_recent_visits
classes:
- BoardProjectRecentVisit
feature_categories:
- team_planning
description:

View File

@ -0,0 +1,7 @@
---
table_name: board_user_preferences
classes:
- BoardUserPreference
feature_categories:
- team_planning
description:

7
db/docs/boards.yml Normal file
View File

@ -0,0 +1,7 @@
---
table_name: boards
classes:
- Board
feature_categories:
- team_planning
description:

View File

@ -0,0 +1,7 @@
---
table_name: boards_epic_board_labels
classes:
- Boards::EpicBoardLabel
feature_categories:
- team_planning
description:

View File

@ -0,0 +1,7 @@
---
table_name: boards_epic_board_positions
classes:
- Boards::EpicBoardPosition
feature_categories:
- team_planning
description:

View File

@ -0,0 +1,7 @@
---
table_name: boards_epic_board_recent_visits
classes:
- Boards::EpicBoardRecentVisit
feature_categories:
- team_planning
description:

View File

@ -0,0 +1,7 @@
---
table_name: boards_epic_boards
classes:
- Boards::EpicBoard
feature_categories:
- portfolio_management
description:

View File

@ -0,0 +1,7 @@
---
table_name: boards_epic_list_user_preferences
classes:
- Boards::EpicListUserPreference
feature_categories:
- team_planning
description:

View File

@ -0,0 +1,7 @@
---
table_name: boards_epic_lists
classes:
- Boards::EpicList
feature_categories:
- portfolio_management
description:

View File

@ -0,0 +1,7 @@
---
table_name: boards_epic_user_preferences
classes:
- Boards::EpicUserPreference
feature_categories:
- team_planning
description:

View File

@ -0,0 +1,7 @@
---
table_name: broadcast_messages
classes:
- BroadcastMessage
feature_categories:
- navigation
description:

View File

@ -0,0 +1,7 @@
---
table_name: bulk_import_configurations
classes:
- BulkImports::Configuration
feature_categories:
- importers
description:

View File

@ -0,0 +1,7 @@
---
table_name: bulk_import_entities
classes:
- BulkImports::Entity
feature_categories:
- importers
description:

View File

@ -0,0 +1,7 @@
---
table_name: bulk_import_export_uploads
classes:
- BulkImports::ExportUpload
feature_categories:
- importers
description:

View File

@ -0,0 +1,7 @@
---
table_name: bulk_import_exports
classes:
- BulkImports::Export
feature_categories:
- importers
description:

View File

@ -0,0 +1,7 @@
---
table_name: bulk_import_failures
classes:
- BulkImports::Failure
feature_categories:
- importers
description:

View File

@ -0,0 +1,7 @@
---
table_name: bulk_import_trackers
classes:
- BulkImports::Tracker
feature_categories:
- importers
description:

7
db/docs/bulk_imports.yml Normal file
View File

@ -0,0 +1,7 @@
---
table_name: bulk_imports
classes:
- BulkImport
feature_categories:
- importers
description:

7
db/docs/chat_names.yml Normal file
View File

@ -0,0 +1,7 @@
---
table_name: chat_names
classes:
- ChatName
feature_categories:
- users
description:

7
db/docs/chat_teams.yml Normal file
View File

@ -0,0 +1,7 @@
---
table_name: chat_teams
classes:
- ChatTeam
feature_categories:
- users
description:

View File

@ -0,0 +1,7 @@
---
table_name: ci_build_needs
classes:
- Ci::BuildNeed
feature_categories:
- pipeline_authoring
description:

View File

@ -0,0 +1,7 @@
---
table_name: ci_build_pending_states
classes:
- Ci::BuildPendingState
feature_categories:
- continuous_integration
description:

View File

@ -0,0 +1,7 @@
---
table_name: ci_build_report_results
classes:
- Ci::BuildReportResult
feature_categories:
- continuous_integration
description:

View File

@ -0,0 +1,7 @@
---
table_name: ci_build_trace_chunks
classes:
- Ci::BuildTraceChunk
feature_categories:
- continuous_integration
description:

View File

@ -0,0 +1,7 @@
---
table_name: ci_build_trace_metadata
classes:
- Ci::BuildTraceMetadata
feature_categories:
- continuous_integration
description:

11
db/docs/ci_builds.yml Normal file
View File

@ -0,0 +1,11 @@
---
table_name: ci_builds
classes:
- Ci::Bridge
- Ci::Build
- Ci::Processable
- CommitStatus
- GenericCommitStatus
feature_categories:
- continuous_integration
description:

View File

@ -0,0 +1,7 @@
---
table_name: ci_builds_metadata
classes:
- Ci::BuildMetadata
feature_categories:
- continuous_integration
description:

View File

@ -0,0 +1,7 @@
---
table_name: ci_builds_runner_session
classes:
- Ci::BuildRunnerSession
feature_categories:
- continuous_integration
description:

View File

@ -0,0 +1,7 @@
---
table_name: ci_daily_build_group_report_results
classes:
- Ci::DailyBuildGroupReportResult
feature_categories:
- code_testing
description:

View File

@ -0,0 +1,7 @@
---
table_name: ci_deleted_objects
classes:
- Ci::DeletedObject
feature_categories:
- build_artifacts
description:

View File

@ -0,0 +1,7 @@
---
table_name: ci_freeze_periods
classes:
- Ci::FreezePeriod
feature_categories:
- continuous_integration
description:

View File

@ -0,0 +1,7 @@
---
table_name: ci_group_variables
classes:
- Ci::GroupVariable
feature_categories:
- pipeline_authoring
description:

View File

@ -0,0 +1,7 @@
---
table_name: ci_instance_variables
classes:
- Ci::InstanceVariable
feature_categories:
- pipeline_authoring
description:

View File

@ -0,0 +1,7 @@
---
table_name: ci_job_artifact_states
classes:
- Geo::JobArtifactState
feature_categories:
- geo_replication
description:

View File

@ -0,0 +1,8 @@
---
table_name: ci_job_artifacts
classes:
- Ci::JobArtifact
- Gitlab::Ci::JobArtifact
feature_categories:
- build_artifacts
description:

View File

@ -0,0 +1,7 @@
---
table_name: ci_job_token_project_scope_links
classes:
- Ci::JobToken::ProjectScopeLink
feature_categories:
- pipeline_authoring
description:

View File

@ -0,0 +1,7 @@
---
table_name: ci_job_variables
classes:
- Ci::JobVariable
feature_categories:
- pipeline_authoring
description:

View File

@ -0,0 +1,7 @@
---
table_name: ci_minutes_additional_packs
classes:
- Ci::Minutes::AdditionalPack
feature_categories:
- utilization
description:

View File

@ -0,0 +1,7 @@
---
table_name: ci_namespace_mirrors
classes:
- Ci::NamespaceMirror
feature_categories:
- sharding
description:

View File

@ -0,0 +1,7 @@
---
table_name: ci_namespace_monthly_usages
classes:
- Ci::Minutes::NamespaceMonthlyUsage
feature_categories:
- continuous_integration
description:

Some files were not shown because too many files have changed in this diff Show More